:root{--paper:#0b1630;--paper-deep:#08101f;--surface:#101e3d;--ink:#eef1f5;--muted:#a5afbe;--line:#2b3f66;--grid:#7aa7ff12;--grid-major:#7aa7ff24;--accent:#7aa7ff;--accent-strong:#9abaff;--code:#0e1b38;--k-actor:#80a9ff;--k-journey:#ab8ffa;--k-use-case:#4fcb8c;--k-business-rule:#f79c50;--k-domain-term:#e3b544;--k-bounded-context:#43c4da;--k-functional-requirement:#f27ec2;--k-quality-requirement:#a9b2c5;--k-constraint:#f7776c;--k-structured-behaviour:#a5d05a;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper-deep);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}code,pre,kbd{font-family:var(--mono)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.viewport{cursor:default;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.fit{transform-origin:0 0;width:1920px;height:1080px;position:absolute;top:0;left:0}.sheet{background-color:var(--paper);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px;width:1920px;height:1080px;font-size:30px;line-height:1.4;position:relative;overflow:hidden}.sheet:before{content:"";pointer-events:none;border:1.5px solid #7aa7ff59;position:absolute;inset:28px}.sheet:after{content:"";pointer-events:none;background:linear-gradient(var(--accent), var(--accent)) left 0 top 0 / 40px 2px, linear-gradient(var(--accent), var(--accent)) left 0 top 0 / 2px 40px, linear-gradient(var(--accent), var(--accent)) right 0 top 0 / 40px 2px, linear-gradient(var(--accent), var(--accent)) right 0 top 0 / 2px 40px, linear-gradient(var(--accent), var(--accent)) left 0 bottom 0 / 40px 2px, linear-gradient(var(--accent), var(--accent)) left 0 bottom 0 / 2px 40px, linear-gradient(var(--accent), var(--accent)) right 0 bottom 0 / 40px 2px, linear-gradient(var(--accent), var(--accent)) right 0 bottom 0 / 2px 40px;background-repeat:no-repeat;position:absolute;inset:20px}.field{view-transition-name:field;width:100%;height:100%;position:absolute;inset:0}.chapter-bar{background:var(--act);view-transition-name:chapter-bar;height:10px;position:absolute;top:28px;left:28px;right:28px}.chapter-label{font:600 24px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--act);margin:0;position:absolute;top:56px;left:72px}.sheet-block{font:500 17px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;display:flex;position:absolute;bottom:28px;right:28px}.sheet-block .elapsed{color:var(--ink);font-weight:700}.lang-toggle{z-index:2;border-top:1.5px solid #7aa7ff59;border-right:1.5px solid #7aa7ff59;display:flex;position:absolute;bottom:28px;left:28px}.lang-toggle button{font:600 20px var(--mono);letter-spacing:.1em;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 20px}.lang-toggle button+button{border-left:1.5px solid #7aa7ff59}.lang-toggle button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.lang-toggle button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sheet-block span{border-top:1.5px solid #7aa7ff59;border-left:1.5px solid #7aa7ff59;padding:8px 16px}.scene{z-index:1;position:absolute}.sheet[data-layout=left] .scene{flex-direction:column;gap:28px;width:900px;display:flex;top:140px;bottom:120px;left:96px}.sheet[data-layout=full] .scene{flex-direction:column;gap:30px;display:flex;inset:140px 96px 120px}.sheet[data-layout=center] .scene{place-items:center;display:grid;inset:0}.scene h2{letter-spacing:-.015em;margin:0;font-size:76px;font-weight:700;line-height:1.05}.lead{margin:0;font-size:40px;font-weight:600}.muted{color:var(--muted);margin:0}.small{font-size:22px}.source{font:19px var(--mono);color:var(--muted);white-space:nowrap;margin:0;position:absolute;bottom:-64px;left:0}.sheet[data-layout=full] .source{bottom:-64px}.source span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-right:16px}blockquote{border-left:8px solid var(--act);margin:0;padding-left:32px;font-size:46px;font-weight:600;line-height:1.2}.small-quote{font-size:32px;font-weight:500}.punch{margin:0;font-size:54px;font-weight:700;line-height:1.15}.echo{color:var(--muted);border-left:4px dashed var(--line);margin:0;padding-left:24px;font-size:32px}.rv{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transform:translateY(14px)}.rv.on{opacity:1;transform:none}.rv.slot:not(.on){display:none}.rv.inline{display:inline-block}.rv.inline:not(.on){width:0;overflow:hidden}.draw{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.1s var(--ease) forwards;animation-delay:var(--d,0s)}.rv:not(.on) .draw{animation:none}.draw.dashed{stroke-dasharray:.04 .03;stroke-dashoffset:0;opacity:0;animation:.8s forwards fade}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}.flow{width:900px;overflow:visible}.flow text{fill:var(--ink);font:600 23px var(--sans);opacity:0;animation:.6s forwards fade;animation-delay:calc(var(--d,0s) + .5s)}.flow rect{fill:#0b1630cc}.beat{gap:28px;display:grid}.drawing{width:900px;overflow:visible}.drawing .label{fill:var(--ink);font:600 26px var(--mono)}.drawing .inside{fill:var(--ink);font:600 21px var(--sans)}.drawing .muted-text{fill:var(--muted)}.drawing .warn.draw{stroke:var(--k-constraint)}.drawing text.warn{fill:var(--k-constraint)}.drawing .dot{fill:var(--ink)}.drawing .dimline{stroke:var(--k-business-rule);stroke-width:2px}.drawing .dimtext{fill:var(--k-business-rule);font:700 28px var(--mono)}.scene[data-scene=origin] h2{white-space:nowrap}.architecture{pointer-events:none;width:1920px;height:1080px;position:absolute;top:-140px;left:-96px}.architecture:not(.on) *{pointer-events:none!important}.layers{width:1920px;height:1080px;position:absolute;inset:0}.layers .label{fill:var(--ink);font:600 26px var(--mono)}.layers .frame{fill:none;stroke:var(--accent);stroke-opacity:.55;stroke-width:2px}.layers line{stroke:var(--line);stroke-width:1.5px}.layers line.split{stroke-dasharray:6 8}.layers g{transition:opacity .6s var(--ease)}.layers .waiting{opacity:.35}.layers .row-label text{fill:var(--muted);font:600 20px var(--mono)}.layers .row-label .group{letter-spacing:.14em;text-transform:uppercase;font-size:14px}.legend{pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;top:824px}.legend .rv{display:inline-flex}.legend .key{font:600 17px var(--mono);color:var(--ink);border:1.5px solid var(--line);background:0 0;border-radius:3px;align-items:center;gap:8px;padding:5px 10px;transition:opacity .25s,box-shadow .25s,color .25s,border-color .25s;display:inline-flex}.legend .key:before{content:"";background:var(--c);width:12px;height:12px}.legend .expected{--c:#9aa3b5;color:var(--muted);border-style:dashed}.legend button.key{cursor:crosshair;outline:none}.legend .key.lit{color:var(--c);border-color:var(--c);box-shadow:0 0 10px var(--c), 0 0 28px color-mix(in srgb, var(--c) 45%, transparent)}.legend .key.faded{opacity:.45}.architecture>.rv{position:absolute;top:880px;left:96px}.architecture>.muted{position:absolute;top:946px;left:96px}.kicker{font:600 26px var(--mono);color:var(--act);text-transform:uppercase;letter-spacing:.08em;margin:0}.blocks{grid-template-columns:1fr 1fr;gap:24px;display:grid}.blocks section{border:2px solid var(--accent);background:#0b1630e0;border-radius:3px;gap:8px;padding:26px 28px;display:grid}.blocks small{font:600 20px var(--mono);color:var(--accent)}.blocks strong{font-size:34px}.question{margin:0;font-size:52px;font-weight:700;line-height:1.15}.tree{border:1.5px solid var(--line);background:#08101feb;margin:0;padding:28px 32px;font-size:34px;line-height:1.5}.tree .comment{color:var(--k-domain-term)}.bars{gap:18px;display:grid}.bar{font:600 24px var(--mono);grid-template-columns:500px 1fr;align-items:center;display:grid}.bar i{border:2px solid var(--k-use-case);transform-origin:0;height:22px;transition:transform 1.2s var(--ease) .2s;background:repeating-linear-gradient(45deg,#4fcb8c59 0 6px,#0000 6px 12px);display:block;transform:scaleX(0)}.bar.noise i{border-color:var(--k-constraint);background:repeating-linear-gradient(45deg,#f7776c59 0 6px,#0000 6px 12px)}.rv.on .bar i{transform:scaleX(1)}.dim{overflow:visible}.dim .draw{stroke:var(--k-business-rule);stroke-width:2px}.dim rect{fill:var(--paper)}.dim text{fill:var(--k-business-rule);font:600 24px var(--mono)}.tally{font:500 34px var(--mono);color:var(--muted);margin:0}.tally b{font:700 64px var(--sans);color:var(--ink)}.term{border:1.5px solid var(--line);white-space:pre;background:#08101feb;border-radius:4px;margin:0;padding:26px 30px;font-size:23px;line-height:1.5;overflow:hidden}.term-line{clip-path:inset(0 100% 0 0);animation:.5s steps(24,end) forwards type;animation-delay:calc(var(--k) * .28s + .15s);display:block}.rv:not(.on) .term-line{animation:none}.term-line.cmd{color:var(--accent-strong)}.term mark{color:var(--k-business-rule);text-underline-offset:6px;background:0 0;font-weight:700;text-decoration:underline;text-decoration-thickness:3px}@keyframes type{to{clip-path:inset(0)}}.stack{flex-direction:column;gap:24px;display:flex}.repo{font:600 30px var(--mono);color:var(--accent-strong);margin:0}.stats{gap:56px;display:flex}.stats p{font:500 30px var(--mono);color:var(--muted);margin:0}.stats b{font:700 92px/1 var(--sans);color:var(--ink);display:block}.truths{grid-template-columns:1fr 160px 1fr;align-items:center;display:grid}.truth{background:#0b1630d9;border:2px solid;border-radius:3px;gap:10px;padding:32px;display:grid}.truth.intent{border-color:var(--accent)}.truth.how{border-color:var(--k-bounded-context)}.truth small{font:600 20px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.truth strong{font-size:44px}.truth code{color:var(--accent-strong);font-size:24px}.cites{width:160px;overflow:visible}.cites .draw{stroke:var(--ink)}.cites text{fill:var(--muted);font:20px var(--mono)}.kind{border:1.5px solid var(--kind);font:700 22px var(--mono);color:var(--kind);border-radius:3px;align-items:center;gap:8px;padding:2px 10px;display:inline-flex}.kind svg{width:20px;height:20px;fill:var(--kind)}.kinds{grid-template-columns:1fr 1fr;gap:16px 32px;margin:0;padding:0;font-size:28px;list-style:none;display:grid}.kinds li{align-items:center;gap:16px;display:flex}.kinds .kind{justify-content:flex-start;min-width:120px}.card{border:2px solid var(--k-business-rule);background:#0b1630eb;border-radius:3px;gap:16px;padding:28px 32px;display:grid}.card header{align-items:center;gap:16px;display:flex}.card header code{font-size:28px;font-weight:700}.card p{margin:0;font-size:30px}.card.compact{padding:20px 28px}.frontmatter{color:var(--muted);margin:0;font-size:23px;line-height:1.5}.rule .old{color:var(--muted)}.scene[data-scene=drift] .rule:has(.on) .old{-webkit-text-decoration:line-through 3px var(--k-constraint);text-decoration:line-through 3px var(--k-constraint)}.rule .new{color:var(--k-business-rule);margin-left:10px;font-weight:800}.consumers{border-left:2px solid var(--ink);gap:18px;margin:0;padding:0 0 0 36px;list-style:none;display:grid}.consumers li{opacity:0;animation:arrive .7s var(--ease) forwards;animation-delay:calc(var(--k) * .35s);gap:6px;display:grid;position:relative}.rv:not(.on) .consumers li{animation:none}.consumers li:before{content:"";border-top:2px solid var(--ink);width:28px;position:absolute;top:22px;left:-36px}.consumers code{color:var(--ink);font-size:23px}.stamp{font:700 19px var(--mono);color:var(--paper);background:var(--k-business-rule);border-radius:2px;justify-self:start;padding:2px 10px}@keyframes arrive{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:none}}.cite-line{background:var(--code);border:1.5px dashed var(--accent);margin:0;padding:24px 28px;font-size:26px;line-height:1.5}.cite-line mark{color:var(--k-business-rule);background:0 0}.states{grid-template-columns:1fr 1fr;gap:14px 28px;display:grid}.states p{color:var(--muted);margin:0;font-size:24px;display:grid}.states b{font:700 32px var(--mono)}.s-current{color:var(--k-use-case)}.s-stale{color:var(--k-business-rule)}.s-tampered{color:var(--k-constraint)}.s-unresolved{color:var(--k-quality-requirement)}.pipeline{grid-template-columns:repeat(6,1fr);gap:22px;margin:20px 0 0;padding:0;list-style:none;display:grid}.pipeline li{border:2px solid var(--k-business-rule);opacity:0;min-height:140px;animation:.5s forwards fade;animation-delay:calc(var(--k) * .22s);background:#0b1630e0;border-radius:3px;align-content:start;gap:6px;padding:22px 20px;display:grid;position:relative}.pipeline li:not(:last-child):after{content:"";border-top:2px solid var(--accent);width:24px;position:absolute;top:50%;right:-24px}.pipeline li.human{border-color:var(--ink)}.pipeline strong{font-size:28px}.pipeline small{font:20px var(--mono);color:var(--muted)}.person{fill:none;width:36px;height:36px;stroke:var(--ink);stroke-width:2px}.bands{gap:12px;display:grid}.bands p{border:1.5px solid var(--line);background:#0b1630d9;grid-template-columns:220px 1fr;margin:0;padding:14px 24px;font-size:27px;display:grid}.bands b{font-family:var(--mono);color:var(--accent-strong)}.bands p:nth-child(2) b{color:var(--k-domain-term)}.bands p:nth-child(3) b{color:var(--ink)}.products{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:auto;display:grid}.products section{border-top:6px solid var(--accent);background:#0b1630e0;padding:26px 30px}.products section:nth-child(2){border-color:var(--k-bounded-context)}.products section:nth-child(3){border-color:var(--k-structured-behaviour)}.products strong{font-size:40px}.products p{font:23px var(--mono);color:var(--muted);margin:6px 0 0}.products b{color:var(--ink);font-size:30px}.title{gap:18px;width:1500px;display:grid}.eyebrow{font:600 26px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0}.title h1{letter-spacing:-.02em;margin:0;font-size:116px;line-height:1}.subtitle{color:var(--muted);margin:0 0 40px;font-size:50px;font-weight:500}.title-block{background:#0b1630e0;border:1.5px solid #7aa7ff80;grid-template-columns:auto auto;justify-self:end;margin:0;font-size:24px;display:grid}.title-block div{display:contents}.title-block dt,.title-block dd{border-bottom:1px solid #7aa7ff40;margin:0;padding:8px 18px}.title-block dt{font:600 18px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-right:1px solid #7aa7ff40;align-items:center;display:flex}.closing{justify-items:center;gap:28px;margin-top:-40px;display:grid}.closing .url{margin-top:64px}.qr{border-radius:6px;width:360px;height:360px}.url{font:700 96px var(--mono);letter-spacing:-.02em;margin:0}.links{font:28px var(--mono);color:var(--muted);margin:0}.blackout{z-index:10;background:#000;position:fixed;inset:0}::view-transition-old(root){animation-duration:.45s}::view-transition-new(root){animation-duration:.45s}::view-transition-old(field){display:none}::view-transition-new(field){animation:none}::view-transition-group(rule-card){animation-duration:.7s;animation-timing-function:var(--ease)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}}[data-mode=presenter] body{background:#070d1a}.presenter{grid-template-rows:auto 1fr auto auto;grid-template-columns:1.55fr 1fr;gap:14px;height:100vh;padding:14px;font-size:18px;display:grid}.presenter header{font-family:var(--mono);grid-column:1/-1;align-items:baseline;gap:24px;display:flex}.presenter header button{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer;margin-left:auto;padding:4px 10px}.p-timer{color:var(--k-use-case);font-size:34px;font-weight:700}.p-timer.warn{color:var(--k-business-rule)}.p-timer small{color:var(--muted);font-size:16px;font-weight:400}.p-clock{color:var(--muted)}.presenter iframe{aspect-ratio:16/9;border:1px solid var(--line);background:var(--paper);pointer-events:none;width:100%}.p-current{grid-row:2/4}.p-next p{color:var(--muted);font-family:var(--mono);margin:0 0 6px}.p-notes{grid-area:3/2;font-size:22px;line-height:1.45;overflow:auto}.p-notes p{color:var(--muted);margin:0 0 14px}.p-notes p.now{color:var(--ink);border-left:4px solid var(--accent);padding-left:12px}.p-notes p.done{opacity:.5}.presenter footer{color:var(--muted);font:14px var(--mono);grid-column:1/-1}.embed .rv,.embed .term-line,.embed .consumers li,.embed .pipeline li,.embed .draw,.embed .flow text,.embed .bar i{transition:none!important;animation:none!important}.embed .draw{stroke-dashoffset:0}.embed .term-line{clip-path:none}.embed .consumers li,.embed .pipeline li,.embed .flow text{opacity:1}@page{size:1920px 1080px;margin:0}[data-mode=print] body{background:var(--paper)}.print .page{page-break-after:always;break-after:page;width:1920px;height:1080px;overflow:hidden}.print *{transition:none!important;animation:none!important}.print .draw{stroke-dashoffset:0}.print .draw.dashed,.print .flow text,.print .consumers li,.print .pipeline li{opacity:1}.print .term-line{clip-path:none}.print .bar i{transform:scaleX(1)}@media print{body{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}}
