@import url('https://fonts.googleapis.com/css2?family=Noto+Kufi+Arabic:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#10182b;--panel:#182339;--mint:#4de4c8;--coral:#ff897f;--muted:#aebbd0;--text:#f8faff;--line:#334058;--font:'Noto Kufi Arabic',Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.9 var(--font);background-image:radial-gradient(ellipse at 8% 40%,#19364780,transparent 50%)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #f9d47b;outline-offset:4px}button{touch-action:manipulation}button,input,select{border:1px solid var(--line)}[hidden]{display:none!important}.app-shell{max-width:1320px;margin:auto;padding:0 40px}.header{min-height:105px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #ffffff13}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;font-size:21px;font-weight:800}.brand-mark{background:var(--mint);color:var(--bg);width:46px;height:50px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-size:25px}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6}.header-actions{display:flex;align-items:center;gap:12px}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:9px 20px;border-radius:12px;background:var(--panel);color:var(--text);font-weight:600;font-size:14px;transition:background .15s,transform .15s}.button:hover:not(:disabled),.icon-button:hover{background:#26354e}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--mint);color:#0e2430;border-color:var(--mint)}.button.primary:hover{background:#83efda}.button.quiet{background:transparent;border-color:var(--line)}.icon-button{border-color:transparent;background:transparent;font-size:12px;padding:8px}.setup{display:grid;grid-template-columns:minmax(330px,.86fr) minmax(360px,1.14fr);gap:55px;align-items:center;min-height:680px;padding:40px 0 45px}.eyebrow{display:block;font-size:13px;color:var(--mint);font-weight:700}.setup h1{font-size:clamp(38px,4.2vw,60px);line-height:1.55;margin:13px 0;font-weight:900;letter-spacing:normal}.setup h1>span{display:block}.setup h1 em{color:var(--mint);font-style:normal}.intro{max-width:480px;font-size:16px;color:#c2cde0;margin:0 0 25px}.team-input{padding:12px 16px;background:#172336;border-radius:12px;border:1px solid #324051;margin-bottom:12px}.team-input label{display:flex;gap:9px;align-items:center;font-weight:600;font-size:13px}.team-token{width:23px;height:23px;border-radius:7px;display:inline-grid;place-items:center;background:var(--team);color:#10182b;font-size:12px}.mint{--team:var(--mint)}.coral{--team:var(--coral)}.team-input label,.team-input small{color:var(--team)}.team-input input{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff16;border-radius:0;color:var(--text);font-size:18px;font-weight:700;line-height:1.8;padding:5px 0;margin:3px 0}.team-input small{font-size:12px}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.setup-options label{font-size:12px;color:var(--muted)}select{display:block;width:100%;padding:8px 10px;background:var(--panel);color:var(--text);border-radius:9px;font-size:14px;min-height:44px;margin-top:4px}.start-button{width:100%;justify-content:space-between;font-size:16px;padding:12px 20px}.setup-board{align-self:center;min-width:0}.board-caption{display:flex;align-items:center;justify-content:center;gap:8px;color:#d6e0ef;font-size:14px}.live-marker{display:block;width:7px;height:7px;border-radius:50%;background:var(--mint)}.setup-board svg{width:100%;height:auto;display:block;margin:12px 0}.board-footnote{display:flex;justify-content:center;gap:24px;color:#d3ddec;font-size:12px}.board-footnote span+span{border-right:1px solid var(--line);padding-right:24px}.setup-note{text-align:center;color:var(--muted);font-size:12px;margin-top:22px}footer{display:flex;justify-content:center;align-items:center;gap:14px;padding:24px 0;color:var(--muted);font-size:12px;border-top:1px solid #ffffff13}footer span{color:var(--mint)}.error{color:#ffb3ac;font-size:14px}.game{padding-top:24px}.scoreboard{display:grid;grid-template-columns:1fr minmax(140px,.7fr) 1fr;align-items:stretch;gap:18px}.team-card{padding:18px 24px;border:1px solid var(--line);border-radius:16px;background:#182339}.team-card.active{border-color:var(--team);background:color-mix(in srgb,var(--team) 9%,#182339)}.team-direction{font-size:12px;color:var(--team)}.team-card h2{font-size:clamp(16px,2vw,24px);margin:5px 0 8px;overflow-wrap:anywhere}.team-card>div{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.team-card b{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}.turn-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;min-width:0}.turn-center>span{font-size:12px;color:var(--muted)}.turn-center strong{font-size:17px;color:var(--mint);overflow-wrap:anywhere}.turn-center.coral strong{color:var(--coral)}.play-area{max-width:820px;margin:18px auto 0}.edge-label{display:flex;gap:9px;align-items:center;justify-content:center;font-size:13px;color:#edb6b0}.color-dot{width:10px;height:10px;background:var(--team);border-radius:3px;flex-shrink:0}.board-container{width:100%;max-width:690px;margin:auto}.board-container svg{display:block;width:100%;height:auto;overflow:visible}.board-instruction{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.board-instruction [data-edge-name]{color:var(--mint)}.separator{padding:0 4px}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 25px;border-top:1px solid #ffffff13;padding-top:16px}.game-toolbar p{font-size:13px;color:var(--muted);margin:0}.game-toolbar>div{display:flex;gap:8px;flex-shrink:0}.game-toolbar .button{font-size:12px;padding:8px 12px}.hex polygon{fill:#223049;stroke:#51627b;stroke-width:1.2;transition:fill .16s,stroke .16s}.hex text{font-family:var(--font);font-size:24px;fill:#ecf4ff;font-weight:700;pointer-events:none}.hex.free{cursor:pointer}.hex.free:hover polygon,.hex.free:focus polygon{fill:#344963;stroke:#f8d481;stroke-width:2.8}.hex.owned-0 polygon{fill:var(--mint);stroke:var(--mint)}.hex.owned-1 polygon{fill:var(--coral);stroke:var(--coral)}.hex.owned-0 text,.hex.owned-1 text{fill:#0f2430}.hex.winning polygon{stroke:#fff8c8;stroke-width:4}.hex .owner-mark{font-size:9px;font-family:Tahoma,Arial,sans-serif;opacity:.85}.edge{stroke-width:7;stroke-linecap:round;fill:none;opacity:.8}.edge.team-0{stroke:var(--mint)}.edge.team-1{stroke:var(--coral)}.win-line{stroke:#fff8c8;stroke-width:4;fill:none;pointer-events:none;stroke-linejoin:round;stroke-linecap:round;opacity:.75}dialog{color:var(--text);background:#19243b;border:1px solid #3b4d68;border-radius:24px;padding:28px;width:min(650px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;font:400 16px/1.9 var(--font);box-shadow:0 24px 100px #0007}dialog::backdrop{background:#060b19cf;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-top .button{font-size:12px;min-height:38px;padding:5px 10px}.question-meta{display:flex;align-items:center;gap:16px;margin:24px 0}.letter-medallion{display:grid;place-items:center;width:74px;height:82px;background:var(--mint);color:#102c35;font-size:38px;font-weight:800;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex-shrink:0}.question-meta h2{font-size:17px;margin:2px 0}.category{font-size:12px;color:var(--muted)}.timer{margin-right:auto;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--mint)}.timer.urgent{color:var(--coral)}.question-text{font-size:clamp(19px,2vw,25px);font-weight:600;line-height:2.05;margin:20px 0 28px}.judging-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button.correct{background:#164739;border-color:#3ba784;color:#c0ffe6}.button.incorrect{background:#4c2830;border-color:#a15a62;color:#ffcbc6}.button.reveal{display:flex;width:100%;background:transparent;border:0;margin-top:10px;font-size:13px;color:#c4d0e3}.judge-note{display:block;margin:10px 0 0;color:var(--muted);font-size:12px}.answer-box{background:#111c2e;border-right:3px solid var(--mint);padding:15px 20px;margin:20px 0;border-radius:8px}.answer-box>span{font-size:12px;color:var(--muted)}.answer-box strong{display:block;font-size:24px;color:var(--mint)}.answer-box p{font-size:14px;margin:5px 0;color:#d1dcf0}.steal-banner{background:#51362b;color:#ffde9f;border:1px solid #7f5c3b;border-radius:8px;padding:10px 14px;font-size:14px}.continue-button{width:100%}.rules-dialog h2{font-size:25px;margin-top:0}.rules-dialog ol{padding-right:24px}.rules-dialog li{padding:5px 0;font-size:15px}.rules-tip{font-size:14px;color:var(--mint)}.rules-dialog .primary{margin-top:10px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.win-dialog{text-align:center;padding:36px}.winner-icon{display:block;font-size:58px;margin-bottom:10px}.win-dialog h2{font-size:34px;overflow-wrap:anywhere;margin:14px 0;color:var(--mint)}.win-dialog p{font-size:15px;color:#c8d5e9}.win-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}#question-feedback{font-size:14px;min-height:0}#question-feedback.success{color:#8ff0c8}#question-feedback.failure{color:#ffb8b0}@media(min-width:1200px) and (max-height:850px){.setup{padding:28px 0;min-height:0;gap:50px}.setup h1{font-size:44px;margin:8px 0}.intro{margin-bottom:16px}.team-input{padding:8px 14px}.board-container{max-width:575px}.game{padding-top:16px}.team-card{padding:12px 20px}.play-area{margin-top:12px}.header{min-height:84px}.game-toolbar{margin:12px 0;padding-top:12px}footer{padding:15px 0}}@media(max-width:800px){.app-shell{padding:0 20px}.setup{gap:25px;grid-template-columns:1fr 1fr}.setup h1{font-size:38px}.board-footnote{gap:10px;font-size:11px}.board-footnote span+span{padding-right:10px}.setup-options{grid-template-columns:1fr}.team-card{padding:14px}.scoreboard{gap:10px;grid-template-columns:1fr minmax(90px,.65fr) 1fr}.turn-center strong{font-size:14px}.game-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.app-shell{padding:0 16px}.header{min-height:84px;gap:8px}.brand{font-size:17px;gap:8px}.brand-mark{width:34px;height:40px;font-size:21px}.header-actions{gap:2px}.header-actions .button{font-size:12px;padding:8px}.icon-button{font-size:11px;padding:5px;max-width:64px}.setup{grid-template-columns:1fr;padding:25px 0;gap:30px;min-height:0}.setup-copy{max-width:470px;margin:auto;width:100%}.setup h1{font-size:37px;line-height:1.5;margin:10px 0}.intro{font-size:14px;line-height:2}.setup-options{grid-template-columns:1fr 1fr}.setup-board{max-width:400px;margin:auto;width:100%}.setup-board svg{margin:0}.setup-note{margin:10px 0 0}.scoreboard{grid-template-columns:1fr 1fr;gap:10px}.turn-center{grid-column:1/-1;grid-row:2;flex-direction:row;flex-wrap:wrap;gap:8px;padding:5px}.turn-center>span{font-size:12px}.team-card{padding:12px}.team-card h2{font-size:16px}.team-card b{font-size:20px}.team-direction{font-size:11px}.team-card>div{font-size:11px}.play-area{margin-top:10px}.board-container{width:calc(100% + 20px);margin-inline:-10px}.game-toolbar{margin-top:16px;gap:10px}.game-toolbar>div{width:100%;justify-content:space-between}.game-toolbar .button{font-size:11px}.edge-label,.board-instruction{font-size:11px}.board-instruction{gap:5px}footer{font-size:11px;flex-wrap:wrap;gap:8px;padding:18px 0}.question-meta{gap:10px}.question-meta h2{font-size:14px}.letter-medallion{width:55px;height:64px;font-size:30px}.timer{font-size:23px}.question-text{font-size:19px}.judging-controls{gap:8px}.judging-controls .button{font-size:12px;padding:10px 8px}dialog{padding:20px;border-radius:18px}.dialog-top .eyebrow{font-size:12px}.dialog-top .button{font-size:11px}.win-dialog h2{font-size:27px}.rules-dialog li{font-size:14px}.board-footnote{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
