:root{--bg:#07111f;--surface:#101e30;--surface2:#15263b;--line:#263a50;--text:#f5f8fb;--muted:#9db0c4;--cyan:#35d7e6;--yellow:#ffd447;--red:#ff6577;--green:#4be39b;--shadow:0 18px 60px #0007;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#133150 0,transparent 38%),var(--bg);color:var(--text);font-size:16px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.hidden{display:none!important}.muted{color:var(--muted)}
.home-page{display:grid;place-items:center;padding:24px}.home-shell{width:min(1100px,100%);min-height:680px;display:grid;grid-template-columns:1.2fr .8fr;background:#091524;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.brand-panel{position:relative;padding:72px;overflow:hidden;background:linear-gradient(145deg,#102d49,#08131f)}.brand-panel:after{content:"";position:absolute;width:430px;height:430px;border:80px solid #35d7e611;border-radius:50%;right:-210px;top:-110px}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.15em;color:var(--cyan);margin-bottom:10px}.brand-panel h1{font-size:clamp(4rem,9vw,7rem);line-height:.78;letter-spacing:-.07em;margin:24px 0}.brand-panel h1 span{color:var(--yellow)}.brand-panel p{max-width:480px;color:#c2d1df;font-size:1.15rem;line-height:1.65}.entry-panel{display:flex;flex-direction:column;justify-content:center;padding:56px}.entry-panel h2,.setup-card h1{font-size:2rem;margin:.8rem 0}.entry-panel p{color:var(--muted);line-height:1.6}.entry-actions{display:grid;gap:12px;margin:30px 0}.entry-panel small{color:#71879a}.logo-mark,.wordmark b{display:grid;place-items:center;width:54px;height:54px;background:var(--yellow);color:#101820;border-radius:15px;font-weight:1000}.skyline{position:absolute;bottom:0;left:50px;right:50px;height:220px;display:flex;gap:12px;align-items:flex-end;opacity:.5}.skyline i{display:block;flex:1;height:var(--h);background:linear-gradient(#39d8e6,#167790);clip-path:polygon(10% 8%,90% 0,100% 100%,0 100%)}
.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:850;cursor:pointer;text-decoration:none;text-align:center;transition:.2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-large{padding:16px 20px}.btn-primary{background:var(--yellow);color:#101820}.btn-ghost{background:#172a3f;color:var(--text);border:1px solid #2d455d}.btn-warning{background:#ff9f43;color:#16120b}.btn-danger{background:#3a1d29;color:#ffb0ba;border:1px solid #6b2a3c}
.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--line);background:#07111fdd;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.wordmark{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-weight:900}.wordmark b{width:42px;height:42px;border-radius:11px}.room-badge{padding:10px 15px;background:#11243a;border:1px solid #2e4a65;border-radius:12px;color:var(--muted);font-size:.8rem;letter-spacing:.12em}.room-badge strong{color:var(--yellow);font-size:1.3rem;margin-left:8px;letter-spacing:.18em}
.app-shell{width:min(1400px,calc(100% - 32px));margin:32px auto}.card{background:linear-gradient(145deg,#112238,#0c1929);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 35px #0003}.setup-grid{display:grid;grid-template-columns:1fr 330px;gap:24px;align-items:start}.setup-card{padding:40px}.rules-card{padding:30px}.rules-card ol{padding-left:22px;line-height:2;color:#bdcad8}.form-grid{display:grid;grid-template-columns:1fr 160px 200px;gap:14px}label{display:grid;gap:8px;font-weight:750;margin:18px 0}.label-note{font-weight:400;color:var(--muted);font-size:.8rem}input,select,textarea{width:100%;border:1px solid #30475e;border-radius:11px;background:#081422;color:var(--text);padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #35d7e622}textarea{resize:vertical;line-height:1.55}
.notice{padding:13px 15px;border-radius:11px;margin:14px 0}.notice.error{background:#3a1722;color:#ffb7c1;border:1px solid #742d42}.notice.success{background:#123527;color:#a8f6cd;border:1px solid #276a4e}.notice.info{background:#102f43;color:#a8e7ff;border:1px solid #245974}.import-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:20px 0 8px;background:#0b1a2a;border:1px dashed #3c647d;border-radius:14px}.import-box strong,.import-box small{display:block}.import-box small{color:var(--muted);margin-top:4px}.import-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-btn{display:inline-block;margin:0;padding:11px 15px;border-radius:10px;background:#173b50;color:#aeefff;white-space:nowrap;cursor:pointer}.file-btn input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}.btn-import{background:var(--cyan);color:#07111f}.question-summary{display:flex;align-items:center;gap:14px;min-height:86px;padding:16px 18px;margin:12px 0 20px;border:1px solid #29445d;border-radius:14px;background:#0a1726}.question-summary strong,.question-summary small{display:block}.question-summary small{margin-top:4px;color:var(--muted)}.question-summary.empty{border-style:dashed}.question-summary.selected{border-color:#3b647e;background:#0c2032}.question-summary.loaded{display:block;border-color:#287151;background:#0d2820}.question-summary.failed{border-color:#733046;background:#301722}.summary-top{display:flex;align-items:center;gap:14px}.summary-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#17334a;color:var(--cyan);font-size:.82rem;font-weight:950}.loaded .summary-icon{background:#174a35;color:#8ff0bc;font-size:1.25rem}.failed .summary-icon{background:#522133;color:#ff9daf;font-size:1.25rem}.type-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.type-summary span{padding:10px;border-radius:9px;background:#123429;color:#a8d8c1;font-size:.78rem}.type-summary b{display:block;color:#fff;font-size:1.05rem}.type-chip{display:inline-block;padding:7px 10px;margin-left:5px;border-radius:999px;background:#19334a;color:#a8eaff;font-size:.7rem;font-weight:900;letter-spacing:.08em;vertical-align:middle}.host-toolbar{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:22px}.host-toolbar h1{margin:3px 0}.host-toolbar p{margin:5px 0}.host-buttons{display:flex;gap:10px;flex-wrap:wrap}.question-stage{padding:30px;margin-bottom:22px;text-align:center}.question-stage h2{font-size:clamp(1.4rem,3vw,2.3rem);max-width:900px;margin:18px auto 24px}.round-pill{display:inline-block;padding:7px 12px;border:1px solid #2c5069;border-radius:999px;color:var(--cyan);font-size:.78rem;font-weight:900;letter-spacing:.12em}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.host-options div,.option-btn{display:flex;align-items:center;gap:14px;text-align:left;padding:15px;background:#14283d;border:1px solid #2a4158;border-radius:13px;color:var(--text)}.options b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:9px;background:#24435e;color:var(--yellow)}.timer{height:8px;background:#233448;border-radius:99px;overflow:hidden;margin:24px 0 10px}.timer span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--cyan),var(--yellow));transition:width .5s linear}.answer-count{color:var(--muted)}.event-banner{padding:16px 20px;margin:0 0 20px;border:1px solid #745d19;background:#332b10;border-radius:14px;text-align:center;color:#ffe986;font-weight:800}
.team-board{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.team-card{position:relative;padding:20px;background:linear-gradient(180deg,#102137,#0b1725);border:1px solid color-mix(in srgb,var(--team) 45%,#263a50);border-top:4px solid var(--team);border-radius:18px;overflow:hidden}.team-card h3{margin:0;font-size:1.25rem}.team-card small{color:var(--muted)}.rank{position:absolute;right:15px;top:14px;font-size:1.4rem;font-weight:950;color:var(--team)}.tower-wrap{height:265px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-top:20px}.tower{width:80px;display:flex;flex-direction:column;align-items:center}.tower-block{width:70px;height:19px;margin-top:2px;background:linear-gradient(145deg,var(--block),color-mix(in srgb,var(--block) 65%,#000));border:1px solid #ffffff55;border-radius:3px;display:grid;place-items:center;color:#06101b;font-weight:950;animation:land .3s ease-out both}.tower-block.glass{opacity:.78}.tower-block.brace{height:12px;width:90px}.ground{height:7px;width:130px;background:#42566a;border-radius:50%;box-shadow:0 8px 20px #000}.empty-tower{color:#60788e;font-size:.75rem;margin-bottom:20px}.team-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.team-metrics span{background:#13263a;border-radius:9px;padding:9px 5px;text-align:center;font-size:.7rem;color:var(--muted)}.team-metrics b{display:block;color:var(--text);font-size:1rem}
.player-shell{width:min(760px,calc(100% - 28px));margin:28px auto 80px}.join-card{padding:34px;max-width:500px;margin:55px auto}.join-card h1{font-size:2.2rem;margin:10px 0 25px}.player-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.player-stats div{background:#102238;border:1px solid var(--line);padding:12px 6px;border-radius:13px;text-align:center}.player-stats small{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.1em}.player-stats strong{display:block;font-size:1.1rem;color:var(--yellow);margin-top:3px}.center-card{text-align:center;padding:50px 25px}.loader{width:52px;height:52px;border:5px solid #254057;border-top-color:var(--yellow);border-radius:50%;margin:0 auto 22px;animation:spin 1s linear infinite}.option-btn{cursor:pointer;font-weight:700;font-size:1rem}.option-btn:hover:not(:disabled){border-color:var(--cyan);transform:translateY(-1px)}.option-btn:disabled{opacity:.55}.build-header{display:flex;align-items:center;justify-content:space-between;margin:24px 4px 14px}.build-header h2{margin:4px 0}.mini-tower{height:90px;width:70px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.mini-tower .tower-block{height:8px;width:45px;margin-top:1px}.mini-tower .brace{width:55px}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.material-card{position:relative;display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;padding:16px;background:#102238;border:1px solid color-mix(in srgb,var(--mat) 35%,#2b4055);border-radius:15px;color:var(--text);cursor:pointer}.material-card:hover:not(:disabled){border-color:var(--mat);transform:translateY(-2px)}.material-card:disabled{opacity:.38}.material-icon{grid-row:1/3;display:grid;place-items:center;background:color-mix(in srgb,var(--mat) 18%,#0b1725);color:var(--mat);font-size:1.7rem;border-radius:11px}.material-card small{color:var(--muted);line-height:1.4}.trophy{font-size:4rem}.open-answer-hint{grid-column:1/-1!important;justify-content:center!important;color:var(--muted)}.typed-answer,.matching-answer,.multi-answer{grid-column:1/-1;display:grid;gap:12px;text-align:left}.typed-answer{grid-template-columns:1fr auto}.multi-answer label{margin:0;cursor:pointer}.multi-answer label>input{position:absolute;opacity:0;width:1px}.multi-answer label>span{display:flex;align-items:center;gap:12px;padding:14px;background:#13283d;border:1px solid #2a4158;border-radius:12px}.multi-answer input:checked+span{border-color:var(--cyan);background:#14384b}.multi-answer b{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#24435e;color:var(--yellow)}.matching-answer label{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;margin:0;padding:12px;background:#102238;border-radius:12px}.matching-answer select{margin:0}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes land{from{transform:translateY(-20px);opacity:0}}
@media(max-width:1000px){.team-board{grid-template-columns:repeat(2,1fr)}.setup-grid{grid-template-columns:1fr}.rules-card{display:none}.form-grid{grid-template-columns:1fr 1fr}.form-grid label:first-child{grid-column:1/-1}}
@media(max-width:720px){.home-page{padding:0}.home-shell{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}.brand-panel{padding:42px 28px 190px}.brand-panel h1{font-size:4.6rem}.entry-panel{padding:36px 28px}.topbar{padding:0 16px}.wordmark span{display:none}.app-shell{margin:16px auto}.setup-card{padding:24px}.form-grid{grid-template-columns:1fr}.form-grid label:first-child{grid-column:auto}.import-box{align-items:flex-start;flex-direction:column}.type-summary{grid-template-columns:1fr 1fr}.host-toolbar{align-items:flex-start;gap:18px;flex-direction:column}.options{grid-template-columns:1fr}.team-board{grid-template-columns:1fr 1fr}.team-card{padding:14px}.tower-wrap{height:190px}.team-metrics{grid-template-columns:1fr}.team-metrics span:nth-child(2){display:none}.player-stats{grid-template-columns:1fr 1fr}.material-grid{grid-template-columns:1fr}.typed-answer{grid-template-columns:1fr}.matching-answer label{grid-template-columns:1fr}}
@media(max-width:440px){.team-board{grid-template-columns:1fr}.host-buttons{display:grid;width:100%}.room-badge{font-size:0}.room-badge strong{font-size:1.05rem}.question-stage{padding:22px 16px}}
