:root{--green: #0f5c43;--green-2: #137150;--cream: #fdf5d3;--cream-2: #f8eab0;--coral: #f2502f;--coral-dark: #c73a1c;--yellow: #ffe14d;--mint: #9fdccf;--navy: #1f1b5c;--bg: var(--cream);--card: #ffffff;--card2: #fffaea;--ink: var(--navy);--text: #3a3956;--muted: #6d6c86;--line: #efe2ae;--primary: var(--coral);--primary-ink: #ffffff;--primary-dark: var(--coral-dark);--accent: #f59e4b;--purple: #5b4bd6;--good: #16924a;--good-bg: #dcf7e5;--bad: #d92d20;--bad-bg: #fde4e1;--warn-bg: #fff2bf;--shadow: 0 8px 26px rgba(31, 27, 92, .09);--radius: 22px;--font-display: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "Barlow Condensed", "Outfit", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.55;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.12;margin:0 0 .4em;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.8rem,4vw,2.6rem)}h2{font-size:clamp(1.3rem,3vw,1.7rem)}h3{font-size:1.15rem}.display{font-size:clamp(2rem,4.6vw,3rem);font-weight:700}p{margin:0 0 .6em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.squiggle{background-repeat:repeat-x;background-position:0 100%;background-size:20px 8px;padding-bottom:.14em;white-space:nowrap}.squiggle-navy{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='8' viewBox='0 0 20 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4' fill='none' stroke='%231f1b5c' stroke-width='2.4'/%3E%3C/svg%3E")}.squiggle-yellow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='8' viewBox='0 0 20 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4' fill='none' stroke='%23ffe14d' stroke-width='2.4'/%3E%3C/svg%3E")}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.row{display:flex;align-items:center}.row.center{justify-content:center}.gap{gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin:0 0 2px}.link{color:var(--coral);font-weight:700;background:none;border:0;cursor:pointer;padding:0}.section-title{margin-top:36px}.doodle{pointer-events:none}.app{min-height:100vh;padding-bottom:84px}.topbar{position:sticky;top:0;z-index:20;background:var(--green);color:#fff}.topbar-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:12px 16px}.brand{font-family:var(--font-num);font-size:1.7rem;font-weight:700;letter-spacing:.01em;color:#fff}.topnav{display:flex;gap:26px;margin:0 auto}.topnav a{position:relative;font-size:.95rem;font-weight:500;opacity:.85;padding:4px 0}.topnav a:hover,.topnav a.active{opacity:1}.topnav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:2px;background:var(--yellow)}.topnav .dot{position:absolute;top:-8px;right:-16px}.topbar-stats{display:flex;align-items:center;gap:8px;margin-left:auto}.topnav+.topbar-stats{margin-left:0}.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:999px;background:#ffffff21;font-weight:700;font-size:.92rem}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:#1f1b5c12;cursor:pointer;color:inherit;flex-shrink:0}.icon-btn:hover{background:#1f1b5c24}.icon-btn.on-dark{background:#ffffff21;color:#fff}.main{max-width:1040px;margin:0 auto;padding:28px 16px 40px}.on-home .main{max-width:none;padding:0}.footer{background:var(--green);color:#fffc;margin-top:40px}.footer-inner{max-width:1140px;margin:0 auto;padding:26px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:none;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px #1f1b5c0f}.tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 10px;border-radius:12px;font-size:.76rem;font-weight:700;color:var(--muted)}.tab .org-icon{transition:transform .2s}.tab.active{color:var(--green);background:var(--cream)}.tab.active .org-icon{transform:scale(1.15) rotate(-6deg)}.dot{position:absolute;top:0;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--coral);color:#fff;font-size:.7rem;display:grid;place-items:center;animation:pop .4s}.app.in-game .tabbar{display:none!important}.app.in-game{padding-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 24px;border-radius:999px;border:2px solid transparent;font-family:var(--font-body);font-weight:700;font-size:.98rem;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s,color .15s;text-align:center}.btn:active:not(:disabled){transform:translateY(2px) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary,.btn.coral{background:var(--coral);color:#fff;box-shadow:0 6px 16px #f2502f4d}.btn.primary:hover:not(:disabled),.btn.coral:hover:not(:disabled){background:#ff5f3d;transform:translateY(-1px)}.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn.ghost:hover:not(:disabled){border-color:var(--coral);color:var(--coral)}.btn.outline{background:transparent;border-color:var(--coral);color:var(--coral)}.btn.outline:hover{background:var(--coral);color:#fff}.btn.outline-light{background:transparent;border-color:#ffffffb3;color:#fff}.btn.outline-light:hover{background:#fff;color:var(--green)}.btn.ok{background:var(--good);color:#fff}.btn.no{background:var(--bad);color:#fff}.btn.danger{color:var(--bad)}.btn.small{min-height:36px;padding:6px 15px;font-size:.88rem}.btn.big{min-height:54px;padding:12px 30px;font-size:1.05rem}.btn.pulse{animation:pulse 1.4s infinite}.btn.pulse-soft{animation:pulse 2.4s infinite}.input{width:100%;min-height:46px;padding:10px 16px;border-radius:14px;border:2px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:1rem}.input:focus{border-color:var(--coral);outline:none}.card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--line);margin-bottom:16px}.card.center{display:flex;flex-direction:column;align-items:center;gap:10px}.chip{display:inline-block;padding:3px 11px;border-radius:999px;background:var(--cream);border:1px solid var(--line);font-size:.76rem;font-weight:700;color:var(--ink)}.chip.ghost{background:transparent}.where-plant{background:#dcf5d0;color:#2f6b12;border-color:#b6e39e}.where-animal{background:#fde2e2;color:#9b1c1c;border-color:#f8bcbc}.where-both{background:#e5e0fb;color:#3b2a98;border-color:#cdc3f6}.label{font-weight:700;margin:14px 0 6px;color:var(--ink)}.mini-tag{display:inline-block;padding:2px 9px;border-radius:999px;background:#ffffffe6;color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mini-tag.hot{background:var(--coral);color:#fff}.icon-circle{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;flex-shrink:0}.icon-circle.green{background:var(--green)}.icon-circle.yellow{background:var(--yellow)}.icon-circle.mint{background:var(--mint)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0a2d21b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .25s}.modal{width:min(460px,100%);max-height:92vh;overflow:auto;background:var(--cream);border-radius:28px;padding:26px;text-align:center;animation:popUp .4s cubic-bezier(.2,1.4,.4,1)}.welcome .input{margin:8px 0;text-align:center}.welcome .btn{margin-top:16px;width:100%}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}.avatar-opt{display:grid;place-items:center;aspect-ratio:1;border-radius:16px;border:2px solid var(--line);background:#fff;cursor:pointer;transition:transform .15s}.avatar-opt:hover{transform:scale(1.08)}.avatar-opt.on{border-color:var(--coral);background:#fff1ec;transform:scale(1.08);box-shadow:0 0 0 3px #f2502f33}.blob-frame{position:relative;border-radius:26px;overflow:hidden;transform:rotate(var(--tilt, 0deg));background:var(--frame-bg);box-shadow:0 16px 40px #0a281e38}.blob-frame-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.blob-frame-bg path{fill:var(--frame-blob)}.blob-frame-art{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:18px}.blob-frame-art .cell-diagram{width:100%}.tone-yellow{--frame-bg: var(--yellow);--frame-blob: var(--green)}.tone-coral{--frame-bg: var(--coral);--frame-blob: var(--mint)}.tone-mint{--frame-bg: var(--mint);--frame-blob: var(--coral)}.tone-green{--frame-bg: var(--green);--frame-blob: var(--yellow)}.tone-cream{--frame-bg: #fff;--frame-blob: var(--cream-2)}.cloud-edge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:120px;z-index:3}.flower-frame{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.flower-frame svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;animation:spin 24s linear infinite}.flower-inner{position:relative;display:grid;place-items:center;width:72%;height:72%;border-radius:50%;background:#fff}.buddy{position:absolute;pointer-events:none}.hero{position:relative;background:var(--green);color:#fff;overflow:hidden}.hero-inner{max-width:1140px;margin:0 auto;padding:34px 16px 0;text-align:center;position:relative}.rating-pill{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 6px;border-radius:999px;background:#ffffff1f;font-size:.92rem;margin-bottom:18px;animation:rise .5s}.avatar-stack{display:flex}.avatar-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--green);margin-left:-8px}.avatar-dot:first-child{margin-left:0}.hero h1{color:#fff;font-size:clamp(2.2rem,6vw,4rem);max-width:900px;margin:0 auto 16px;line-height:1.08;animation:rise .6s .05s backwards}.hero-lead{max-width:600px;margin:0 auto 26px;color:#ffffffd9;font-size:1.05rem;animation:rise .6s .1s backwards}.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:rise .6s .15s backwards}.hero-ctas.left{justify-content:flex-start;align-items:center;position:relative;margin:22px 0}.hero-stage{position:relative;height:430px;max-width:760px;margin:40px auto 0}.stage-main{position:absolute;left:50%;top:0;width:300px;height:400px;transform:translate(-50%);z-index:2;animation:rise .7s .2s backwards}.stage-side{position:absolute;top:50px;width:250px;height:320px;z-index:1}.stage-side.left{left:40px;animation:slideL .8s .3s backwards}.stage-side.right{right:40px;animation:slideR .8s .3s backwards}.stage-side .blob-frame-art{padding:22px}.hero-loop{position:absolute;left:0;top:-30px;z-index:2;animation:float 4s ease-in-out infinite}.hero-sparks{position:absolute;right:30px;top:10px;z-index:2}.stats-band{max-width:1000px;margin:0 auto;padding:26px 16px 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}.stat-big strong{display:block;font-family:var(--font-num);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:700;color:var(--navy);line-height:1}.stat-big span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.split{max-width:1140px;margin:0 auto;padding:70px 16px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.split-text p{font-size:1.02rem;max-width:46ch}.split-arrow{position:absolute;left:-76px;top:4px}.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.feature{display:flex;gap:12px;align-items:center}.feature div{display:flex;flex-direction:column}.feature strong{color:var(--ink)}.feature span{font-size:.85rem;color:var(--muted)}.split-art{position:relative;min-height:440px}.split-main{position:absolute;right:0;top:0;width:78%;height:420px}.split-small{position:absolute;left:0;bottom:-20px;width:40%;height:200px}.split-sparks{position:absolute;left:12%;top:-30px}.center-section{position:relative;max-width:1140px;margin:0 auto;padding:60px 16px 20px;display:flex;flex-direction:column;align-items:center;text-align:center}.program-row{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:18px;align-items:end;width:100%;margin:26px 0}.program-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;border:4px solid var(--frame-bg);background:var(--frame-bg);text-align:left;transition:transform .2s;box-shadow:var(--shadow)}.program-card:hover{transform:translateY(-6px) rotate(-.5deg)}.program-art{display:grid;place-items:center;height:230px;padding:16px;background:#fff;border-radius:18px 18px 0 0}.program-card.big .program-art{height:290px;background:#e9f6ff}.program-art .cell-diagram{width:100%;max-height:100%}.program-foot{padding:12px 16px 16px;color:#fff;display:flex;flex-direction:column;gap:4px}.program-foot .mini-tag{align-self:flex-start}.program-foot strong{font-family:var(--font-display);font-size:1.15rem}.program-card.tone-mint .program-foot{color:var(--navy)}.program-blurb{font-size:.85rem;opacity:.9}.shine-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:26px;align-items:center;width:100%;max-width:900px;margin-top:20px}.shine-item{display:flex;flex-direction:column;align-items:center;gap:8px}.shine-item strong{font-family:var(--font-display);color:var(--ink);font-size:1.05rem}.shine-item span:not(.icon-circle){font-size:.85rem;color:var(--muted);max-width:26ch}.shine-item .xp-track{width:80%}.shine-photo{width:200px;height:220px}.shine-item .shield{margin-top:-38px;position:relative;z-index:2;border:4px solid var(--cream)}.buddy-left{left:0;top:160px;animation:wobble 3s ease-in-out infinite}.buddy-right{right:0;top:140px;animation:bounce 2.6s ease-in-out infinite}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:14px;width:100%;margin-top:22px}.gallery-tile{position:relative;display:grid;place-items:center;border-radius:20px;background:var(--frame-bg);overflow:hidden;transition:transform .2s}.gallery-tile:nth-child(odd){grid-row:span 2}.gallery-tile.wide{grid-column:span 2}.gallery-tile:hover{transform:scale(1.03) rotate(-1deg)}.gallery-tile:hover .org-icon{animation:wiggle .5s}.gallery-cap{position:absolute;left:10px;bottom:10px;padding:3px 12px;border-radius:999px;background:#ffffffeb;color:var(--navy);font-weight:700;font-size:.85rem}.tone-cream.gallery-tile{background:#fff;border:2px solid var(--line)}.friend-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;margin-top:46px}.friend-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 20px 24px;background:var(--green);color:#ffffffd9;border-radius:22px;transition:transform .2s}.friend-card:hover{transform:translateY(-5px)}.friend-card .flower-frame{margin-top:-36px;width:76px!important;height:76px!important}.friend-card strong{color:#fff;font-family:var(--font-display);font-size:1.15rem;margin-top:4px}.friend-card span{font-size:.9rem}.mistakes-cta{display:flex;gap:14px;align-items:center;max-width:1100px;margin:40px auto 0;border-left:6px solid var(--coral)}.xp-track{height:12px;border-radius:6px;background:#fff;border:1px solid var(--line);overflow:hidden;margin:6px 0 4px}.xp-fill{height:100%;background:linear-gradient(90deg,var(--coral),#ff9a5c);border-radius:6px;transition:width 1s ease}.mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:24px}.mode-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:22px;border:3px solid var(--frame-bg);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;animation:rise .45s backwards;animation-delay:calc(var(--i) * 35ms)}.mode-card:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 16px 34px #1f1b5c26}.mode-card:hover .mode-art .org-icon{transform:scale(1.12) rotate(-8deg)}.mode-art{position:relative;height:130px;display:grid;place-items:center;background:var(--frame-bg)}.mode-art .org-icon{position:relative;z-index:1;transition:transform .25s;filter:drop-shadow(0 6px 8px rgba(0,0,0,.15))}.mode-blob{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mode-blob path{fill:#fff;opacity:.22}.played{position:absolute;top:10px;right:10px;z-index:2;padding:2px 10px;border-radius:999px;background:#fff;color:var(--good);font-size:.75rem;font-weight:700}.mode-body{padding:14px 16px 18px}.mode-body h3{margin:6px 0 4px}.mode-body p{color:var(--muted);font-size:.92rem;margin:0}.mode-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:20px}.mode-tags .mini-tag{background:var(--cream)}.mode-tags .mini-tag.hot{background:var(--coral)}.quiz{max-width:760px;margin:0 auto;position:relative}.quiz-hud{padding:10px 14px;border-radius:18px;background:var(--green);color:#fff}.quiz-hud .hud-mode{color:#fff}.quiz-hud .hud-combo,.quiz-hud .hud-score,.quiz-hud .hud-total{color:var(--navy);border-color:transparent}.quiz-hud .hud-total.urgent{color:var(--bad)}.quiz-hud .hud-count{color:#ffffffbf!important}.quiz-hud{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.hud-left,.hud-right{display:flex;align-items:center;gap:10px}.hud-mode{font-family:var(--font-display);font-weight:700;font-size:1.1rem}.hud-count{color:var(--muted);font-weight:800}.hud-combo,.hud-score,.hud-total{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:800}.hud-combo.hot{background:#fff1e0;border-color:var(--accent);color:#9a3412;animation:wiggle .6s}.hud-total.urgent{background:var(--bad-bg);color:var(--bad);animation:pulse 1s infinite}.progress-track,.timer-track{height:10px;border-radius:5px;background:var(--card);border:1px solid var(--line);overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green),#2f9d6f);transition:width .4s}.timer-fill{height:100%;background:linear-gradient(90deg,#22c55e,#84cc16);transition:width 1s linear}.timer-fill.low{background:linear-gradient(90deg,#ef4444,#f97316);animation:blink .5s infinite alternate}.q-card{background:var(--card);border-radius:22px;padding:20px;box-shadow:var(--shadow);border:2px solid var(--line);animation:slideCard .35s ease-out}.q-card.was-right{border-color:var(--good)}.q-card.was-wrong{border-color:var(--bad);animation:shake .45s}.q-card.was-partial{border-color:var(--accent)}.q-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.q-top .icon-btn{margin-left:auto}.q-prompt{font-size:clamp(1.15rem,3vw,1.45rem);margin-bottom:14px}.q-art{background:var(--card2);border-radius:16px;padding:8px;margin-bottom:14px}.q-art .cell-diagram{width:100%;max-height:300px;display:block}.q-art.big .cell-diagram{max-height:420px}.choices{display:grid;gap:10px}.layout-tf .choices{grid-template-columns:1fr 1fr}.layout-sort .choices{grid-template-columns:repeat(3,1fr)}.choice{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;border-radius:14px;border:2px solid var(--line);border-bottom-width:5px;background:var(--card);text-align:left;font-weight:700;font-size:1.02rem;cursor:pointer;transition:transform .1s,border-color .15s,background .15s}.choice:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.choice:disabled{cursor:default}.letter{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--card2);border:1px solid var(--line);font-weight:900}.layout-tf .choice,.layout-sort .choice{justify-content:center;flex-direction:column;text-align:center;min-height:84px;font-size:1.15rem}.choice.tf-true{border-bottom-color:#22c55e}.choice.tf-false{border-bottom-color:#ef4444}.choice.right{background:var(--good-bg);border-color:var(--good);animation:bounceIn .45s}.choice.right .letter{background:var(--good);color:#fff}.choice.wrong{background:var(--bad-bg);border-color:var(--bad);animation:shake .4s}.choice.wrong .letter{background:var(--bad);color:#fff}.choice.faded{opacity:.5}.blank{display:inline-block;min-width:80px;padding:0 8px;margin:0 4px;border-bottom:3px dashed var(--primary);color:var(--primary);text-align:center}.blank.filled{border-bottom-style:solid;animation:bounceIn .4s}.hint-row{margin-bottom:12px}.hint{background:var(--warn-bg);padding:10px 14px;border-radius:12px;animation:fadeIn .3s}.voice-row{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px}.btn.mic{background:var(--purple);color:#fff;border-radius:999px;padding:12px 24px}.btn.mic.listening{animation:micPulse 1s infinite}.heard{font-style:italic;color:var(--muted)}.explain{margin-top:16px;padding:14px 16px;border-radius:16px;position:relative;animation:rise .35s}.explain.good{background:var(--good-bg)}.explain.bad{background:var(--bad-bg)}.explain.partial{background:var(--warn-bg)}.explain-head{display:flex;align-items:center;gap:8px;font-size:1.1rem;margin-bottom:6px}.explain-icon{position:absolute;top:12px;right:12px;opacity:.85}.explain .btn{margin-top:6px;width:100%}.end-early{margin:14px auto 0;display:flex}.burst{position:fixed;left:50%;top:38%;z-index:40;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:burst 1.1s ease-out forwards}.burst-text{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,7vw,3.2rem);color:#fff;padding:6px 26px;border-radius:999px;text-shadow:0 3px 0 rgba(0,0,0,.2);white-space:nowrap}.burst-correct .burst-text{background:linear-gradient(135deg,#22c55e,#16a34a)}.burst-wrong .burst-text{background:linear-gradient(135deg,#f87171,#dc2626)}.burst-partial .burst-text{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.burst-timeUp .burst-text{background:linear-gradient(135deg,#fb923c,#ea580c)}.burst-combo .burst-text,.burst-combo+.burst-text{background:linear-gradient(135deg,#f97316,#facc15)}.burst.burst-combo .burst-text{background:linear-gradient(135deg,#f97316,#eab308)}.burst.burst-streakLost{animation-duration:1.6s}.burst.burst-streakLost .burst-text{background:linear-gradient(135deg,#64748b,#334155)}.burst-combo,.burst-streaklost{position:relative;display:grid;place-items:center}.burst-combo .flame{animation:flameGrow .6s ease-out;filter:drop-shadow(0 0 16px #f97316)}.combo-n{position:absolute;bottom:4px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:#fff;text-shadow:0 1px 3px #000}.combo-n.lost{color:#cbd5e1}.flame-break{animation:flameBreak 1.4s ease-in forwards}.burst-stars{position:relative;height:40px;width:140px}.burst-stars .star{position:absolute;top:10px;left:57px;animation:starFly .9s ease-out forwards}.burst-stars .s0{--dx: -70px;--dy: -30px}.burst-stars .s1{--dx: 0;--dy: -50px;animation-delay:.05s}.burst-stars .s2{--dx: 70px;--dy: -30px;animation-delay:.1s}.countdown{flex-direction:column;background:radial-gradient(circle,#17805c,#0a3d2c)}.countdown-title{color:var(--yellow);font-family:var(--font-display);font-size:1.6rem;margin-bottom:10px;text-align:center}.countdown-num{font-family:var(--font-display);font-weight:700;font-size:clamp(6rem,25vw,11rem);color:#fff;animation:countPop .7s ease-out;text-shadow:0 8px 0 rgba(0,0,0,.25)}.countdown-num.go{color:#facc15;animation:goPop .65s ease-out}.countdown-ring{position:absolute;width:260px;height:260px;border-radius:50%;border:6px dashed rgba(255,225,77,.45);animation:spin 3s linear infinite;pointer-events:none}.skip{position:absolute;bottom:28px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:60}.clue-card{display:flex;gap:14px;align-items:flex-start;background:var(--card2);border-radius:16px;padding:14px;margin-bottom:14px}.clue-icon{flex-shrink:0;animation:float 3s ease-in-out infinite}.clue-card dl{margin:0;display:grid;gap:6px}.clue-card dt{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.clue-card dd{margin:0}.scrambled-word{text-align:center;font-family:var(--font-display);font-size:clamp(1.6rem,6vw,2.4rem);letter-spacing:.3em;color:var(--coral);margin:6px 0 12px}.slots,.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px}.slot{width:40px;height:48px;border-radius:10px;border:2px dashed var(--line);background:var(--card2);font-family:var(--font-display);font-size:1.4rem;font-weight:700;cursor:pointer}.slot.full{border-style:solid;border-color:var(--purple);background:var(--card);animation:pop .2s}.slot.locked{border-color:var(--accent);background:var(--warn-bg)}.slots.shake{animation:shake .45s}.slots.shake .slot.full{border-color:var(--bad);background:var(--bad-bg)}.slots.solved .slot{border-color:var(--good);background:var(--good-bg);animation:wave .6s backwards}.slots.solved .slot:nth-child(2){animation-delay:.05s}.slots.solved .slot:nth-child(3){animation-delay:.1s}.slots.solved .slot:nth-child(4){animation-delay:.15s}.slots.solved .slot:nth-child(5){animation-delay:.2s}.slots.solved .slot:nth-child(6){animation-delay:.25s}.slots.solved .slot:nth-child(7){animation-delay:.3s}.slots.solved .slot:nth-child(8){animation-delay:.35s}.slots.solved .slot:nth-child(n+9){animation-delay:.4s}.tile{width:46px;height:52px;border-radius:12px;border:2px solid var(--purple);border-bottom-width:5px;background:var(--card);font-family:var(--font-display);font-size:1.5rem;font-weight:700;cursor:pointer;transition:transform .1s,opacity .2s}.tile:hover:not(:disabled){transform:translateY(-3px)}.tile.used{opacity:.2;transform:scale(.85)}.try-again-text{text-align:center;color:var(--bad);font-weight:800;animation:shake .4s}.match-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}.match-col{display:grid;gap:8px;align-content:start}.match-item{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);font-weight:700;text-align:left;cursor:pointer;transition:transform .12s,background .15s}.match-item:hover:not(:disabled){border-color:var(--primary)}.match-item.selected{border-color:var(--purple);background:#ede9fe;color:#3b2a85;transform:scale(1.03)}.match-item.matched{border-color:var(--good);background:var(--good-bg);opacity:.85;animation:bounceIn .4s}.match-item.bad{border-color:var(--bad);background:var(--bad-bg);animation:shake .4s}.match-item:disabled:not(.matched){cursor:default}.build-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.build-cell{position:relative}.build-cell.complete{animation:glowGreen 1.2s ease-out}.build-count{position:absolute;top:12px;left:12px;background:var(--card);border-radius:999px;padding:2px 10px;font-weight:800;font-size:.85rem;border:1px solid var(--line)}.tray{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}.token{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:14px;border:2px solid var(--line);background:var(--card);font-size:.8rem;font-weight:800;cursor:pointer;transition:transform .15s}.token:hover:not(:disabled){transform:translateY(-3px) rotate(-2deg);border-color:var(--primary)}.token.placed{opacity:.35;border-color:var(--good);transform:scale(.9)}.token.rejected{border-color:var(--bad);background:var(--bad-bg);animation:shake .4s;opacity:.6}.build-msg{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--card2);min-height:46px;animation:fadeIn .3s}.build-msg.bad{background:var(--bad-bg)}.ab-part{margin-bottom:14px}.ab-part label{display:block;font-weight:800;margin-bottom:6px}.ab-letter{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--purple);color:#fff;margin-right:6px}.ab-part textarea{width:100%;padding:10px;border-radius:12px;border:2px solid var(--line);background:var(--card2);color:var(--ink);font:inherit;resize:vertical}.model-answer{margin-top:8px;padding:10px 12px;background:var(--good-bg);border-radius:12px;animation:rise .3s}.model-answer .row{margin-top:8px}.cell-diagram{width:100%;height:auto;overflow:visible}.cell-diagram .part{transition:opacity .25s,filter .25s;transform-box:fill-box;transform-origin:center}.cell-diagram.pickable .part{cursor:pointer}.cell-diagram.pickable .part:hover{filter:brightness(1.12) drop-shadow(0 0 4px rgba(250,204,21,.9))}.cell-diagram .part.hl{filter:url(#glow);animation:hlPulse 1.2s ease-in-out infinite}.cell-diagram .part.dimmed{opacity:.35}.cell-diagram .part.is-correct{filter:drop-shadow(0 0 6px #22c55e) drop-shadow(0 0 2px #22c55e)}.cell-diagram .part.is-wrong{filter:drop-shadow(0 0 6px #ef4444);animation:shake .4s}.cell-diagram .part.pop{animation:partPop .45s cubic-bezier(.2,1.6,.4,1)}.cell-diagram .hl-ring circle{animation:ringPulse 1.2s ease-out infinite;transform-box:fill-box;transform-origin:center}.diagram-label{animation:fadeIn .3s}.spin-slow{animation:drift 8s ease-in-out infinite}.results{max-width:760px;margin:0 auto;text-align:center}.results-hero{display:flex;flex-direction:column;align-items:center;margin-bottom:14px}.results-hero h1{font-size:clamp(2.2rem,7vw,3.2rem);animation:popUp .6s cubic-bezier(.2,1.4,.4,1)}.results-win .results-hero h1{color:var(--good)}.results-lose .results-hero h1{color:var(--bad)}.trophy-bounce{animation:trophy 1s cubic-bezier(.2,1.5,.4,1);filter:drop-shadow(0 8px 16px rgba(234,179,8,.5))}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.stat{background:var(--card);border-radius:16px;padding:12px 6px;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;animation:rise .5s backwards}.stat:nth-child(2){animation-delay:.1s}.stat:nth-child(3){animation-delay:.2s}.stat:nth-child(4){animation-delay:.3s}.stat-num{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:1.6rem;font-weight:700}.stat-label{font-size:.8rem;color:var(--muted);font-weight:800}.bonus-pill,.streak-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-weight:800;margin:4px;animation:popUp .5s .4s backwards}.bonus-pill{background:var(--warn-bg)}.streak-pill{background:#ffedd5;color:#9a3412}.results .row{margin:18px 0}.review{text-align:left;margin-top:18px;padding:0;list-style:none}.review ul{padding:0;list-style:none}.review-item{background:var(--card);border-radius:14px;padding:12px 14px;margin-bottom:10px;border-left:5px solid var(--bad);box-shadow:var(--shadow)}.review-q{font-weight:700;margin:6px 0}.review-given{color:var(--bad);margin:0;font-size:.92rem}.review-answer{color:var(--good);margin:0 0 4px}.duel-result{border:2px solid var(--purple)}.duel-result.error{border-color:var(--bad)}.toasts{position:fixed;top:70px;right:16px;left:16px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:340px;padding:10px 14px;border-radius:14px;background:var(--card);border:2px solid #facc15;box-shadow:var(--shadow);text-align:left;animation:toastIn .5s cubic-bezier(.2,1.4,.4,1),toastOut .5s 4.5s forwards}.toast div{display:flex;flex-direction:column;font-size:.85rem}.levelup-overlay{overflow:hidden}.levelup-rays{position:absolute;width:900px;height:900px;background:repeating-conic-gradient(rgba(250,204,21,.18) 0 10deg,transparent 10deg 20deg);animation:spin 12s linear infinite}.levelup-card{position:relative;background:var(--card);border-radius:26px;padding:26px;text-align:center;width:min(380px,100%);animation:popUp .6s cubic-bezier(.2,1.4,.4,1)}.levelup-badge{animation:badgeSpin 1s cubic-bezier(.2,1.3,.4,1);display:inline-block}.streak-lost-overlay{background:#14141ed1}.streak-lost-card{background:var(--card);border-radius:26px;padding:24px;text-align:center;width:min(400px,100%);display:flex;flex-direction:column;align-items:center;animation:popUp .5s cubic-bezier(.2,1.4,.4,1)}.flame-shatter{position:relative;height:110px;animation:flameDie 1.4s ease-in forwards}.shard{position:absolute;top:50%;left:50%;width:14px;height:14px;background:#94a3b8;clip-path:polygon(50% 0,100% 100%,0 80%);animation:shard 1.2s .6s ease-out forwards;opacity:0}.shard.a{--sx: -70px;--sy: -40px}.shard.b{--sx: 60px;--sy: -60px}.shard.c{--sx: 30px;--sy: 50px}.mascot .mascot-body{transform-origin:50% 90%}.mascot-happy .mascot-body,.mascot-cool .mascot-body{animation:breathe 3s ease-in-out infinite}.mascot .tear{animation:tear 1.6s ease-in infinite}.bounce{animation:bounce 2s ease-in-out infinite}.wobble{animation:wobble 1.4s ease-in-out infinite}.flame.lit.flicker,.hud-combo.hot .flame{animation:flicker .9s ease-in-out infinite alternate;transform-origin:50% 90%}.pop-in{animation:popUp .4s cubic-bezier(.2,1.4,.4,1)}.slide-in{animation:slideIn .35s ease-out}.explorer-controls{margin-bottom:12px}.segmented{display:inline-flex;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px}.segmented.wide{display:flex;margin-bottom:14px}.segmented.wide button{flex:1}.segmented button{border:0;background:transparent;padding:8px 14px;border-radius:10px;font-weight:800;cursor:pointer;color:var(--muted)}.segmented button.on{background:var(--card);color:var(--primary);box-shadow:0 2px 6px #00000014}.toggle{display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;margin-right:14px}.toggle input{width:20px;height:20px;accent-color:var(--primary)}.explorer{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}.explorer-cell{background:var(--card);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow);border:1px solid var(--line)}.info-card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:1px solid var(--line);animation:rise .35s}.info-card.placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--muted)}.info-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.info-head h2{margin:0 0 4px}.info-head .icon-btn{margin-left:auto}.info-list{margin:0;display:grid;gap:10px}.info-list dt{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.info-list dd{margin:0}.library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:20px}.lib-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:16px;border:2px solid var(--line);background:var(--card);cursor:pointer;text-align:center;transition:transform .15s}.lib-card:hover{transform:translateY(-3px);border-color:var(--primary)}.lib-card:hover .org-icon{animation:wiggle .5s}.lib-card.on{border-color:var(--primary);background:var(--card2)}.lib-name{font-weight:800}.lib-fn{font-size:.8rem;color:var(--muted)}.me-card,.profile-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.me-card h2{margin:0}.code{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.15em;color:var(--purple)}.code-input{text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-display);font-size:1.2rem}.error-msg{background:var(--bad-bg);color:var(--bad);padding:10px 14px;border-radius:12px}.person-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.person-row:last-child{border-bottom:0}.result-chip.win{background:var(--good-bg);color:var(--good)}.result-chip.loss{background:var(--bad-bg);color:var(--bad)}.result-chip.draw{background:var(--warn-bg)}.leaderboard{list-style:none;padding:0;margin:0}.lb-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;animation:slideIn .35s backwards}.lb-row:nth-child(odd){background:var(--card2)}.lb-row.me{outline:2px solid var(--primary)}.lb-pos{width:28px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;text-align:center}.lb-row.top1 .lb-pos{color:#ca8a04}.lb-row.top2 .lb-pos{color:#64748b}.lb-row.top3 .lb-pos{color:#b45309}.lb-name{flex:1;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-xp{font-weight:800;color:var(--muted)}.steps{padding-left:20px}.steps li{margin-bottom:6px}.signin{max-width:420px;margin:0 auto}.signin .btn,.signin .input{width:100%}.or{color:var(--muted);font-weight:800}.name-input{font-family:var(--font-display);font-size:1.4rem;font-weight:700;padding:6px 10px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px;border-radius:16px;border:2px solid var(--line);font-size:.8rem}.badge strong{font-size:.92rem}.badge.got{border-color:#facc15;background:linear-gradient(160deg,#fef9c3,var(--card));color:#422006}.badge.locked{opacity:.45;filter:grayscale(1)}.ladder{list-style:none;padding:0;margin:0}.ladder li{display:flex;align-items:center;gap:10px;padding:6px 0;opacity:.5}.ladder li.reached{opacity:1;font-weight:800}.mistakes-page .btn.big{margin-bottom:16px}@keyframes fadeIn{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}}@keyframes slideCard{0%{opacity:0;transform:translate(40px) rotate(1deg)}}@keyframes pop{50%{transform:scale(1.2)}}@keyframes popUp{0%{opacity:0;transform:scale(.6)}}@keyframes bounceIn{0%{transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes wiggle{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes wave{50%{transform:translateY(-10px)}}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes pulseSoft{0%,to{box-shadow:0 4px 0 var(--primary-dark),0 0 #0f948880}50%{box-shadow:0 4px 0 var(--primary-dark),0 0 0 12px #0f948800}}@keyframes micPulse{0%{box-shadow:0 0 #9333ea99}to{box-shadow:0 0 0 18px #9333ea00}}@keyframes blink{to{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes breathe{50%{transform:scale(1.04,.97)}}@keyframes tear{0%{transform:translateY(0);opacity:1}to{transform:translateY(14px);opacity:0}}@keyframes flicker{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(1.08) rotate(3deg)}}@keyframes drift{50%{transform:translateY(-8px) rotate(1.5deg)}}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.9)}}@keyframes starFly{0%{opacity:0;transform:translate(0) scale(.3)}30%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.2) rotate(140deg)}}@keyframes flameGrow{0%{transform:scale(.3)}60%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes flameBreak{0%{transform:scale(1)}30%{transform:scale(1.1) rotate(-8deg)}60%{transform:rotate(10deg)}to{transform:translateY(40px) rotate(30deg);opacity:0}}@keyframes flameDie{0%{transform:scale(1);filter:none}40%{transform:scale(1.1)}to{transform:scale(.85) translateY(10px);filter:grayscale(1);opacity:.6}}@keyframes shard{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(200deg)}}@keyframes countPop{0%{transform:scale(2.4);opacity:0}40%{transform:scale(.9);opacity:1}to{transform:scale(1)}}@keyframes goPop{0%{transform:scale(.2) rotate(-20deg)}60%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1)}}@keyframes trophy{0%{transform:translateY(-120px) scale(.4) rotate(-20deg)}to{transform:none}}@keyframes badgeSpin{0%{transform:scale(0) rotate(-360deg)}to{transform:scale(1) rotate(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(120%)}}@keyframes toastOut{to{opacity:0;transform:translate(120%)}}@keyframes hlPulse{50%{opacity:.75}}@keyframes ringPulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes partPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glowGreen{0%{box-shadow:0 0 #22c55eb3}to{box-shadow:0 0 0 24px #22c55e00}}@keyframes slideL{0%{opacity:0;transform:translate(60px) rotate(0)}}@keyframes slideR{0%{opacity:0;transform:translate(-60px) rotate(0)}}.install-wrap{max-width:1000px;margin:10px auto 0;padding:0 16px}.install-wrap:empty{display:none}.install-card{display:flex;align-items:center;gap:14px;border:2px dashed var(--coral);background:#fff8f2}.install-card.compact{box-shadow:none}.install-card strong{display:block;color:var(--ink)}.install-icon{border-radius:14px;flex-shrink:0}.ios-steps{margin:6px 0 0;padding-left:18px}.notify-setting{margin:6px 0 14px}.notify-setting .org-icon{vertical-align:middle}.toasts.alerts{top:auto;bottom:90px}.app.in-game .toasts.alerts{bottom:16px}.alert-toast,.update-toast{pointer-events:auto;border-color:var(--coral);animation:toastIn .5s cubic-bezier(.2,1.4,.4,1)}.alert-toast{animation:toastIn .5s cubic-bezier(.2,1.4,.4,1),toastOut .5s 7.5s forwards}.alert-toast strong,.update-toast strong{color:var(--ink)}.update-toast{border-color:var(--green)}.class-link{display:flex;align-items:center;gap:12px;transition:transform .15s}.class-link:hover{transform:translateY(-2px);border-color:var(--coral)}.class-link strong{color:var(--ink)}.note-msg{background:var(--good-bg);color:var(--good);padding:10px 14px;border-radius:12px;font-weight:700}.class-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.class-head h3{margin:0}.dashboard{margin-top:16px}.dash-title{margin-top:22px}.table-wrap{overflow-x:auto;margin-bottom:12px;border-radius:14px;border:1px solid var(--line)}.class-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}.class-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--cream);padding:10px}.class-table td{padding:8px 10px;border-top:1px solid var(--line)}.class-table tbody tr:hover{background:#fffbea}.student{display:flex;align-items:center;gap:8px}.student span{display:flex;flex-direction:column;line-height:1.2}.student strong{color:var(--ink)}.student small{color:var(--muted)}.secure,.secure *{-webkit-user-select:none;user-select:none}.secure textarea,.secure input{-webkit-user-select:text;user-select:text}.class-tabs{margin:14px 0 0}.tab-body{margin-top:14px;display:flex;flex-direction:column;gap:6px;align-items:stretch}.tab-body>.btn{align-self:flex-start}.builder{display:flex;flex-direction:column;gap:12px;background:var(--card2);border:1px solid var(--line);border-radius:18px;padding:16px}.builder h3{margin:0}.field{display:flex;flex-direction:column;gap:4px}.field>span{font-weight:700;font-size:.86rem;color:var(--ink)}.small-field{min-width:150px}select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.topic-chips{display:flex;flex-wrap:wrap;gap:6px}.topic-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 5px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:.85rem;font-weight:700;cursor:pointer}.topic-chip.on{border-color:var(--green);background:#e3f5ec;color:var(--green)}.check{display:flex;align-items:flex-start;gap:8px;font-size:.92rem;cursor:pointer}.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--coral);flex-shrink:0}.check-row{display:flex;flex-wrap:wrap;gap:6px 16px}.pick-list{list-style:none;margin:0;padding:8px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.pick-list li{padding:6px 4px;border-bottom:1px solid var(--line)}.pick-list li:last-child{border-bottom:0}.more-options summary{cursor:pointer;font-weight:700;color:var(--muted)}.more-options[open] summary{margin-bottom:8px}.more-options .check{margin-top:6px}.live-banner{display:flex;align-items:center;gap:12px;background:var(--green);color:#fff;border:0;animation:pulseGlow 2s infinite}.live-banner strong{color:#fff}.live-dot{width:14px;height:14px;border-radius:50%;background:#ff5f5f;box-shadow:0 0 #ff5f5fb3;animation:liveDot 1.4s infinite;flex-shrink:0}.todo-banner{display:flex;align-items:center;gap:12px;border-left:6px solid var(--coral)}.todo-banner strong{color:var(--ink)}.todo-row{text-decoration:none;border-radius:12px;padding-left:6px;padding-right:6px}.todo-row:hover{background:var(--cream)}.todo-row.closed{opacity:.6}.chip[class*=status-]{white-space:nowrap}.status-todo{background:#eef2ff;color:#3b2a98;border-color:#d7dcfb}.status-missing{background:var(--bad-bg);color:var(--bad);border-color:#f8c4bd}.status-studying,.status-started{background:var(--warn-bg);color:#8a5a00;border-color:#f2dc8e}.status-done{background:var(--good-bg);color:var(--good);border-color:#b6e8c8}.status-late{background:#ffe8d6;color:#b45309;border-color:#fbcfa5}.chip[class*=level-]{cursor:pointer}.level-none{background:var(--good-bg);color:var(--good)}.level-low{background:#eef2ff;color:#3b2a98}.level-medium{background:var(--warn-bg);color:#8a5a00}.level-high{background:var(--bad-bg);color:var(--bad)}.assignment,.report{max-width:900px;margin:0 auto}.lead-text{font-size:1.08rem}.facts-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}.notice-card{border-left:6px solid var(--green)}.notice-card ul{margin:0 0 10px;padding-left:20px}.study-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:14px 0 20px}.study-card{display:flex;flex-direction:column;gap:10px;transition:border-color .2s,opacity .2s}.study-card.done{border-color:var(--good);background:#f6fff9}.stats-band.compact{padding:18px 0 8px}.stats-band.compact .stat-big strong{font-size:2.4rem}.sort-row{margin:10px 0;align-items:center}.detail-row td{background:var(--card2)}.signal-list{margin:4px 0 8px;padding-left:18px}.answer-strip{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.ans-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font-size:.75rem;font-weight:700;color:#fff}.ans-dot.ok{background:var(--good)}.ans-dot.no{background:var(--bad)}.ans-dot.away{outline:3px solid #f59e0b;outline-offset:1px}.perq{padding-left:22px}.perq li{margin-bottom:12px}.perq-bar{height:10px;border-radius:5px;background:#fff;border:1px solid var(--line);overflow:hidden;margin-bottom:4px}.perq-bar span{display:block;height:100%;background:var(--good)}.perq li.hard .perq-bar span{background:var(--bad)}.perq-text p{margin:2px 0}.room{max-width:1000px;margin:0 auto}.room-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.room-top>div:first-child{flex:1}.pill-dark{padding:5px 14px;border-radius:999px;background:var(--green);color:#fff;font-weight:700}.lobby{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.lobby-players{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px}.lobby-player{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;border:2px solid var(--line);font-weight:700;color:var(--ink)}.stage{display:flex;flex-direction:column;gap:16px}.stage-q{position:relative;background:#fff;border-radius:22px;padding:24px 24px 20px 96px;box-shadow:var(--shadow);min-height:110px}.stage-q h1{font-size:clamp(1.4rem,3.4vw,2.2rem);margin:0}.stage-q .q-art{margin-top:12px}.big-timer{position:absolute;left:18px;top:18px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-family:var(--font-num);font-size:2rem;font-weight:700}.big-timer.low{background:var(--coral);animation:pulse .6s infinite}.big-timer.small{position:static;margin:0 auto 8px;width:52px;height:52px;font-size:1.6rem}.tiles-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-tile{position:relative;display:flex;align-items:center;gap:12px;min-height:84px;padding:14px 18px;border-radius:18px;border:0;background:var(--tile);color:#fff;font-weight:700;font-size:1.15rem;text-align:left;box-shadow:0 5px #0000002e;transition:transform .12s,opacity .3s}button.answer-tile{cursor:pointer}button.answer-tile:active{transform:translateY(3px);box-shadow:0 2px #0000002e}.answer-tile.faded{opacity:.35}.answer-tile.right{outline:5px solid #fff;box-shadow:0 0 0 9px var(--good);animation:bounceIn .5s}.tile-letter{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#ffffff40;font-family:var(--font-display);flex-shrink:0}.tile-count{margin-left:auto;font-family:var(--font-num);font-size:1.8rem}.answered-count{font-family:var(--font-num);font-size:1.6rem;color:var(--ink)}.reveal{display:flex;flex-direction:column;align-items:center;gap:10px}.reveal-explain{background:var(--good-bg);padding:10px 16px;border-radius:14px;max-width:700px;text-align:center}.mini-board{list-style:none;padding:0;margin:0;width:min(420px,100%)}.mini-board li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#fff;margin-bottom:6px;box-shadow:var(--shadow)}.mini-board li:first-child{background:var(--yellow)}.podium-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.podium{display:grid;grid-template-columns:repeat(3,minmax(90px,160px));align-items:end;gap:10px;margin:10px 0 20px}.podium-col{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;animation:rise .7s backwards}.podium-col strong{color:var(--ink)}.podium-block{width:100%;display:grid;place-items:center;border-radius:14px 14px 0 0;color:#fff;font-family:var(--font-num);font-size:2.4rem;font-weight:700}.place-1 .podium-block{height:150px;background:var(--coral)}.place-2 .podium-block{height:110px;background:var(--green)}.place-3 .podium-block{height:80px;background:#e8b100}.place-1{animation-delay:.6s}.place-2{animation-delay:.3s}.place-3{animation-delay:0s}.results-table{width:100%}.player-me{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);flex:1}.player-q .q-prompt{margin-bottom:14px}.player-tiles .answer-tile{min-height:96px}.locked-in{animation:popUp .4s}.reveal-answer{font-family:var(--font-display);font-size:1.4rem;color:var(--good);font-weight:700}@keyframes liveDot{70%{box-shadow:0 0 0 10px #ff5f5f00}to{box-shadow:0 0 #ff5f5f00}}@keyframes pulseGlow{50%{box-shadow:0 0 0 6px #0f5c4340}}@media (max-width: 900px){.topnav{display:none}.tabbar{display:flex}.split{grid-template-columns:1fr;padding-top:50px}.split-arrow{display:none}.split-art{min-height:380px}.program-row{grid-template-columns:1fr;max-width:420px}.shine-row{grid-template-columns:1fr}.buddy{display:none}.explorer,.build-layout{grid-template-columns:1fr}.tray{grid-template-columns:repeat(3,1fr)}.stage-side{width:200px;height:260px}.stage-side.left{left:0}.stage-side.right{right:0}}@media (max-width: 640px){.nav-cta,.topbar .pill+.pill{display:none}.hero-stage{height:330px;margin-top:30px}.stage-main{width:220px;height:300px}.stage-main .mascot{width:150px;height:150px}.stage-side{width:150px;height:200px;top:40px}.stage-side.left{left:-30px}.stage-side.right{right:-30px}.stage-side .org-icon{width:90px;height:90px}.hero-loop{display:none}.stats-band{grid-template-columns:repeat(2,1fr);row-gap:18px}.feature-pair{grid-template-columns:1fr}.split-main{width:88%;height:340px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}.gallery-tile.wide{grid-column:span 2}.friend-cards{grid-template-columns:1fr;gap:44px}.stat-row{grid-template-columns:repeat(2,1fr)}.match-grid{grid-template-columns:1fr 1.2fr}.match-item{font-size:.85rem;padding:6px 8px}.match-item .org-icon{display:none}.layout-sort .choices{grid-template-columns:1fr}.layout-sort .choice{flex-direction:row;min-height:56px}.q-card{padding:14px}.slot{width:30px;height:40px;font-size:1.1rem}.tile{width:40px;height:46px;font-size:1.3rem}.tray{grid-template-columns:repeat(2,1fr)}.tiles-grid{grid-template-columns:1fr}.stage-q{padding:80px 16px 16px}.podium{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
