:root{color-scheme:light;--paper:#f7f6f0;--ink:#20201d;--muted:#6b6c60;--line:#b9baad;--soft:#eae9e1;--window:#fdfdf9;--accent:#fbd34d;--on-accent:#20201d;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","PingFang SC",monospace;--sans:Arial,Helvetica,"PingFang SC","Microsoft YaHei",sans-serif}
:root[data-theme=dark]{color-scheme:dark;--paper:#171816;--ink:#e9e8dc;--muted:#b0b0a0;--line:#5c5f51;--soft:#292b24;--window:#1e201b;--accent:#fbd34d;--on-accent:#20201d}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}a,button,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:var(--accent);color:var(--on-accent)}mark{background:var(--accent);color:var(--on-accent);padding:.08em .19em;box-decoration-break:clone;-webkit-box-decoration-break:clone}h1,h2,p{margin:0}.skip{position:absolute;left:20px;top:-80px;background:var(--accent);color:var(--on-accent);padding:12px;z-index:100}.skip:focus{top:16px}.site-header{max-width:1280px;margin:auto;height:98px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:24px;letter-spacing:-1px}.brand-mark{display:flex;justify-content:center;gap:6px;width:25px;height:27px;border:1px solid var(--ink);background:var(--accent);padding-top:8px;transform:rotate(-5deg)}.brand-mark i{width:3px;height:4px;background:#20201d}.brand-period{font-size:12px;align-self:flex-start;margin:6px 0 0 -8px}.site-header nav{display:flex;align-items:center;gap:26px;font-family:var(--mono);font-size:13px}.nav-divider{height:16px;border-left:1px solid var(--line)}.docs-link:hover,.language:hover{text-decoration:underline;text-underline-offset:5px}.theme-button{width:32px;height:32px;padding:5px;display:grid;place-items:center}.theme-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.3}main{max-width:1168px;margin:auto}.hero{padding:54px 0 36px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.tiny-cross{font-size:22px;font-weight:400;line-height:1}.hero-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px}.hero h1{font-size:clamp(45px,5.7vw,76px);font-weight:500;line-height:1.05;letter-spacing:-.065em}.hero h1 span{color:var(--muted)}.hero-row>p{font-family:var(--mono);font-size:13px;line-height:1.8;padding-bottom:7px}.animation{margin-bottom:62px}.stage{position:relative;aspect-ratio:2.1/1;border:1px solid var(--line);background:var(--paper);font-family:var(--mono);overflow:hidden}.stage:before,.stage:after{content:"";position:absolute;pointer-events:none;z-index:3;width:10px;height:10px;border-color:var(--ink)}.stage:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.stage:after{right:-1px;bottom:-1px;border-bottom:2px solid;border-right:2px solid}.stage-heading{position:absolute;top:30px;left:36px;right:36px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px}.chapter-number{font-size:12px;background:var(--accent);color:var(--on-accent);padding:0 4px}.stage-heading h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:-.03em}.stage-label{margin-left:auto;font-size:12px;letter-spacing:.08em;color:var(--muted)}.scene{position:absolute;inset:90px 58px 45px;visibility:hidden;opacity:0;pointer-events:none}.scene.is-active{visibility:visible;opacity:1}.flow-layout{height:65%;display:grid;grid-template-columns:32% 14% 54%;align-items:center;position:relative;max-width:900px;margin:auto}.window{border:1px solid var(--ink);background:var(--window)}.window-bar{border-bottom:1px solid var(--ink);padding:6px 12px;font-size:12px;line-height:1.2;display:flex;gap:8px;align-items:center;justify-content:space-between;text-transform:uppercase}.window-bar>span:first-child{display:flex;align-items:center;gap:10px}.window-meta{text-transform:none;color:var(--muted);font-size:12px}.window-dot{width:5px;height:5px;border:1px solid var(--muted)}.window-content{padding:18px;position:relative}.app-window .window-content{min-height:122px;display:flex;align-items:flex-start;padding-top:24px}.question{font-size:clamp(15px,1.55vw,20px);font-weight:500;line-height:1.55}.question mark{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--ink)}.result-window .window-content{min-height:178px}.generated{font-size:16px;line-height:1.75;display:inline}.typing-cursor{width:8px;height:17px;display:inline-block;vertical-align:middle;background:var(--ink);margin-left:3px}.token-strip{display:flex;gap:4px;position:absolute;bottom:15px;left:18px;right:18px}.token-strip i{height:4px;flex:1;max-width:16px;background:var(--line)}.connection{position:relative;height:1px;background:var(--ink)}.connection:after{content:"";width:5px;height:5px;position:absolute;right:0;top:-2px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(45deg)}.connection span{position:absolute;width:7px;height:7px;top:-3px;left:0;background:var(--accent);border:1px solid var(--ink)}.scene-caption{position:absolute;bottom:20px;left:0}.scene-caption p{font-size:13px;margin-bottom:4px}.scene-caption strong{font-size:clamp(17px,2vw,25px);font-weight:500;letter-spacing:-.05em}.choices{display:grid;gap:12px}.choice{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:12px;font-size:12px}.choice-label{padding:7px 8px;text-align:center;border:1px solid var(--ink);line-height:1.25}.choice.chosen .choice-label{background:var(--accent);color:var(--on-accent)}.bar-track{border:1px solid var(--line);height:13px}.probability{background:var(--muted);display:block;height:100%;transform-origin:left}.chosen .probability{background:var(--ink)}.probability-number{font-variant-numeric:tabular-nums}.flow-note{position:absolute;left:0;top:calc(50% + 92px);font-size:12px;line-height:1.4;color:var(--muted)}.stage-bottom{position:absolute;bottom:18px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);letter-spacing:.04em}.game-layout{display:grid;grid-template-columns:1fr 150px;gap:35px;align-items:center;max-width:900px;margin:auto}.world-window .window-content{padding:0}.game{width:100%;display:block;overflow:visible}.ground,.platform{stroke:var(--ink);stroke-width:1;fill:var(--window)}.coin{stroke:var(--ink);stroke-width:1;fill:var(--accent)}.goal-door{fill:var(--ink)}.runner>rect:first-child{fill:var(--accent);stroke:var(--ink);stroke-width:1.5}.runner .eye{fill:#20201d}.action-set{display:grid;gap:9px}.action-title{font-size:12px;color:var(--muted);letter-spacing:.1em;margin-bottom:4px}.action{font-size:12px;border:1px solid var(--ink);padding:8px 12px;text-align:center;position:relative;background:var(--window)}.action span{position:absolute;right:8px;opacity:0}.action.active{background:var(--accent);color:var(--on-accent)}.action.active span{opacity:1}.trade-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:720px;margin:25px auto 0}.trade-label{display:inline-block;font-size:13px;font-weight:600;margin-bottom:20px}.trade-column p{font-size:16px;line-height:2;display:flex;gap:14px}.trade-column.secondary{color:var(--muted)}.trade-column .plus{color:var(--ink)}.playback{display:flex;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px}.playback[hidden]{display:none}.playback button{height:32px;white-space:nowrap}.playback button:hover{background:var(--soft)}#play-pause{min-width:82px;text-align:left;padding-left:0}.play-symbol{display:inline-block;width:24px;text-align:center}.playback #replay{font-size:24px;padding:0 5px}.playback input{flex:1;min-width:0;height:20px;accent-color:var(--ink);cursor:pointer;margin:0}#time{font-size:12px;font-variant-numeric:tabular-nums;min-width:104px;text-align:right}.chapter-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:16px}.chapter-tabs button{text-align:left;display:flex;align-items:center;gap:12px;padding:14px 18px;border-left:1px solid var(--line);font-family:var(--mono);font-size:13px}.chapter-tabs button:first-child{border-left:0;padding-left:0}.chapter-tabs button>span{font-size:12px;color:var(--muted)}.chapter-tabs button i{height:5px;width:5px;background:var(--ink);opacity:0;margin-left:auto}.chapter-tabs button[aria-pressed=true]{font-weight:700}.chapter-tabs button[aria-pressed=true] i{opacity:1}.chapter-tabs button[aria-pressed=true]>span{background:var(--accent);color:var(--on-accent);padding:0 3px}.chapter-tabs button:hover{background:var(--soft)}.reading{margin-bottom:62px}.reading-heading{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding:15px 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em}.reading-grid{display:grid;grid-template-columns:repeat(4,1fr)}.reading-grid>a{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 20px 26px;border-right:1px solid var(--line)}.reading-grid>a:first-child{padding-left:0}.reading-grid>a:last-child{border-right:0}.note-id{font-family:var(--mono);font-size:12px;color:var(--muted)}.reading-grid h2{font-size:19px;font-weight:500;letter-spacing:-.04em;margin-top:8px}.link-arrow{position:absolute;right:18px;top:21px;font-size:18px}.reading-grid>a:hover h2{text-decoration:underline;text-underline-offset:6px}.site-footer{max-width:1168px;margin:auto;border-top:1px solid var(--line);padding:28px 0 36px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--muted);gap:24px}.site-footer>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-brand{font-family:var(--sans);font-size:17px;font-weight:700;letter-spacing:-.6px;color:var(--ink)}.site-footer a:hover{text-decoration:underline}.article-main{padding:38px 0 60px}.back-link{font-family:var(--mono);font-size:13px;color:var(--muted)}.article-header{padding:56px 0 44px;border-bottom:1px solid var(--line)}.article-header h1{font-size:clamp(34px,5vw,64px);font-weight:500;letter-spacing:-.055em;line-height:1.15;margin:20px 0;max-width:850px}.article-lede{font-size:20px;max-width:760px;color:var(--muted)}.article-meta{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:24px;line-height:2}.article-meta>span{padding:0 8px}.article-grid{display:grid;grid-template-columns:240px 1fr;gap:70px;margin-top:52px}.toc{align-self:start;position:sticky;top:30px;font-family:var(--mono);font-size:12px}.toc>span{letter-spacing:.08em}.toc nav{display:grid;gap:16px;margin-top:24px}.toc a{color:var(--muted);line-height:1.6}.toc a:hover{color:var(--ink);text-decoration:underline}.prose{max-width:760px;min-width:0}.prose section{margin-bottom:44px;scroll-margin-top:30px}.prose h2{font-size:26px;letter-spacing:-.035em;line-height:1.3;margin:0 0 20px;font-weight:500}.prose p,.prose li{font-size:17px;line-height:1.85}.prose p{margin:18px 0}.prose ul{padding-left:24px}.prose li{margin-bottom:12px}.prose a{text-decoration:underline;text-underline-offset:4px}.prose a:hover{color:var(--muted)}.prose pre{white-space:pre;overflow:auto;border:1px solid var(--line);background:var(--window);padding:22px;font-size:13px;line-height:1.75}.prose code{font-family:var(--mono)}.table-wrap{overflow:auto;border:1px solid var(--line);margin-top:24px}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);min-width:130px}th{font-weight:500;background:var(--soft)}tr:last-child td{border-bottom:0}.sources{border-top:1px solid var(--line);padding-top:30px}.sources li{font-size:14px}.related{margin-left:310px;border-top:1px solid var(--ink);padding-top:22px}.related h2{font-size:14px;font-family:var(--mono);font-weight:400;margin-bottom:15px}.related>a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0}.related>a:hover{text-decoration:underline}.about-main{margin:50px auto 80px}.about-main .eyebrow{margin-top:50px}.about-main h1{font-size:44px;line-height:1.2;letter-spacing:-.05em;margin:22px 0 48px}.about-main h2{margin-top:40px}.error-page{padding:100px 0 140px}.error-page h1{font-size:70px;letter-spacing:-.06em}.error-page p{margin:20px 0}.text-link{text-decoration:underline;text-underline-offset:5px}.no-js{font-size:13px;margin-top:16px;color:var(--muted)}
@media(min-width:1440px){.hero{padding-top:65px}.stage{aspect-ratio:2.2/1}}
@media(max-width:1279px){main,.site-footer{margin-left:40px;margin-right:40px}.site-header{padding:0 40px}.hero h1{font-size:64px}.stage{aspect-ratio:1.95/1}.scene{inset:88px 42px 40px}.trade-layout{margin-top:12px}}
@media(max-width:900px){.hero h1{font-size:53px}.stage{aspect-ratio:1.55/1}.scene{inset:84px 30px 40px}.stage-heading{left:26px;right:26px}.flow-layout{grid-template-columns:32% 9% 59%}.window-content{padding:14px}.choice{grid-template-columns:68px 1fr 34px;gap:8px}.choice-label{padding:6px 2px}.result-window .window-content{min-height:185px}.game-layout{grid-template-columns:1fr 106px;gap:20px;margin-top:32px}.trade-layout{gap:30px;margin-top:28px}.trade-column p{font-size:15px}.scene-caption{bottom:28px}.article-grid{grid-template-columns:180px 1fr;gap:38px}.related{margin-left:218px}.site-footer{font-size:12px}.site-footer>div{gap:15px}.reading-grid h2{font-size:17px}}
@media(max-width:640px){main,.site-footer{margin-left:22px;margin-right:22px}.site-header{height:78px;padding:0 22px}.site-header nav{gap:16px}.brand{font-size:22px;gap:9px}.brand-mark{width:22px;height:25px}.docs-link{font-size:12px}.nav-divider{display:none}.hero{padding:36px 0 26px}.hero-row{margin-top:16px;display:block}.hero h1{font-size:clamp(33px,9.6vw,54px);line-height:1.13;letter-spacing:-.055em}.hero-row>p{display:none}.eyebrow{font-size:12px}.animation{margin-bottom:38px}.stage{height:510px;aspect-ratio:auto}.stage-heading{top:20px;left:20px;right:20px;padding-bottom:13px}.stage-heading h2{font-size:12px;letter-spacing:-.04em}.stage-label{display:none}.scene{inset:78px 24px 42px}.flow-layout{height:auto;grid-template-columns:1fr;grid-template-rows:auto 31px auto;max-width:320px}.app-window .window-content{min-height:60px;padding:13px 16px}.question{font-size:15px}.question br{display:none}.connection{width:1px;height:31px;margin:auto}.connection:after{top:auto;bottom:0;right:-2px;transform:rotate(135deg)}.connection span{top:0;left:-3px}.result-window .window-content{min-height:149px;padding:13px 16px}.generated{font-size:13px;line-height:1.8}.typing-cursor{height:14px;width:6px}.window-bar{padding:6px 10px;font-size:12px}.window-meta{font-size:12px}.choices{gap:9px}.choice{grid-template-columns:74px 1fr 30px;font-size:12px}.bar-track{height:11px}.flow-note{display:none}.scene-caption{bottom:6px;left:0;right:0}.scene-caption p{font-size:12px;line-height:1.5;margin-bottom:8px;max-width:100%}.scene-caption strong{font-size:17px;letter-spacing:-.035em;line-height:1.5}.stage-bottom{left:20px;right:20px;bottom:14px;font-size:12px}.stage-bottom .frame-count{font-size:12px}.playback{gap:8px;padding:9px 0;font-size:12px}#play-pause{min-width:64px}.playback #replay{font-size:21px}#time{font-size:12px;min-width:85px}.chapter-tabs{margin-top:9px}.chapter-tabs button{font-size:12px;padding:9px 6px;gap:5px;justify-content:center;flex-wrap:wrap}.chapter-tabs button:first-child{padding-left:0}.chapter-tabs button i{display:none}.chapter-tabs button>span{font-size:12px}.game-layout{margin-top:0;grid-template-columns:1fr;gap:18px}.game{min-height:180px}.action-set{grid-template-columns:repeat(4,1fr);gap:7px}.action-title{grid-column:1/-1;font-size:12px;margin:0}.action{font-size:12px;padding:7px 3px}.action span{display:none}.trade-layout{gap:26px;grid-template-columns:1fr;margin:0 auto;max-width:300px}.trade-column{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}.trade-label{grid-column:1/-1;margin-bottom:8px;font-size:12px}.trade-column p{font-size:12px;line-height:2;gap:7px}.reading{margin-bottom:34px}.reading-heading{font-size:12px}.reading-grid{grid-template-columns:1fr 1fr}.reading-grid>a{padding:16px 14px 20px;border-top:0}.reading-grid>a:nth-child(-n+2){border-top:1px solid var(--line)}.reading-grid>a:nth-child(odd){padding-left:0}.reading-grid>a:nth-child(even){border-right:0}.reading-grid h2{font-size:18px;margin-top:5px}.link-arrow{right:8px;top:14px}.site-footer{padding:23px 0 28px;display:block;font-size:12px}.site-footer>div{gap:16px;margin-bottom:14px;justify-content:space-between}.site-footer>div:first-child{justify-content:flex-start}.footer-brand{font-size:16px}.article-main{padding-top:24px}.article-header{padding:35px 0 28px}.article-header h1{font-size:37px}.article-lede{font-size:18px}.article-meta{font-size:12px;margin-top:18px}.article-meta>span{padding:0 3px}.article-grid{display:block;margin-top:28px}.toc{position:static;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--line)}.toc nav{gap:10px;margin-top:14px}.prose p,.prose li{font-size:16px}.prose h2{font-size:24px}.prose pre{font-size:12px;padding:16px}.related{margin-left:0}.about-main{margin-top:32px;margin-bottom:50px}.about-main h1{font-size:36px}.error-page{padding:70px 0}.error-page h1{font-size:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:901px){.site-header{height:84px}.hero{padding:36px 0 30px}.hero-row{margin-top:16px}.hero h1{font-size:clamp(42px,4.2vw,58px);letter-spacing:-.055em}.hero h1 br{display:none}.hero h1 span:before{content:" "}.hero-row>p{display:none}.stage{aspect-ratio:2.25/1}.scene{inset:85px 58px 40px}.game-layout{max-width:790px}.world-window .window-content{max-height:240px}.game{max-height:240px}.scene-caption{bottom:22px}}

/* Minimal local-preview shell; the four-scene animation is unchanged. */
.brand-title{font:inherit;line-height:inherit;letter-spacing:inherit}
.minimal-home main{padding-top:44px;padding-bottom:30px}
.minimal-home .animation{margin-bottom:0}
@media(max-width:640px){.minimal-home main{padding-top:22px;padding-bottom:20px}}
