.class-podium{color:#eef8ff;background:radial-gradient(at 50% 0,#49207180,#0000 65%),linear-gradient(145deg,#121c35,#0a1122);border:1px solid #37dcea70;border-radius:14px;min-width:0;margin:0 0 24px;padding:clamp(18px,3vw,30px);overflow:hidden;box-shadow:inset 0 0 28px #31dbe908,0 0 24px #1a85b20c}.class-podium-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-podium-kicker{color:#76f5ef;letter-spacing:.18em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.class-podium-heading h2{color:#f0f7ff;margin:8px 0}.class-podium-heading p,.class-podium-privacy{color:#b1c4dd;margin:0;font-size:12px;line-height:1.7}.class-podium-emblem{color:#ffe578;filter:drop-shadow(0 0 9px #ffd16c66);flex:none}.class-podium-stages{justify-content:center;align-items:end;gap:clamp(8px,2vw,24px);max-width:660px;margin:0 auto;padding:26px 0 0;list-style:none;display:flex}.class-podium-entry{--podium-light:#eacdff;text-align:center;width:31%;min-width:0;position:relative}.class-podium-place-1{--podium-light:#ffe578;order:2}.class-podium-place-2{--podium-light:#84edff;order:1}.class-podium-place-3{--podium-light:#f9aeef;order:3}.class-podium-badge{color:var(--podium-light);justify-content:center;align-items:center;gap:4px;margin-bottom:9px;font:800 15px ui-monospace,monospace;display:flex}.class-podium-place-1 .class-podium-badge{animation:4s ease-in-out infinite podium-crown-float}.class-podium-avatar{border:1px solid var(--podium-light);width:fit-content;box-shadow:0 0 22px color-mix(in srgb, var(--podium-light) 16%, transparent);background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;margin:auto;padding:7px;display:flex}.class-podium-avatar img{border:0;width:clamp(42px,7vw,64px);height:auto}.class-podium-identity{overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:3px;min-height:58px;padding:10px 0 8px;font-size:clamp(12px,1.6vw,16px);display:flex}.class-podium-you{color:#75fae1;font-size:11px}.class-podium-step{border:1px solid color-mix(in srgb, var(--podium-light) 65%, transparent);border-bottom:3px solid var(--podium-light);background:linear-gradient(color-mix(in srgb, var(--podium-light) 16%, transparent), #090f21aa);color:var(--podium-light);border-radius:8px 8px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100px;display:flex}.class-podium-step b{font:800 clamp(22px,4vw,34px) ui-monospace,monospace}.class-podium-step span{color:#d4e2f2;font-size:11px}.class-podium-place-1 .class-podium-step{height:130px}.class-podium-place-3 .class-podium-step{height:78px}.class-podium-own{color:#7df8df;background:#72f6df0c;border:1px solid #70fbe849;border-radius:9px;align-items:center;gap:12px;margin:20px 0 12px;padding:14px 18px;display:flex}.class-podium-own>div{flex-direction:column;gap:3px;display:flex}.class-podium-own span{font-size:12px}.class-podium-own strong{color:#effffa;font-size:20px}.class-podium-own .class-podium-own-score{text-align:right;margin-left:auto}.class-podium-own-score b{font:800 23px ui-monospace,monospace}.class-podium-privacy{font-size:11px}.class-podium--compact{margin:0;padding:18px}.class-podium--compact .class-podium-stages{flex-direction:column;align-items:stretch;gap:10px;padding-top:17px}.class-podium--compact .class-podium-entry{order:initial;align-items:center;gap:8px;width:100%;display:flex}.class-podium--compact .class-podium-badge{flex-direction:column;gap:0;margin:0;font-size:11px}.class-podium--compact .class-podium-avatar{flex-shrink:0;margin:0;padding:3px}.class-podium--compact .class-podium-avatar img{width:34px}.class-podium--compact .class-podium-identity{text-align:left;align-items:start;min-height:0;font-size:12px}.class-podium--compact .class-podium-step{background:0 0;border:0;flex-shrink:0;height:auto;margin-left:auto;padding:0}.class-podium--compact .class-podium-step b{font-size:20px}.class-podium--compact .class-podium-own{gap:8px;padding:10px}.class-podium--compact .class-podium-own strong{font-size:17px}@keyframes podium-crown-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.class-podium-place-1 .class-podium-badge{animation:none}}.student-access-control{background:#0c1d2df2;border:1px solid #296072;border-left:3px solid #58e7ed;border-radius:4px 18px 4px 4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:26px;padding:16px 20px;display:flex}.student-access-caption{flex:1;align-items:center;gap:13px;min-width:220px;display:flex}.student-access-caption b{color:#83eff6}.student-access-caption p{color:#b5c8df;overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.student-access-icon{color:#6ae5ec;display:flex}.student-access-control.is-paused{background:#2b2114;border-color:#d6ad65}.student-access-control.is-paused b,.student-access-control.is-paused .student-access-icon{color:#ffe09b}.student-access-control>.error{flex-basis:100%;margin:0}.student-access-note{color:#ffe4b9;background:#30271a;border-left:3px solid #ffcf80;margin:16px 0;padding:15px;line-height:1.7}.student-access-screen{background:radial-gradient(at top,#152a3f 0,#0000 65%),#080e1a;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;padding:36px 20px;display:flex}.access-brand{letter-spacing:3px;color:#85d7e5;text-align:center;font-size:12px;font-weight:800}.student-access-card{text-align:center;background:#101c2d;border:1px solid #457185;border-top:3px solid #6dedf6;border-radius:5px 30px 5px 5px;width:min(100%,600px);padding:42px;box-shadow:0 20px 70px #0005}.access-symbol{color:#73edf6;background:#163442;border:1px solid #5de8ef;border-radius:22px;place-items:center;width:84px;height:84px;margin:0 auto 28px;display:grid}.access-eyebrow{color:#a9becf;letter-spacing:3px;font-size:13px}.student-access-card h1{outline:none;margin:14px 0 24px;font-size:clamp(24px,4vw,34px);line-height:1.45}.student-access-card p{line-height:1.85}.access-class{border:1px solid #456078;border-radius:4px;padding:5px 14px;font-size:14px;display:inline-block}.access-screen-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.access-screen-actions button{min-height:46px}.access-footer{color:#9bafc1;text-align:center;font-size:13px}@media (width<=600px){.student-access-control{gap:12px;padding:14px}.student-access-control>button{justify-content:center;width:100%}.student-access-caption{flex-basis:100%;min-width:0}.student-access-card{padding:30px 20px}}:root{color:var(--text);font-synthesis:none;--ink:#06111d;--muted:#a6bad1;--gold:#ffe16a;--purple:#bd9bff;--line:#2b435b;--card:#101c30;--green:#64efba;--pink:#ff84cf;--cyan:#64edff;--magenta:#fa69da;--surface:#101c30;--surface-raised:#172740;--surface-deep:#080f1d;--text:#edf7ff;--focus:#8ff3ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#070c18;font-family:PingFang HK,Noto Sans TC,system-ui,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{background-color:#070c18;background-image:radial-gradient(at 90% 0,#b025b91a,#0000 45%),radial-gradient(at 15% 45%,#00c9ee0b,#0000 50%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,.button{min-height:42px;color:var(--text);cursor:pointer;background:#15263c;border:1px solid #3a5672;border-radius:4px 12px 4px 4px;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-size:14px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--cyan);background:#213e57;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.button.primary{background:var(--cyan);color:var(--ink);border:1px solid #98f5ff;box-shadow:0 0 18px #48dff41f,inset 0 -3px #073c4b33}button.primary:hover:not(:disabled),.button.primary:hover{background:#b8f8ff}button.dark,.button.dark{color:var(--cyan);background:#10283e;border:1px solid #5acbdb}.large{min-height:52px;padding:12px 23px;font-size:16px}.primary span{margin-left:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}input,select,textarea{color:var(--text);background:#080f1d;border:1px solid #44617c;border-radius:5px;width:100%;min-width:0;max-width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--cyan)}label{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.checkbox{flex-direction:row;align-items:center;gap:8px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:9px;font-size:32px;line-height:1.3}h2{letter-spacing:-.5px;margin-bottom:12px;font-size:20px}h3{margin-bottom:8px;font-size:16px}p{margin-bottom:14px}small,.small{font-size:12px}small{color:inherit}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.muted{color:var(--muted)}.grow{flex:1;min-width:0}.full{width:100%}.row{align-items:center;gap:10px;min-width:0;display:flex}.row input{max-width:135px}.row .grow input{max-width:100%}.spread{justify-content:space-between}.center{justify-content:center}.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:17px;display:flex}.error,.text-danger{color:#ffb9c6}.error{overflow-wrap:anywhere;background:#401e35;border:1px solid #ab526f;border-radius:4px;padding:12px}.danger{color:#fff2f5;background:#702746;border-color:#f587a1}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--gold);color:var(--ink);z-index:200;padding:14px;position:fixed;top:-100px;left:10px}.skip-link:focus{top:10px}.eyebrow{color:var(--cyan);letter-spacing:2.4px;margin-bottom:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.pill,.mini-tag{border-radius:4px;align-items:center;gap:7px;padding:5px 12px;font-size:11px;font-weight:650;display:inline-flex}.pill{border:1px solid}.mini-tag{color:var(--text);background:#070d1dc9;border:1px solid #65809b}.title-star{color:var(--gold);margin-left:14px;font-size:24px;display:inline-block}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-title p{color:var(--muted);margin:0;font-size:13px}.app-shell{position:relative}.ambient-three{pointer-events:none;opacity:.27;z-index:0;position:fixed;inset:0}.sidebar{z-index:30;background:linear-gradient(#080f1f,#0b1023);border-right:1px solid #28576c;flex-direction:column;width:228px;padding:30px 18px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{align-items:center;gap:10px;margin-bottom:43px;display:flex}.brand-icon{background:var(--cyan);width:40px;height:43px;color:var(--ink);border:1px solid #adf7ff;border-radius:3px 11px 3px 3px;place-items:center;font-size:29px;display:grid;box-shadow:0 0 20px #64edff2b}.brand b{letter-spacing:-1px;font-size:17px;display:block}.brand small{letter-spacing:2px;color:#84afc8;font-size:8px;font-weight:800}.sidebar-label{letter-spacing:2px;color:#8cacc4;margin-bottom:13px;padding:0 13px;font-size:10px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav a{color:#b6cada;border:1px solid #0000;border-radius:3px 10px 3px 3px;align-items:center;gap:13px;padding:13px 14px;font-size:13px;display:flex}.sidebar nav a span{opacity:0;margin-left:auto}.sidebar nav a.active{color:var(--cyan);box-shadow:inset 3px 0 0 var(--cyan), 0 0 18px #15c8e20d;background:linear-gradient(90deg,#123e52,#11283e);border-color:#377d94;font-weight:750}.sidebar nav a.active span{opacity:1}.sidebar nav a:hover{color:#fff;background:#193348}.sidebar-bottom{text-align:center;margin-top:auto;margin-top:max(30px, auto);background:linear-gradient(145deg,#172338,#0b1323);border:1px solid #354a67;border-radius:4px 18px 4px 4px;padding:20px 10px}.sidebar-bottom img{object-fit:contain;height:62px;margin:-6px auto 6px;display:block}.sidebar-bottom b{font-size:13px}.sidebar-bottom p{color:var(--muted);margin:5px 0 10px;font-size:11px}.sidebar-bottom span{letter-spacing:1.2px;color:#91abc5;font-size:7px}.main-shell{z-index:1;margin-left:228px;position:relative}.topbar{background:#091322f5;border-bottom:1px solid #244c62;justify-content:space-between;align-items:center;gap:20px;height:78px;padding:0 36px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions button{background:0 0;border:1px solid #34546d;min-height:36px;padding:8px}.class-switcher{align-items:center;gap:16px;min-width:0;display:flex}.class-switcher select{background:#111f33;border:1px solid #41617a;max-width:230px;font-size:13px}.live-dot{color:var(--green);white-space:nowrap;font-size:10px}.live-dot:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.account{border-left:1px solid var(--line);padding:0 12px;font-size:12px}.account small{color:var(--muted);font-size:9px;display:block}.menu-button{display:none}#main{outline:none;max-width:1650px;margin:auto;padding:32px 36px 10px}.panel{background:linear-gradient(135deg,#111e32f5,#10192af5);border:1px solid #30465f;border-radius:4px 20px 4px 4px;min-width:0;margin-bottom:22px;padding:23px;box-shadow:inset 0 1px #8cddff0b,0 10px 30px #0000001a}.panel h2{font-size:17px}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:15px;padding:35px 15px;display:flex}.empty p{max-width:500px}.empty a{color:var(--gold);text-decoration:underline}.welcome-banner{color:var(--text);min-height:220px;box-shadow:inset 3px 0 0 var(--cyan), 0 0 35px #38bff511;background-color:#0000;background-image:linear-gradient(115deg,#102d41ed,#171e36ed 58%,#361b42ed),linear-gradient(#65efff13 1px,#0000 1px),linear-gradient(90deg,#65efff13 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:auto,24px 24px,24px 24px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #429bb0;border-radius:4px 28px 4px 4px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px;padding:29px 35px;display:flex;position:relative;overflow:hidden}.welcome-banner:after{content:"✦";color:#fd78dc15;pointer-events:none;font-size:220px;position:absolute;top:-32px;right:260px}.welcome-banner .pill{color:var(--cyan);background:#071628a6;border-color:#62afc3;margin-bottom:12px;font-size:10px}.welcome-banner h2{letter-spacing:-1px;z-index:1;margin-bottom:8px;font-size:29px;position:relative}.welcome-banner p{color:#bfd4e5;font-size:13px}.banner-art{flex-direction:column;flex-shrink:0;align-items:center;width:215px;display:flex;position:relative}.banner-art svg{transform:rotate(8deg)}.floating-star{color:var(--magenta);font-size:40px;position:absolute;top:0;left:0}.mascot-label{letter-spacing:2px;color:var(--cyan);background:#112839;border:1px solid #56ccdf;border-radius:2px;padding:3px 10px;font-size:9px;font-weight:800;transform:rotate(-7deg);box-shadow:0 0 14px #64edff26}.join-code{flex-direction:column;padding-left:8px;font-size:10px;display:flex}.join-code b{letter-spacing:2px;font-size:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:25px 0;display:grid}.stat{background:linear-gradient(135deg,#142438,#101a2c);border:1px solid #36516b;border-radius:4px 16px 4px 4px;align-items:center;gap:13px;padding:18px;display:flex;position:relative;overflow:hidden}.stat-icon{width:45px;height:46px;color:var(--ink);background:var(--accent);border:1px solid #ffffff60;border-radius:3px 10px 3px 3px;flex-shrink:0;place-items:center;display:grid}.yellow{--accent:#ffe16a}.purple{--accent:#ba9aff}.pink{--accent:#ff84cf}.green{--accent:#64efba}.blue{--accent:#64edff}.stat small{color:#b6c9db;font-size:12px;display:block}.stat strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1.5}.stat strong span{margin-left:5px;font-size:11px}.stat-decoration{opacity:.25;color:var(--accent);position:absolute;top:7px;right:8px}.home-columns{grid-template-columns:1.15fr 1fr;gap:22px;display:grid}.leader-row{border-top:1px solid #34485b80;align-items:center;gap:12px;padding:11px 0;font-size:12px;display:flex}.leader-row .grow small{color:var(--muted);font-size:10px;display:block}.leader-row strong{color:var(--gold);font-size:16px}.leader-row strong small{color:var(--muted);font-size:9px}.rank{color:#988ea9;min-width:23px;font-size:13px;font-weight:800}.rank-0{color:var(--gold)}.rank-1{color:#d1bddf}.rank-2{color:#deaf97}.avatar{object-fit:contain;border-radius:13px;flex-shrink:0}.text-link{color:var(--cyan);align-items:center;font-size:11px;display:flex}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;margin-bottom:20px;padding:14px 0 20px;display:flex}.setting-row p{margin:5px 0 0}.setting-row b{font-size:14px}.switch{border-radius:30px;min-width:81px;padding:7px 12px;font-size:11px}.switch.on{color:#062b27;background:var(--green);border-color:#98ffda}.management-links{flex-direction:column;gap:10px;display:flex}.management-links a,.management-links button{background:#112136;border:1px solid #38516c;border-radius:4px 10px 4px 4px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:12px;display:flex}.management-links a svg:last-child,.management-links button svg:last-child{margin-left:auto}.note{border-left:3px solid var(--cyan);color:#c0d8e7;background:#12283b;margin-top:18px;padding:12px 14px;font-size:12px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:12px 0 19px;display:flex}.section-heading h2{margin:0;font-size:23px}.destination-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:17px;margin-bottom:28px;display:grid}.destination{border:1px solid var(--accent);box-shadow:0 7px 20px #0002, inset 0 3px 0 var(--accent);color:var(--text);background:linear-gradient(145deg,#18283e,#0c1425);border-radius:4px 22px 4px 4px;padding:17px;transition:transform .2s;position:relative;overflow:hidden}.destination:hover{transform:translateY(-5px)}.destination img{filter:drop-shadow(0 0 12px #64edff22);max-width:100%;margin:13px auto 8px;display:block}.destination h3{margin:10px 0 5px;font-size:17px}.destination p{color:#b8cbdc;margin:0;font-size:12px}.page-footer{border-top:1px solid var(--line);color:#96acc3;justify-content:space-between;gap:10px;margin-top:30px;padding:20px 0;font-size:10px;display:flex}.numbers{align-items:center;gap:7px;display:flex}.numbers>span{white-space:nowrap;background:#050d1a99;border-radius:4px;align-items:center;gap:4px;padding:5px 8px;font-size:13px;display:flex}.numbers small{font-size:9px}.numbers .point{color:var(--green)}.numbers .coin{color:var(--gold)}.numbers .score{color:var(--pink)}.welcome-banner .numbers>span{color:#d8f6ff;background:#071828;border:1px solid #315870}.player-strip{background:linear-gradient(90deg,#113045,#141e32);border:1px solid #417887;border-radius:4px 14px 4px 4px;align-items:center;gap:13px;margin-bottom:22px;padding:14px 18px;display:flex}.player-strip>div:nth-child(2){flex:1;min-width:0}.player-strip small{color:#b2cddd;font-size:10px;display:block}.player-strip .numbers small{color:inherit;display:inline}.player-strip select{max-width:280px;padding:6px 10px;font-size:13px}.player-strip strong small{display:inline}.convert p{font-size:13px}.convert .row{flex-wrap:wrap}.convert input{max-width:80px}.convert small{color:var(--muted)}.avatar-picker{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.avatar-picker button{background:0 0;border-color:#0000;padding:4px}.avatar-picker button.chosen{border-color:var(--cyan);background:#173c52}.comparison{max-height:520px;overflow-y:auto}.chart-row{grid-template-columns:100px 1fr 30px;align-items:center;gap:15px;padding:8px;font-size:11px;display:grid}.chart-row.me{background:#58446770;border-radius:8px}.bar-track{background:#393044;border-radius:3px;height:15px;overflow:hidden}.bar-track div{background:#847194;border-radius:3px;min-width:2px;height:100%}.me .bar-track div{background:#edc468}.visually-muted{color:#aa9bb9;max-width:250px;margin-top:15px}.visually-muted label{font-size:10px}.table-scroll{border:1px solid var(--line);border-radius:4px;max-height:340px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;color:#c9f4ff;background:#18304a;border-bottom:1px solid #30465c;padding:10px 12px}th{background:#32283f;position:sticky;top:0}td input{min-width:85px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:120;background:#020611da;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#111e31;border:1px solid #4c91a6;border-radius:4px 22px 4px 4px;width:100%;max-width:700px;max-height:90vh;padding:27px;overflow:auto;box-shadow:0 0 0 1px #64edff0d,0 20px 90px #00000080}.modal h2{margin:0}.modal>.row{margin-bottom:20px}.modal>p{color:#c7d8e8;font-size:14px}.toast{z-index:110;color:#ecfbff;background:#122e3f;border:1px solid #71dae8;border-radius:4px 14px 4px 4px;align-items:center;gap:12px;max-width:min(750px,100vw - 30px);padding:14px 20px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0005}.toast svg{flex-shrink:0}.toast button{color:#ecfbff;background:0 0;border:0;min-height:25px;padding:4px}.sync-error{background:#3e2135;border:1px solid #da7b9b;border-radius:4px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:12px;font-size:12px;display:flex}.temporary{letter-spacing:3px;text-align:center;color:var(--cyan);background:#060e1b;margin-bottom:20px;padding:25px;font-size:32px;display:block}.seating-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.seating-toolbar label{flex-direction:row;align-items:center}.seating-toolbar select{width:62px}.purple-button{color:#110924;background:#b394ff;border-color:#d9caff}.seating-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px;display:grid}.classroom-floor{padding:20px 17px}.blackboard{color:#c7faff;text-align:center;letter-spacing:12px;background:linear-gradient(100deg,#092d39,#103041);border:1px solid #3fcbdf;border-radius:3px;margin-bottom:20px;padding:12px;font-size:18px;box-shadow:inset 0 0 25px #64edff0d}.blackboard span{letter-spacing:2px;color:#91d4de;margin-top:4px;font-size:9px;display:block}.seat-grid{gap:10px;display:grid}.seat{background:#122338;border:1px solid #486582;border-radius:5px;min-width:0;position:relative}.seat.selected{border-color:var(--cyan);box-shadow:0 0 0 2px #64edff80,0 0 20px #64edff20}.seat-body{width:100%;min-height:148px;color:var(--text);background:0 0;border:0;border-radius:12px;flex-direction:column;gap:4px;padding:12px 4px 5px;display:flex}.seat-body:hover:not(:disabled){background:#1a3b50;transform:none}.seat-body b{overflow-wrap:anywhere;font-size:12px}.seat-body small{color:#adc7dc;font-size:9px}.seat-no{color:#9bb5cd;font-size:8px;position:absolute;top:4px;left:7px}.seat-body .avatar{width:34px;height:34px}.seat-body .numbers{flex-wrap:wrap;justify-content:center;gap:3px}.seat-body .numbers>span{gap:1px;padding:2px 4px;font-size:10px}.seat-body .numbers svg{width:10px;height:10px}.seat-body .numbers small{display:none}.seat-actions{border-top:1px solid var(--line);display:flex}.seat-actions button{background:#0b192b;border:0;border-radius:0 0 10px 10px;flex:1;min-height:28px;padding:4px 1px;font-size:10px}.seat-actions button:first-child{border-right:1px solid var(--line);color:#a3dfb4}.seat-actions button:last-child{color:#eca9b9}.group-label{border:1px solid var(--group);color:var(--group);border-radius:3px;padding:1px 5px;font-size:8px}.group-0{--group:#b3a4bb}.group-1{--group:#eda4b6}.group-2{--group:#ecbb78}.group-3{--group:#dfd381}.group-4{--group:#99d4b3}.group-5{--group:#8acbdb}.group-6{--group:#9cb3ef}.group-7{--group:#c6a7ec}.group-8{--group:#e5a7db}.vacant{background:#0a1425;border:1px dashed #476682}.vacant .seat-body{color:#97b0c7;justify-content:center;height:100%;min-height:184px}.quick-circle{z-index:5;gap:4px;display:flex;position:absolute;top:-15px;right:-5px}.quick-circle button{color:#261b31;background:#ffd56d;border:2px solid #28172f;border-radius:50%;width:28px;height:28px;min-height:28px;padding:4px}.quick-circle button:last-child{background:#dabced}.unseated{border:1px dashed #608da6;border-radius:4px;min-height:110px;margin-top:23px;padding:15px}.unseated h3{margin:0;font-size:12px}.unseated button{padding:5px 9px;font-size:10px}.selected-profile{text-align:center;padding:15px 0}.selected-profile h3{margin:5px 0 0}.selected-profile p{color:var(--muted);margin:3px 0 10px;font-size:10px}.selected-profile .numbers{flex-wrap:wrap;justify-content:center}.selected-profile .numbers small{font-size:8px}.seating-sidebar .panel{padding:17px}.seating-sidebar .row{margin-top:12px}.seating-sidebar .row input{max-width:72px}.seating-sidebar .row button{padding:8px 9px;font-size:11px}.seating-sidebar .convert{border-top:1px solid var(--line);margin:17px 0;padding-top:15px}.stars{color:#5c4663;gap:3px;font-size:20px;display:flex}.stars .lit{color:var(--gold)}progress{width:100%;height:8px;accent-color:var(--cyan);background:#24394e;border:none;border-radius:8px;overflow:hidden}progress::-webkit-progress-bar{background:#24394e}progress::-webkit-progress-value{background:linear-gradient(90deg,#27bfdc,#83efff);border-radius:8px}.groups-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:20px;display:grid}.group-card{border:1px solid var(--group);border-top:5px solid var(--group);background:#101f31;border-radius:4px 14px 4px 4px;padding:15px}.group-card h3{color:var(--group)}.group-card small{font-size:9px}.group-card p{color:#bfd2e1;min-height:36px;font-size:11px}.group-card button{min-height:32px;padding:5px 8px;font-size:10px}.placing-hint{color:var(--gold);display:block}.projection .sidebar{display:none}.projection .main-shell{margin-left:0}.projection #main{max-width:1900px}.projection .seat-body b{font-size:19px}.projection .seat-body small{font-size:13px}.projection .seat-body .avatar{width:47px;height:47px}.projection .seat-body .numbers>span{font-size:16px}.projection .seat-body .numbers svg{width:15px;height:15px}.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:22px;display:grid}.game-stage{padding:16px;overflow:hidden}.game-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:23px 0 10px;display:flex}.game-controls>small{text-align:center;width:100%;color:var(--muted);font-size:11px}.price-tag{border:1px solid #4b382955;border-radius:4px;padding:2px 7px;font-size:10px}.result-banner{text-align:center;color:#e0ffff;background:linear-gradient(110deg,#143b43,#202445);border:1px solid #64c5bc;border-radius:4px 18px 4px 4px;margin-top:20px;padding:17px}.result-banner span{letter-spacing:1px;font-size:10px}.result-banner h3{margin:5px 0;font-size:19px}.result-banner p{margin:0;font-size:11px}.odds-list{margin:14px 0;padding:0;list-style:none}.odds-list li{border-bottom:1px solid #54415e55;justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;display:flex}.rules-list{padding-left:19px;font-size:12px;line-height:1.9}.game-layout aside .panel p{font-size:12px}.history-row{overflow-wrap:anywhere;border-bottom:1px solid #50405a55;justify-content:space-between;gap:15px;padding:11px 0;font-size:12px;display:flex}.history-row small{color:var(--muted);font-size:10px}.compact{gap:7px}.pusher-canvas{aspect-ratio:960/520;background:#090f20;border:1px solid #4d8c9e;border-radius:4px;width:100%;position:relative;overflow:hidden}.pusher-canvas canvas,.pet-canvas canvas{max-width:100%;margin:0!important;display:block!important}.wheel-stage{aspect-ratio:1/1.1;place-items:start center;width:min(430px,100%);height:auto;margin:13px auto 0;padding-top:20px;display:grid;position:relative}.wheel{aspect-ratio:1;z-index:2;background:conic-gradient(#ed9ac9 0deg 45deg,#b29ce8 45deg 90deg,#99d5bc 90deg 135deg,#adc0e5 135deg 180deg,#edbb78 180deg 225deg,#9ed2d9 225deg 270deg,#d8aadf 270deg 315deg,#b8b6c8 315deg 360deg);border:12px solid #efbd58;border-radius:50%;width:90%;position:relative;box-shadow:0 0 0 4px #291c36,0 0 0 8px #ba92d6,0 10px 0 8px #100b1a}.wheel-label{color:#2b1f3e;justify-content:center;padding-top:17px;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.wheel-label span{writing-mode:vertical-rl;letter-spacing:2px;max-height:30%}.wheel-pointer{z-index:5;color:#ffda76;filter:drop-shadow(2px 3px #26182e);font-size:40px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.wheel-hub{z-index:4;color:#433055;letter-spacing:.5px;white-space:nowrap;background:#ffedc5;border:5px solid #2c1c3b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:85px;height:85px;font-size:10px;font-weight:900;display:flex;position:absolute;top:calc(50% - 10px);left:50%;transform:translate(-50%,-50%)}.wheel-hub span{color:#a16cbc;font-size:23px;line-height:1}.wheel-stand{z-index:0;background:#9375b7;border:4px solid #23152f;border-radius:35% 35% 10px 10px;width:48%;height:30%;position:absolute;bottom:0}.board-grid{background:#070f20;border:2px solid #5bcddd;border-radius:5px;grid-template-rows:repeat(6,minmax(67px,1fr));grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:10px;display:grid}.board-tile{color:#e5f4ff;text-align:center;background:#25334f;border:1px solid #567a9b;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:5px 3px;display:flex;position:relative}.board-tile small{opacity:.6;font-size:8px}.board-tile b{overflow-wrap:anywhere;font-size:9px}.board-tile.special{border-color:var(--magenta);background:#402b59}.board-tile.landed{box-shadow:0 0 0 2px var(--cyan), 0 0 14px #64edff80;background:#155b65}.pawn{color:#ffe16a;text-shadow:0 0 10px #ffe16a,1px 2px #090f1f;font-size:22px;position:absolute;bottom:0}.board-center{text-align:center;background:radial-gradient(at top,#173f55,#12162c);border-radius:4px;flex-direction:column;grid-area:2/2/6/8;justify-content:center;align-items:center;padding:12px;display:flex}.board-center h2{font-size:18px}.board-center p{color:var(--muted);margin:8px 0;font-size:11px}.dice-row{gap:13px;display:flex}.dice{color:#fbe8bf;font-family:serif;font-size:57px;line-height:1}.pity-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.pity-grid>div{text-align:center;background:#122238;border:1px solid #415c7c;border-radius:4px;padding:9px 6px}.pity-grid b{font-size:14px;display:block}.pity-grid small{color:var(--muted);font-size:9px;display:block}.rarity{border:1px solid;border-radius:5px;padding:2px 7px;font-size:10px}.rarity-0{color:#c1bbc9}.rarity-1{color:#93d9b1}.rarity-2{color:#9acaf6}.rarity-3{color:#d8a2f4}.rarity-4{color:#fbe181}.pet-world-layout{grid-template-columns:minmax(0,1fr) 290px;gap:22px;display:grid}.pet-canvas{aspect-ratio:768/432;width:100%;image-rendering:pixelated;background:#527955;border:3px solid #3b94a7;border-radius:4px;position:relative;overflow:hidden}.pet-world-panel{padding:17px}.pet-world-panel .pill{font-size:9px}.pet-selector{flex-wrap:wrap;gap:7px;display:flex}.pet-selector button{min-height:33px;padding:5px 10px;font-size:11px}.pet-selector button.active,button.active{color:var(--cyan);background:#153c55;border-color:#69dbea}.pet-portrait{align-items:center;gap:12px;margin-bottom:18px;display:flex}.pet-portrait img{width:82px;height:82px;image-rendering:pixelated;background:#1c314b;border-radius:5px}.pet-portrait h3{margin:5px 0}.pet-portrait b{color:var(--purple);font-size:11px}.pet-stats{flex-direction:column;gap:10px;margin:20px 0;display:flex}.pet-stats label{gap:4px}.pet-stats span{justify-content:space-between;font-size:11px;display:flex}.pet-stats b{color:var(--muted);font-size:10px}.care-buttons{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px;display:grid}.care-buttons button{padding:9px 7px;font-size:11px}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;display:grid}.pet-card{text-align:center;background:#101e32;border:1px solid #3c5976;border-radius:4px 16px 4px 4px;flex-direction:column;align-items:center;padding:13px;display:flex}.pet-card.locked{background:#0c1423;border-style:dashed}.pet-card.locked img{opacity:.45}.pet-card img{width:82px;height:82px;image-rendering:pixelated;margin:10px 0}.pet-card h3{font-size:13px}.pet-card p{color:var(--muted);min-height:44px;font-size:10px}.pet-card small{font-size:10px}.pet-card label{margin-top:12px;font-size:10px}.hatch-panel{text-align:center;background:radial-gradient(at 50% 30%,#213c5c,#101929 70%);padding:28px}.egg-stage{justify-content:center;align-items:center;height:210px;display:flex;position:relative}.egg{z-index:1;background:#f3e8c4;border:4px solid #392441;border-radius:50% 50% 45% 45%/65% 65% 40% 40%;width:128px;height:163px;position:relative;transform:rotate(-8deg);box-shadow:inset -14px -10px #cab1ce}.egg span{color:#a981d0;font-size:55px;position:absolute;top:37px;left:33px}.egg i{background:#d1a2da;border-radius:50%;width:15px;height:20px;position:absolute;bottom:30px;left:15px;transform:rotate(-25deg)}.egg i:nth-child(3){bottom:55px;left:86px}.egg i:nth-child(4){width:10px;height:15px;bottom:15px;left:58px}.egg-shadow{background:#0c071e80;border-radius:50%;width:150px;height:23px;position:absolute;bottom:9px}.daily-strip{flex-wrap:wrap;justify-content:center;gap:10px;margin:13px 0 20px;display:flex}.daily-strip span{background:#122a3f;border:1px solid #42718a;border-radius:3px;padding:6px 11px;font-size:11px}.hatch-panel>p{font-size:12px}.admin-panel summary{cursor:pointer;color:#cae6f6;font-size:13px;font-weight:700}.admin-panel[open] summary{margin-bottom:22px}.admin-panel label{min-width:100px}.admin-panel .checkbox{min-width:unset}.admin-panel .row input[type=number]{max-width:130px}.audit-list{max-height:300px;margin-top:18px;overflow:auto}.audit-list .history-row{flex-wrap:wrap}.audit-list small{word-break:break-all}.machine-three{pointer-events:none;width:100%;height:380px;position:relative}.machine-three canvas{max-width:100%;display:block}.machine-fallback{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.machine-fallback img{width:230px;max-width:80%;height:260px}.machine-fallback span{color:var(--muted);font-size:10px}.capsule-panel{text-align:center;background:radial-gradient(at 50% 35%,#263b61,#101929 72%)}.capsule-panel>p{margin-top:16px}.coupon-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.coupon-card{border:1px dashed #6e85b5;border-left:5px solid var(--purple);background:linear-gradient(120deg,#12253a,#191b34);border-radius:4px 15px 4px 4px;padding:19px}.coupon-card h3{margin-top:14px}.coupon-card p{color:#bdcfe0;font-size:12px}.coupon-card b{font-size:12px}.coupon-card small{font-size:10px}.coupon-card.rarity-border-4{border-color:#f5d585}.auth-shell{grid-template-columns:1fr 480px;align-items:center;gap:70px;max-width:1400px;min-height:100vh;margin:auto;padding:70px max(5vw,30px);display:grid}.auth-story{padding:25px 20px}.brand-mark{letter-spacing:3px;color:var(--cyan);margin-bottom:40px;font-size:13px;font-weight:800}.auth-story h1{letter-spacing:-2px;font-size:clamp(34px,4vw,60px);line-height:1.45}.auth-story h1 span{color:var(--cyan);position:relative}.auth-story p{color:var(--muted);font-size:15px;line-height:1.9}.auth-mascot{text-align:center;background:radial-gradient(#15daee16,#0000 65%);max-width:420px;margin:10px 0 20px;position:relative}.auth-mascot svg{transform:rotate(-8deg)}.speech{color:var(--pink);background:#1d2c4c;border:1px solid #ab68bd;border-radius:3px 14px 3px 3px;padding:8px 13px;font-size:13px;position:absolute;top:35px;right:0;transform:rotate(7deg);box-shadow:0 0 16px #fa69da15}.chips{flex-wrap:wrap;gap:12px;display:flex}.chips span{color:#bcdaea;border:1px solid #416477;border-radius:3px;padding:7px 12px;font-size:11px}.auth-card{box-shadow:inset 3px 0 0 var(--cyan), 0 20px 80px #00000035;background:linear-gradient(140deg,#13273b,#10182b);border:1px solid #487f94;border-radius:4px 26px 4px 4px;padding:36px}.auth-card h2{margin:15px 0;font-size:26px}.auth-card>p{color:var(--muted);font-size:12px}.tabs{background:#091526;border:1px solid #35556e;border-radius:4px;gap:5px;margin:25px 0;padding:5px;display:flex}.tabs button{color:#b2cadc;background:0 0;border:0;flex:1;font-size:13px}.tabs button.active{color:var(--cyan);box-shadow:inset 0 -2px 0 var(--cyan);background:#153e52}.auth-card footer{border-top:1px solid var(--line);color:#a4bdd2;margin-top:28px;padding-top:20px;font-size:10px}.auth-card .stack small{color:var(--muted)}.auth-card .muted{margin-top:20px}.auth-shell .error{font-size:12px}.auth-card .primary{font-size:14px}.auth-card .form-grid{grid-template-columns:1fr 1fr}.fatal{text-align:center;padding:50px}.picking .seat{animation:.8s ease-in-out selection}.hatching .egg,.bouncing img{animation:.3s infinite alternate wiggle}.rolling{animation:.16s infinite alternate wiggle}@keyframes wiggle{0%{transform:rotate(-12deg)translateY(-2px)}to{transform:rotate(12deg)translateY(2px)}}@keyframes selection{50%{border-color:#ffe28a;box-shadow:0 0 12px #f6d67555}}@media (width>=1600px){.seat-body b{font-size:14px}.seat-body .avatar{width:45px;height:45px}.seat-body .numbers>span{font-size:12px}}@media (width<=1200px){.sidebar{width:202px;padding:25px 13px}.main-shell{margin-left:202px}#main{padding:25px 24px 10px}.topbar{padding:0 24px}.brand b{font-size:15px}.brand-icon{width:34px;height:37px}.seating-layout{grid-template-columns:minmax(0,1fr) 235px}.seat-grid{gap:6px}.classroom-floor{padding:14px 10px}.seat-body .avatar{width:29px;height:29px}.seat-body b{font-size:10px}.seat-body small{font-size:8px}.seat-body .numbers>span{padding:1px 2px;font-size:9px}.seat-body .numbers svg{width:8px}.stats-grid{gap:10px}.stat{gap:10px;padding:13px}.stat-icon{width:36px;height:38px}.stat strong{font-size:22px}.game-layout,.pet-world-layout{grid-template-columns:minmax(0,1fr) 260px}.board-grid{grid-template-rows:repeat(6,minmax(58px,1fr));gap:4px;padding:6px}.board-center h2{font-size:15px}.board-center img{height:60px}.board-tile b{font-size:8px}.groups-grid{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr 420px;gap:35px}.auth-card{padding:28px}.pet-world-layout{grid-template-columns:1fr}.pet-world-layout>.panel:last-child{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pet-world-layout>.panel:last-child h2{grid-column:1/-1}.pet-world-layout>.panel:last-child .pet-stats,.pet-world-layout>.panel:last-child .muted{margin:0}}@media (width<=960px){.home-columns{grid-template-columns:1fr}.sidebar{width:182px}.main-shell{margin-left:182px}.sidebar nav a{gap:9px;padding:11px 9px;font-size:11px}.sidebar nav a svg{width:18px}.sidebar-bottom{padding:12px 8px}.brand b{font-size:13px}.brand small{font-size:6px}.topbar{padding:0 18px}.topbar .live-dot{display:none}.account{padding:0 3px}.stats-grid{grid-template-columns:repeat(2,1fr)}.welcome-banner{padding:25px}.welcome-banner h2{font-size:25px}.banner-art{width:135px}.banner-art svg{width:125px}.game-layout{grid-template-columns:1fr}.game-layout>aside{grid-template-columns:1fr 1fr;gap:20px;display:grid}.seating-layout{grid-template-columns:1fr}.seating-sidebar{grid-template-columns:1fr 1fr;gap:18px;display:grid}.seating-sidebar .panel{margin:0 0 22px}.seat-body{min-height:155px}.seat-body .avatar{width:38px;height:38px}.seat-body b{font-size:12px}.seat-body .numbers>span{font-size:11px}.seat-body small{font-size:9px}.vacant .seat-body{min-height:182px}.seating-toolbar{flex-wrap:wrap;gap:10px}.auth-shell{grid-template-columns:1fr;gap:15px;max-width:570px;padding-top:30px}.auth-story{padding:0 10px}.auth-story .brand-mark{margin-bottom:16px}.auth-story h1{font-size:34px}.auth-story p,.auth-mascot,.chips{display:none}.auth-card{margin-bottom:25px}.auth-story h1 br,.section-heading>.small{display:none}}@media (width<=700px){.sidebar{width:225px;padding-top:20px;transition:transform .2s;top:62px;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:30px 0 0 100vw #020812cc}.sidebar .brand{margin-bottom:25px}.main-shell{margin-left:0}.topbar{z-index:40;background:#091322f5;gap:8px;height:62px;padding:0 12px;position:sticky;top:0}.menu-button{min-height:34px;padding:6px;display:flex}.topbar-actions{gap:6px}.topbar-actions button{min-height:32px;padding:6px}.topbar-actions svg{width:16px}.account{display:none}.class-switcher{flex:1}.class-switcher select{width:100%;max-width:100%;padding:7px;font-size:11px}.class-switcher label{width:100%}.class-switcher b{font-size:12px}.topbar-actions button{border:0}#main{padding:22px 14px 5px}.page-title{flex-wrap:wrap;align-items:flex-start;gap:13px;margin-bottom:20px}h1{font-size:26px}.page-title p{font-size:11px;line-height:1.8}.page-title>.primary,.page-title>button{padding:8px 12px;font-size:11px}.eyebrow{letter-spacing:1.5px;margin-bottom:8px;font-size:8px}.welcome-banner{align-items:flex-start;min-height:230px;padding:22px 20px}.welcome-banner h2{max-width:225px;font-size:23px}.welcome-banner p{max-width:230px;font-size:11px}.welcome-banner .pill{font-size:8px}.banner-art{opacity:.95;width:103px;position:absolute;bottom:7px;right:3px}.banner-art svg{width:96px;height:100px}.banner-art .floating-star{font-size:20px;top:-5px;left:0}.mascot-label{letter-spacing:1px;padding:3px 5px;font-size:5px}.welcome-banner .row{flex-wrap:wrap;max-width:230px}.welcome-banner .button{padding:9px;font-size:11px}.join-code{font-size:8px}.join-code b{font-size:10px}.stat{border-radius:12px;gap:10px;padding:12px}.stat strong{font-size:23px}.stat small{font-size:9px}.stat-icon{width:36px;height:37px}.stats-grid{margin:20px 0}.home-columns{gap:0}.panel{border-radius:4px 16px 4px 4px;margin-bottom:18px;padding:17px}.panel h2{font-size:16px}.section-heading h2{font-size:20px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.destination{padding:12px}.destination h3{font-size:15px}.destination p{font-size:9px}.destination .mini-tag{padding:3px 7px;font-size:9px}.destination img{width:100px;height:81px;margin:9px auto}.destination .row svg{width:17px}.page-footer{flex-direction:column;gap:6px;font-size:8px}.player-strip{flex-wrap:wrap;gap:9px;padding:11px}.player-strip .avatar{width:37px;height:37px}.player-strip>.numbers{justify-content:space-between;width:100%}.player-strip .numbers>span{flex:1;justify-content:center}.player-strip select{width:100%;max-width:100%;font-size:11px}.player-strip strong{font-size:13px}.numbers>span{font-size:12px}.numbers small{font-size:8px}.numbers svg{width:13px}.welcome-banner .numbers{flex-direction:column;align-items:flex-start;gap:4px}.welcome-banner .numbers>span{padding:3px 8px;font-size:12px}.avatar-picker{gap:4px}.avatar-picker button img{width:39px;height:39px}.game-layout>aside{grid-template-columns:1fr;gap:0}.game-layout{gap:0}.game-stage{padding:10px}.large{padding:11px 16px;font-size:14px}.wheel-stage{max-width:330px}.wheel-hub{letter-spacing:0;border-width:4px;width:64px;height:64px;font-size:8px;top:calc(50% - 4px)}.wheel-label{padding-top:10px;font-size:11px}.wheel{border-width:9px}.wheel-pointer{font-size:33px}.board-grid{border-width:2px;border-radius:10px;grid-template-rows:repeat(6,minmax(48px,1fr));gap:3px;padding:4px}.board-tile{border-width:1px;border-radius:4px;padding:2px 0}.board-tile small{font-size:6px}.board-tile b{font-size:6px;line-height:1.4}.board-center{border-radius:8px;padding:7px}.board-center img{width:73px;height:58px}.board-center h2{margin-bottom:7px;font-size:13px}.board-center p{font-size:8px}.dice{font-size:37px}.pawn{font-size:17px;bottom:-3px}.history-row{flex-direction:column;gap:4px;font-size:11px}.game-controls{gap:10px;margin-top:17px}.rules-list{font-size:11px}.pet-world-layout>.panel:last-child{display:block}.pet-world-panel .row{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}.pet-world-panel h2{margin-bottom:0}.pet-canvas{border-width:2px}.pet-portrait img{width:70px;height:70px}.pet-portrait{margin-top:14px}.pet-world-layout>.panel:last-child .pet-stats{margin:17px 0}.pet-world-layout>.panel:last-child .muted{margin-top:13px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-card{padding:12px 10px}.pet-card img{width:70px;height:70px}.hatch-panel{padding:22px 15px}.egg-stage{height:190px}.egg{width:110px;height:144px}.egg span{top:30px;left:23px}.daily-strip{gap:6px}.daily-strip span{padding:5px 8px;font-size:10px}.machine-three{height:320px}.coupon-grid{grid-template-columns:1fr}.coupon-card{padding:17px}.modal-backdrop{padding:10px}.modal{max-height:94vh;padding:20px}.modal h2{font-size:19px}.auth-shell{gap:10px;padding:28px 17px}.auth-story h1{letter-spacing:-1px;font-size:27px}.auth-story .brand-mark{font-size:11px}.auth-card{box-shadow:inset 3px 0 0 var(--cyan), 0 12px 35px #00000035;border-radius:4px 20px 4px 4px;padding:24px 21px}.auth-card h2{font-size:23px}.auth-card .eyebrow{font-size:8px}.auth-card .primary{font-size:13px}.toast{padding:11px 13px;font-size:11px;bottom:12px}.toast>svg{width:15px}.seating-toolbar .row{gap:6px}.seating-toolbar button{padding:8px 10px;font-size:11px}.seating-toolbar select{width:50px;padding:7px}.seating-toolbar label{font-size:11px}.seating-sidebar{grid-template-columns:1fr}.seat-grid{gap:4px}.seat{border-radius:7px}.classroom-floor{padding:12px 7px}.seat-body{gap:2px;min-height:127px;padding:12px 2px 4px}.seat-body b{font-size:9px}.seat-body .avatar{width:28px;height:28px}.seat-body small{font-size:6px}.seat-body .numbers{flex-direction:column;gap:1px}.seat-body .numbers>span{min-height:11px;padding:0 3px;font-size:8px;line-height:1.2}.seat-body .numbers svg{width:7px;height:7px}.seat-no{font-size:6px;left:4px}.seat-actions button{gap:1px;min-height:23px;padding:2px 0;font-size:8px}.seat-actions svg{width:10px}.group-label{padding:0 2px;font-size:6px}.vacant .seat-body{min-height:153px}.quick-circle{gap:1px;top:-10px;right:-2px}.quick-circle button{border-width:1px;width:21px;height:21px;min-height:21px;padding:2px}.quick-circle svg{width:13px}.blackboard{letter-spacing:6px;font-size:14px}.blackboard span{font-size:8px}.unseated{padding:11px}.unseated .spread{flex-direction:column;align-items:flex-start}.unseated h3{font-size:11px}.groups-grid{gap:10px}.group-card{padding:11px}.group-card h3{font-size:12px}.group-card .row{flex-wrap:wrap;gap:4px}.group-card button{padding:4px 7px;font-size:9px}.projection .seat-body b{font-size:11px}.projection .seat-body small{font-size:7px}.projection .seat-body .numbers>span{font-size:10px}.projection .seat-body .avatar{width:31px;height:31px}.sync-error{flex-direction:column;align-items:flex-start}.auth-card input{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.destination:hover,button:hover{transform:none!important}}.learning-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.learning-shortcuts a{color:#e5fbff;box-shadow:inset 3px 0 0 var(--cyan), 0 8px 25px #0000001a;background:linear-gradient(110deg,#11384a,#142139);border:1px solid #43819c;border-radius:4px 18px 4px 4px;align-items:center;gap:16px;padding:23px 20px;display:flex}.learning-shortcuts a:nth-child(2){box-shadow:inset 3px 0 0 var(--magenta), 0 8px 25px #0000001a;background:linear-gradient(110deg,#332544,#1a2039);border-color:#915dab}.learning-shortcuts a:nth-child(3){box-shadow:inset 3px 0 0 var(--green), 0 8px 25px #0000001a;background:linear-gradient(110deg,#103d3c,#142536);border-color:#478e84}.learning-shortcuts a>svg{flex-shrink:0}.learning-shortcuts strong{font-size:18px;display:block}.learning-shortcuts small{color:#b6ccdf;margin-top:7px;display:block}.learning-shortcuts a>span{margin-left:auto}.course-picker{flex-wrap:wrap;align-items:end;gap:12px;margin:22px 0;display:flex}.course-picker label{min-width:130px}.course-pick-main{flex:1;min-width:220px!important}.course-picker select{width:100%}.course-hero{box-shadow:inset 3px 0 0 var(--cyan);background:linear-gradient(110deg,#123047,#1b233e 60%,#2d2141);border:1px solid #477895;border-radius:4px 24px 4px 4px;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:25px;display:flex}.course-hero h2{margin:10px 0;font-size:28px}.course-hero p{color:#c6d7e7;white-space:pre-wrap;overflow-wrap:anywhere}.course-hero .button{flex-shrink:0}.course-hero small{color:var(--muted)}.learning-toolbar{flex-wrap:wrap;gap:10px;margin:18px 0}.learning-filters{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.learning-filters input{flex:1;min-width:160px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0;display:grid}.resource-card{background:linear-gradient(135deg,#14243a,#111a2b);border:1px solid #425877;border-radius:4px 18px 4px 4px;flex-direction:column;gap:12px;min-width:0;padding:24px;display:flex}.resource-card h3{overflow-wrap:anywhere;margin:0;font-size:21px}.resource-card .resource-body,.resource-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.resource-card .resource-body{color:#d3e0ed;max-height:200px;overflow:auto}.resource-card .row:last-child{flex-wrap:wrap;margin-top:auto}.resource-card.assignment{border-top:4px solid #f4c85e}.resource-card.material{border-top:4px solid #b99bea}.resource-card.announcement{border-top:4px solid #82d8b5}.file-links,.uploaded-list{margin:10px 0;padding:0;list-style:none}.file-links li+li{margin-top:8px}.file-links a{color:#c0f2ff;background:#07162888;border:1px solid #416882;border-radius:3px;align-items:center;gap:8px;max-width:100%;padding:10px 12px;display:flex}.file-links a span,.uploaded-list span{overflow-wrap:anywhere;min-width:0}.file-links svg,.file-links small{flex-shrink:0}.file-links small{white-space:nowrap;margin-left:auto}.uploaded-list li{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.upload-box{background:#12334944;border:1px dashed #66a8b9;border-radius:4px;padding:16px}.upload-box input[type=file]{max-width:100%;padding:10px 0;font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.checkbox-grid label,.check{align-items:center;gap:9px;display:flex!important}.checkbox-grid input,.check input{flex-shrink:0;height:20px;width:20px!important}.stack fieldset{border:1px solid #56718c;border-radius:4px;gap:12px;min-width:0;padding:15px;display:grid}.stack legend{padding:0 6px}.assignment-review{gap:20px;display:grid}.submission-card{border:1px solid #53748f;border-radius:4px;margin:12px 0;padding:16px}.submission-card p{white-space:pre-wrap;overflow-wrap:anywhere}.submission-receipt{background:#153b3b;border:1px solid #54afaa;border-radius:4px;padding:16px}.submission-roster{gap:8px;max-height:240px;display:grid;overflow:auto}.submission-roster button{justify-content:space-between}:is(.modal:has(.assignment-review),.modal:has(.grade-config),.modal:has(.mark-editor)){max-width:850px}.weight-strip{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.weight-strip>span{background:#14283e;border:1px solid #4b6588;border-radius:4px 12px 4px 4px;flex:1;min-width:160px;padding:13px 16px}.weight-strip small{color:var(--muted);margin-top:7px;display:block}.grade-highlight{color:#ddfcff;box-shadow:inset 3px 0 0 var(--cyan);background:linear-gradient(110deg,#0e3c45,#14253e);border:1px solid #5ecece;border-radius:4px 24px 4px 4px;align-items:center;gap:25px;margin:22px 0;padding:28px;display:flex}.grade-highlight strong{font-size:58px;line-height:1.3;display:block}.grade-highlight p{margin-bottom:0}.grade-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.category-score{font-size:30px}.category-score small{color:var(--muted);font-size:13px}.student-mark{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.student-mark h3{font-size:17px}.teacher-feedback{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid var(--cyan);background:#07152980;padding:12px}.assessment-list article{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.assessment-list h3{margin:0}.assessment-list p{color:var(--muted);font-size:13px}.assessment-list .row{flex-wrap:wrap}.grade-table th{min-width:140px}.grade-table th:first-child{min-width:155px}.grade-table small{margin-top:5px;font-weight:400;display:block}.grade-table th button{text-align:left;white-space:normal;background:0 0;max-width:220px;display:block}.grade-table td{font-variant-numeric:tabular-nums}.resource-tabs{flex-wrap:wrap;gap:8px;display:flex}.resource-tabs button[aria-pressed=true]{color:var(--cyan);background:#123f55;border-color:#55cada}.deadline{color:#f5d386}.sidebar nav a{padding-top:11px;padding-bottom:11px}.sidebar{overflow-y:auto}.modal textarea{resize:vertical}.modal input,.modal textarea,.modal select{max-width:100%}@media (width<=1100px){.learning-shortcuts{gap:12px}.learning-shortcuts a{gap:10px;padding:18px 14px}.learning-shortcuts small{font-size:11px}.resource-grid{gap:14px}}@media (width<=700px){.learning-shortcuts,.resource-grid,.grade-category-grid{grid-template-columns:1fr}.learning-shortcuts a{padding:18px}.learning-shortcuts small{font-size:12px}.course-picker{align-items:stretch}.course-picker label{flex:1;min-width:120px}.course-pick-main{flex-basis:100%}.course-hero{flex-direction:column;align-items:stretch;padding:20px}.course-hero h2{font-size:24px}.course-hero .button{align-self:flex-start}.form-grid,.checkbox-grid{grid-template-columns:1fr}.resource-card{padding:18px}.file-links a{padding:10px 8px;font-size:13px}.grade-highlight{padding:22px}.grade-highlight strong{font-size:48px}.weight-strip>span{min-width:140px}.learning-toolbar>.button,.learning-toolbar>button{flex:1}.grade-table{font-size:12px}.assessment-list .row{gap:7px}.course-picker select{font-size:14px}}.learning-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0;display:grid}.learning-stats>div{color:#fff2b4;box-shadow:inset 3px 0 0 var(--gold);background:linear-gradient(115deg,#302e25,#182232);border:1px solid #897d49;border-radius:4px 16px 4px 4px;grid-template-columns:36px 1fr;align-items:center;gap:6px;padding:18px;display:grid}.learning-stats>div:nth-child(2){color:#dfceff;box-shadow:inset 3px 0 0 var(--purple);background:linear-gradient(115deg,#31264e,#182232);border-color:#7c63a8}.learning-stats>div:nth-child(3){color:#ffc9ee;box-shadow:inset 3px 0 0 var(--magenta);background:linear-gradient(115deg,#35263e,#182232);border-color:#965f8e}.learning-stats>div:nth-child(4){color:#b4ffe0;box-shadow:inset 3px 0 0 var(--green);background:linear-gradient(115deg,#183d37,#182232);border-color:#468d7b}.learning-stats svg{grid-row:span 2;width:26px;height:26px}.learning-stats strong{font-size:26px;line-height:1.2}.learning-stats span{font-size:12px}.learning-toolbar{justify-content:space-between;align-items:center;display:flex}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tabs button[aria-pressed=true]{color:var(--cyan);background:#133d50;border-color:#52b9c9}.learning-search{grid-template-columns:240px 1fr;gap:14px;margin:22px 0;display:grid}.resource-material{border-top:3px solid var(--cyan)}.resource-assignment{border-top:3px solid var(--gold)}.resource-announcement{border-top:3px solid var(--green)}.resource-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;color:#c6d8e9;max-height:180px;line-height:1.8;overflow:auto}.draft-badge{color:#c3d6e8;background:#23364f;border-radius:3px;padding:6px 10px;font-size:12px}.prose-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.check-row{align-items:center;gap:10px;display:flex}.check-row input{flex-shrink:0;width:20px;height:20px}.submission-history article{border-top:1px solid #afa0bf;padding:15px 0}.learning-archive{margin:24px 0}.block{display:block}.public-link{overflow-wrap:anywhere}.public-link a{color:var(--cyan);text-decoration:underline}.host-status{margin:20px 0}.host-status p{line-height:1.8}@media (width<=700px){.learning-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-stats>div{padding:14px}.learning-search{grid-template-columns:1fr}.learning-toolbar{align-items:stretch}.learning-toolbar>.row{flex-wrap:wrap}.resource-actions>.row{gap:6px}.resource-card .resource-actions{align-items:center}.resource-card .resource-actions>button{padding:10px}.check-row{font-size:13px}}body{background-image:radial-gradient(at 90% 0,#b025b91a,#0000 45%),radial-gradient(at 15% 45%,#00c9ee0b,#0000 50%),linear-gradient(#5fceeb06 1px,#0000 1px),linear-gradient(90deg,#5fceeb06 1px,#0000 1px);background-size:auto,auto,64px 64px,64px 64px}::selection{color:#06111d;background:#7bebf5}input::placeholder,textarea::placeholder{color:#859fb7;opacity:1}input[type=file]::file-selector-button{color:#c8f6ff;font:inherit;background:#183c50;border:1px solid #5fa0b4;border-radius:3px;margin-right:10px;padding:8px 12px}.page-title h1,.auth-story h1{text-shadow:2px 2px #35d6ee16}.page-title .eyebrow:before{content:"// ";color:var(--magenta)}.brand b{color:#e8faff}.panel h2,.section-heading h2{color:#e6f5ff}.stat:after{content:"";background:var(--accent);opacity:.75;pointer-events:none;height:2px;position:absolute;inset:auto 16px 0}.stat-decoration{opacity:.4}.destination h3{color:var(--accent)}.destination:hover{box-shadow:0 0 22px color-mix(in srgb, var(--accent), transparent 82%), inset 0 3px 0 var(--accent)}.banner-art svg,.auth-mascot svg{filter:drop-shadow(0 0 14px #78e5ff33)}.banner-art .floating-star{text-shadow:0 0 18px #fa69da40}.learning-shortcuts a:hover,.management-links a:hover,.management-links button:hover:not(:disabled),.file-links a:hover{border-color:var(--cyan);background:#1b3a50}.learning-stats strong,.grade-highlight strong,.stat strong{font-variant-numeric:tabular-nums;letter-spacing:.5px}.learning-archive summary{color:#c5dcee;cursor:pointer;padding:12px 0}.learning-archive[open]{border-bottom:1px solid var(--line);padding-bottom:16px}.teacher-feedback,.prose-text,.resource-body{color:#d4e3f1}.grade-table td{background:#101c2b}.grade-table tr:nth-child(2n) td{background:#122136}.grade-table tr:hover td{background:#173346}.grade-table th button{color:#d1f4ff;border-color:#4a708a}.table-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button.danger:hover:not(:disabled){background:#9a355c;border-color:#ffabc0}.resource-card.material{border-top-color:var(--cyan)}.resource-card.assignment{border-top-color:var(--gold)}.resource-card.announcement{border-top-color:var(--green)}.wheel{background:conic-gradient(#fd95d9 0deg 45deg,#b89bff 45deg 90deg,#71efbf 90deg 135deg,#85c7ff 135deg 180deg,#ffe16a 180deg 225deg,#79edfa 225deg 270deg,#e3a0fc 270deg 315deg,#a9bfdc 315deg 360deg);border-color:#69e7f4;box-shadow:0 0 0 3px #152c42,0 0 0 6px #bd79d5,0 0 28px #64edff26}.wheel-hub{color:var(--cyan);background:#101e31;border-color:#74ddeb;box-shadow:0 0 16px #05101da6}.wheel-hub span{color:var(--magenta)}.wheel-stand{background:linear-gradient(110deg,#273457,#14263d);border-color:#526f9b}.wheel-pointer{color:#fff199}.board-tile small{opacity:.85}.egg{background:linear-gradient(130deg,#ddf9ff,#a8d8f5);border-color:#1d5573;box-shadow:inset -12px -10px #819be0,0 0 30px #60eaff22}.egg span{color:#6220a4}.egg i{background:#d467d5}.pet-canvas,.pusher-canvas{box-shadow:0 0 20px #64edff0d}.chips span,.brand-mark,.mascot-label,.daily-strip span{letter-spacing:1px}.projection .panel{background:#122135;border-color:#64839d}.projection .page-title h1{text-shadow:none}@media (width<=700px){.topbar{border-bottom-color:#376c84}.stat{border-radius:4px 12px 4px 4px}.stat small,.destination p{font-size:11px}.welcome-banner p,.page-title p{font-size:12px}.learning-stats strong{font-size:28px}.modal{border-radius:4px 18px 4px 4px}.eyebrow{font-size:9px}}.account-storage-note{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.account-storage-note>svg{color:var(--cyan,#65eaff);flex:none}.account-storage-note p{margin-bottom:0}.account-filter-grid{grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:16px;margin:18px 0;display:grid}.account-search{align-items:center;gap:10px;display:flex}.account-search input{width:100%;min-width:0}.student-account-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px;display:grid}.student-account-card{background:#10192e;border:1px solid #28405d;border-top:2px solid #57d9f3;border-radius:4px 16px 4px 4px;flex-direction:column;align-items:stretch;gap:16px;min-width:0;padding:20px;display:flex}.student-account-card h3,.student-account-card p{overflow-wrap:anywhere;margin:0}.student-account-card p{color:#b3c4dc;font-size:14px}.student-account-card button{align-self:flex-start}.account-state{color:#77f5c8;font-size:13px}.account-state.pending{color:#ffd37a}@media (width<=650px){.account-filter-grid{grid-template-columns:minmax(0,1fr)}}
