:root{--bg:#070a1c;--bg-glow:#1b2550;--ink:#e8ecff;--muted:#7f8cc9;--globe:#2d49b8;--land:#3fe0b0;--path:#ffd166;--clock:#37e6c0;--strike:#ff4d6d}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 30%, var(--bg-glow) 0%, var(--bg) 70%) fixed;color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden}.stars{pointer-events:none;opacity:.7;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 78% 9%,#cfd8ff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 33% 71%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 91% 55%,#cfd8ff 50%,#0000 51%),radial-gradient(1px 1px at 57% 34%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 6% 88%,#cfd8ff 50%,#0000 51%),radial-gradient(1px 1px at 68% 83%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 44% 6%,#fff 50%,#0000 51%);background-size:310px 290px,270px 330px,350px 310px,290px 370px,230px 250px,390px 350px,330px 270px,250px 410px;position:fixed;inset:0}.ui-layer{left:0;right:0;top:var(--vtop,0px);height:var(--vh,100dvh);pointer-events:none;padding:max(10px, env(safe-area-inset-top)) 14px max(12px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex;position:fixed}.ui-layer>*{pointer-events:auto;order:0}.globe-layer{touch-action:none;opacity:0;flex:1 1 0;order:1;min-height:0;margin:0 -14px;transition:opacity .9s;overflow:hidden}.globe-layer.ready{opacity:1}@media (prefers-reduced-motion:reduce){.globe-layer{transition:none}}.panel{background:#070a1cd9;border:1px solid #ffffff1f;border-radius:16px;order:2;padding:12px}button,input,textarea{font:inherit;color:var(--ink)}button{cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff2e;border-radius:14px;min-height:46px;padding:12px 16px}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--clock);outline-offset:2px}button.primary{background:linear-gradient(#5b7cff,#3d5bf0);border-color:#8ea2ff;font-size:17px;font-weight:700;box-shadow:0 0 24px #5b7cff73}button.sel{border-color:var(--clock);background:#37e6c02e}.title{text-align:center;pointer-events:none;text-shadow:0 2px 18px #070a1c;margin-top:min(6vh,40px)}.title h1{letter-spacing:.3em;margin:0 -.3em 0 0;font-size:44px;font-weight:800}.title.small{margin-top:6px}.title.small h1{letter-spacing:.02em;margin-right:0;font-size:26px}.title p{color:var(--muted);margin:8px 0 0}.dock{background:#0a0e26eb;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;order:2;gap:10px;padding:12px;display:flex}.dock.scroll{max-height:55%;overflow-y:auto}.note{color:var(--muted);text-align:center;margin:0;font-size:14px}.note.blind{text-align:left;font-size:12px;line-height:1.5}.note textarea{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:10px;width:100%;margin-top:6px;padding:8px;font-size:12px;display:block}.hud{justify-content:space-between;align-items:center;gap:8px;display:flex}.who{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-direction:column;flex:1;gap:5px;min-width:0;font-size:13px;font-weight:700;display:flex}.who span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who.right{align-items:flex-end}.who.active{color:var(--ink)}.pips{vertical-align:middle;gap:5px;display:inline-flex}.pips i{background:#2a3157;border-radius:50%;width:10px;height:10px}.pips i.on{background:var(--strike);box-shadow:0 0 8px var(--strike)}.clock{width:52px;height:52px;color:var(--clock);flex:none;position:relative}.clock svg{width:100%;height:100%;transform:rotate(-90deg)}.clock circle{fill:#070a1c8c;stroke-width:4px}.clock .track{stroke:#ffffff1a}.clock .ring{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.clock b{font-variant-numeric:tabular-nums;place-items:center;font-size:19px;display:grid;position:absolute;inset:0}.clock.low{color:var(--strike)}.clock.frozen{color:#8fd3ff}.banner{z-index:2;text-align:center;pointer-events:none;background:#070a1ce6;border:1px solid #fff3;border-radius:16px;width:max-content;max-width:86%;padding:10px 18px;font-size:19px;font-weight:800;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.banner.bad{color:var(--strike);border-color:var(--strike);box-shadow:0 0 30px #ff4d6d80}.banner.count{width:100px;color:var(--path);border-color:var(--path);font-size:56px}.turn-row{align-items:center;gap:10px;min-width:0;display:flex}.turn-row>.entry,.turn-row>.prompt{flex:1;min-width:0}.letter{color:var(--path);text-shadow:0 0 20px #ffd16680;text-align:center;min-width:38px;font-size:46px;font-weight:900;line-height:1}.left{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.left b{color:var(--ink);font-size:18px}.streak{margin-left:6px}.prompt{margin:0;font-size:16px}.prompt b{color:var(--path)}.entry{gap:8px;display:flex}.entry input{background:#ffffff12;border:1px solid #5b7cff8c;border-radius:14px;flex:1;min-width:0;padding:10px 12px;font-size:18px;font-weight:600}.entry input.waiting{border-color:var(--clock);box-shadow:0 0 0 3px #37e6c040}.entry input::placeholder{color:#55608f;font-weight:400}.entry .go{color:var(--clock);padding:0 18px;font-size:20px}.shake{animation:.2s linear shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.shake{outline:2px solid var(--strike);border-radius:14px;animation:none}}.tray{flex:none;gap:8px;display:flex}.power{width:46px;height:40px;min-height:40px;padding:0;font-size:18px;position:relative}.power b{background:var(--path);color:#070a1c;border-radius:10px;padding:1px 6px;font-size:11px;position:absolute;top:-6px;right:-6px}.seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border-radius:20px;min-height:38px;padding:8px 12px;font-size:14px}.chips small{color:var(--muted)}.switch{align-items:center;gap:10px;font-size:15px;display:flex}.switch input{width:22px;height:22px;accent-color:var(--clock)}.name-form{flex-direction:column;gap:8px;display:flex}.name-form label{font-weight:700}.stats{color:var(--muted);margin:10px 0 0;padding:0;font-size:15px;line-height:1.7;list-style:none}.stats b{color:var(--ink)}.debug-badge{text-align:center;letter-spacing:.08em;color:var(--path);pointer-events:none;order:2;margin:0;font-size:11px}.debug-bar{border-top:1px dashed #ffd16666;flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;display:flex}.debug-bar button{border-color:#ffd16680;min-height:34px;padding:4px 12px;font-size:13px}.debug-bar p{color:var(--muted);flex-basis:100%;max-height:2.8em;margin:0;font-size:11px;line-height:1.4;overflow-y:auto}.banner.outside{color:var(--muted);font-size:16px;font-weight:600}.banner.outside b{color:var(--ink)}.banner.repeat{flex-direction:column;align-items:center;gap:2px;font-size:16px;animation:.18s ease-out pop;display:flex}.banner.repeat span{font-size:54px;font-weight:900;line-height:1}@keyframes pop{0%{transform:translate(-50%,-50%)scale(.6)}}@media (prefers-reduced-motion:reduce){.banner.repeat{animation:none}}.named{flex-wrap:wrap;gap:6px;max-height:26vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.named li{color:#070a1c;background:var(--path);border-radius:14px;padding:5px 10px;font-size:14px;font-weight:600;animation:.2s ease-out chip}@keyframes chip{0%{transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.named li{animation:none}}.named.mini{gap:4px;max-height:52px;position:relative}.named.mini li{border-radius:11px;padding:3px 8px;font-size:12px;line-height:16px}.named.mini li.hit{background:var(--strike);color:#fff}.left-note{text-align:left}.left-note b{color:var(--ink)}.dock section{flex-direction:column;gap:6px;display:flex}.dock h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:700}.seg.three{grid-template-columns:repeat(3,1fr)}.seg.three button{padding:10px 4px;font-size:14px}.dock.scroll{max-height:72%}
