:root{color-scheme:dark;--void: #080a12;--night: #11172a;--forest: #163829;--ink: #211912;--gold: #ffd15c;--gold-dark: #8f5f1e;--aqua: #73ddff;--purple: #8e68ff;--green: #72d56f;--red: #ff6464;--paper: #fff1c2;--panel: rgba(15, 21, 33, .92);--panel-warm: rgba(65, 43, 25, .88);--line: rgba(255, 217, 121, .56);--line-blue: rgba(115, 221, 255, .35);font-family:Mali,system-ui,sans-serif;background:var(--void)}*{box-sizing:border-box}body{margin:0;min-width:320px;color:#fff8df;background:linear-gradient(180deg,#15233c,#12261f 44%,#080a12)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{min-height:100vh;position:relative;overflow-x:hidden}.app-shell:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:24px 24px;image-rendering:pixelated}.app-shell:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent 18%,transparent 82%,rgba(0,0,0,.24)),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);opacity:.7}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px clamp(14px,3vw,34px);border-bottom:3px solid #5b4427;background:linear-gradient(180deg,#141a29f5,#080a12f5);box-shadow:inset 0 -2px #0d0f16,0 6px #00000047;position:sticky;top:0;z-index:20}.brand,.topbar nav button{border:2px solid transparent;color:#fff;background:transparent;display:inline-flex;align-items:center;gap:8px}.brand{min-height:44px;color:var(--gold);text-shadow:0 2px #3b2514}.brand span{font-family:Pixelify Sans,Mali;font-size:1.35rem;font-weight:700;color:var(--gold)}.topbar nav{display:flex;gap:8px;align-items:center}.audio-control{position:relative}.audio-panel{position:absolute;z-index:30;right:0;top:calc(100% + 9px);width:min(300px,calc(100vw - 28px));display:grid;gap:11px;padding:14px;border:2px solid #94723c;border-radius:10px;color:#f8edc6;background:linear-gradient(145deg,#182b42,#0d1627);box-shadow:0 14px 30px #0006}.audio-panel>div{display:flex;align-items:center;gap:8px;color:var(--gold)}.audio-panel>div strong{font-family:Pixelify Sans,Mali;font-size:1.1rem}.audio-panel label{display:grid;grid-template-columns:1fr auto;gap:5px 10px;color:#dcecff;font-size:.85rem}.audio-panel label input{grid-column:1 / -1;padding:0;accent-color:#74d5ff}.audio-panel output{color:#ffe282;font-weight:800}.audio-panel small{color:#b5cae8;font-size:.72rem;line-height:1.4}.audio-panel .audio-master{min-height:36px;padding:6px 9px;border:1px solid #739fca;border-radius:6px;color:#e4f5ff;background:#509dd72b;box-shadow:none}.topbar nav button{border-color:#6a5332;border-radius:4px;min-height:42px;padding:8px 12px;background:#ffffff0e;box-shadow:inset 0 -3px #00000059}.topbar nav .nav-back{border-color:#8fc8ff;color:#d9f0ff}.topbar nav .nav-back:hover{border-color:#c5f4ff;color:#fff}.topbar nav button:hover{border-color:var(--gold);color:var(--gold)}.landing{min-height:calc(100vh - 69px);display:grid;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);gap:clamp(18px,3.2vw,44px);align-items:stretch;padding:clamp(14px,2.8vw,38px);background:linear-gradient(90deg,#080a12ad,#080a1238 48%,#080a12bd),linear-gradient(180deg,#ffd15c14,#0d1e1829)}.title-screen{align-self:center;display:grid;align-content:center;gap:14px;min-height:min(780px,calc(100vh - 110px));padding:clamp(18px,3vw,34px);border:3px solid #6b5030;border-radius:8px;background:linear-gradient(180deg,#151927f0,#0a0d16f5),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 6px);box-shadow:inset 0 0 0 2px #fff1c214,0 18px 70px #0000007a}.title-emblem{width:min(130px,36vw);aspect-ratio:1;display:grid;grid-template-rows:1fr auto;place-items:center;border:2px solid var(--line);border-radius:8px;color:var(--gold);background:linear-gradient(180deg,#73ddff29,#ffd15c14),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 2px,transparent 2px 8px);box-shadow:inset 0 -8px #00000038,0 0 34px #ffd15c24;text-shadow:0 2px #3b2514}.title-emblem svg{align-self:end;filter:drop-shadow(0 4px 0 rgba(53,32,13,.72))}.title-emblem span{align-self:start;color:#b8fff0;font-family:"Press Start 2P",Pixelify Sans,sans-serif;font-size:.74rem;margin-top:6px}.title-kicker{margin:0;color:var(--aqua);font-family:Pixelify Sans,Mali;font-weight:700;font-size:1rem}.landing h1{font-family:"Press Start 2P",Pixelify Sans,sans-serif;font-size:clamp(2.25rem,5.4vw,5.6rem);line-height:1.12;margin:0;color:var(--gold);text-shadow:0 5px #4c2d11,0 0 24px rgba(255,209,92,.28)}.landing h2,.center-panel h1,.page-heading h1,.class-select h1,.report h1{font-family:Pixelify Sans,Mali;color:#fff1b6;font-size:clamp(1.8rem,4vw,3rem);margin:0}.landing h2{color:#b8fff0;text-shadow:0 3px #14241e}.title-copy,.page-heading p{color:#d9e2ff;font-size:1.05rem;line-height:1.8}.title-copy{width:min(560px,100%);margin:0}.start-menu{display:grid;gap:10px;width:min(420px,100%);margin-top:8px}.start-command{min-height:68px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon meta";align-items:center;gap:2px 12px;border:3px solid #5d482b;border-radius:8px;background:linear-gradient(180deg,#273a4e,#111827);color:#fff8df;padding:12px 16px;text-align:left;box-shadow:inset 0 -5px #00000059,0 6px #00000052}.start-command svg{grid-area:icon;color:var(--gold)}.start-command span{grid-area:title;font-weight:900;font-size:1.15rem}.start-command small{grid-area:meta;color:#bdd0ff}.start-command.primary{color:#2a1b09;background:linear-gradient(180deg,#ffe997,#ffcf58);border-color:#fff0b6}.start-command.primary small{color:#5b3b17}.start-command:hover{transform:translateY(-2px);filter:brightness(1.08)}.title-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#c6d7ff;font-family:Pixelify Sans,Mali}.title-status span,.title-status b{border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#ffffff0f;padding:6px 8px}.title-status b{color:var(--gold)}.landing-stage{position:relative;min-height:min(780px,calc(100vh - 110px));overflow:hidden;border-radius:8px;border:3px solid #6b5030;background:#0b101c;box-shadow:inset 0 0 0 2px #fff1c214,0 22px 80px #00000080}.stage-sky{position:absolute;inset:0;background:linear-gradient(180deg,rgba(79,125,185,.36),transparent 36%),radial-gradient(circle at 72% 22%,rgba(255,209,92,.18),transparent 20%)}.stage-hud.top{position:absolute;top:14px;left:14px;right:14px;z-index:4;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:2px solid var(--line);border-radius:6px;background:#070a12c7;padding:9px 12px;color:#fff8df}.stage-hud span,.stage-hud i,.enemy-hud span,.quest-log span,.command-window b{color:var(--gold);font-family:Pixelify Sans,Mali;font-style:normal}.stage-hud b{color:#b8fff0}.enemy-hud{position:absolute;top:70px;right:22px;z-index:5;width:min(280px,44%);border:2px solid rgba(255,100,100,.72);border-radius:6px;background:#180c12d6;padding:10px 12px}.enemy-hud b{display:block;color:#ffd1d1;margin:2px 0 8px}.enemy-hud div{height:10px;border-radius:999px;overflow:hidden;background:#ffffff29}.enemy-hud i{display:block;height:100%;background:linear-gradient(90deg,#ff6464,#ffd15c)}.stage-field{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#78c8f6,#bfefff 38%,#79c56b 38%,#407a43 61%,#1e2f21);image-rendering:pixelated}.stage-field:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,10,18,.38),transparent 18%,transparent 76%,rgba(8,10,18,.44)),linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,rgba(5,10,8,.48) 100%)}.stage-field:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-16%;z-index:1;height:50%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 36px),repeating-linear-gradient(0deg,rgba(12,57,25,.5) 0 2px,transparent 2px 30px);transform:perspective(520px) rotateX(66deg);transform-origin:bottom;opacity:.48}.stage-clouds,.stage-mountains,.stage-ground{position:absolute;pointer-events:none}.stage-clouds{inset:0;z-index:0;background:radial-gradient(ellipse at 12% 16%,rgba(255,255,255,.92) 0 5%,transparent 5.4%),radial-gradient(ellipse at 21% 20%,rgba(255,255,255,.78) 0 5%,transparent 5.5%),radial-gradient(ellipse at 67% 14%,rgba(255,255,255,.82) 0 4.5%,transparent 5%),radial-gradient(ellipse at 77% 18%,rgba(255,255,255,.64) 0 5%,transparent 5.4%);filter:drop-shadow(0 8px 0 rgba(83,137,178,.16))}.stage-mountains{left:-5%;right:-5%;bottom:37%;z-index:0;height:30%;background:linear-gradient(135deg,transparent 0 18%,#4f8f68 18% 34%,transparent 34%),linear-gradient(45deg,transparent 0 30%,#2f6d54 30% 50%,transparent 50%),linear-gradient(135deg,transparent 0 54%,#315d55 54% 72%,transparent 72%);opacity:.86}.stage-ground{left:-3%;right:-3%;bottom:0;z-index:0;height:40%;background:linear-gradient(180deg,#8fcf60e6,#275b26eb 42%,#1a2f1dfa),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 8px,transparent 8px 34px);clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}.landing-boss{position:absolute;z-index:3;right:4%;bottom:23%;width:min(390px,38vw);filter:drop-shadow(0 18px 18px rgba(0,0,0,.55))}.landing-minion{position:absolute;z-index:3;right:34%;bottom:20%;width:min(150px,16vw);filter:drop-shadow(0 12px 12px rgba(0,0,0,.48))}.landing-party{position:absolute;z-index:4;left:5%;right:42%;bottom:25%;display:flex;align-items:end;gap:clamp(4px,1vw,12px)}.party-sprite{display:grid;justify-items:center;gap:4px;min-width:64px}.party-sprite img{height:clamp(88px,12vw,146px);object-fit:contain;filter:drop-shadow(0 12px 10px rgba(0,0,0,.5))}.party-sprite span{border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#070a12b8;color:#fff8df;padding:3px 6px;font-size:.78rem;font-weight:800}.command-window{position:absolute;left:16px;bottom:16px;z-index:6;width:min(280px,calc(100% - 32px));display:grid;gap:7px;border:3px solid #6b5030;border-radius:8px;background:#0d111c;padding:12px}.command-window button{min-height:38px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#ffffff0f;color:#fff8df;text-align:left;padding:8px 10px;font-weight:800}.command-window button:hover{color:var(--gold);border-color:var(--gold)}.quest-log{position:absolute;right:16px;bottom:16px;z-index:5;width:min(360px,42%);border:2px solid var(--line-blue);border-radius:8px;background:#081419d1;padding:12px}.quest-log p{margin:5px 0 0;color:#ddf8ff;line-height:1.55}.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pixel-btn{min-height:46px;border:2px solid #5b3b17;border-radius:6px;padding:12px 18px;color:#211912;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 -4px #00000040,0 5px #00000057}.pixel-btn:disabled{opacity:.55;cursor:not-allowed}.pixel-btn.gold{background:linear-gradient(#ffe28a,var(--gold))}.pixel-btn.blue{background:linear-gradient(#8ed4ff,#3a8cdc);color:#071421}.pixel-btn.green{background:linear-gradient(#a5ef9f,var(--green));color:#071c0a}.pixel-btn.red{background:linear-gradient(#ff9696,var(--red));color:#2b0505}.center-panel,.dashboard,.lobby,.class-select,.report{width:min(1180px,calc(100% - 28px));margin:clamp(16px,3vw,30px) auto}.center-panel,.panel,.room-row,.class-card,.award{border:3px solid #6b5030;border-radius:8px;background:linear-gradient(180deg,#171c2bf0,#0b0e18f0);box-shadow:inset 0 0 0 2px #fff1c20f,0 18px 60px #0000005c}.center-panel{padding:clamp(18px,4vw,34px)}.narrow{max-width:560px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid h1,.form-grid .pixel-btn{grid-column:1 / -1}label{display:grid;gap:8px;color:#fee6a0;font-weight:700}input,select,textarea{width:100%;border:2px solid rgba(255,209,92,.34);border-radius:6px;background:#05080ed1;color:#fff;padding:12px 14px;box-shadow:inset 0 3px #00000038}textarea{resize:vertical;line-height:1.6}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.error-text{color:#ffb3b3}.hint-text{color:#cbd8ff;margin:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;border-bottom:2px solid rgba(255,209,92,.22);padding-bottom:14px}.room-code{font-family:"Press Start 2P",monospace;color:#1a1308;background:var(--gold);border:3px solid #fff0b6;border-radius:6px;padding:14px 16px;letter-spacing:1px;box-shadow:inset 0 -4px #0000002e}.room-list{display:grid;gap:12px}.room-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;align-items:center;gap:12px;padding:14px}.room-row span{display:block;color:#cbd8ff;margin-top:4px}.room-row em{color:var(--gold);font-style:normal}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.panel{padding:18px}.text-link{color:var(--gold);background:transparent;border:0;text-decoration:underline}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:8px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.12)}th{color:var(--gold)}.table-actions{display:flex;gap:8px;align-items:center}.table-actions button{border:1px solid var(--line);border-radius:8px;background:#ffffff14;color:#fff1b6;padding:8px 10px}.qbank-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr);gap:18px;margin-bottom:18px}.qbank .panel h2{margin-top:0;color:#fff1b6}.class-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px}.class-card{padding:14px;border-color:color-mix(in srgb,var(--accent),white 20%);display:grid;gap:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent),#111827 72%),#080a12f0)}.class-card img{aspect-ratio:1.2;object-fit:contain;object-position:center;border-radius:8px;background:radial-gradient(circle,#ffffff1f,#fff0)}.class-card h2{color:var(--accent);font-family:Pixelify Sans;font-size:2rem;margin:0}.class-card p{color:#dce5ff;min-height:58px;margin:0}.class-card b{color:#fff1b6}.battle{min-height:calc(100vh - 70px);padding:clamp(14px,2.6vw,32px);background-size:cover;background-position:center;box-shadow:inset 0 0 0 100vmax #070a1229}.battle-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.stage-progress,.timer{border:3px solid #6b5030;background:#070b14d1;color:var(--gold);border-radius:6px;padding:12px 14px;font-family:Pixelify Sans;font-size:1.35rem;box-shadow:inset 0 -4px #00000047}.timer{min-width:76px;text-align:center}.timer.danger{color:#ff8b8b;animation:pulse .8s infinite}.battlefield{min-height:48vh;display:grid;grid-template-columns:1fr minmax(280px,.8fr);gap:22px;align-items:end}.party{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.player-card,.boss-card{border:3px solid #6b5030;border-radius:8px;background:linear-gradient(180deg,#121826e6,#080a12e6);padding:12px;box-shadow:inset 0 0 0 2px #fff1c20d,0 12px 30px #00000047}.player-card.active{outline:3px solid var(--gold);transform:translateY(-6px);box-shadow:0 0 0 5px #ffd15c29,0 18px 40px #00000057}.player-card img{height:120px;width:100%;object-fit:contain;object-position:center;border-radius:8px;background:radial-gradient(circle,#ffffff1f,#fff0)}.player-card h3,.boss-card h2{margin:8px 0 4px;color:#fff1b6}.player-card span{color:#bdd0ff}.boss-card img{width:100%;max-height:330px;object-fit:contain;object-position:center;border-radius:8px;background:radial-gradient(circle,#ffffff1f,#fff0)}.meter{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;margin-top:8px;font-size:.82rem}.meter div{height:10px;background:#ffffff29;border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#6ee36b,#ffe66c,#ef5b5b)}.battle-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.battle-controls .action-menu,.battle-controls .turn-wait{margin:0}.action-menu{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.turn-wait{width:fit-content;max-width:100%;margin:18px 0;border:3px solid #6b5030;border-radius:6px;background:#070b14c2;color:#fff1b6;padding:12px 14px;font-weight:700}.battle-log{display:grid;gap:6px;width:min(720px,100%)}.battle-log p{margin:0;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#080c16bd}.battle-log .good{color:#9effa6}.battle-log .bad{color:#ffabab}.battle-log .gold{color:var(--gold)}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#03060cb8;z-index:50;padding:16px}.question-modal{width:min(720px,100%);background:linear-gradient(180deg,#fff8df,#dfb76d);color:#211912;border:5px solid #5f4221;border-radius:8px;padding:clamp(18px,4vw,30px);box-shadow:0 24px 90px #0000008c}.question-modal h2{line-height:1.6}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choices button{min-height:58px;border:2px solid #80511a;border-radius:8px;color:#1d160f;background:#fff8df;font-weight:800}.choices button:disabled{opacity:.62;cursor:not-allowed}.vfx{pointer-events:none;position:fixed;inset:0;display:grid;place-items:center;z-index:45;animation:vfx .9s ease both}.vfx img{width:min(360px,70vw)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.award{padding:16px;display:grid;gap:8px;background:linear-gradient(180deg,#1b302de6,#0a0d16ed)}.award svg{color:var(--gold)}.award span{color:#cbd8ff}.award b{color:#fff1b6;font-size:1.25rem}.report-table-scroll{overflow-x:auto;border:3px solid #6b5030;border-radius:8px;background:#0d111eb8}.round-history{margin-top:18px;padding:18px;border:1px solid #b7d7e8;border-radius:16px;background:#f5fbffc7}.round-history h2{margin:0;color:#173f65}.round-history p{margin:5px 0 14px;color:#55738f}.round-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.round-history-grid article{display:grid;gap:5px;padding:12px;border:1px solid #cce0ef;border-radius:12px;background:#fff;color:#26465f}.round-history-grid article b{color:#173f65}.round-history-grid article span{color:#27835d;font-weight:800}.round-history-grid article small{color:#6d8499}.report-table{min-width:980px}.report-table td,.report-table th{white-space:nowrap}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes vfx{0%{opacity:0;transform:scale(.72)}35%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.28)}}@media(max-width:920px){.landing,.split,.battlefield,.qbank-grid{grid-template-columns:1fr}.landing,.title-screen{min-height:auto}.landing-stage{min-height:680px}.landing-boss{width:min(330px,48vw);right:0;bottom:28%}.landing-party{right:18%;bottom:22%}.quest-log{width:min(330px,calc(100% - 32px));left:16px;right:auto;bottom:148px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-row,.form-grid{grid-template-columns:1fr}.page-heading,.battle-top,.topbar{align-items:stretch;flex-direction:column}.topbar nav{flex-wrap:wrap}}@media(max-width:560px){.landing{padding:18px}.landing h1{font-size:2.05rem}.title-screen{padding:16px}.title-emblem{width:92px}.landing-stage{min-height:620px}.stage-hud.top{grid-template-columns:1fr;align-items:start;gap:2px}.enemy-hud{top:96px;right:12px;width:min(250px,60%)}.landing-boss{width:min(260px,56vw);right:-28px;bottom:32%}.landing-minion{right:42%;bottom:30%;width:92px}.landing-party{left:10px;right:10px;bottom:190px;justify-content:center}.party-sprite{min-width:50px}.party-sprite img{height:74px}.party-sprite span,.quest-log{display:none}.command-window{left:10px;right:10px;bottom:10px;width:auto}.class-grid,.choices{grid-template-columns:1fr}.party{grid-template-columns:1fr 1fr}.player-card img{height:94px}.room-code{font-size:.78rem}}@media print{.topbar,.pixel-btn{display:none!important}body{background:#fff;color:#111}.center-panel,.panel,.room-row,.award{box-shadow:none;color:#111;background:#fff;border-color:#333}}.modern-landing,.landing{background:radial-gradient(circle at 14% 12%,rgba(102,255,212,.2),transparent 28%),radial-gradient(circle at 88% 12%,rgba(118,155,255,.24),transparent 32%)}.create-room-panel{max-width:1100px;background:linear-gradient(145deg,#1c2d53f5,#10172ff2);border-color:#789cf6}.create-room-hero{grid-column:1 / -1;padding:22px;border-radius:14px;background:linear-gradient(115deg,#5d65d8,#319fc4 55%,#50c98e);color:#fff;box-shadow:0 12px 30px #2373bd40}.create-room-hero span{font-size:.75rem;font-weight:900;letter-spacing:.14em;color:#fff5a8}.create-room-hero h1{margin:6px 0;color:#fff}.create-room-hero p{margin:0;color:#eaffff}.room-setup-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.option-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px}.option-row .check{border:1px solid #526baf;border-radius:999px;padding:8px 12px;background:#577bd024}.option-row .v2-switch{border-color:#71e4bd;background:#4fd39b26}.question-picker{grid-column:1 / -1;padding:16px;border:1px solid #5272c0;border-radius:14px;background:#040c238c}.question-picker>div:first-child{display:inline-block}.question-picker h2{margin:0;color:#dce9ff}.question-picker p{margin:5px 0 12px;color:#a9bddf}.question-picker>b{float:right;padding:7px 10px;border-radius:99px;background:#d7f98d;color:#152833}.question-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:330px;overflow:auto;clear:both}.raid-level-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.raid-level-card{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid #5070ac;border-radius:12px;color:#dcecff;background:linear-gradient(145deg,#4964b257,#142a4c80)}.raid-level-card strong{font-size:1rem}.raid-level-card b{color:#fff0a1}.raid-level-card small{color:#b3d6e8}.raid-level-card.selected{border-color:#92f6c8;background:linear-gradient(145deg,#33b2897a,#1a4b5cb8);box-shadow:0 0 0 2px #92f6c829}.preview-list{max-height:240px}.csv-import-panel{display:grid;align-content:start;gap:10px;border-color:#7ad9d1;background:linear-gradient(145deg,#165f6b80,#132241e6)}.csv-import-panel h2,.csv-import-panel p{margin:0}.csv-import-panel p{color:#c4e6ef}.import-kicker{color:#9cf7d9;font-size:.75rem;letter-spacing:.13em;font-weight:900}.csv-template-link{width:fit-content;padding:9px 12px;border-radius:8px;background:#d8fb9b;color:#18333c;font-weight:800;text-decoration:none}.csv-upload{display:grid;gap:6px;padding:10px;border:1px dashed #8ee4e5;border-radius:9px;color:#fff6be}.csv-upload input{max-width:100%}.csv-import-panel small{color:#b9d8e8}.success-text{color:#a9ffc0;font-weight:800}.hero-landing{position:relative;grid-template-columns:minmax(300px,470px) 1fr;min-height:calc(100svh - 69px);isolation:isolate;background-image:linear-gradient(90deg,#020a18e0,#030f1fa3 38%,#04102114 72%,#030c194d),var(--landing-bg);background-position:center;background-size:cover;background-repeat:no-repeat}.hero-landing:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0915300f,#00061347)}.hero-landing .title-screen{min-height:auto;border:1px solid rgba(180,217,255,.48);border-radius:18px;padding:clamp(22px,3.2vw,42px);background:linear-gradient(145deg,#061026eb,#071830b8);box-shadow:0 22px 70px #0005146b,inset 0 0 0 1px #a0d7ff1f;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.hero-landing .title-emblem{border-radius:14px;border-color:#9bd7ff;background:linear-gradient(145deg,#45a1ff52,#ffda6c2e)}.hero-landing h1{color:#ffe38a;font-size:clamp(2.2rem,4.3vw,4.7rem);text-shadow:0 4px #70421b,0 0 28px rgba(255,221,116,.34)}.hero-landing h2{color:#d1fff5;text-wrap:balance;word-break:normal;overflow-wrap:normal;line-break:loose}.hero-landing h2 span{display:block;white-space:nowrap}.hero-landing .title-copy{text-wrap:balance;word-break:normal;overflow-wrap:normal;line-break:loose}.hero-landing .title-copy span{display:block}.hero-landing .start-command{border-radius:13px;border-color:#9adaff8c;background:linear-gradient(130deg,#153d78,#225c86)}.hero-landing .start-command.primary{background:linear-gradient(135deg,#fff0a7,#ffbd4d);border-color:#fff7ce}.hero-landing .title-status span,.hero-landing .title-status b{border-radius:999px;background:#174276a3}.landing-quest-panel{align-self:end;justify-self:end;display:grid;gap:10px;width:min(360px,42vw);margin:0 clamp(12px,4vw,60px) clamp(18px,5vw,58px) 0;padding:20px;border-left:3px solid #ffdf78;border-radius:0 14px 14px 0;background:linear-gradient(90deg,#041227bf,#0411232e);text-shadow:0 2px 5px #07101e}.landing-quest-panel span{color:#ffe59a;font-family:Pixelify Sans,sans-serif;font-size:.76rem;letter-spacing:.09em}.landing-quest-panel strong{color:#fff;font-size:clamp(1.3rem,2.6vw,2.2rem);line-height:1.25}.landing-quest-panel small{color:#d2e9ff;line-height:1.5}.orientation-gate{display:none}@media(max-width:920px)and (orientation:landscape){.hero-landing{grid-template-columns:minmax(300px,48vw) 1fr;gap:12px;padding:12px}.hero-landing .title-screen{padding:18px;gap:9px}.hero-landing .title-emblem{width:72px}.hero-landing h1{font-size:clamp(1.8rem,5vw,2.8rem)}.hero-landing h2{font-size:clamp(1.25rem,3.1vw,1.8rem)}.hero-landing .title-copy{font-size:.88rem;line-height:1.45}.hero-landing .start-command{min-height:50px;padding:8px 11px}.hero-landing .title-status{display:none}.landing-quest-panel{width:min(260px,38vw);padding:13px;margin:0 18px 14px 0}.landing-quest-panel strong{font-size:1.15rem}}@media(max-width:760px)and (orientation:portrait){.orientation-gate{position:fixed;z-index:100;inset:0;display:grid;place-content:center;gap:14px;padding:30px;text-align:center;color:#eefaff;background:radial-gradient(circle at 50% 20%,#245b97,#06152d 62%,#020812)}.orientation-gate span{color:#ffe078;font-size:4rem;animation:orientation-turn 1.8s ease-in-out infinite}.orientation-gate h1{margin:0;font-family:Pixelify Sans,Mali;font-size:1.65rem}.orientation-gate p{max-width:330px;margin:0 auto;color:#cfe8ff;line-height:1.65}.orientation-gate .pixel-btn{justify-self:center}.app-shell>:not(.orientation-gate){filter:blur(2px);pointer-events:none}}@keyframes orientation-turn{50%{transform:rotate(90deg)}}.question-pick-card{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #405e9e;border-radius:10px;cursor:pointer;background:#3349882e}.question-pick-card:has(input:checked){border-color:#8ef4bd;background:#37bb8933}.question-pick-card input{margin-top:4px;accent-color:#70df9e}.question-pick-card span{display:grid;gap:4px}.question-pick-card i{width:fit-content;padding:2px 6px;border-radius:6px;background:#617ae1;color:#fff;font-style:normal;font-size:.7rem}.question-pick-card strong{color:#f4f8ff;font-size:.88rem}.question-pick-card small{color:#b5c9ed}.v2-battle{padding-bottom:240px}.connection-state{padding:6px 10px;border-radius:99px;background:#071c27bd;font-size:.78rem;color:#ffe992}.connection-state.online{color:#7dffc0}.connection-state.reconnecting{color:#ffd67d}.rpg-command-bar{position:fixed;z-index:20;left:50%;bottom:10px;transform:translate(-50%);width:min(1120px,calc(100vw - 26px));border:2px solid #6ee8c3;border-radius:16px;overflow:hidden;box-shadow:0 14px 44px #00000080;background:linear-gradient(120deg,#08162efa,#133048fa)}.rpg-status-strip,.inventory-strip{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#0000003d}.rpg-status-strip{justify-content:space-between}.rpg-status-strip div{display:flex;align-items:center;gap:10px}.rpg-status-strip span{color:#acd8e8;font-size:.82rem}.rpg-question{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(350px,1.1fr);gap:16px;align-items:center;padding:13px 15px}.rpg-question i{color:#91f4bd;font-size:.77rem;font-style:normal}.rpg-question h2{margin:4px 0 0;color:#fff;font-size:1rem}.command-choices{grid-template-columns:repeat(2,1fr)}.command-choices button{display:flex;align-items:center;gap:7px;text-align:left}.command-choices kbd{padding:2px 6px;border-radius:4px;background:#86eac2;color:#102b2d;font-weight:900}.text-answer-form{display:flex;gap:8px}.text-answer-form input{flex:1;min-width:0}.inventory-strip{border-top:1px solid rgba(118,227,200,.25)}.inventory-strip span{color:#8cf3d1;font-size:.75rem;letter-spacing:.08em}.inventory-strip b{font-size:.8rem;color:#f7eebc}.inventory-strip small{margin-left:auto;color:#a2c4d8}@media(max-width:760px){.room-setup-grid,.question-picker-list,.raid-level-cards,.rpg-question{grid-template-columns:1fr}.question-picker>b{float:none;display:inline-block;margin-bottom:10px}.v2-battle{padding-bottom:390px}.rpg-status-strip,.inventory-strip{align-items:flex-start;flex-wrap:wrap}.rpg-status-strip div{flex-wrap:wrap}.inventory-strip small{width:100%;margin-left:0}.command-choices{grid-template-columns:1fr}}.teacher-dashboard{padding:clamp(18px,3vw,34px);border:1px solid #c8deed;border-radius:20px;color:#1f3650;background:radial-gradient(circle at 92% 4%,rgba(107,210,184,.25),transparent 25%),radial-gradient(circle at 4% 94%,rgba(123,181,244,.2),transparent 29%),linear-gradient(145deg,#f8fcff,#edf7fb 55%,#f8fff7);box-shadow:0 18px 50px #2b5b7e29}.teacher-dashboard .page-heading{border-color:#d3e4ec}.teacher-dashboard .page-heading h1{margin:7px 0 4px;color:#23496d}.teacher-dashboard .page-heading p{margin:0;color:#64809a}.back-nav{width:fit-content;padding:0;border:0;background:transparent;color:#3976aa;font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.back-nav:hover{color:#1b507d}.teacher-dashboard .room-row{border:1px solid #c7ddea;border-radius:14px;background:#ffffffd1;box-shadow:0 7px 18px #2f63851a}.teacher-dashboard .room-row b{color:#213e5d}.teacher-dashboard .room-row span{color:#64809a}.teacher-dashboard .room-row em{color:#8a671d;font-weight:800}.teacher-dashboard .room-code{border-color:#fff4c2;box-shadow:inset 0 -4px #91620b24}.empty-rooms{display:grid;gap:5px;justify-items:center;padding:48px 20px;border:1px dashed #aacbde;border-radius:14px;color:#63819a;background:#ffffff94}.empty-rooms b{color:#315978}.room-delete-confirm{position:fixed;z-index:80;left:50%;bottom:24px;width:min(560px,calc(100vw - 30px));transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #f0b2ae;border-radius:16px;color:#542f36;background:snow;box-shadow:0 18px 45px #41252e40}.room-delete-confirm span{color:#b44d51;font-size:.78rem;font-weight:900;letter-spacing:.08em}.room-delete-confirm h2{margin:4px 0;color:#553340;font-size:1.12rem}.room-delete-confirm p{max-width:310px;margin:0;color:#7c6067;line-height:1.5}.teacher-create-room{color:#213e5d;border-color:#c5ddeb;background:radial-gradient(circle at 95% 3%,rgba(103,205,180,.23),transparent 26%),linear-gradient(145deg,#f7fcff,#eef7fb 55%,#fafff7);box-shadow:0 18px 50px #2b5b7e29}.create-room-back{grid-column:1 / -1;margin-bottom:-4px}.teacher-create-room label{color:#45657e}.teacher-create-room .field-hint{margin-top:-3px;color:#6c8aa0;font-size:.76rem;font-weight:600}.teacher-create-room input,.teacher-create-room select,.teacher-create-room textarea{border-color:#b9d2e2;background:#fff;color:#213e5d;box-shadow:inset 0 2px #41799f14}.teacher-create-room .option-row .check{border-color:#bdd4e3;background:#f6fbff;color:#365b77}.teacher-create-room .option-row .v2-switch{border-color:#80cdb5;background:#effcf7}.teacher-create-room .question-picker{border-color:#c7ddea;background:#ffffffbd}.teacher-create-room .question-picker h2{color:#274e70}.teacher-create-room .question-picker p{color:#66819a}.teacher-create-room .question-picker>b{background:#dff7a5;color:#315244}.deck-kicker{display:block;margin-bottom:5px;color:#417a9a;font-size:.72rem;font-weight:900;letter-spacing:.1em}.deck-flow{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.deck-flow>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:11px;border:1px solid #d1e3ed;border-radius:11px;background:#f9fdff}.deck-flow i{grid-row:span 2;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:#4d9ab9;font-style:normal;font-weight:900}.deck-flow strong{color:#315a78;font-size:.87rem}.deck-flow small{color:#7892a4;line-height:1.35;overflow-wrap:anywhere}.deck-level-title{margin:0;color:#315a78;font-size:.95rem}.question-preview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:16px 0 8px}.question-preview-heading h3{margin:0;color:#315a78;font-size:.95rem}.question-preview-heading span{color:#748ea1;font-size:.78rem;text-align:right}.teacher-create-room .raid-level-card{border-color:#c3d8e7;color:#315574;background:linear-gradient(145deg,#f9fcff,#e9f4fb)}.teacher-create-room .raid-level-card b{color:#805e18}.teacher-create-room .raid-level-card small{color:#66819a}.teacher-create-room .raid-level-card.selected{border-color:#67bfa8;background:linear-gradient(145deg,#e6fbf3,#d7f2eb);box-shadow:0 0 0 2px #5db89c2e}.teacher-create-room .question-pick-card{border-color:#d1e0eb;background:#fff}.teacher-create-room .question-pick-card strong{color:#294c6b}.teacher-create-room .question-pick-card small{color:#71899d}@media(max-width:760px){.teacher-dashboard{padding:18px}.room-delete-confirm{bottom:14px;align-items:stretch;flex-direction:column}.room-delete-confirm .cta-row{width:100%}.room-delete-confirm .pixel-btn{flex:1}.deck-flow{grid-template-columns:1fr}.question-preview-heading{align-items:flex-start;flex-direction:column;gap:3px}.question-preview-heading span{text-align:left}}
