.lesson{max-width:760px;padding:24px var(--gutter) 0;margin:0 auto}.crumbs{font-family:var(--f-head);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.crumbs a{color:var(--c-deep);text-decoration:none}.lesson-title{margin:14px 0 6px;font-size:clamp(2rem,7vw,3rem)}.lesson-title:after{content:"";background:var(--c);border-radius:6px;width:90px;height:8px;margin-top:8px;display:block;transform:rotate(-1deg)}.section-label{font-family:var(--f-hand);color:var(--c-deep);align-items:center;gap:8px;margin:36px 0 12px;font-size:1.7rem;line-height:1;display:flex}.defn{border-left:10px solid var(--c);font-size:1.22rem;font-weight:600;line-height:1.5}.defn p{margin:0}.story{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.story .avatar{width:72px;height:72px}.story-bubble{background:var(--card);border:var(--line);box-shadow:var(--pop);border-radius:18px;padding:16px 18px;position:relative}.story-bubble:before{content:"";background:var(--card);border-left:var(--line);border-bottom:var(--line);width:18px;height:18px;position:absolute;top:22px;left:-12px;transform:rotate(45deg)}.story-bubble b.who{font-family:var(--f-head);color:var(--c-deep)}.story-bubble ol{margin:6px 0 0;padding-left:1.3em}.story-bubble li{margin:6px 0}.js .story-bubble li{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(8px)}.js .story-bubble.is-in li{opacity:1;transform:none}.js .story-bubble.is-in li:nth-child(2){transition-delay:.25s}.js .story-bubble.is-in li:nth-child(3){transition-delay:.5s}.js .story-bubble.is-in li:nth-child(4){transition-delay:.75s}.js .story-bubble.is-in li:nth-child(5){transition-delay:1s}.journal{border-collapse:collapse;background:var(--card);border:var(--line);border-radius:12px;width:100%;margin-top:16px;font-size:.95rem;overflow:hidden}.journal th,.journal td{text-align:left;vertical-align:top;border-bottom:1.5px solid #d9cfba;padding:8px 10px}.journal th{font-family:var(--f-head);background:var(--c-soft)}.journal .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.journal .narr{color:var(--ink-2);font-style:italic}.journal .indent{padding-left:28px}.js .journal .slide{opacity:0;transition:opacity .5s,transform .5s;transform:translate(-16px)}.js .journal.is-in .slide{opacity:1;transform:none}.js .journal.is-in .slide:nth-child(2){transition-delay:.35s}.js .journal.is-in .slide:nth-child(3){transition-delay:.7s}.rules{border-collapse:collapse;background:var(--card);border:var(--line);border-radius:12px;width:100%;margin-top:16px;font-size:.95rem;overflow:hidden}.rules th,.rules td{text-align:left;border-bottom:1.5px solid #d9cfba;padding:8px 10px}.rules th{font-family:var(--f-head);background:var(--c-soft)}.rules .dr{color:var(--acc-deep);font-weight:800}.rules .cr{color:var(--bad);font-weight:800}.qdots{font-family:var(--f-head);color:var(--ink-2);align-items:center;gap:8px;margin:8px 0 14px;font-size:.95rem;font-weight:600;display:flex}.qdots a{border:2px solid var(--ink);background:var(--card);border-radius:50%;place-items:center;width:26px;height:26px;font-size:.8rem;text-decoration:none;transition:background .3s;display:grid}.qdots a.is-done{background:var(--c);color:#fff}.q-card{background:var(--card);border:var(--line);border-radius:var(--r);box-shadow:var(--pop-lg);margin:0 0 22px;padding:18px;scroll-margin-top:80px;transition:border-color .3s;position:relative}.q-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.q-num{font-family:var(--f-head);background:var(--c);color:#fff;border:2px solid var(--ink);border-radius:10px;padding:0 8px;font-weight:700}.q-kind{font-family:var(--f-hand);color:var(--c-deep);font-size:1.35rem;line-height:1}.q-stamp{color:#fff;background:var(--good);border:2px solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;margin-left:auto;font-weight:900;transition:transform .35s cubic-bezier(.3,1.6,.5,1);display:grid;transform:scale(0)rotate(-30deg)}.q-card.is-right .q-stamp,.q-card.was-right .q-stamp{transform:scale(1)rotate(-8deg)}.q-card.was-right:not(.is-right) .q-stamp{background:var(--ink-3)}.q-card.is-right{border-color:var(--good)}.q-card.is-wrong{animation:.4s shake}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.q-text{margin:4px 0 14px;font-size:1.15rem;font-weight:600}.q-story{background:var(--c-soft);border:2px dashed var(--c);border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px;display:flex}.q-story p{margin:0}.opts{gap:10px;display:grid}.opts--tf{grid-template-columns:1fr 1fr}.opt{text-align:left;background:var(--paper);border:2px solid var(--ink);cursor:pointer;min-height:52px;box-shadow:2px 2px 0 var(--ink);-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;transition:transform .12s,background .15s,box-shadow .12s;display:flex}.opt:hover:not([disabled]){background:var(--c-soft);box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.opt-key{width:30px;height:30px;font-family:var(--f-head);background:var(--card);border:2px solid var(--ink);border-radius:9px;flex:none;place-items:center;font-weight:700;display:grid}.opt.is-right{background:var(--good-soft);border-color:var(--good)}.opt.is-right .opt-key{background:var(--good);color:#fff}.opt.is-wrong{background:var(--bad-soft);border-color:var(--bad);text-decoration:line-through;text-decoration-color:var(--bad)}.opt[disabled]{cursor:default}.opts--tf .opt{font-family:var(--f-head);justify-content:center;font-size:1.1rem;font-weight:600}.q-feedback .fb{border:2px solid;border-radius:12px;margin:14px 0 0;padding:12px 14px}.fb--right{background:var(--good-soft);border-color:var(--good)!important}.fb--wrong{background:var(--bad-soft);border-color:var(--bad)!important}.xp-pop{font-family:var(--f-head);color:var(--good);margin-left:4px;font-weight:700;display:inline-block}.q-card.is-right .xp-pop{animation:.8s pop}@keyframes pop{0%{opacity:0;transform:scale(.4)translateY(6px)}60%{opacity:1;transform:scale(1.3)}to{transform:scale(1)}}.q-actions{margin:16px 0 0}.match-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.match-rows li{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:10px;display:grid}.match-left{font-family:var(--f-head);background:var(--c-soft);border:2px solid var(--c);border-radius:12px;align-items:center;padding:8px 10px;font-weight:600;display:flex}.slot{border:2px dashed var(--ink-3);background:var(--paper);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:4px;transition:background .15s,border-color .15s;display:flex}.slot-empty{font-family:var(--f-hand);color:var(--ink-3);font-size:1.2rem}.slot .chipcard{width:100%;margin:0}.has-picked .slot,.has-picked .bucket,.slot.is-over,.bucket.is-over{border-color:var(--c);background:var(--c-soft)}.slot.is-filled{border-style:solid;border-color:var(--ink)}.place-tip{color:var(--ink-2);margin:12px 0 8px;font-size:.85rem}.pool{flex-wrap:wrap;gap:8px;min-height:20px;display:flex}.chipcard{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;text-align:left;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);-webkit-tap-highlight-color:transparent;background:#fff7c2;border-radius:10px;padding:9px 12px;font-size:.95rem;font-weight:700;line-height:1.3;transition:transform .12s,box-shadow .12s,opacity .15s}.chipcard.is-picked{box-shadow:4px 5px 0 var(--ink);background:var(--marker);outline:3px solid var(--c);outline-offset:2px;transform:translateY(-3px)rotate(-1.5deg)}.chipcard.is-dragging{opacity:.35}.chipcard.is-ghost{cursor:grabbing;box-shadow:6px 8px #2b262059}.chipcard.is-bad{background:var(--bad-soft);border-color:var(--bad);animation:.4s shake}.chipcard[disabled]{cursor:default}.q-card.is-right .chipcard{background:var(--good-soft);border-color:var(--good)}.buckets{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.bucket{border:2px dashed var(--ink-3);background:var(--paper);cursor:pointer;border-radius:14px;min-height:130px;padding:8px;transition:background .15s,border-color .15s}.bucket-name{text-align:center;font-family:var(--f-head);margin-bottom:6px;font-weight:700;display:block}.bucket-items{flex-direction:column;gap:6px;display:flex}.bucket-items .chipcard{width:100%}.sim{background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:12px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .ax{stroke:var(--ink);stroke-width:2.5px;fill:none;stroke-linecap:round}.chart .ax-l{font:600 11px var(--f-body);fill:var(--ink-2)}.chart .curve{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart .c-demand{stroke:var(--eco);fill:var(--eco)}.chart .c-supply{stroke:var(--bst);fill:var(--bst)}.chart .c-ppc{stroke:var(--c)}.chart path.curve{fill:none}.chart .curve-tag{font:700 15px var(--f-head);stroke:none}.chart .pt{fill:var(--card);stroke:var(--ink);stroke-width:1.5px}.chart .guide{stroke:var(--ink-3);stroke-width:1.5px;stroke-dasharray:4 4;fill:none}.chart .price-line{stroke:var(--ink);stroke-width:2px;stroke-dasharray:6 5;fill:none}.chart .dot{fill:var(--marker);stroke:var(--ink);stroke-width:2.5px;transition:cx .25s,cy .25s}.chart .tick{font:700 12px var(--f-head);fill:var(--ink)}.sim-row{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.sim-slider{flex:200px}.sim-out{flex:200px;font-size:1rem}.sim input[type=range]{width:100%;accent-color:var(--c);height:34px}.bars{gap:6px;margin-top:10px;display:grid}.bar{grid-template-columns:96px 1fr 34px;align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:grid}.bar-fill{border:2px solid var(--ink);border-radius:8px;height:16px;transition:width .3s;display:block}.b-d{background:var(--eco)}.b-s{background:var(--bst)}.st{font-family:var(--f-head);border:2px solid var(--ink);border-radius:999px;padding:1px 8px;font-weight:600}.st-eq{background:var(--good-soft)}.st-sur{background:var(--bst-soft)}.st-sho{background:var(--eco-soft)}.rev{border-bottom:2.5px solid var(--ink);grid-template-columns:repeat(5,1fr);align-items:end;gap:8px;height:190px;padding:0 2px;display:grid}.rev-col{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.rev-col i{background:var(--paper-2);border:2px dashed var(--ink-3);border-bottom:0;border-radius:8px 8px 0 0;width:100%;max-width:46px;transition:background .3s;display:block}.rev-col.is-seen i{background:var(--c-soft);border:2px solid var(--ink);border-bottom:0}.rev-col.is-now i{background:var(--c)}.rev-col span{font:700 12px var(--f-head);position:absolute;bottom:-24px}.rev-v{font:700 11px var(--f-head);white-space:nowrap;margin-bottom:3px}.sim--revenue .sim-row{margin-top:34px}.scale .beam{transform-origin:160px 40px;transition:transform .4s cubic-bezier(.3,1.4,.5,1)}.scale .pan{fill:var(--card);stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round}.scale .pan-l{font:700 12px var(--f-head);fill:var(--ink)}.is-balanced .scale .pan{fill:var(--good-soft)}.eq{font-family:var(--f-head);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:8px 0;font-size:1.2rem;font-weight:700;display:flex}.eq-box{text-align:center;background:var(--card);border:2px solid var(--ink);border-radius:12px;min-width:92px;padding:4px 8px}.eq-box small{color:var(--ink-2);font-size:.75rem;display:block}.eq-box b{font-size:1rem}.eq-box.is-unknown{background:var(--marker)}.stepper{align-items:center;gap:10px;margin-top:8px;display:flex}.stepper .btn{width:48px;min-height:44px;padding:0;font-size:1.4rem}.stepper input{flex:1}.tacc{border-top:3px solid var(--ink);grid-template-columns:1fr 1fr;margin-top:26px;font-size:.9rem;display:grid;position:relative}.tacc-title{text-align:center;font-family:var(--f-head);font-weight:700;position:absolute;top:-28px;left:0;right:0}.tacc-side+.tacc-side{border-left:3px solid var(--ink)}.tacc-h{font-family:var(--f-head);text-align:center;color:var(--ink-2);padding:2px;font-weight:700}.tacc table{border-collapse:collapse;width:100%}.tacc td{padding:4px 6px}.tacc .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tacc .bal td{background:var(--marker);font-weight:800}.tacc .tot td{border-top:2px solid var(--ink);border-bottom:4px double var(--ink);font-weight:800}.is-balanced .tacc .tot td{color:var(--good)}.funfact{margin-top:40px;transform:rotate(-.6deg)}.funfact h3{align-items:center;gap:8px;display:flex}.finish{text-align:center;background:var(--good-soft);border-color:var(--good);margin-top:30px}.finish[hidden]{display:none}.finish h3{font-size:1.5rem}.pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;display:grid}.pager a{background:var(--card);border:var(--line);box-shadow:var(--pop);border-radius:14px;padding:14px;text-decoration:none;display:block}.pager a:hover{background:var(--c-soft)}.pager small{color:var(--ink-2);font-weight:700;display:block}.pager b{font-family:var(--f-head);font-weight:600}.pager .next{text-align:right;grid-column:2}@media (width<=420px){.match-rows li{grid-template-columns:1fr;gap:4px}.opts--tf{grid-template-columns:1fr 1fr}.story{grid-template-columns:1fr}.story .avatar{width:56px;height:56px}.story-bubble:before{border-left:var(--line);border-bottom:0;border-top:var(--line);top:-11px;left:22px}.bar{grid-template-columns:84px 1fr 28px}}.subject-hero{padding:40px 0 20px;position:relative;overflow:hidden}.subject-hero .wrap{gap:16px;display:grid}.subject-hero h1{margin:6px 0}.subject-hero .meet{background:var(--card);border:var(--line);box-shadow:var(--pop);border-radius:16px;align-items:center;gap:12px;max-width:460px;padding:10px 14px;display:flex}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin-top:24px;display:grid}.topic-note{background:var(--c-soft);border:var(--line);box-shadow:var(--pop);border-radius:6px 6px 18px;flex-direction:column;gap:6px;min-height:170px;padding:18px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.topic-note:nth-child(3n+1){transform:rotate(-.8deg)}.topic-note:nth-child(3n+2){transform:rotate(.6deg)}.topic-note:hover{box-shadow:var(--pop-lg);transform:translateY(-4px)rotate(-1deg)}.topic-note .n{font-family:var(--f-hand);color:var(--c-deep);font-size:1.6rem;line-height:1}.topic-note h3{margin:0;font-size:1.3rem}.topic-note p{color:var(--ink-2);margin:0;font-size:.95rem}.topic-note .status{font-family:var(--f-head);margin-top:auto;font-size:.9rem;font-weight:600}.topic-note.is-done .status{color:var(--good)}
