*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100%}.presentation{--bg: #f3ece0;--bg-2: #ece2d0;--ink: #1a1d1a;--ink-soft: #3d4a3f;--ink-mute: #6b7365;--line: #c9bda4;--line-soft: #dfd4bb;--accent: #9b4521;--accent-2: #3f5d3b;--paper: #faf5ea;--panel: #fffbf2;--dot: #b5a787;--serif: "Fraunces", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;position:relative}.presentation:before{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(0,0,0,.018) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;z-index:1000;mix-blend-mode:multiply}.presentation a{color:inherit}.shell{max-width:1180px;margin:0 auto;padding:0 40px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-mute)}.brandmark{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:500}.brandmark .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-2) 25%,transparent)}.topbar nav{display:flex;gap:22px}.topbar nav a{text-decoration:none;color:var(--ink-mute);transition:color .15s}.topbar nav a:hover{color:var(--ink)}.topbar .meta{display:flex;gap:14px;align-items:center}.topbar .meta em{font-style:normal;color:var(--ink);font-weight:500}.hero{padding:84px 0 72px;border-bottom:1px solid var(--line);position:relative}.hero-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:28px;display:flex;gap:10px;align-items:center}.hero-label:before{content:"";width:28px;height:1px;background:var(--accent)}.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(56px,9vw,132px);line-height:.95;letter-spacing:-.04em;margin:0 0 28px;color:var(--ink);text-wrap:balance}.hero h1 em{font-style:italic;font-weight:400;color:var(--accent);font-variation-settings:"opsz" 120}.hero-lede{font-family:var(--serif);font-size:clamp(20px,2vw,26px);line-height:1.4;font-weight:400;color:var(--ink-soft);max-width:720px;margin:0 0 40px;text-wrap:pretty}.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);padding-top:24px;max-width:860px}.hero-grid>div{padding-right:20px;border-right:1px solid var(--line-soft)}.hero-grid>div:last-child{border-right:none}.hero-grid .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);display:block;margin-bottom:6px}.hero-grid .v{font-family:var(--serif);font-size:18px;color:var(--ink);font-weight:400}.hero-grid .v.mono{font-family:var(--mono);font-size:14px;letter-spacing:-.01em}section.block{padding:80px 0;border-bottom:1px solid var(--line)}.sec-head{display:grid;grid-template-columns:200px 1fr;gap:40px;margin-bottom:48px;align-items:baseline}.sec-num{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.sec-num b{color:var(--accent);font-weight:500;margin-right:10px}.sec-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,54px);line-height:1.02;font-weight:300;letter-spacing:-.02em;margin:0;color:var(--ink)}.sec-title em{font-style:italic;color:var(--accent-2)}.sec-body{display:grid;grid-template-columns:200px 1fr;gap:40px}.sec-body>p:first-child{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin:0}.pitch-text{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink-soft);max-width:720px;text-wrap:pretty;margin:0 0 32px}.pitch-text strong{color:var(--ink);font-weight:500}.pitch-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--mono);font-size:11px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:var(--panel)}.tag.accent{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,var(--line))}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.stack-cell{padding:22px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:10px;min-height:130px;position:relative;transition:background .18s}.stack-cell:hover{background:var(--paper)}.stack-cell .tool{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink)}.stack-cell .ver{font-family:var(--mono);font-size:12px;color:var(--accent)}.stack-cell .role{font-size:13px;color:var(--ink-mute);margin-top:auto;line-height:1.4}.stack-cell .idx{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:10px;color:var(--ink-mute);letter-spacing:.1em}.arch-diagram{background:var(--panel);border:1px solid var(--line);padding:28px 32px;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--ink-soft);white-space:pre;overflow-x:auto;margin:0}.arch-diagram .comment{color:var(--ink-mute);font-style:italic}.arch-diagram .hl{color:var(--accent);font-weight:500}.arch-diagram .hl2{color:var(--accent-2);font-weight:500}.arch-rules{margin-top:32px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.arch-rule{padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--accent)}.arch-rule h4{margin:0 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.arch-rule p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.5}.devlog-head{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-bottom:none;font-family:var(--mono);font-size:12px;color:var(--ink-mute)}.devlog-head .branch{color:var(--accent-2);font-weight:500;display:inline-flex;align-items:center;gap:8px}.devlog-head .branch:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-2) 20%,transparent)}.commit-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:var(--panel)}.commit{display:grid;grid-template-columns:20px 84px 1fr auto;gap:16px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:13px;color:var(--ink-soft);transition:background .12s}.commit:hover{background:var(--paper)}.commit:first-child{border-top:none}.commit .graph{color:var(--dot);font-size:14px;line-height:1}.commit .hash{color:var(--accent);font-size:12px}.commit .msg{color:var(--ink)}.commit .msg .type{color:var(--accent-2);font-weight:500}.commit .msg .scope{color:var(--ink-mute)}.commit .when{color:var(--ink-mute);font-size:11px}.player-state{margin-top:36px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.ps-cell{padding:20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.ps-cell .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.ps-cell .v{font-family:var(--serif);font-size:40px;font-weight:300;color:var(--ink);line-height:1;margin-top:10px;letter-spacing:-.02em}.ps-cell .v small{font-family:var(--mono);font-size:11px;color:var(--ink-mute);margin-left:4px;letter-spacing:.04em}.ps-cell .delta{margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--accent)}.workflow-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.wf-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.branch-list{list-style:none;margin:0;padding:0}.branch-list li{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--line-soft);font-size:14px}.branch-list .prefix{font-family:var(--mono);color:var(--accent);font-size:13px}.branch-list .desc{color:var(--ink-soft)}.commit-example{background:var(--panel);border:1px solid var(--line);padding:18px 20px;font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--ink-soft);white-space:pre;overflow-x:auto;margin:0}.commit-example .type{color:var(--accent-2);font-weight:500}.commit-example .scope{color:var(--accent)}.workflow-note{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--ink-mute);padding:12px 14px;border:1px dashed var(--line);background:var(--panel)}.workflow-note b{color:var(--accent);font-weight:500}.status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.status-strip>div{padding:28px 24px;border-right:1px solid var(--line-soft)}.status-strip>div:last-child{border-right:none}.status-strip .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:10px}.status-strip .v{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2;color:var(--ink);letter-spacing:-.01em}.countdown-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.presentation footer{padding:60px 0 40px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;font-family:var(--mono);font-size:12px;color:var(--ink-mute)}.presentation footer .sig{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-soft)}.presentation footer .legal{text-align:right;line-height:1.8}@media(max-width:820px){.shell{padding:0 24px}.sec-head,.sec-body{grid-template-columns:1fr;gap:12px}.sec-body>p:first-child{margin-bottom:12px}.hero-grid{grid-template-columns:repeat(2,1fr);gap:16px 0}.hero-grid>div{border-right:none;padding-right:0}.stack-grid,.arch-rules,.workflow-grid,.player-state{grid-template-columns:1fr}.status-strip{grid-template-columns:1fr 1fr}.topbar nav{display:none}.presentation footer{grid-template-columns:1fr}.presentation footer .legal{text-align:left}}
