:root{--bg: #eceee9;--surface: #f7f8f4;--ink: #1c2230;--muted: #5d6573;--accent: #2f5f98;--rule: #c9cdc4;--display: "Shippori Mincho", "Hiragino Mincho ProN", Georgia, serif;--body: "Zen Kaku Gothic New", "Hiragino Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--paper-w: #fbfaf6;--paper-c: #2f5f98;--fold-ink: #141a26;--arrow: #c4511f;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #141820;--surface: #1b212b;--ink: #e7e9ee;--muted: #9aa3b2;--accent: #8db4e6;--rule: #2e3644;color-scheme:dark;--paper-w: #e6e3da;--paper-c: #4677b5;--arrow: #ff9a6b}}:root[data-theme=dark]{--bg: #141820;--surface: #1b212b;--ink: #e7e9ee;--muted: #9aa3b2;--accent: #8db4e6;--rule: #2e3644;color-scheme:dark;--paper-w: #e6e3da;--paper-c: #4677b5;--arrow: #ff9a6b}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}.wrap{display:grid;grid-template-columns:minmax(0,30rem) minmax(0,1fr);gap:48px;max-width:1180px;margin:0 auto}.stage{position:sticky;top:env(safe-area-inset-top,0px);height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));order:2}.steps{order:1;min-width:0;padding-bottom:30vh}.credit{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;padding-block:24px;margin:0}.back-link{position:fixed;z-index:5;top:calc(env(safe-area-inset-top,0px) + 14px);left:max(16px,env(safe-area-inset-left,0px));font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:6px 12px}.back-link:hover{border-color:var(--accent);color:var(--accent)}.fold-stage{display:block;position:relative;height:100%}.fold-stage__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.fold-stage__canvas canvas{display:block;width:100%;height:100%}.stage-hud{position:absolute;left:0;right:0;bottom:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);pointer-events:none}.stage-hud__count b{color:var(--ink);font-weight:500}.stage-hud__rail{display:flex;gap:4px;width:min(280px,100%)}.stage-hud__seg{flex:1;height:3px;background:var(--rule);border-radius:2px;overflow:hidden}.stage-hud__seg i{display:block;height:100%;background:var(--accent);transform-origin:left}.stage-inset{position:absolute;right:0;bottom:12px;width:150px;height:150px;pointer-events:none;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--rule);border-radius:6px}.stage-inset__layer{position:absolute;top:8px;right:8px;bottom:8px;left:8px;width:calc(100% - 16px);height:calc(100% - 16px);opacity:0;transition:opacity .35s}.stage-inset__layer.is-shown{opacity:1}@media (prefers-reduced-motion: reduce){.stage-inset__layer{transition:none}}.dg-paper{stroke:var(--fold-ink);stroke-linejoin:round}.dg-paper--w{fill:var(--paper-w)}.dg-paper--c{fill:var(--paper-c)}.dg-line{stroke:var(--fold-ink);stroke-linecap:round}.dg-line--crease{opacity:.3}.dg-arrow path{stroke:var(--arrow);stroke-linecap:round}.dg-head{fill:var(--arrow);stroke:var(--arrow);stroke-linejoin:round}.dg-head--open{fill:var(--bg)}.dg-turn path{stroke:var(--arrow)}.dg-turn polygon{fill:var(--arrow)}.dg-turn text,.dg-label{fill:var(--muted);font-family:var(--mono);letter-spacing:.08em}.landing{max-width:1180px;margin:0 auto;padding:72px 0 96px}.landing__head{display:grid;gap:14px;max-width:36rem;margin-bottom:48px}.landing__head h1{font-family:var(--display);font-weight:800;margin:0;line-height:1.1;font-size:clamp(2.6rem,8vw,4.4rem);letter-spacing:-.01em}.landing__head p{margin:0;color:var(--muted)}.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}.tile{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--rule);border-radius:6px;overflow:hidden;transition:border-color .2s,transform .2s}.tile:hover,.tile:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.tile__thumb{position:relative;aspect-ratio:4 / 3;padding:24px;border-bottom:1px solid var(--rule)}.tile__thumb svg{display:block;width:100%;height:100%}.tile__body{display:grid;gap:6px;padding:16px 18px 18px;align-content:start;flex:1}.tile__num,.tile__meta,.tile__credit{font-family:var(--mono);font-size:11px;letter-spacing:.1em}.tile__num{color:var(--accent)}.tile h2{font-family:var(--display);font-weight:800;font-size:1.6rem;line-height:1.15;margin:0}.tile p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.tile__meta{color:var(--ink);margin-top:6px}.tile__credit{color:var(--muted);letter-spacing:.04em}@media (prefers-reduced-motion: reduce){.tile{transition:none}.tile:hover{transform:none}}.landing__about{margin-top:72px;padding-top:40px;border-top:1px solid var(--rule)}.landing__about h2{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,4.5vw,2.2rem);line-height:1.15;margin:0 0 24px}.landing__points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px}.landing__points h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.landing__points p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.site-footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px}.site-footer a{color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.1em}.site-footer a:hover{color:var(--accent)}.site-footer p{margin:0}.prose-page{max-width:1180px;margin:0 auto;padding:32px 0 64px;display:grid;gap:32px}.prose{display:grid;gap:14px;max-width:42rem}.prose h1{font-family:var(--display);font-weight:800;margin:0;line-height:1.1;font-size:clamp(2.4rem,7vw,3.8rem)}.prose h2,.model-notes h2{font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,4vw,1.8rem);line-height:1.2;margin:28px 0 0}.prose p,.prose li,.model-notes p,.model-notes li{color:var(--muted)}.prose p,.model-notes p{margin:0}.prose ul,.model-notes ul{margin:0;padding-left:1.2em;display:grid;gap:8px}.prose b{color:var(--ink);font-weight:500}.prose a,.model-notes a,.landing__points a{color:var(--accent)}.prose__lead{font-size:1.1rem}.prose .fold-step__notes{margin:4px 0}.model-notes{display:grid;gap:14px;max-width:30rem;padding:48px 0 8px;border-top:1px solid var(--rule)}.model-notes h2:first-child{margin-top:0}.model-notes__qa h3{font-family:var(--body);font-size:1rem;font-weight:500;color:var(--ink);margin:0 0 4px}.back-link--inline{position:static;justify-self:start}.fold-step{display:flex;align-items:center;min-height:82vh}.fold-step article{display:grid;gap:14px;max-width:30rem;opacity:.5;transition:opacity .4s}.fold-step.is-current article{opacity:1}.fold-step__num{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--accent)}.fold-step h1,.fold-step h2{font-family:var(--display);font-weight:800;margin:0;text-wrap:balance;line-height:1.12}.fold-step h1{font-size:clamp(2.6rem,8vw,4.4rem);letter-spacing:-.01em}.fold-step h2{font-size:clamp(1.6rem,4.5vw,2.2rem)}.fold-step p{margin:0;color:var(--muted);max-width:62ch}.fold-step__notes{display:flex;flex-wrap:wrap;gap:8px 16px}.fold-step__note{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.fold-step__note svg{width:48px;height:12px;stroke:var(--accent);stroke-width:1.6}.fold-step__cue{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}@media (max-width: 820px){.wrap{grid-template-columns:minmax(0,1fr);gap:0}.stage{order:0;height:48vh;z-index:2;background:var(--bg);border-bottom:1px solid var(--rule)}.steps{order:1;padding-bottom:45vh}.fold-step{min-height:62vh}.stage-inset{width:96px;height:96px;bottom:8px}.landing{padding-top:48px}}
