@font-face{font-family:Nunito;src:url(/fonts/nunito/Nunito.ttf) format("truetype");font-weight:200 1000;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans/NunitoSans.ttf) format("truetype");font-weight:200 1000;font-display:swap}:root{--forest: #285c3c;--forest-dark: #173a28;--leaf: #4c824f;--cream: #fff7dd;--paper: #f7e8ba;--canvas: #f4efdf;--ink: #294235;--muted: #6d725f;--gold: #d5ab43;--brass: #dec47a;--danger: #ac493d;--danger-tint: #ffd9d0;--success: #2f7448;--success-tint: #e6f0de;--cream-shade: #ddcfa6;--mint: #cbe7ac;--mint-shade: #9fc985;--stone: #afada4;--stone-shade: #8b8980;--divider: #b9a66d;--frame: #735d39;--white: #fffdf4;--shadow: rgba(23, 58, 40, .12);font-family:Nunito Sans,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:style}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--forest)}p{line-height:1.65}h1,h2,h3,button,.eyebrow,.brand,.button{font-family:Nunito,sans-serif}h1,h2,h3{line-height:1.13;margin:0;color:var(--forest-dark);font-weight:850}h1{font-size:clamp(2.3rem,4.6vw,4rem);letter-spacing:-.045em}h2{font-size:1.6rem;letter-spacing:-.025em}h3{font-size:1.1rem}h1 em{font-style:normal;color:var(--leaf)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;object-fit:contain}small{font-size:.8rem}button:disabled{opacity:.52}strong,b{font-weight:800}form{display:grid;gap:20px}label{display:grid;gap:8px;font-size:.9rem;font-weight:750}input{min-width:0;width:100%;min-height:52px;border:1.5px solid var(--cream-shade);border-radius:12px;background:var(--white);padding:12px 15px;color:var(--forest-dark);box-shadow:inset 0 2px 3px var(--shadow)}input::placeholder{color:var(--muted);font-weight:400}input:focus{border-color:var(--forest)}input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--forest)}.checkbox-label{display:flex;align-items:flex-start;font-weight:500;line-height:1.5}.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.15em;color:var(--leaf);line-height:1.5;margin:0 0 14px}.muted{color:var(--muted)}.positive{color:var(--success)}.negative{color:var(--danger)}.panel{background:var(--cream);border:1.5px solid var(--cream-shade);border-radius:24px;box-shadow:0 5px 0 var(--cream-shade),0 14px 35px var(--shadow);padding:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:52px;border:2px solid var(--forest-dark);border-radius:14px;color:var(--cream);background:linear-gradient(180deg,var(--leaf),var(--forest) 55%);box-shadow:0 5px 0 var(--forest-dark),inset 0 1.5px #fff7dd59;padding:12px 24px;font-weight:850;text-decoration:none;line-height:1.4;font-size:1rem;transition:transform .12s,box-shadow .12s}.button:hover:not(:disabled){filter:brightness(1.07)}.button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--forest-dark)}.button.secondary{background:linear-gradient(180deg,var(--white),var(--cream));color:var(--forest);border-color:var(--forest);box-shadow:0 4px 0 var(--cream-shade),inset 0 1px var(--white)}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-weight:750;color:var(--forest);padding:10px 0;font-size:.9rem}.icon-button{width:42px;height:42px;min-height:42px;display:grid;place-items:center;border:1px solid var(--cream-shade);border-radius:50%;background:var(--cream);color:var(--forest);font-size:1.8rem;flex-shrink:0}.notice{padding:14px 18px;background:var(--success-tint);border:1px solid var(--mint-shade);border-radius:12px;line-height:1.55;font-size:.9rem;margin:12px 0}.notice.error{background:var(--danger-tint);border-color:var(--danger);color:var(--forest-dark)}.site-header{height:90px;padding:18px clamp(20px,4.6vw,76px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(41,66,53,.1);position:relative;z-index:2;background:var(--canvas)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}.brand img{width:110px;height:44px}.brand>span{font-size:1.05rem;font-weight:850;border-left:1px solid var(--divider);padding-left:16px}.site-header nav{display:flex;gap:30px;align-items:center}.header-note{font-size:.8rem;color:var(--muted)}.nav-link{font-size:.85rem;font-weight:800;text-decoration:none}.nav-link span{padding-left:8px}.site-footer{max-width:1440px;margin:auto;padding:24px clamp(24px,4.6vw,76px);border-top:1px solid rgba(41,66,53,.13);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted);letter-spacing:.06em}.site-footer p{letter-spacing:0}.site-footer>span{font-weight:800}.room-chip{font-size:.75rem;letter-spacing:.08em}.room-chip strong{font-size:1.1rem;padding-left:8px}.connection{font-size:.75rem;display:flex;align-items:center;gap:8px;color:var(--muted)}.connection i,.pill i{height:7px;width:7px;background:var(--gold);border-radius:50%}.connection.connected i{background:var(--leaf)}.character-pair{display:flex;position:relative;justify-content:center;align-items:flex-end}.character-pair>img{width:50%;max-height:300px;object-position:bottom}.character-pair .porto{z-index:1;transform:rotate(-4deg)}.character-pair .bello{transform:rotate(4deg);margin-left:-8%}.join-layout{max-width:1320px;margin:auto;padding:58px 68px 42px;display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"welcome join";gap:90px;align-items:start}.pill{display:inline-flex;gap:9px;align-items:center;letter-spacing:.1em;border:1px solid var(--cream-shade);border-radius:30px;background:var(--cream);padding:8px 13px;font-size:.75rem}.pill i{background:var(--leaf);height:5px;width:5px}.welcome{grid-area:welcome}.welcome h2{font-size:clamp(3rem,4.7vw,4.5rem);margin-top:14px;line-height:1.08}.hero-description{font-size:.96rem;max-width:430px;margin:22px 0 0;color:var(--muted)}.welcome-world{position:relative;min-height:300px;max-width:500px;margin-top:18px}.world-orbit{position:absolute;inset:20% 5% 5%;border-radius:50%;background:radial-gradient(ellipse,var(--mint) 0%,var(--paper) 52%,transparent 72%);opacity:.6}.welcome-world .character-pair{max-width:390px;margin:0 auto}.welcome-world .character-pair img{height:260px}.character-caption{position:absolute;bottom:0;display:grid;font-family:Nunito;font-weight:900;font-size:1.05rem;color:var(--forest)}.character-caption span{font-family:Nunito Sans;font-weight:500;font-size:.75rem;margin-top:2px;color:var(--muted)}.porto-caption{left:18%}.bello-caption{right:16%}.floating-stock{position:absolute;right:-12px;top:38px;width:80px;transform:rotate(12deg);filter:drop-shadow(0 8px 6px var(--shadow))}.join-column{grid-area:join;padding-top:32px}.join-card{padding:36px;background:var(--cream);position:relative}.join-card:before{content:"";position:absolute;height:5px;background:var(--gold);border-radius:24px 24px 0 0;left:25px;right:25px;top:-2px}.card-overline{font-size:.75rem;color:var(--muted);letter-spacing:.15em;font-weight:800}.join-card h1{font-size:2rem;margin:14px 0 8px}.join-card>p{font-size:.87rem;margin:0 0 28px;color:var(--muted)}.code-input{font-family:Nunito;text-align:center;font-size:2rem;letter-spacing:.3em;font-weight:900;min-height:75px;padding-left:28px}.code-input::placeholder{opacity:.4;font-weight:700}.join-card .button{width:100%;margin-top:4px}.join-note{border-top:1px dashed var(--cream-shade);padding-top:20px;margin-top:25px;text-align:center;font-size:.75rem;color:var(--muted)}.join-note span{color:var(--gold);padding-right:8px}.resume-link{display:block;text-align:center;font-size:.75rem;margin-top:16px}.how-it-works{display:flex;justify-content:space-between;font-size:.75rem;gap:10px;margin-top:28px;color:var(--muted)}.how-it-works span{display:flex;gap:7px;align-items:center}.how-it-works b{font-family:Nunito;font-size:.8rem;color:var(--leaf)}.teacher-invite{display:flex;gap:14px;align-items:center;border-top:1px solid var(--cream-shade);margin-top:28px;padding-top:22px}.teacher-invite img{width:40px;height:40px}.teacher-invite strong{font-size:.8rem;display:block}.teacher-invite a{font-size:.75rem;display:block;margin-top:4px;text-underline-offset:3px}.host-login{max-width:1160px;margin:60px auto;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding:0 30px}.host-login>section>p:not(.eyebrow){max-width:400px;color:var(--muted)}.host-login .character-pair{max-width:400px}.host-login .panel p{font-size:.9rem}.account-panel{display:grid;gap:14px}.google-button{min-height:44px;margin:14px 0}.account-ready{margin-top:20px}.dev-login{font-size:.8rem;border-top:1px solid var(--cream-shade);padding-top:15px}.dev-login form{margin-top:16px}.setup-page{max-width:1240px;margin:40px auto 70px;padding:0 38px}.setup-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.setup-heading>div:first-child>p:last-child{color:var(--muted)}.setup-heading .character-pair{width:280px}.setup-heading .character-pair img{max-height:220px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.scenario-card{padding:0;text-align:left;overflow:hidden;transition:transform .16s,border-color .16s}.scenario-card.selected{border:2px solid var(--forest);box-shadow:0 5px 0 var(--forest),0 14px 35px var(--shadow)}.scenario-card:hover{transform:translateY(-3px)}.scenario-art{height:150px;position:relative;overflow:hidden;background:var(--mint)}.scenario-art>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.scenario-art>span{position:absolute;left:16px;bottom:14px;background:var(--cream);padding:6px 10px;border-radius:8px;font-size:.75rem;font-weight:900;letter-spacing:.05em}.scenario-content{padding:24px}.scenario-content small{color:var(--leaf);font-size:.75rem;letter-spacing:.05em}.scenario-content h2{margin:10px 0}.scenario-content p{font-family:Nunito Sans;font-size:.82rem;color:var(--muted);line-height:1.6}.select-scenario{font-size:.8rem;display:block;margin-top:24px;font-weight:800}.setup-action{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--cream-shade);gap:20px}.setup-action p{font-size:.85rem}.recent-rooms{margin:34px 0}.recent-room{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:20px;border-bottom:1px solid var(--cream-shade);text-decoration:none;font-size:.85rem}.recent-room small{display:block;color:var(--muted);margin-top:5px}.loading{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading img{height:70px;width:70px;animation:breathe 1.6s ease-in-out infinite}.loading p{color:var(--muted)}.empty-state{max-width:600px;margin:60px auto;padding:20px;text-align:center;display:grid;justify-items:center;gap:20px}.empty-state>img{height:90px}.host-app{min-height:100vh;display:flex;flex-direction:column}.presentation{position:relative;isolation:isolate;flex:1;width:100%;max-width:1600px;margin:auto;padding:30px clamp(24px,4.6vw,76px) 36px;min-height:calc(100vh - 192px)}.world-backdrop{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.045;pointer-events:none}.host-toolbar{position:sticky;bottom:0;z-index:3;background:var(--cream);border-top:1px solid var(--cream-shade);padding:18px clamp(24px,4.6vw,76px) 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.toolbar-progress{display:flex;gap:20px;align-items:center;font-size:.8rem;font-weight:700}.toolbar-actions{display:flex;gap:24px;align-items:center}.round-progress{display:flex;gap:7px}.round-progress span{height:26px;width:26px;border-radius:50%;border:1px solid var(--cream-shade);background:var(--cream);display:grid;place-items:center;color:var(--muted);font-size:.75rem;font-weight:850}.round-progress span.current{background:var(--mint);border-color:var(--forest);color:var(--forest)}.round-progress span.done{background:var(--forest);color:var(--cream);border-color:var(--forest)}.lobby-stage{display:grid;grid-template-columns:1fr 320px;gap:24px 50px;max-width:1200px;margin:auto;align-items:center}.lobby-intro h1{font-size:clamp(2.4rem,4vw,3.8rem)}.lobby-intro>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.lobby-intro .character-pair{position:absolute;width:250px;left:31%;top:160px;z-index:-1;opacity:.95}.lobby-entry{display:grid;justify-items:center;padding:26px;gap:10px;background:var(--white)}.lobby-entry svg{max-width:100%;height:auto}.lobby-entry .eyebrow{margin:6px 0 0}.big-code{font-family:Nunito;font-size:3.5rem;letter-spacing:.12em;color:var(--forest-dark);line-height:1.1}.lobby-entry .text-button{font-size:.78rem}.lobby-participants{grid-column:1/-1;min-height:130px;padding-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-heading h2{font-size:1.25rem}.section-heading h2 span{background:var(--mint);font-size:.85rem;padding:3px 9px;border-radius:20px;margin-left:10px}.section-heading>p{font-size:.8rem;color:var(--muted);margin:0}.section-heading>span{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.name-chips{display:flex;flex-wrap:wrap;gap:12px;max-height:240px;overflow:auto;padding:2px 0 8px}.name-chip{background:var(--cream);border:1px solid var(--cream-shade);box-shadow:0 3px 0 var(--cream-shade);border-radius:12px;padding:8px 10px 8px 8px;display:flex;gap:10px;align-items:center;font-size:.85rem}.name-chip button{border:0;background:none;font-size:1.2rem;color:var(--muted);min-width:24px;min-height:28px}.avatar{width:28px;height:28px;display:grid;place-items:center;background:var(--mint);border-radius:8px;font-size:.8rem;font-weight:800}.avatar-1{background:var(--paper)}.avatar-2{background:var(--cream-shade)}.avatar-3{background:var(--success-tint)}.intro-stage{text-align:center;max-width:1150px;margin:12px auto}.intro-stage h1{font-size:clamp(2rem,3.8vw,3.5rem)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.lens{display:flex;align-items:center;gap:18px;text-align:left;background:var(--cream);border:1px solid var(--cream-shade);border-radius:22px;padding:20px;box-shadow:0 4px 0 var(--cream-shade)}.lens>img{width:100px;height:145px;flex-shrink:0;object-position:bottom}.lens .eyebrow{font-size:.75rem;margin-bottom:9px}.lens>div>p:last-child{font-size:1rem;margin:0;line-height:1.6}.lesson-rules{display:flex;justify-content:center;gap:35px;margin:28px 0;font-size:.9rem}.lesson-rules b{font-family:Nunito;color:var(--leaf);padding-right:10px}.simulation-label{font-size:.75rem;color:var(--muted);text-align:center;margin:26px 0}.story-stage{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center;max-width:1300px;margin:auto}.newspaper{border-radius:5px;border:2px solid var(--frame);padding:25px 30px;background:var(--cream)}.newspaper-masthead{text-align:center;font-family:Nunito;font-weight:950;font-size:1.75rem;letter-spacing:.04em;border-bottom:4px double var(--frame);padding-bottom:12px;color:var(--forest-dark)}.paper-meta{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.08em;padding:10px 0 16px;border-bottom:1px solid var(--divider)}.newspaper h1{font-size:clamp(2rem,3vw,3.1rem);margin:18px 0}.news-body{font-size:1.1rem;line-height:1.7}.discussion{border-top:1px solid var(--divider);padding-top:16px;margin-top:20px;font-size:.9rem}.discussion>b{color:var(--leaf);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.discussion p{margin:8px 0 0}.story-lenses{display:grid;gap:24px}.story-lenses .lens>img{height:155px;width:105px}.story-lenses .lens{padding:24px}.slide-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:4px 0 25px}.slide-heading h1{font-size:clamp(2rem,3.6vw,3.25rem)}.slide-heading p:not(.eyebrow){margin-bottom:0;color:var(--muted);font-size:.95rem}.ready-stat{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.ready-stat>strong{font-family:Nunito;font-size:3.5rem;line-height:1;color:var(--forest)}.ready-stat small{font-size:1.5rem;color:var(--muted)}.ready-stat>span{font-size:.75rem;margin-top:8px;color:var(--muted)}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.market-tile{background:var(--cream);border:1px solid var(--cream-shade);border-radius:14px;box-shadow:0 3px 0 var(--cream-shade);padding:14px;display:flex;align-items:center;gap:12px;min-width:0}.market-tile>img{width:38px;height:38px;flex-shrink:0}.market-tile>div{min-width:0}.market-tile strong{font-size:.8rem;display:block}.market-tile small{font-size:.75rem;color:var(--muted);display:block;margin-top:5px}.market-price{margin-left:auto;text-align:right;flex-shrink:0}.market-price b{font-size:.82rem;display:block}.market-price>span{font-size:.75rem;display:block;margin-top:4px}.slide-footnote{font-size:.75rem;color:var(--muted);text-align:center;margin-top:22px}.closing-stage{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0}.closing-stage>img{width:80px;height:80px}.closing-stage>.eyebrow{margin-top:20px}.closing-stage>h1{font-size:clamp(2rem,4vw,3.5rem)}.closing-count{font-family:Nunito;font-weight:950;font-size:4rem;color:var(--forest);background:var(--mint);width:100px;height:100px;display:grid;place-items:center;border-radius:50%;margin:14px}.closing-stage>p{margin:12px}.outcome-character{height:100px;max-width:100px}.outcome-copy{padding:22px 28px;margin-bottom:24px}.outcome-copy>p{margin:0 0 10px;font-size:1.05rem}.outcome-copy>strong{font-size:.85rem;color:var(--leaf)}.leaderboard-stage,.completed-stage{display:grid;grid-template-columns:.9fr 1.2fr;gap:60px;align-items:center;max-width:1250px;margin:20px auto}.leaderboard-stage h1,.completed-stage h1{font-size:clamp(2rem,3.7vw,3.6rem)}.leaderboard-stage>div>p:not(.eyebrow),.completed-stage>div>p:not(.eyebrow){font-size:.95rem;color:var(--muted)}.leaderboard-trophy{width:180px;height:160px;margin-top:10px}.leaderboard{display:grid;gap:12px}.standing{display:flex;align-items:center;gap:14px;min-height:62px;padding:10px 14px;background:var(--white);border:1px solid var(--cream-shade);border-radius:13px}.standing.is-self{background:var(--success-tint);border-color:var(--leaf)}.rank{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;font-family:Nunito;font-size:1.15rem;font-weight:900}.rank>img{height:36px}.standing-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:1rem}.standing-name small{display:block;font-size:.75rem;color:var(--leaf)}.standing>strong{min-width:65px;text-align:right;font-size:.95rem}.standing-value{font-size:.8rem;white-space:nowrap}.leaderboard-note{font-size:.75rem;color:var(--muted);margin:20px 0 0}.completed-stage .character-pair{max-width:340px;margin:20px 0}.completed-stage .character-pair>img{height:190px}.completed-stage .panel>h2{margin-bottom:20px}.modal{padding:26px;border:2px solid var(--forest);background:var(--cream);color:var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--forest-dark),0 20px 80px #173a284d;width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 36px);overflow:auto}.modal::backdrop{background:#173a2899;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-heading h2{font-size:1.4rem}.modal p{font-size:.9rem}.modal label{margin-top:20px}.modal-actions{display:flex;justify-content:flex-end;gap:16px;margin:26px 0 5px}.modal-actions .button{flex:1}.student-main{max-width:1000px;margin:30px auto 60px;padding:0 24px}.student-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.student-heading h1{font-size:2.2rem}.student-heading .eyebrow{font-size:.75rem;margin-bottom:9px}.portfolio-summary{background:var(--forest);color:var(--cream);border:2px solid var(--forest-dark);box-shadow:0 5px 0 var(--forest-dark);border-radius:20px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.portfolio-summary>div{display:flex;align-items:center;gap:14px}.portfolio-summary img{width:46px;height:46px}.portfolio-summary span{font-size:.75rem;color:var(--paper)}.portfolio-summary strong{display:block;font-size:1.35rem;color:var(--cream);margin-top:7px;font-family:Nunito;letter-spacing:-.02em}.portfolio-summary .personal-return{flex-direction:column;align-items:flex-end;gap:5px}.personal-return .negative{color:var(--danger-tint)}.personal-return .positive{color:var(--mint)}.personal-return small{font-size:.75rem}.student-story{padding:0;margin-bottom:24px;overflow:hidden}.student-story>summary{display:flex;align-items:center;justify-content:space-between;padding:22px;cursor:pointer;gap:15px;list-style:none}.student-story>summary small{display:block;font-size:.75rem;color:var(--leaf);letter-spacing:.1em;margin-bottom:5px}.student-story>summary strong{font-size:1.05rem;font-family:Nunito}.student-news{padding:0 22px;margin-top:0;font-size:.9rem}.student-lenses{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 20px 22px}.student-lenses .lens{box-shadow:none;background:var(--white);padding:14px;gap:10px;align-items:flex-start}.student-lenses .lens>img{width:55px;height:100px}.student-lenses .lens .eyebrow{font-size:.75rem}.student-lenses .lens>div>p:last-child{font-size:.75rem}.student-story>.discussion{padding:18px 22px;margin:0;background:var(--paper)}.student-story>.discussion strong{display:block;margin-top:14px;font-size:.8rem}.student-tabs{display:flex;border-bottom:1px solid var(--cream-shade);gap:30px;margin:28px 0 22px}.student-tabs>button{background:none;border:0;color:var(--muted);font-size:1rem;font-weight:800;min-height:48px;padding:10px 3px;border-bottom:3px solid transparent}.student-tabs>button[aria-selected=true]{border-bottom-color:var(--forest);color:var(--forest)}.stock-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stock-card{display:grid;grid-template-columns:1fr auto;gap:14px;background:var(--cream);border:1px solid var(--cream-shade);border-radius:18px;padding:20px;box-shadow:0 3px 0 var(--cream-shade)}.stock-card.in-basket{border-color:var(--leaf)}.stock-identity{display:flex;align-items:center;gap:12px;min-width:0}.stock-identity>img{width:43px;height:43px;flex-shrink:0}.stock-identity h3{font-size:.95rem;line-height:1.3}.stock-identity span{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:5px}.stock-identity i{height:3px;width:3px;border-radius:50%;background:var(--muted)}.stock-values{text-align:right}.stock-values>strong{font-size:.9rem;display:block}.stock-values>span{font-size:.75rem;display:block;margin:5px 0}.stock-values>small{display:block;font-size:.75rem;color:var(--muted)}.stock-actions{display:flex;justify-content:flex-end;gap:12px;grid-column:1/-1}.stock-actions .button{min-height:36px;font-size:.8rem;padding:6px 26px;border-radius:10px}.basket-tag{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.75rem;background:var(--success-tint);border-radius:8px;align-items:center;padding:7px 10px}.basket-tag>button{background:none;border:0;color:var(--forest);font-size:1.2rem;min-width:32px;min-height:32px}.basket-panel{margin:26px 0;padding:24px}.basket-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.basket-heading>img{width:48px;height:48px}.basket-heading h2{font-size:1.3rem}.basket-heading p{font-size:.75rem;color:var(--muted);margin:5px 0}.basket-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;font-size:.85rem;border-top:1px solid var(--cream-shade)}.basket-total{display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-size:.9rem;border-top:1px solid var(--divider)}.basket-panel>.button{width:100%;margin:10px 0}.basket-explanation{font-size:.75rem;color:var(--muted);margin-bottom:0}.trade-preview{display:flex;justify-content:space-between;gap:20px;background:var(--paper);padding:16px;border-radius:12px;margin:20px 0;font-size:.85rem}.receipt-history{font-size:.85rem;margin:28px 0}.receipt-history summary,details>summary{cursor:pointer;min-height:44px;padding:10px 0}.receipt{padding:16px 0;border-bottom:1px solid var(--cream-shade)}.receipt p{font-size:.8rem;margin:7px 0}.receipt small{color:var(--muted)}.personal-portfolio{padding:24px}.personal-portfolio h2{font-size:1.3rem;margin-bottom:16px}.holding{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--cream-shade)}.holding img{width:42px;height:42px}.holding>span{flex:1;font-size:.85rem}.holding small{display:block;margin-top:5px;font-size:.75rem;color:var(--muted)}.holding>b{font-size:.9rem}.holding.cash{border-bottom:0}.empty-portfolio{text-align:center;padding:30px}.empty-portfolio>img{width:90px}.empty-portfolio>p{font-size:.85rem;color:var(--muted)}.student-leaderboard{margin-top:28px}.student-leaderboard h2{margin-bottom:20px}.student-leaderboard>p{font-size:.8rem}.student-waiting{max-width:600px;margin:50px auto;padding:0 24px;text-align:center}.student-waiting h1{font-size:2.8rem}.student-waiting>p:not(.eyebrow){color:var(--muted)}.student-waiting .character-pair{max-width:360px;margin:25px auto}.student-waiting .character-pair img{max-height:250px}.waiting-info{font-size:.9rem;padding:24px}.waiting-info p{font-size:.8rem;color:var(--muted);margin-bottom:0}.waiting-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--leaf);margin-right:8px;animation:breathe 1.6s ease-in-out infinite}.student-completed,.history-page{max-width:760px;margin:40px auto 60px;padding:0 24px}.completed-welcome{text-align:center;max-width:540px;margin:0 auto 30px}.completed-welcome h1{font-size:2.8rem}.completed-welcome .character-pair{max-width:300px;margin:20px auto}.completed-welcome .character-pair>img{height:190px}.completed-welcome>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.report-view{margin:30px 0}.report-stats{display:grid;grid-template-columns:1.4fr 1fr .6fr;gap:15px;padding:18px 0;border-top:1px solid var(--cream-shade);border-bottom:1px solid var(--cream-shade)}.report-stats>span{font-size:.75rem;color:var(--muted)}.report-stats strong{display:block;font-family:Nunito;font-size:1.5rem;line-height:1.3;margin-top:8px;color:var(--forest)}.report-stats .negative{color:var(--danger)}.report-view>.muted{font-size:.75rem}.report-view details{font-size:.8rem}.equity-history{list-style:none;padding:0}.equity-history li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--cream-shade);font-size:.8rem}.reflection-prompts{display:flex;gap:20px;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid var(--cream-shade)}.reflection-prompts>img{width:100px;height:150px}.reflection-prompts .eyebrow{font-size:.75rem}.reflection-prompts p:not(.eyebrow){font-size:.8rem;line-height:1.5}.save-report{text-align:center;margin-top:35px}.save-report>img{width:60px;height:60px}.save-report>p{font-size:.85rem;color:var(--muted)}.save-report>small{display:block;font-size:.75rem;color:var(--muted);margin:22px 0 0}.history-page>h1{margin-bottom:26px}@keyframes breathe{50%{opacity:.5;transform:translateY(-3px)}}@media(min-width:1600px){.presentation{padding-top:45px}.intro-stage{margin-top:40px}.story-stage,.lobby-stage{margin-top:20px}.lobby-intro .character-pair{top:180px}.market-grid{gap:18px}.market-tile{padding:20px}}@media(max-width:1100px){.join-layout{gap:45px;padding:45px 40px}.welcome h2{font-size:3.2rem}.market-grid{grid-template-columns:repeat(3,1fr)}.market-tile{display:grid;grid-template-columns:32px 1fr;padding:12px;gap:8px}.market-tile>img{width:32px;height:32px}.market-price{grid-column:2;text-align:left;margin:0;display:flex;gap:8px;align-items:center}.market-price>span{margin:0}.story-stage{gap:24px}.story-lenses .lens{padding:16px}.story-lenses .lens>img{width:75px;height:125px}.story-lenses .lens>div>p:last-child{font-size:.9rem}.leaderboard-stage,.completed-stage{gap:30px}.standing{gap:10px;padding:10px}.standing-value{font-size:.75rem}.lobby-intro .character-pair{left:28%;width:220px;top:180px}}@media(max-width:800px){.site-header{height:76px;padding:15px 24px}.brand img{width:90px;height:36px}.brand>span{font-size:.9rem;padding-left:12px}.brand{gap:12px}.header-note{display:none}.site-header nav{gap:15px}.nav-link{font-size:.75rem}.site-footer{flex-wrap:wrap;justify-content:center;gap:8px;padding:20px}.site-footer p{order:3;width:100%;text-align:center;margin:4px 0}.site-footer>span:last-child{display:none}.join-layout{gap:30px;padding:32px 28px}.welcome h2{font-size:2.6rem}.hero-description{font-size:.85rem}.welcome-world .character-pair img{height:220px}.welcome-world{min-height:265px}.floating-stock{display:none}.character-caption{font-size:.9rem}.character-caption span{font-size:.75rem}.join-card{padding:25px}.join-card h1{font-size:1.65rem}.join-card>p{font-size:.8rem}.how-it-works{gap:6px;font-size:.75rem}.how-it-works span{gap:4px}.host-login{gap:30px;margin:40px 0}.host-login h1{font-size:2.7rem}.scenario-grid{gap:14px}.scenario-content{padding:18px}.scenario-content h2{font-size:1.3rem}.scenario-content p{font-size:.75rem}.setup-page{padding:0 24px}.setup-heading .character-pair{width:230px}.host-toolbar{padding:14px 24px 20px;gap:15px}.toolbar-progress{flex-direction:column;align-items:flex-start;gap:8px;font-size:.75rem}.toolbar-actions{gap:14px}.toolbar-actions .text-button{font-size:.75rem}.toolbar-actions .button{padding:12px 16px;font-size:.85rem}.presentation{padding:24px;min-height:calc(100vh - 182px)}.lobby-stage{grid-template-columns:1fr 250px;gap:22px}.lobby-intro .character-pair{position:relative;width:200px;left:auto;top:auto}.lobby-intro .character-pair img{height:150px}.lobby-intro h1{font-size:2.5rem}.lobby-intro>p:not(.eyebrow){font-size:.85rem}.big-code{font-size:2.7rem}.lobby-entry{padding:18px}.story-stage{grid-template-columns:1fr}.story-lenses{grid-template-columns:1fr 1fr;gap:16px}.newspaper h1{font-size:2.2rem}.news-body{font-size:1rem}.story-lenses .lens{flex-direction:column;align-items:center}.story-lenses .lens>img{height:100px}.intro-columns{gap:18px}.intro-columns .lens{gap:10px;padding:16px}.intro-columns .lens>img{width:70px;height:120px}.intro-columns .lens>div>p:last-child{font-size:.85rem}.lesson-rules{gap:20px;font-size:.75rem}.leaderboard-stage,.completed-stage{grid-template-columns:1fr;margin:0;gap:24px}.leaderboard-stage>div:first-child{display:grid;grid-template-columns:1fr auto;align-items:center}.leaderboard-stage>div:first-child>.eyebrow{grid-column:1}.leaderboard-stage h1{font-size:2.6rem;grid-column:1}.leaderboard-stage>div:first-child>p:not(.eyebrow){grid-column:1;font-size:.85rem}.leaderboard-trophy{grid-row:1/4;grid-column:2;width:120px;height:130px}.completed-stage .character-pair{display:none}.student-heading h1{font-size:1.8rem}.portfolio-summary{padding:20px;gap:15px}.portfolio-summary img{width:35px;height:35px}.portfolio-summary strong{font-size:1.15rem}.student-heading .round-progress{gap:4px}.student-heading .round-progress span{height:20px;width:20px;font-size:.75rem}.stock-card{padding:16px;grid-template-columns:1fr auto}.stock-identity>img{width:33px;height:33px}.stock-identity{gap:8px}.stock-identity h3{font-size:.82rem}.stock-identity span{font-size:.75rem}.stock-values strong{font-size:.8rem}.stock-values small{font-size:.75rem}.stock-actions .button{padding:6px 20px}.student-lenses{grid-template-columns:1fr}.student-lenses .lens>img{width:55px;height:80px}.student-lenses .lens>div>p:last-child{font-size:.8rem}}@media(max-width:600px){.site-header{padding:14px 18px;height:72px}.site-header .connection{font-size:0;gap:0}.connection i{width:8px;height:8px}.room-chip{font-size:.75rem}.room-chip strong{font-size:.95rem;padding-left:5px}.site-header nav{gap:12px}.brand img{width:78px;height:32px}.brand>span{font-size:.82rem;padding-left:10px}.brand{gap:10px}.nav-link{font-size:.75rem}.nav-link span{padding-left:2px}.join-layout{display:flex;flex-direction:column;padding:28px 22px 38px;gap:10px;align-items:stretch}.welcome{text-align:center}.welcome .pill{font-size:.75rem;padding:7px 12px}.welcome h2{font-size:2.6rem;margin-top:16px;line-height:1.1}.hero-description{font-size:.8rem;max-width:340px;margin:16px auto 0;line-height:1.65}.welcome-world{min-height:185px;max-width:320px;margin:8px auto 0}.welcome-world .character-pair{width:245px}.welcome-world .character-pair img{height:170px}.world-orbit{inset:15% 3% 0}.character-caption{bottom:0;font-size:.8rem}.character-caption span{display:none}.porto-caption{left:16%}.bello-caption{right:17%}.join-column{padding-top:10px}.join-card{padding:26px}.join-card h1{font-size:1.7rem}.join-card>p{margin-bottom:22px}.card-overline{font-size:.75rem}.join-card form{gap:17px}.code-input{font-size:1.8rem;min-height:64px}.how-it-works{font-size:.75rem;margin-top:24px;justify-content:center;gap:15px}.how-it-works span{flex-direction:column;gap:3px}.teacher-invite{justify-content:center;margin-top:24px}.host-login{display:flex;flex-direction:column;gap:25px;margin:30px auto 50px;padding:0 22px}.host-login>section{text-align:center}.host-login h1{font-size:2.5rem}.host-login>section>p:not(.eyebrow){font-size:.85rem}.host-login .character-pair{max-width:230px;margin:auto}.host-login .character-pair img{height:150px}.host-login>.panel{width:100%;padding:24px}.setup-page{margin-top:28px;padding:0 22px}.setup-heading{align-items:flex-start}.setup-heading h1{font-size:2.5rem}.setup-heading>div:first-child>p:last-child{font-size:.8rem}.setup-heading .character-pair{display:none}.scenario-grid{grid-template-columns:1fr;gap:24px}.scenario-art{height:140px}.scenario-content{padding:22px}.scenario-content h2{font-size:1.5rem}.scenario-content p{font-size:.82rem}.select-scenario{margin-top:14px}.setup-action{flex-direction:column;align-items:stretch;padding:24px 0}.setup-action p{margin:0}.recent-room{font-size:.75rem;gap:12px}.presentation{padding:20px;min-height:calc(100vh - 196px)}.lobby-stage{grid-template-columns:1fr;text-align:center}.lobby-intro h1{font-size:2.4rem}.lobby-intro .character-pair{display:none}.lobby-entry{max-width:300px;width:100%;margin:auto}.lobby-entry svg{width:135px}.big-code{font-size:3rem}.lobby-participants{text-align:left}.section-heading{gap:10px;flex-wrap:wrap}.section-heading h2{font-size:1.1rem}.section-heading>p{font-size:.75rem}.name-chips{max-height:240px;gap:8px}.name-chip{font-size:.75rem;padding:6px}.avatar{height:24px;width:24px;font-size:.75rem}.host-toolbar{padding:12px 18px 18px;align-items:flex-start;flex-wrap:wrap;gap:12px}.toolbar-progress{flex-direction:row;width:100%;justify-content:space-between;align-items:center}.toolbar-actions{width:100%;justify-content:flex-end;gap:16px}.toolbar-actions>.button{flex:1;max-width:350px;font-size:.85rem}.round-progress{gap:5px}.round-progress span{height:22px;width:22px;font-size:.75rem}.story-lenses{grid-template-columns:1fr}.story-lenses .lens{flex-direction:row}.story-lenses .lens>img{width:65px;height:100px}.story-lenses .lens>div>p:last-child{font-size:.8rem}.newspaper{padding:20px}.newspaper-masthead{font-size:1.4rem}.paper-meta{font-size:.75rem}.newspaper h1{font-size:2rem}.news-body{font-size:.95rem}.intro-stage h1{font-size:2.2rem}.intro-columns{grid-template-columns:1fr;margin:24px 0}.intro-columns .lens>img{width:75px;height:115px}.lesson-rules{flex-direction:column;gap:12px}.slide-heading{align-items:flex-start;gap:12px}.slide-heading h1{font-size:2rem}.slide-heading p:not(.eyebrow){font-size:.8rem}.ready-stat>strong{font-size:2.6rem}.ready-stat small{font-size:1rem}.ready-stat>span{font-size:.75rem;max-width:90px;text-align:right}.market-grid{grid-template-columns:1fr 1fr;gap:10px}.market-tile{padding:10px;grid-template-columns:27px 1fr;gap:7px}.market-tile>img{width:27px;height:27px}.market-tile strong{font-size:.75rem}.market-tile small{font-size:.75rem;line-height:1.4}.market-price{display:block}.market-price b{font-size:.75rem}.market-price>span{font-size:.75rem;margin-top:3px}.slide-footnote{font-size:.75rem}.outcome-character{height:80px;width:65px}.outcome-copy{padding:20px}.outcome-copy>p{font-size:.9rem}.outcome-copy>strong{font-size:.75rem}.leaderboard-stage>div:first-child>p:not(.eyebrow){font-size:.8rem}.leaderboard-stage h1,.completed-stage h1{font-size:2.2rem}.leaderboard-trophy{width:80px;height:90px}.leaderboard-stage>.panel,.completed-stage>.panel{padding:20px}.standing{padding:10px 8px;gap:8px;min-height:58px}.rank{width:28px;height:30px;font-size:.9rem}.rank>img{height:30px}.standing-name{font-size:.85rem}.standing-value{font-size:.75rem}.standing>strong{font-size:.8rem;min-width:48px}.leaderboard-note{font-size:.75rem}.student-main{padding:0 18px;margin-top:24px}.student-heading{display:block}.student-heading h1{font-size:1.9rem}.student-heading .round-progress{margin-top:14px}.portfolio-summary{padding:18px 16px;display:grid;grid-template-columns:1fr 1fr;gap:20px 10px;border-radius:17px}.portfolio-summary>div{gap:10px}.portfolio-summary img{width:31px;height:31px}.portfolio-summary strong{font-size:1.05rem;margin-top:4px}.portfolio-summary span{font-size:.75rem}.portfolio-summary .personal-return{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,247,221,.2);padding-top:12px}.personal-return>span{display:flex;align-items:center;gap:10px}.personal-return strong{font-size:1rem;margin:0}.personal-return small{font-size:.75rem}.student-story>summary{padding:18px}.student-story>summary strong{font-size:1rem}.student-news{padding:0 18px;font-size:.85rem}.student-lenses{padding:0 15px 18px;gap:13px}.student-lenses .lens{padding:12px}.student-tabs{margin-top:23px;font-size:.9rem;gap:24px}.student-tabs>button{font-size:.9rem}.stock-list{grid-template-columns:1fr;gap:14px}.stock-card{padding:18px}.stock-identity{gap:12px}.stock-identity>img{width:42px;height:42px}.stock-identity h3{font-size:.95rem}.stock-identity span{font-size:.75rem}.stock-values>strong{font-size:.9rem}.stock-values>small{font-size:.75rem}.stock-actions .button{min-height:38px;font-size:.8rem;padding:7px 28px}.basket-panel{padding:20px}.basket-line{font-size:.75rem}.basket-total{font-size:.8rem}.basket-explanation{font-size:.75rem}.holding{gap:10px}.holding>span{font-size:.75rem}.holding>b{font-size:.8rem}.personal-portfolio{padding:20px}.holding small{font-size:.75rem}.empty-portfolio{padding:20px 0}.student-waiting{margin-top:35px;padding:0 22px}.student-waiting h1{font-size:2.2rem}.student-waiting>p:not(.eyebrow){font-size:.9rem}.student-waiting .character-pair{max-width:280px}.student-waiting .character-pair img{max-height:200px}.student-completed,.history-page{padding:0 18px;margin-top:30px}.completed-welcome h1{font-size:2.3rem}.completed-welcome .character-pair{max-width:250px}.completed-welcome .character-pair>img{height:160px}.report-view{padding:20px}.report-stats{grid-template-columns:1.4fr 1fr .6fr;gap:10px}.report-stats>span{font-size:.75rem}.report-stats strong{font-size:1.1rem}.reflection-prompts{gap:14px;align-items:flex-start}.reflection-prompts>img{width:68px;height:110px}.reflection-prompts p:not(.eyebrow){font-size:.75rem}.reflection-prompts .eyebrow{font-size:.75rem}.save-report{padding:24px 20px}.save-report h2{font-size:1.4rem}.modal{padding:22px}.modal-heading h2{font-size:1.25rem}.modal-actions{gap:12px}.modal-actions .button{font-size:.85rem;padding:12px}.equity-history li{font-size:.75rem}}@media(max-width:360px){.brand img{width:67px}.brand>span{font-size:.75rem}.brand{gap:8px}.nav-link{font-size:.75rem}.join-layout{padding:26px 18px}.join-card{padding:24px 20px}.welcome h2{font-size:2.3rem}.stock-identity h3{font-size:.83rem}.stock-identity span{font-size:.75rem}.stock-values>strong{font-size:.8rem}.standing-value{font-size:.75rem}.report-stats strong{font-size:.95rem}.room-chip{font-size:.75rem}.room-chip strong{font-size:.85rem}.site-header nav{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}@media(min-width:601px)and (max-width:800px){.join-layout{display:flex;flex-direction:column;max-width:540px;padding:32px 28px;gap:10px}.welcome{text-align:center}.welcome h2{font-size:3rem}.hero-description{margin:18px auto 0;max-width:400px}.welcome-world{max-width:340px;min-height:230px;margin:12px auto 0}.welcome-world .character-pair{width:280px}.welcome-world .character-pair img{height:210px}.porto-caption{left:17%}.bello-caption{right:17%}.join-column{padding-top:15px}.join-card{padding:32px}.join-card h1{font-size:2rem}.how-it-works{font-size:.75rem;gap:15px}.how-it-works span{gap:8px}.teacher-invite{justify-content:center}}.stock-identity span{flex-wrap:wrap;gap:4px}@media(min-width:1101px){.market-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.market-grid.compact .market-tile{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:13px}.market-grid.compact .market-tile>img{width:30px;height:30px}.market-grid.compact .market-price{grid-column:1 / -1;margin-left:0;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left}.market-grid.compact .market-price>span{margin-top:0}}.join-page{min-height:100vh;background:linear-gradient(155deg,var(--success-tint),var(--white))}.join-page .site-header{background:var(--white)}.join-page .join-card{background:var(--white);border-color:var(--mint-shade)}.join-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.join-card-heading>div:first-child{min-width:0}.join-card-heading .card-overline{color:var(--leaf);letter-spacing:.055em}.join-card-heading h1{margin:8px 0 0;font-size:clamp(1.5rem,2.3vw,2rem)}.join-guides{width:112px;flex-shrink:0}.join-guides>img{height:88px}.join-page .welcome h2 em{color:var(--leaf);font-style:normal}@media(max-width:800px){.join-page .join-layout{padding-top:20px;gap:36px}.join-page .join-column{order:0;padding-top:0}.join-page .welcome{order:1;padding-top:20px;border-top:1px solid var(--mint-shade)}.join-page .welcome h2{font-size:2rem}.join-page .hero-description{max-width:340px}}@media(max-width:600px){.join-page .site-header{height:64px}.join-page .join-layout{padding:16px 16px 32px}.join-page .join-card{padding:22px}.join-card-heading{gap:8px;margin-bottom:12px}.join-card-heading h1{font-size:1.6rem;line-height:1.15}.join-card-heading .card-overline{font-size:.75rem;letter-spacing:.03em}.join-guides{width:86px}.join-guides>img{height:72px}.join-page .join-card>p{margin-bottom:18px;font-size:.85rem}.join-page .join-card form{gap:16px}.join-page .code-input{min-height:60px}.join-page .join-note{margin-top:20px;padding-top:16px}.join-page .how-it-works{margin-top:24px}}.teacher-view{min-height:100vh;color:var(--cream);background:radial-gradient(ellipse at top right,var(--leaf),transparent 65%),linear-gradient(155deg,var(--forest),var(--forest-dark))}.teacher-view .site-header,.teacher-view .host-toolbar{background:var(--forest-dark);border-color:var(--leaf);color:var(--cream)}.teacher-view .site-header .brand,.teacher-view .site-header .nav-link,.teacher-view .host-toolbar .text-button,.teacher-view .recent-room{color:var(--cream)}.teacher-view .header-note,.teacher-view .connection,.teacher-view .site-footer,.teacher-view .recent-room small,.teacher-view .setup-heading>div>p:not(.eyebrow),.teacher-view .host-login>section>p:not(.eyebrow),.teacher-view .lobby-intro>p:not(.eyebrow),.teacher-view .lobby-participants .section-heading>p,.teacher-view .lobby-participants .muted,.teacher-view .slide-heading p:not(.eyebrow),.teacher-view .slide-footnote,.teacher-view .ready-stat>span,.teacher-view .closing-stage>.muted,.teacher-view .leaderboard-stage>div:first-child>p:not(.eyebrow),.teacher-view .completed-stage>div:first-child>p:not(.eyebrow),.teacher-view .simulation-label,.teacher-view .loading>p{color:var(--success-tint)}.teacher-view h1,.teacher-view h2{color:var(--cream)}.teacher-view h1 em,.teacher-view .eyebrow{color:var(--mint)}.teacher-view .panel,.teacher-view .modal,.teacher-view .notice,.teacher-view .lens,.teacher-view .market-tile,.teacher-view .name-chip{color:var(--ink)}.teacher-view .panel,.teacher-view .modal{background:var(--white)}.teacher-view .panel h1,.teacher-view .panel h2,.teacher-view .modal h2{color:var(--forest-dark)}.teacher-view .panel .eyebrow,.teacher-view .lens .eyebrow{color:var(--leaf)}.teacher-view .lens{background:var(--success-tint);border-color:var(--mint-shade);box-shadow:0 4px 0 var(--mint-shade)}.teacher-view .scenario-card.selected{border-color:var(--mint);box-shadow:0 5px 0 var(--leaf),0 14px 35px var(--shadow)}.teacher-view .name-chip{background:var(--white)}.teacher-view .world-backdrop{opacity:.12}.teacher-view .ready-stat>strong{color:var(--mint)}.teacher-view .ready-stat small{color:var(--paper)}.teacher-view .round-progress span{background:var(--forest);border-color:var(--leaf);color:var(--cream)}.teacher-view .round-progress span.current{background:var(--mint);color:var(--forest-dark);border-color:var(--mint)}.teacher-view .round-progress span.done{background:var(--leaf);color:var(--cream)}.teacher-view .host-toolbar .button:not(.secondary){background:linear-gradient(180deg,var(--mint),var(--mint-shade));color:var(--forest-dark)}.teacher-view .connection.connected i{background:var(--mint)}.teacher-view .recent-room,.teacher-view .setup-action,.teacher-view .site-footer{border-color:var(--leaf)}.teacher-view .setup-page>.account-ready>.text-button{color:var(--cream)}.teacher-view .lobby-participants .section-heading h2 span{color:var(--forest-dark)}.teacher-view .market-tile{background:var(--white);border-color:var(--mint-shade)}.teacher-view .standing{background:var(--success-tint);border-color:var(--mint-shade)}@media(max-width:360px){.join-page .site-header{padding-inline:14px;gap:10px}.join-page .site-header .nav-link{white-space:nowrap}}.teacher-view .empty-state>a:not(.button){color:var(--cream)}.header-utility{margin-right:auto;margin-left:12px;flex-shrink:0}.session-end-button{font-family:Nunito,sans-serif;font-weight:750;font-size:.8rem;color:var(--cream);background:var(--forest);border:1px solid var(--leaf);border-radius:12px;padding:8px 13px;min-height:40px;box-shadow:0 3px 0 var(--forest-dark)}.session-end-button:hover:not(:disabled){color:var(--danger-tint);border-color:var(--danger-tint)}.trade-status{scroll-margin-top:20px}.trade-quantity-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px}.trade-quantity-heading label{margin:0}.all-in-button{min-height:42px;padding:8px 20px}.trade-limit{color:var(--muted);font-size:.8rem}.trade-remaining{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.85rem;padding:4px 0 12px}@media(max-width:800px){.site-header.has-utility{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand meta" "utility utility";height:auto;gap:10px 16px}.site-header.has-utility>.brand{grid-area:brand}.site-header.has-utility>nav{grid-area:meta}.site-header.has-utility>.header-utility{grid-area:utility;margin:0;justify-self:start}}.participation-counter{display:flex;align-items:center;gap:12px;color:var(--cream)}.participation-counter strong{font-size:1.65rem;white-space:nowrap}.participation-counter strong span{font-size:1rem;opacity:.8}.participation-counter>span{max-width:150px;font-size:.85rem;line-height:1.35}@media(max-width:800px){.participation-counter{flex:1}}@media(max-width:600px){.join-page .join-card{padding:18px}.join-card-heading{margin-bottom:8px}.join-card-heading h1{font-size:1.45rem}.join-guides{width:70px}.join-guides>img{height:58px}.join-page .join-card>p{margin-bottom:12px}.join-page .join-card form{gap:12px}.join-page .join-card input{min-height:48px;padding-top:10px;padding-bottom:10px}.join-page .code-input{min-height:52px}}.host-app.teacher-view{background:var(--cream);color:var(--ink)}.host-app.teacher-view .presentation{max-width:none;min-height:calc(100vh - 180px);padding:clamp(24px,3vw,64px)}.host-app.teacher-view .world-backdrop{opacity:.035;background-size:cover}.host-app.teacher-view .presentation>section{width:100%;max-width:1800px;margin-left:auto;margin-right:auto}.host-app.teacher-view .lobby-stage{grid-template-columns:minmax(0,1fr) clamp(280px,26vw,440px);gap:clamp(24px,2.5vw,52px);align-content:center;min-height:calc(100vh - 300px);margin-top:0}.host-app.teacher-view .lobby-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);align-items:center;column-gap:24px;padding:clamp(28px,3vw,64px);background:var(--white)}.host-app.teacher-view .lobby-intro .eyebrow,.host-app.teacher-view .lobby-intro h1,.host-app.teacher-view .lobby-intro>p{grid-column:1}.host-app.teacher-view .lobby-intro h1{font-size:clamp(2rem,3.2vw,4.5rem);line-height:1.12}.host-app.teacher-view .lobby-intro .character-pair{position:static;grid-column:2;grid-row:1/4;width:100%;max-width:320px;z-index:auto;opacity:1;justify-self:center}.host-app.teacher-view .lobby-intro .character-pair img{height:auto;width:50%;min-width:0}.host-app.teacher-view .lobby-intro>p:not(.eyebrow){color:var(--muted);font-size:clamp(1rem,1.1vw,1.35rem)}.host-app.teacher-view .lobby-entry{padding:clamp(24px,2.4vw,48px);background:var(--cream)}.host-app.teacher-view .lobby-entry svg{width:clamp(160px,12vw,260px)}.host-app.teacher-view .lobby-entry .big-code{font-size:clamp(2.5rem,3.6vw,5rem)}.host-app.teacher-view .lobby-participants{padding:clamp(24px,2.5vw,48px);min-height:180px;background:var(--white)}.host-app.teacher-view .presentation h1,.host-app.teacher-view .presentation h2{color:var(--forest-dark)}.host-app.teacher-view .presentation .eyebrow,.host-app.teacher-view .presentation h1 em{color:var(--leaf)}.host-app.teacher-view .lobby-participants .section-heading>p,.host-app.teacher-view .lobby-participants .muted,.host-app.teacher-view .simulation-label,.host-app.teacher-view .closing-stage>.muted,.host-app.teacher-view .leaderboard-stage>div:first-child>p:not(.eyebrow),.host-app.teacher-view .completed-stage>div:first-child>p:not(.eyebrow){color:var(--muted)}.host-app.teacher-view .lens{background:var(--cream);border-color:var(--cream-shade);box-shadow:0 4px 0 var(--cream-shade)}.host-app.teacher-view .intro-stage,.host-app.teacher-view .closing-stage{padding:clamp(24px,3vw,56px);background:var(--white);border:1px solid var(--cream-shade);border-radius:28px}@media(max-width:1100px){.host-app.teacher-view .lobby-intro{grid-template-columns:1fr;padding:28px}.host-app.teacher-view .lobby-intro .character-pair{grid-column:1;grid-row:auto;max-width:200px}.host-app.teacher-view .lobby-intro h1{font-size:2.3rem}}@media(max-width:700px){.host-app.teacher-view .presentation{padding:20px}.host-app.teacher-view .lobby-stage{grid-template-columns:1fr;min-height:0;gap:24px}.host-app.teacher-view .lobby-intro .character-pair{display:flex;max-width:160px}.host-app.teacher-view .lobby-entry{max-width:none}}.host-app.teacher-view .presentation{display:flex;flex-direction:column;justify-content:center;min-height:0}.host-app.teacher-view .lobby-stage{min-height:0}@media(min-width:1101px){.host-app.teacher-view .presentation{padding:clamp(24px,2vw,48px)}.host-app.teacher-view .presentation>.story-stage{max-width:none;flex:1;min-height:calc(100svh - 270px);margin:0;align-items:stretch;grid-template-columns:1.15fr 1fr;gap:clamp(24px,2vw,48px)}.host-app.teacher-view .newspaper{display:flex;flex-direction:column;padding:clamp(24px,2vw,48px)}.host-app.teacher-view .newspaper-masthead{font-size:clamp(24px,1.8vw,46px)}.host-app.teacher-view .paper-meta{font-size:clamp(11px,.7vw,18px);letter-spacing:.03em;gap:16px}.host-app.teacher-view .newspaper h1{font-size:clamp(34px,2.7vw,72px);line-height:1.12;margin:clamp(20px,2vw,44px) 0}.host-app.teacher-view .news-body{font-size:clamp(18px,1.4vw,36px);line-height:1.5;margin-bottom:24px}.host-app.teacher-view .newspaper .discussion{margin-top:auto;padding-top:clamp(20px,2vw,40px)}.host-app.teacher-view .discussion>b,.host-app.teacher-view .story-lenses .lens .eyebrow{font-size:clamp(13px,.9vw,23px)}.host-app.teacher-view .discussion p{font-size:clamp(17px,1.2vw,31px);line-height:1.5}.host-app.teacher-view .story-lenses{grid-template-rows:1fr 1fr;gap:clamp(24px,2vw,48px)}.host-app.teacher-view .story-lenses .lens{padding:clamp(24px,2vw,48px);gap:clamp(16px,1.5vw,36px);align-items:center}.host-app.teacher-view .story-lenses .lens>img{width:clamp(100px,9vw,230px);height:clamp(150px,13vw,330px)}.host-app.teacher-view .story-lenses .lens>div>p:last-child{font-size:clamp(18px,1.35vw,35px);line-height:1.5}}.student-app .student-main{margin-top:16px}.student-app .student-heading{margin-bottom:14px}.student-app .student-heading h1{font-size:clamp(1.25rem,3vw,1.75rem)}.student-app .student-heading .eyebrow{margin-bottom:4px}.student-app .portfolio-summary{padding:14px 16px;gap:12px;margin-bottom:16px;border-radius:14px;box-shadow:0 3px 0 var(--forest-dark)}.student-app .portfolio-summary img{width:28px;height:28px}.student-app .portfolio-summary strong{margin-top:2px;font-size:1.1rem}.student-app .student-tabs{margin-bottom:10px}.stock-risk-note{font-size:.75rem;color:var(--muted);margin:0 0 10px}.student-app .stock-list{gap:8px}.student-app .stock-card{padding:12px;gap:6px 10px;border-radius:12px;box-shadow:0 2px 0 var(--cream-shade)}.student-app .stock-identity{grid-row:1/3;gap:8px}.student-app .stock-identity>img{width:30px;height:30px}.student-app .stock-identity h3{font-size:.875rem}.student-app .stock-identity span{font-size:.75rem;margin-top:3px}.student-app .stock-values{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.student-app .stock-values>strong{font-size:.875rem}.student-app .stock-values>span{margin:0;font-size:.75rem}.student-app .stock-actions{grid-column:2;gap:8px}.student-app .stock-actions .button{min-height:44px;padding:7px 16px;font-size:.8rem}.student-app .trade-status .notice{padding:10px 12px;margin-bottom:10px;font-size:.8rem}@media(max-width:600px){.student-app .student-main{padding:0 12px;margin-top:12px}.student-app .student-heading{display:flex;align-items:center;gap:8px}.student-app .student-heading .round-progress{display:none}.student-app .portfolio-summary{gap:10px;padding:12px}.student-app .portfolio-summary img{display:none}.student-app .portfolio-summary .personal-return{padding-top:8px}.student-app .stock-values{gap:5px}.student-app .stock-actions .button{padding:6px 12px}}@media(min-width:1101px){.host-app.teacher-view .presentation>section:not(.story-stage){max-width:none;margin-top:0;margin-bottom:0}.host-app.teacher-view .presentation .eyebrow{font-size:clamp(14px,1vw,24px)}.host-app.teacher-view .slide-heading h1,.host-app.teacher-view .intro-stage h1,.host-app.teacher-view .closing-stage h1,.host-app.teacher-view .leaderboard-stage h1,.host-app.teacher-view .completed-stage h1{font-size:clamp(36px,3.4vw,82px);line-height:1.12}.host-app.teacher-view .outcome-stage{display:flex;flex-direction:column;gap:clamp(16px,1.4vw,32px);min-height:calc(100svh - 270px)}.host-app.teacher-view .slide-heading{margin:0}.host-app.teacher-view .outcome-copy{padding:clamp(18px,1.5vw,36px);margin:0}.host-app.teacher-view .outcome-copy>p{font-size:clamp(19px,1.4vw,34px);line-height:1.45}.host-app.teacher-view .outcome-copy>strong{font-size:clamp(16px,1.1vw,27px);line-height:1.4}.host-app.teacher-view .outcome-character{height:clamp(80px,7vw,170px);max-width:170px}.host-app.teacher-view .market-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1vw,24px);flex:1}.host-app.teacher-view .market-tile{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:10px;padding:clamp(12px,1.1vw,26px);min-height:clamp(100px,8vw,190px)}.host-app.teacher-view .market-tile>img{width:clamp(32px,2.6vw,62px);height:clamp(32px,2.6vw,62px)}.host-app.teacher-view .market-tile strong{font-size:clamp(15px,1.15vw,27px);line-height:1.2}.host-app.teacher-view .market-tile small{font-size:clamp(12px,.8vw,19px)}.host-app.teacher-view .market-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:0;text-align:left}.host-app.teacher-view .market-price b{font-size:clamp(18px,1.4vw,34px)}.host-app.teacher-view .market-price>span{font-size:clamp(16px,1.2vw,28px);margin:0}.host-app.teacher-view .intro-columns .lens{padding:clamp(24px,2vw,48px)}.host-app.teacher-view .intro-columns .lens>img{width:clamp(100px,9vw,210px);height:clamp(145px,13vw,310px)}.host-app.teacher-view .intro-columns .lens>div>p:last-child,.host-app.teacher-view .closing-stage>p,.host-app.teacher-view .leaderboard-stage>div>p:not(.eyebrow),.host-app.teacher-view .completed-stage>div>p:not(.eyebrow){font-size:clamp(20px,1.5vw,36px);line-height:1.5}.host-app.teacher-view .lesson-rules{font-size:clamp(18px,1.2vw,29px)}.host-app.teacher-view .simulation-label{font-size:clamp(15px,1vw,24px)}.host-app.teacher-view .closing-count{width:clamp(100px,9vw,220px);height:clamp(100px,9vw,220px);font-size:clamp(64px,6vw,144px)}.host-app.teacher-view .leaderboard-stage,.host-app.teacher-view .completed-stage{min-height:calc(100svh - 270px);gap:clamp(32px,4vw,90px)}.host-app.teacher-view .leaderboard-stage .panel,.host-app.teacher-view .completed-stage .panel{padding:clamp(24px,2vw,48px)}.host-app.teacher-view .section-heading h2,.host-app.teacher-view .completed-stage .panel>h2{font-size:clamp(24px,1.8vw,43px)}.host-app.teacher-view .standing{min-height:clamp(64px,5.5vw,130px);padding:clamp(12px,1vw,24px);gap:clamp(14px,1.2vw,28px)}.host-app.teacher-view .standing-name{font-size:clamp(20px,1.6vw,38px)}.host-app.teacher-view .standing-value,.host-app.teacher-view .standing>strong{font-size:clamp(19px,1.5vw,36px)}.host-app.teacher-view .standing-name small,.host-app.teacher-view .leaderboard-note{font-size:clamp(15px,1vw,24px)}.host-app.teacher-view .rank,.host-app.teacher-view .rank>img{width:clamp(36px,3vw,72px);height:clamp(36px,3vw,72px);font-size:clamp(24px,2vw,48px)}.host-app.teacher-view .lobby-participants .name-chip{font-size:clamp(17px,1.2vw,29px);padding:14px}.host-app.teacher-view .lobby-participants .muted,.host-app.teacher-view .lobby-participants .section-heading>p{font-size:clamp(17px,1.2vw,29px)}}.student-app .stock-actions .button{height:32px;min-height:32px;min-width:64px;padding:4px 16px;border-radius:6px;border-width:1.5px;line-height:1;box-shadow:0 2px 0 var(--forest-dark)}.student-app .stock-actions .button.secondary{box-shadow:0 2px 0 var(--cream-shade)}.student-app .stock-actions .button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 var(--forest-dark)}
