:root{--ink:#0b0b0f;--ink-2:#14141b;--card:#ffffff0f;--card-line:#ffffff24;--yellow:#ffd84d;--green:#22c55e;--red:#f04438;--text:#fff;--muted:#ffffff8f;--font:-apple-system, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--radius:22px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(120% 80% at 50% 0%, #1a1a24 0%, var(--ink) 55%) fixed;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0}button{cursor:pointer;font-family:inherit}.app{max-width:560px;min-height:100%;padding:max(14px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.top{justify-content:space-between;align-items:center;gap:12px;padding:6px 2px 14px;display:flex}.brand{position:relative}.brand>.wordmark,.brand>.puzzle-no{z-index:1;position:relative}.logo-outline{z-index:0;pointer-events:none;width:168px;height:70px;position:absolute;top:54%;left:-22px;overflow:visible;transform:translateY(-50%)}.logo-outline path{fill:var(--yellow);fill-opacity:.15;stroke:var(--yellow);stroke-opacity:.55;stroke-width:1.1px;stroke-linejoin:round}.wordmark{letter-spacing:-.6px;text-shadow:0 2px 10px #0b0b0fd9;font-size:20px;font-weight:900}.wordmark span{color:var(--yellow)}.puzzle-no{color:var(--muted);letter-spacing:.4px;font-size:13px;font-weight:800}.pips{align-items:center;gap:6px;display:flex}.pip{background:#ffffff38;border-radius:6px;width:14px;height:6px;transition:background .2s,width .2s}.pip.done{background:#ffffffbf}.pip.right{background:var(--green)}.pip.wrong{background:var(--red)}.pip.now{background:var(--yellow);width:30px}.clock{background:#ffffff1f;border-radius:8px;height:8px;margin:4px 0 18px;overflow:hidden}.clock-fill{background:var(--yellow);transform-origin:0;height:100%}.clock-fill.low{background:var(--red)}.stage{flex-direction:column;flex:1;display:flex}.prompt{letter-spacing:-.9px;margin:0 0 16px;font-size:clamp(22px,6.2vw,30px);font-weight:900;line-height:1.14}.media{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius);justify-content:center;align-items:center;margin-bottom:16px;padding:14px;display:flex}.flag-hero{aspect-ratio:4/3;object-fit:cover;background:#ffffff14;border-radius:12px;width:100%;max-width:320px;box-shadow:0 12px 40px #00000080}.choices{gap:10px;display:grid}.choices.flags{grid-template-columns:1fr 1fr}.choice{text-align:left;border:2px solid var(--card-line);background:var(--card);width:100%;color:var(--text);letter-spacing:-.3px;border-radius:16px;align-items:center;gap:12px;padding:16px 18px;font-size:17px;font-weight:800;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative}.choice:active{transform:scale(.985)}.choice:disabled{cursor:default}.choice.right{border-color:var(--green);background:#22c55e29}.choice.wrong{border-color:var(--red);background:#f0443829}.choice.dim{opacity:.4}.choice-flag{aspect-ratio:4/3;object-fit:cover;background:#ffffff14;border-radius:10px;width:100%}.choices.flags .choice{flex-direction:column;gap:8px;padding:12px}.mark{flex-shrink:0;margin-left:auto;font-size:20px;font-weight:900}.verdict{background:var(--card);border:1px solid var(--card-line);border-radius:16px;margin-top:14px;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.4;animation:.22s ease-out rise}.verdict b{font-weight:900}.verdict .head{letter-spacing:1.2px;text-transform:uppercase;margin-bottom:4px;font-size:13px;display:block}.verdict.right .head{color:var(--green)}.verdict.wrong .head{color:var(--red)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.btn{background:var(--yellow);width:100%;color:var(--ink);letter-spacing:-.3px;border:none;border-radius:16px;padding:17px 20px;font-size:17px;font-weight:900;display:block}.btn.ghost{color:var(--text);border:2px solid var(--card-line);background:0 0}.btn:disabled{opacity:.45}.foot{gap:10px;padding-top:14px;display:grid}.center{text-align:center}.muted{color:var(--muted)}.intro{flex-direction:column;flex:1;justify-content:center;gap:22px;padding:20px 0;display:flex}.intro h1{letter-spacing:-2.2px;margin:0;font-size:clamp(38px,11vw,54px);font-weight:900;line-height:.98}.intro h1 span{color:var(--yellow)}.rules{gap:10px;display:grid}.rule{color:#ffffffd1;align-items:flex-start;gap:12px;font-size:15px;font-weight:600;line-height:1.35;display:flex}.rule .n{background:var(--yellow);width:26px;height:26px;color:var(--ink);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:900;display:flex}.name-field{flex-direction:column;gap:8px;display:flex}.name-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}.name-field .name-input{width:100%}.score-hero{text-align:center;padding:18px 0 6px}.score-hero .big{letter-spacing:-3.5px;font-size:clamp(58px,17vw,84px);font-weight:900;line-height:1}.score-hero .sub{color:var(--muted);margin-top:6px;font-size:15px;font-weight:800}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.stat{background:var(--card);border:1px solid var(--card-line);text-align:center;border-radius:14px;padding:12px 8px}.stat .v{letter-spacing:-.8px;font-size:21px;font-weight:900}.stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-top:3px;font-size:11px;font-weight:800}.review{gap:6px;margin:6px 0 4px;display:grid}.review-row{background:var(--card);border:1px solid var(--card-line);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.review-row .ic{font-weight:900}.review-row .q{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.review-row .q .ask,.review-row .q>b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-row .q .ask{color:#ffffff8c;font-size:12px;font-weight:700}.review-row .q>b{color:var(--text);font-size:13.5px;font-weight:900}.review-row .t{color:var(--muted);font-variant-numeric:tabular-nums}.lb{margin-top:4px}.lb h2{text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin:0 0 10px;font-size:15px}.lb-row{background:var(--card);border:1px solid var(--card-line);border-radius:14px;align-items:center;gap:12px;margin-bottom:6px;padding:12px 14px;font-weight:800;display:flex}.lb-row.me{border-color:var(--yellow);background:#ffd84d1f}.lb-row .pos{width:26px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:900}.lb-row.top .pos{color:var(--yellow)}.lb-row .who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lb-row .sc{font-variant-numeric:tabular-nums}.lb-row .tm{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:46px;font-size:12px}.name-row{gap:8px;margin-bottom:12px;display:flex}.name-input{border:2px solid var(--card-line);background:var(--card);color:var(--text);border-radius:14px;flex:1;padding:15px 16px;font-size:16px;font-weight:800}.name-input:focus{border-color:var(--yellow);outline:none}.name-row .btn{width:auto;padding:15px 22px}.notice{color:var(--muted);text-align:center;padding:4px 0;font-size:12.5px;line-height:1.45}.map-wrap{width:100%}.map-svg{width:100%;height:auto;display:block}.map-land{fill:#ffffff21;stroke:#0b0b0fd9;stroke-width:.4px}.map-target{fill:var(--yellow);stroke:#fff;stroke-width:.7px}.map-outline{fill:var(--yellow);stroke:none}
