:root{--bg:#edf3ef;--paper:#fffefb;--ink:#173b36;--muted:#5e756e;--green:#168675;--green-light:#d9efe6;--gold:#efb34d;--gold-light:#fff0d6;--navy:#314d70;--border:#d7e4dd;--shadow:0 12px 32px #234b3810;--radius:20px}
*{box-sizing:border-box}html{color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,input,select,a,summary{touch-action:manipulation}button{border:0}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.scene-scroll:focus-visible{outline:3px solid #2276ac;outline-offset:4px}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}input[type=number]{min-width:0;border:1px solid var(--border);border-radius:10px;color:var(--ink);padding:9px 12px;background:#fff}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h2{font-size:20px;line-height:1.25;letter-spacing:-.025em;margin-bottom:16px}h3{font-size:16px;line-height:1.35;margin-bottom:6px}small,.hint,.unit{color:var(--muted)}.shell{width:min(1440px,calc(100% - 56px));margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:40px 0 26px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--green);margin-bottom:9px}.hero h1{font-size:clamp(34px,4.2vw,60px);font-weight:750;letter-spacing:-.055em;line-height:1.12;margin-bottom:14px}.title-dot{color:var(--green)}.intro{max-width:650px;font-size:16px;color:var(--muted);margin:0}.hero-label{padding:18px 22px;border:1px solid var(--border);border-radius:16px;font-size:12px;font-weight:700;white-space:nowrap;background:#ffffff80}.hero-label small{display:block;font-size:10px;font-weight:500;margin:6px 0 0 16px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #16867516}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:12px}.tabs button{color:var(--muted);background:transparent;padding:12px 19px;font-weight:650;font-size:13px;border-radius:12px}.tabs button.active{color:white;background:var(--ink);box-shadow:0 5px 14px #173b361a}.tabs button span{opacity:.6;margin-right:8px;font-size:10px}.model-note{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px;font-size:12px;color:var(--muted);max-width:1120px}.model-note p{margin:0}.badge{flex:none;padding:5px 8px;border:1px solid #c4dcd1;color:#376756;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.06em}.inline-link{padding:0;background:transparent;color:var(--green);font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.card{border:1px solid var(--border);background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.controls{position:sticky;top:15px;padding:24px 22px}.controls h2{margin-bottom:22px}.field{display:block;margin-top:24px}.field>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;margin-bottom:10px}.field b{font-size:10px;background:var(--bg);padding:1px 6px;border-radius:5px;color:var(--muted)}.field output{margin-left:auto;font-weight:800;color:var(--green);font-size:16px;font-variant-numeric:tabular-nums}.number-wrap{position:relative}.number-wrap input{width:100%;padding:11px 48px 11px 12px;font-size:22px;font-weight:650}.number-wrap span{position:absolute;right:14px;top:15px;font-size:11px;color:var(--muted)}.hint{font-size:11px;line-height:1.5;margin:7px 0 0}.presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px;padding-top:19px;border-top:1px solid var(--border)}.presets>span{width:100%;font-size:10px;color:var(--muted);margin-bottom:2px}.presets button{border:1px solid var(--border);border-radius:7px;background:#f6f8f4;color:var(--ink);font-size:10px;padding:7px 9px}.experiment{display:grid;gap:19px;min-width:0}.stats{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px}.stat{padding:19px 20px;background:var(--paper);border:1px solid var(--border);border-radius:16px;min-width:0;display:flex;flex-direction:column}.stat>span:first-child{font-size:10px;font-weight:650}.stat small{display:block;font-weight:400;font-size:10px}.stat strong{font-size:clamp(23px,2.5vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat .unit{font-size:9px}.stat.total{background:var(--ink);border-color:var(--ink);color:#fff}.stat.total small,.stat.total .unit{color:#b5d6ca}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.cash{background:var(--gold)}.dot.deposit{background:var(--green)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-head h2{margin:0}.pill{padding:6px 11px;background:var(--bg);border:1px solid var(--border);border-radius:50px;font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.scene-card{padding-bottom:19px;overflow:hidden}.scene-scroll{overflow-x:auto;border-radius:14px;background:radial-gradient(ellipse at 50% 10%,#d7eee380,transparent 70%),#f3f7f2;scrollbar-width:thin}.chain-scene{display:flex;align-items:stretch;min-height:244px;padding:21px 19px 16px;min-width:fit-content;width:100%;gap:0}.bank-node{background:transparent;color:var(--ink);border-radius:14px;width:133px;min-width:133px;flex:1;display:flex;align-items:center;flex-direction:column;padding:8px 10px 10px;border:1px solid transparent;position:relative}.bank-node.selected{background:#ffffffb3;border-color:#98c9b6;box-shadow:0 8px 24px #214f3810}.bank-node img{width:105px;height:99px;object-fit:contain;filter:drop-shadow(0 7px 6px #29554813)}.bank-node .bank-name{font-size:11px;font-weight:750;margin:2px 0 5px}.bank-node .node-value{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.bank-node .node-label{font-size:9px;color:var(--muted)}.bank-node.central{min-width:119px;width:119px;flex:none;justify-content:flex-start}.bank-node.central img{width:104px}.bank-node .bank-tag{font-size:8px;background:var(--green-light);padding:2px 6px;border-radius:4px;margin-top:6px;color:#226653}.flow{position:relative;min-width:54px;width:54px;flex:none;display:flex;align-items:center;flex-direction:column;padding-top:72px;color:var(--green);font-size:9px;text-align:center}.flow-line{height:2px;background:#6faf96;width:100%;position:relative;margin-bottom:8px}.flow-line:after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:2px solid #6faf96;border-right:2px solid #6faf96;transform:rotate(45deg)}.flow .token{position:absolute;top:-4px;width:10px;height:10px;border:2px solid #d9a746;border-radius:50%;background:#ffd573;animation:travel 1.8s infinite ease-in-out}.flow.future{opacity:.4}.flow.initial{min-width:36px;width:36px;color:var(--navy)}.flow.initial .flow-line{background:#879ab2}.flow.initial .flow-line:after{border-color:#879ab2}.flow.skipped{font-weight:700;color:var(--muted);min-width:48px}.node-wallet{margin-top:10px;border-top:1px solid #dfddd0;padding-top:7px;font-size:9px;color:#8a6222;width:100%;text-align:center}.scene-card .playback{margin-top:18px}.playback{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.primary,.secondary,.icon-button{border-radius:9px;padding:10px 13px;font-size:11px;font-weight:700}.primary{background:var(--green);color:white}.secondary{background:#f3f7f2;border:1px solid var(--border);color:var(--ink)}.icon-button{background:var(--bg);border:1px solid var(--border);color:var(--ink);font-size:15px;padding:6px 11px}.round-count{margin-left:auto;font-size:10px;color:var(--muted)}.round-count select{border:1px solid var(--border);border-radius:7px;margin-left:5px;padding:6px;background:white;color:var(--ink)}.scrubber{display:flex;align-items:center;gap:15px;margin-top:11px}.scrubber output{font-size:10px;color:var(--muted);white-space:nowrap;min-width:58px}.round-story{padding:15px 17px;border-radius:12px;border:1px solid #d6e7dd;background:#edf6ef;margin-top:15px;font-size:12px;line-height:1.6;color:#416259;min-height:71px}.round-story b{color:var(--ink)}.analysis-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:19px}.balance,.limit{min-width:0}.balance-check{font-size:8px;color:var(--green);white-space:nowrap;padding-top:7px}.balance-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.balance-columns>div+div{border-left:1px solid var(--border);padding-left:20px}.balance-columns h3{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:9px 0 10px}.balance-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;font-size:11px}.balance-line b{font-variant-numeric:tabular-nums;white-space:nowrap}.balance-line.sum{border-top:1px solid var(--border);padding-top:9px;font-weight:700}.balance-detail{font-size:9px;color:var(--muted);padding-left:8px;border-left:2px solid var(--green-light);margin:4px 0}.limit>strong{font-size:27px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.limit>p:not(.eyebrow){font-size:11px;color:var(--muted);margin:8px 0 13px}.limit-track{height:7px;background:#e4eae0;border-radius:9px;overflow:hidden}.limit-track>div{height:100%;background:var(--green);border-radius:9px;transition:width .35s}.limit>small{font-size:9px;display:block;margin-top:6px}.limit details{margin-top:17px}details>summary{font-size:11px;font-weight:700;cursor:pointer;color:var(--ink)}details p{font-size:11px;margin:12px 0}.formula-values{font-variant-numeric:tabular-nums;background:var(--bg);padding:9px;border-radius:7px}.legend{display:flex;gap:13px;font-size:10px;color:var(--muted)}.chart svg{display:block;width:100%;height:200px}.chart svg text{font-family:inherit;font-size:10px;fill:var(--muted)}.chart svg .current text{fill:var(--ink);font-weight:800}.chart svg .future{opacity:.23}.chart-card details{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.table-scroll{overflow:auto;margin:12px 0}.table-scroll table{width:100%;border-collapse:collapse;min-width:700px;font-size:10px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.table-scroll caption{font-size:9px;text-align:left;color:var(--muted);padding-bottom:10px}.table-scroll th{background:var(--bg);font-weight:650;padding:9px}.table-scroll td{padding:9px;border-bottom:1px solid var(--border)}.table-scroll tr.current{background:#eaf4ed}.table-scroll th:first-child,.table-scroll td:first-child{text-align:left}.footnote{font-size:11px;color:var(--muted);margin:20px 0 0;max-width:1100px;line-height:1.6}footer{display:flex;justify-content:space-between;gap:12px;padding:28px 0;font-size:10px;color:var(--muted)}
.credit-input{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted)}.credit-input input{width:130px;font-size:14px}.step-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:25px 0 20px}.step-nav button{background:var(--bg);color:var(--muted);padding:12px 8px;border-radius:10px;border:1px solid var(--border);font-size:11px;display:flex;align-items:center;gap:8px}.step-nav button b{border-radius:50%;background:#dce7dd;width:21px;height:21px;display:grid;place-items:center;font-size:10px;flex:none}.step-nav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.step-nav button.active b{background:#4b7266}.credit-scene{display:grid;grid-template-columns:1fr 140px 1fr;gap:12px;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#d7eee380,transparent 70%),#f3f7f2;padding:25px}.credit-bank{text-align:center}.credit-bank>img{height:126px;width:150px;object-fit:contain}.credit-bank>h3{font-size:13px;margin:0 0 5px}.credit-bank>.person{background:white;border:1px solid var(--border);padding:13px 16px;border-radius:12px;margin:15px auto 0;max-width:240px;text-align:left}.person>span{font-size:11px;display:block;margin-bottom:8px}.person .account{display:flex;justify-content:space-between;gap:10px;font-size:10px}.person b{font-size:16px;font-variant-numeric:tabular-nums;color:var(--green)}.person small{font-size:10px;display:block;margin-top:8px}.person .person-symbol{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--gold-light);color:#775412;margin-right:6px;font-size:12px;font-weight:800}.credit-transfer{align-self:center;text-align:center;font-size:10px;color:var(--muted);min-height:90px}.credit-transfer .transfer-arrow{font-size:36px;line-height:1.2;color:var(--green)}.credit-transfer b{display:block;color:var(--green);font-size:14px}.credit-transfer .reserve-arrow{color:var(--navy)}.credit-transfer .mint{font-size:23px;color:var(--green);border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;width:45px;height:45px;margin:0 auto 8px}.credit-bottom{display:grid;grid-template-columns:280px 1fr;gap:20px;margin-top:20px}.credit-money strong{font-size:36px;color:var(--green);letter-spacing:-.03em}.credit-money p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:10px}.credit-balances{display:grid;grid-template-columns:1fr 1fr;gap:26px;font-size:11px}.credit-balances>div+div{border-left:1px solid var(--border);padding-left:26px}.credit-balances h3{font-size:12px}.credit-balances .delta-line{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.credit-balances .delta-line b{font-variant-numeric:tabular-nums;white-space:nowrap}.credit-balances .delta-total{padding-top:9px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.credit-experiment>.playback{margin-top:17px}
.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.theory{padding:28px}.theory>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.7}.theory-row{display:flex;gap:15px;margin-top:25px}.theory-row h3{font-size:14px}.theory-row p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.theory-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:10px;font-weight:800}.theory-icon.gold{background:var(--gold-light);color:#8c6323}.theory-icon.green{background:var(--green-light);color:var(--green)}.theory-icon.blue{background:#e0e8f1;color:var(--navy)}.theory .definition{background:var(--bg);padding:15px;border-radius:12px;margin:24px 0 0}.sources{border-top:1px solid var(--border);margin-top:25px;padding-top:18px}.sources h3{font-size:12px}.sources a{display:block;color:var(--green);font-size:11px;margin:9px 0}.sources small{display:block;font-size:10px;margin-top:12px}.challenge{margin-top:20px;padding:28px}.task-tabs{display:flex;gap:8px;margin:20px 0}.task-tabs button{padding:8px 13px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--muted);font-size:11px}.task-tabs button.active{background:var(--ink);color:white}.task-tabs button.done{box-shadow:inset 0 -3px 0 var(--green)}#task-body>p{font-size:13px;max-width:900px;color:var(--muted)}.answers{display:grid;gap:8px;margin:20px 0;max-width:900px}.answers label{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid var(--border);border-radius:10px;font-size:12px;cursor:pointer}.answers input{accent-color:var(--green)}.answers label:has(input:checked){border-color:var(--green);background:#eef6ef}.task-number{display:flex;align-items:center;gap:10px;margin:15px 0 20px;font-size:12px}.task-number input{width:150px}.feedback{font-size:12px;margin-top:16px;border-radius:12px;line-height:1.6;min-height:0}.feedback:not(:empty){padding:14px 17px;background:var(--gold-light);color:#6f5220}.feedback.good{background:var(--green-light);color:#225f4e}
@keyframes travel{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:95%;opacity:0}}@media(min-width:1500px){.bank-node{width:145px;min-width:145px}.flow{width:62px;min-width:62px}}@media(max-width:1100px){.shell{width:calc(100% - 36px)}.workspace{grid-template-columns:230px minmax(0,1fr);gap:15px}.controls{padding:20px 18px}.card{padding:20px}.stats{gap:8px}.stat{padding:15px 14px}.analysis-grid{grid-template-columns:1fr}.hero-label{display:none}.credit-bottom{grid-template-columns:220px 1fr}.balance-columns{gap:25px}.balance-columns>div+div{padding-left:25px}}@media(max-width:800px){.hero{padding:28px 0 20px}.workspace{grid-template-columns:1fr}.controls{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:26px}.controls>h2,.controls>.eyebrow,.controls>.presets,.controls>#input-status{grid-column:1/-1}.controls>.field,.controls>.hint,.controls>input{grid-column:1/-1}.controls .field{margin-top:16px}.controls .field:first-of-type{margin-top:0}.presets{margin-top:17px}.intro{font-size:14px}.hero h1{font-size:42px}.analysis-grid{grid-template-columns:1fr 1fr}.credit-scene{grid-template-columns:1fr 100px 1fr;padding:18px;gap:8px}.credit-bottom{grid-template-columns:1fr}.credit-balances{gap:20px}.step-nav{gap:5px}.step-nav button{font-size:9px;padding:10px 6px;gap:5px}.credit-input{flex-wrap:wrap}.learning-grid{grid-template-columns:1fr}.chart svg{height:190px}}@media(max-width:600px){.shell{width:calc(100% - 24px)}.hero h1{font-size:35px}.hero .eyebrow{font-size:9px}.intro{font-size:13px}.tabs{gap:4px;margin-bottom:17px;padding-bottom:9px}.tabs button{flex:1;font-size:10px;padding:10px 6px;line-height:1.4}.tabs button span{display:block;font-size:9px;margin:0 0 3px}.model-note{gap:9px;font-size:11px}.badge{font-size:8px;padding:4px 6px;white-space:nowrap}.stats{grid-template-columns:1.2fr 1fr 1fr;gap:6px}.stat{padding:12px 10px;border-radius:13px}.stat>span:first-child{font-size:9px;line-height:1.45}.stat small{font-size:8px}.stat strong{font-size:22px}.stat .unit{font-size:8px;line-height:1.6}.stat .dot{width:6px;height:6px;margin-right:3px}.card{padding:18px;border-radius:16px}.section-head h2{font-size:17px}.section-head{gap:9px}.section-head .eyebrow{font-size:9px}.pill{font-size:9px;padding:5px 8px}.bank-node{width:115px;min-width:115px;padding:8px 7px}.bank-node img{width:92px;height:92px}.bank-node.central{width:108px;min-width:108px}.chain-scene{padding:14px 12px;min-height:225px}.flow{min-width:46px;width:46px;padding-top:67px}.flow.initial{min-width:31px;width:31px}.playback{gap:6px}.primary,.secondary{padding:9px 10px;font-size:10px}.round-count{margin-left:0}.scrubber{margin-top:10px}.analysis-grid{grid-template-columns:1fr;gap:15px}.balance-check{font-size:8px}.chart-card .section-head{flex-direction:column;gap:10px}.chart svg{height:180px}.footnote{font-size:10px}footer{font-size:9px;flex-direction:column;gap:4px;padding:23px 0}.credit-experiment>.section-head{flex-direction:column}.credit-input input{width:115px;padding:7px 10px}.step-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:20px 0 16px}.step-nav button{flex-direction:column;font-size:8px;padding:9px 3px;line-height:1.3;min-height:65px;gap:7px}.step-nav button b{width:19px;height:19px;font-size:9px}.credit-scene{grid-template-columns:1fr 52px 1fr;padding:13px 8px;gap:4px}.credit-bank>img{width:95px;height:92px}.credit-bank>h3{font-size:11px}.credit-bank>.person{padding:10px 9px;margin-top:10px}.person>span{font-size:10px}.person .person-symbol{width:19px;height:19px;font-size:9px;margin-right:3px}.person .account{flex-direction:column;gap:3px;font-size:9px}.person b{font-size:16px}.person small{font-size:8px}.credit-transfer{font-size:8px;align-self:start;padding-top:65px}.credit-transfer .transfer-arrow{font-size:28px}.credit-transfer b{font-size:10px}.credit-transfer .mint{width:31px;height:31px;font-size:17px}.credit-balances{grid-template-columns:1fr;gap:18px}.credit-balances>div+div{padding:16px 0 0;border-left:0;border-top:1px solid var(--border)}.theory{padding:22px}.challenge{padding:20px}.task-tabs{gap:5px}.task-tabs button{padding:8px 9px;font-size:10px}.answers label{padding:11px;font-size:11px}.round-story{padding:12px 13px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.controls,.tabs,.playback,.scrubber,footer,#export-csv{display:none}.shell{width:100%}.workspace{display:block}.card{box-shadow:none;break-inside:avoid}.scene-scroll{overflow:visible}.chain-scene{min-width:0;flex-wrap:wrap}.view[hidden]{display:none!important}}

@media(max-width:420px){.balance-columns{grid-template-columns:1fr;gap:10px}.balance-columns>div+div{border-left:0;border-top:1px solid var(--border);padding:12px 0 0}}
