:root{--ink: #1e2b3a;--panel: rgba(255, 255, 255, .92);--line: rgba(30, 43, 58, .12);--grass: #5bc25b;--wood: #c9844b;--accent: #ff6b4a;--sky: #8fd3ff;--player: #e8433a;--display: "Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--body: "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--sky);color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;cursor:crosshair}#labels{position:fixed;inset:0;pointer-events:none}.name-tag{font-family:var(--display);font-weight:600;font-size:.8rem;color:#fff;background:var(--c);padding:1px 8px;border-radius:999px;border:2px solid #fff;white-space:nowrap;box-shadow:0 2px #1e2b3a33;transform:translateY(-4px)}.name-tag.me{font-size:.72rem;opacity:.85}body:not(.in-game) #hole-info,body:not(.in-game) #controls,body:not(.in-game) #touch-bar,body:not(.in-game) #hints,body:not(.in-game) #player-list,body:not(.in-game) #labels{display:none}#start{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 32px));padding:24px;display:flex;flex-direction:column;gap:12px;z-index:30}#start h1{font-family:var(--display);font-weight:700;font-size:2rem;margin:0;line-height:1.1}#start .lead{margin:-6px 0 4px;color:#5a6b7c;font-weight:700}#start .field{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:.85rem;color:#5a6b7c}#start input{font:600 1.05rem var(--body);color:var(--ink);padding:10px 14px;border-radius:12px;border:2px solid #dfe6ec;background:#fff;outline:none;min-width:0}#start input:focus{border-color:var(--grass)}#start-multi{display:flex;flex-direction:column;gap:10px}#start .join{display:flex;gap:8px}#start .join input{flex:1;text-transform:uppercase;letter-spacing:.25em;font-family:var(--display);text-align:center}#start button{padding:11px 18px}#start button.primary{background:var(--grass);border-color:var(--grass);color:#fff}#start button.secondary{box-shadow:0 4px #1e2b3a26,inset 0 0 0 2px #dfe6ec}#start .invite{margin:0;background:#fff3d6;border-radius:10px;padding:8px 12px;font-weight:700}#start .note{margin:0;font-size:.9rem;color:#5a6b7c}#start .error{margin:0;color:#c2412a;font-weight:800}#start .status{font-weight:700;display:flex;align-items:center;gap:8px}#start .status:before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:3px solid #cfe3d0;border-top-color:var(--grass);animation:spin .8s linear infinite}#start button:disabled{opacity:.55;cursor:progress}@keyframes spin{to{transform:rotate(360deg)}}#offline{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);background:#c2412a;color:#fff;font-weight:800;padding:6px 14px;border-radius:999px;z-index:25}#player-list{position:fixed;top:calc(132px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));margin:0;padding:6px;list-style:none;display:flex;flex-direction:column;gap:2px;min-width:200px}#player-list button{width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;box-shadow:none;padding:5px 10px;border-radius:10px;font-size:.92rem;text-align:left}#player-list button:hover{background:#eef4f8;transform:none}#player-list button.following{background:#e9f6e9}#player-list button.away{opacity:.5}#player-list i{width:12px;height:12px;border-radius:50%;background:var(--c);flex:none}#player-list span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#player-list b{font-variant-numeric:tabular-nums}#room-chip{font-family:var(--display);font-weight:600;background:var(--ink);color:#fff;border-radius:999px;padding:8px 14px;align-self:center}#room-chip b{letter-spacing:.12em;color:#ffc93c}select:disabled{opacity:.7;cursor:default}#loading{position:fixed;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:1.4rem;font-weight:600;background:var(--sky);z-index:50}body.ready #loading{display:none}.panel{background:var(--panel);border:2px solid #fff;border-radius:18px;box-shadow:0 6px #1e2b3a1f}#hole-info{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));padding:10px 16px 12px;min-width:200px}#hole-info .row{display:flex;gap:10px;align-items:center;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5a6b7c}#hole-par{margin-left:auto;color:var(--ink);background:#e9f6e9;border-radius:999px;padding:1px 9px}#hole-name{font-family:var(--display);font-weight:700;font-size:1.5rem;line-height:1.15;margin:2px 0 6px}#hole-info .strokes b{font-family:var(--display);font-size:1.35rem;color:var(--ink);font-variant-numeric:tabular-nums;min-width:1.2ch}#stroke-pips{display:flex;gap:3px}#stroke-pips i{width:9px;height:9px;border-radius:50%;background:#dfe6ec}#stroke-pips i.on{background:var(--player)}#controls{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 260px)}button,select{font-family:var(--display);font-weight:600;font-size:.98rem;color:var(--ink);background:#fff;border:2px solid #fff;border-radius:999px;padding:7px 14px;cursor:pointer;box-shadow:0 4px #1e2b3a26}button:hover,select:hover{transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:0 2px #1e2b3a26}button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button[aria-pressed=false]{color:#8a96a3}#touch-bar{position:fixed;bottom:calc(52px + env(safe-area-inset-bottom,0px));right:calc(14px + env(safe-area-inset-right,0px));display:flex;gap:8px}#touch-bar button{padding:8px 14px}#hints{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);margin:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 28px);pointer-events:none}#hints span{background:#1e2b3a8c;color:#fff;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:999px}#power-readout{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%) scale(.8);font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--ink);padding:4px 16px;border-radius:999px;opacity:0;transition:opacity .12s,transform .12s;pointer-events:none;font-variant-numeric:tabular-nums;border:2px solid #fff}#power-readout.show{opacity:1;transform:translate(-50%) scale(1)}#big-word{position:fixed;left:50%;top:32%;transform:translate(-50%,-50%);font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,9vw,5.5rem);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 rgba(30,43,58,.25);pointer-events:none;opacity:0;white-space:nowrap}#big-word.pop{animation:pop 1.5s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-8deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(2deg)}30%{transform:translate(-50%,-50%) scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-62%) scale(1)}}#toast{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%,-20px);background:var(--ink);color:#fff;font-weight:800;padding:8px 16px;border-radius:999px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%)}#hole-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));padding:22px 22px 18px;text-align:center;z-index:20;animation:card-in .35s cubic-bezier(.2,1.3,.4,1)}@keyframes card-in{0%{transform:translate(-50%,-40%) scale(.9);opacity:0}}#card-word{font-family:var(--display);font-weight:700;font-size:2.4rem;line-height:1.1}#card-sub{color:#5a6b7c;font-weight:700;margin:4px 0 14px}#card-table{width:100%;border-collapse:collapse;font-size:.95rem;text-align:left}#card-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#5a6b7c;font-weight:800;padding:4px 6px}#card-table td{padding:6px;border-top:1px solid var(--line)}#card-table .num{text-align:right;font-variant-numeric:tabular-nums}#card-table td.under{color:#22862a;font-weight:800}#card-table td.over{color:#c2412a;font-weight:800}#card-table tr.total td{font-weight:800;border-top:2px solid var(--ink)}#card-table small{color:#5a6b7c;font-weight:700}#hole-card .table-wrap{overflow-x:auto}#card-table th.player{white-space:nowrap}#card-table th.player i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:4px}#card-table td.me{color:var(--ink);text-decoration:underline}#card-countdown{margin:14px 0 0;font-weight:800;color:#5a6b7c}#hole-card .buttons{display:flex;gap:10px;justify-content:center;margin-top:16px}#hole-card .buttons button{background:var(--grass);color:#fff;border-color:var(--grass);padding:9px 20px}#hole-card .buttons button.secondary{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 4px #1e2b3a26,inset 0 0 0 2px var(--line)}#tuning.lil-gui.root{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));--font-family: var(--body);--background-color: #1e2b3a;--widget-color: #2c3e52;--focus-color: #3a516a;--number-color: #8fd3ff;--title-background-color: #c9844b;--title-text-color: #fff;border-radius:12px;overflow:hidden;z-index:15;max-height:calc(100vh - 140px)}#tuning .title{font-family:var(--display);font-weight:600}@media (max-width: 640px){#hints{display:none}#controls{max-width:calc(100vw - 28px);top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:calc(14px + env(safe-area-inset-left,0px));justify-content:flex-start}#touch-bar{bottom:calc(160px + env(safe-area-inset-bottom,0px))}#tuning.lil-gui.root{bottom:216px}#hole-info{min-width:0}#player-list{top:auto;bottom:216px;min-width:0}#room-chip{padding:6px 10px}#hole-name{font-size:1.2rem}#tuning.lil-gui.root{top:auto;max-height:50vh}}@media (hover: hover) and (pointer: fine) and (min-width: 641px){#touch-bar #btn-rot-l,#touch-bar #btn-rot-r{display:none}}@media (prefers-reduced-motion: reduce){#big-word.pop{animation-duration:1.2s}#hole-card{animation:none}}#timer{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:6;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--ink);background:#fff;border:3px solid var(--accent);padding:4px 18px;border-radius:999px;box-shadow:0 4px #1e2b3a2e;font-variant-numeric:tabular-nums;pointer-events:none}#timer.urgent{background:var(--accent);color:#fff;animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{50%{transform:translate(-50%) scale(1.08)}}@media (prefers-reduced-motion: reduce){#timer.urgent{animation:none}}.name-tag{position:relative}.emote-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) scale(0);transform-origin:50% 100%;background:#fff;color:var(--ink);font-size:.95rem;font-weight:700;padding:3px 10px;border-radius:12px;border:2px solid var(--c);white-space:nowrap;transition:transform .15s cubic-bezier(.3,1.6,.6,1);pointer-events:none}.emote-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--c)}.emote-bubble.show{transform:translate(-50%) scale(1)}#emote-bar{position:fixed;left:16px;bottom:calc(56px + env(safe-area-inset-bottom,0px));display:flex;gap:6px;z-index:6}#emote-bar button{font:600 .85rem var(--display);background:#fff;color:var(--ink);border:0;border-radius:999px;padding:6px 12px;box-shadow:0 3px #1e2b3a2e;cursor:pointer}#emote-bar button kbd{font:inherit;opacity:.5;margin-right:4px}#emote-bar button.confetti{background:var(--accent);color:#fff}body:not(.in-game) #emote-bar{display:none}#hole-mod{display:inline-block;margin-top:6px;font:700 .75rem var(--display);letter-spacing:.04em;text-transform:uppercase;background:#e6e0f5;color:#4a2e86;padding:2px 8px;border-radius:999px}#card-awards{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}#card-awards li{border:2px dashed var(--c, #c9844b);border-radius:12px;padding:8px 10px;font-size:.85rem}#card-awards b{display:block;font-family:var(--display);font-size:1rem}#card-awards span{color:#55687a}@media (max-width: 640px){#emote-bar{bottom:auto;top:calc(128px + env(safe-area-inset-top,0px))}#emote-bar kbd{display:none}}#btn-menu,#btn-emote-toggle,#touch-hints{display:none}@media (pointer: coarse){#hints{display:none}body.in-game #btn-menu{display:block;position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));z-index:12;min-height:44px}#controls{display:none}body.in-game.menu-open #controls{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:8px;position:fixed;top:calc(62px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));bottom:auto;left:auto;width:min(260px,calc(100vw - 20px));max-width:none;padding:10px;background:var(--panel);border:2px solid #fff;border-radius:18px;box-shadow:0 6px #1e2b3a1f;z-index:12}body.in-game.menu-open #controls>*{min-height:44px;flex-shrink:0}#room-chip{text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center;gap:6px}#hole-info{top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));padding:6px 12px 8px;min-width:0;border-radius:14px}#hole-info .row{font-size:.68rem;gap:8px}#hole-name{font-size:1.05rem;margin:0 0 2px}#hole-info .strokes b{font-size:1.1rem}#stroke-pips{display:none}#hole-mod{margin-top:3px}#player-list{top:calc(96px + env(safe-area-inset-top,0px));bottom:auto;left:calc(10px + env(safe-area-inset-left,0px));min-width:0;max-width:46vw;padding:3px;border-radius:14px}#player-list button{font-size:.8rem;padding:4px 8px;gap:6px}#player-list i{width:10px;height:10px}#touch-bar{bottom:calc(12px + env(safe-area-inset-bottom,0px));right:calc(10px + env(safe-area-inset-right,0px))}#touch-bar button{min-width:48px;min-height:48px;padding:8px 14px}#touch-bar #btn-rot-l,#touch-bar #btn-rot-r{display:block;font-size:1.2rem}#emote-bar{top:auto;left:calc(10px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column-reverse;align-items:flex-start}#emote-bar kbd{display:none}#btn-emote-toggle{display:block;min-width:48px;min-height:48px;font-size:1.3rem;padding:0}#emote-bar button:not(#btn-emote-toggle){display:none;font-size:1rem;padding:10px 16px}body.emotes-open #emote-bar button:not(#btn-emote-toggle):not([hidden]){display:block}body.in-game:not(.has-shot):not(.emotes-open):not(.menu-open) #touch-hints{display:flex;position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translate(-50%);margin:0;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 28px);pointer-events:none}#touch-hints span{background:#1e2b3a99;color:#fff;font-size:.85rem;font-weight:700;padding:4px 12px;border-radius:999px}#timer{top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));font-size:1.15rem}#power-readout{bottom:auto;top:30%}#toast{top:calc(130px + env(safe-area-inset-top,0px));white-space:normal;max-width:calc(100vw - 40px);text-align:center}#big-word{top:40%}#tuning.lil-gui.root{top:auto;bottom:80px;max-height:45vh}}@media (pointer: coarse) and (max-height: 500px){#player-list{top:calc(62px + env(safe-area-inset-top,0px));left:auto;right:calc(10px + env(safe-area-inset-right,0px));max-width:30vw}#touch-hints{bottom:calc(70px + env(safe-area-inset-bottom,0px))}body.in-game.menu-open #controls{max-height:calc(100vh - 80px);overflow-y:auto}}#power-btn{position:fixed;left:50%;bottom:calc(52px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:7;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;column-gap:8px;align-items:center;text-align:left;padding:6px 16px 6px 10px;border:3px solid #ffc93c;border-radius:18px}#power-btn:hover{transform:translate(-50%) translateY(-1px)}#power-btn:active{transform:translate(-50%) translateY(2px)}#power-icon{grid-row:span 3;font-size:1.6rem;line-height:1}#power-name{font-weight:700;font-size:1rem}#power-hint{font:700 .72rem var(--body);color:#5a6b7c;white-space:nowrap}#power-text{font:600 .78rem var(--body);color:var(--ink);max-width:230px;line-height:1.25}#power-intro{position:fixed;left:50%;top:calc(96px + env(safe-area-inset-top,0px));transform:translate(-50%,-12px);z-index:12;display:flex;gap:12px;align-items:center;width:min(380px,calc(100vw - 32px));padding:12px 16px;background:#fffdf5;color:var(--ink);border:3px solid #ffc93c;border-radius:20px;box-shadow:0 6px #1e2b3a2e;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}#power-intro.show{opacity:1;transform:translate(-50%)}#power-intro-icon{font-size:2.2rem;line-height:1}#power-intro b{font-family:var(--display);font-size:1.15rem}#power-intro p{margin:2px 0;font-weight:600;font-size:.92rem;line-height:1.3}#power-intro small{color:#5a6b7c;font-weight:700;font-size:.78rem}body:not(.in-game) #power-intro{display:none}#power-btn.armed{background:#ffc93c;border-color:#fff;animation:power-pulse .9s ease-in-out infinite}#power-btn.armed #power-hint{color:var(--ink)}@keyframes power-pulse{50%{box-shadow:0 0 0 6px #ffc93c73,0 4px #1e2b3a26}}#sticky-chip,#frozen-chip{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:7;background:#7ed957;color:var(--ink);font-weight:800;font-size:.85rem;padding:4px 12px;border-radius:999px;pointer-events:none;white-space:nowrap}#frozen-chip{background:#bfe9ff;bottom:calc(140px + env(safe-area-inset-bottom,0px))}body:not(.in-game) #power-btn,body:not(.in-game) #sticky-chip,body:not(.in-game) #frozen-chip{display:none}@media (prefers-reduced-motion: reduce){#power-btn.armed{animation:none}}@media (pointer: coarse){#power-btn{bottom:calc(76px + env(safe-area-inset-bottom,0px));min-height:52px}#sticky-chip{bottom:calc(138px + env(safe-area-inset-bottom,0px))}#frozen-chip{bottom:calc(166px + env(safe-area-inset-bottom,0px))}#timer{top:calc(62px + env(safe-area-inset-top,0px));bottom:auto;left:auto;right:calc(10px + env(safe-area-inset-right,0px));transform:none}@keyframes timer-pulse{50%{transform:scale(1.08)}}body:has(#power-btn:not([hidden])) #touch-hints{display:none}}@media (pointer: coarse) and (max-height: 500px){#power-btn{bottom:calc(12px + env(safe-area-inset-bottom,0px))}#sticky-chip{bottom:calc(74px + env(safe-area-inset-bottom,0px))}#frozen-chip{bottom:calc(102px + env(safe-area-inset-bottom,0px))}#timer{right:auto;left:50%;top:calc(10px + env(safe-area-inset-top,0px));transform:translate(-50%)}@keyframes timer-pulse{50%{transform:translate(-50%) scale(1.08)}}}#editor{position:fixed;inset:0;z-index:40;background:#2f7a38;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}body.editing #start,body.editing #hole-card,body.editing #power-btn{display:none!important}.ed-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;background:var(--panel);box-shadow:0 2px #1e2b3a26}.ed-top input{font:600 1rem var(--body);color:var(--ink);padding:7px 12px;border-radius:999px;border:2px solid #dfe6ec;width:11em;min-width:0;outline:none}.ed-top input:focus{border-color:var(--grass)}.ed-top .primary{background:var(--grass);border-color:var(--grass);color:#fff}.ed-top .primary.blocked{background:#9fb5a2;border-color:#9fb5a2}.ed-spacer{flex:1}.ed-size{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:.85rem;color:#5a6b7c}.ed-size button{padding:2px 10px}.ed-size b{min-width:3.4em;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.ed-main{flex:1;min-height:0;position:relative}#ed-canvas{position:absolute;inset:0;touch-action:none;cursor:crosshair}#ed-status{margin:0;padding:6px 14px;color:#fff;font-weight:700;font-size:.92rem;text-align:center;min-height:1.3em}#ed-status.warn{color:#ffe08a}#ed-tools{display:flex;gap:6px;padding:8px 10px 12px;overflow-x:auto;scrollbar-width:none;background:#0000001f}#ed-tools::-webkit-scrollbar{display:none}#ed-tools button{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:14px;font-size:.8rem;min-width:64px}#ed-tools button span{font-size:1.25rem;line-height:1}#ed-tools button.active{background:var(--ink);border-color:var(--ink);color:#fff}@media (min-width: 641px) and (max-width: 1400px){.ed-top{gap:6px}.ed-top input{width:9em}.ed-top button,.ed-top select{padding:6px 11px;font-size:.9rem}.ed-size button{padding:2px 8px}.ed-size b{min-width:2.8em}}@media (max-width: 640px){.ed-top{gap:6px 5px;padding:8px}.ed-top input{flex:1;width:auto;padding:6px 10px;font-size:.95rem}.ed-top button,.ed-top select{padding:5px 10px;font-size:.85rem}#ed-play{order:-1;margin-left:auto}#ed-back{order:-3}#ed-name{order:-2}.ed-size{font-size:.78rem}.ed-size b{min-width:2.8em}.ed-size button{padding:2px 8px}.ed-spacer{display:none}#ed-tools button{min-width:58px;padding:5px 8px}}body.editing #toast{z-index:45;top:auto;bottom:calc(130px + env(safe-area-inset-bottom,0px));white-space:normal;max-width:calc(100vw - 40px);text-align:center}@media (max-height: 500px){#editor{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr}.ed-top{grid-column:1 / -1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:6px 8px;gap:5px}.ed-top::-webkit-scrollbar{display:none}.ed-top>*{flex:none}#ed-back{order:-3}#ed-name{order:-2}#ed-play{order:-1}.ed-top input{width:9em}.ed-top button,.ed-top select{padding:4px 10px;font-size:.82rem}#ed-status{display:none}#ed-tools{flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:6px}#ed-tools button{flex-direction:row;min-width:0;padding:4px 10px;gap:6px;font-size:.78rem}#ed-tools button span{font-size:1rem}}:root{--glass: rgba(255, 255, 255, .74);--glass-strong: rgba(255, 255, 255, .9);--glass-line: rgba(255, 255, 255, .8);--shadow: 0 12px 32px -10px rgba(30, 43, 58, .35), 0 2px 6px rgba(30, 43, 58, .08);--shadow-sm: 0 6px 16px -6px rgba(30, 43, 58, .35), 0 1px 2px rgba(30, 43, 58, .08);--muted: #5a6b7c;--grass-deep: #3fae45;--sky-top: #5fb8f2;--sky-horizon: #d9f1ff}body{background:linear-gradient(180deg,var(--sky-top) 0%,#9ed8fb 48%,var(--sky-horizon) 100%) fixed}.panel{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--glass-line);border-radius:20px;box-shadow:var(--shadow)}button,select{background:var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background-color .15s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}button:hover,select:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px #1e2b3a66,0 1px 2px #1e2b3a14}button:active{transform:translateY(1px) scale(.98);box-shadow:0 3px 8px -4px #1e2b3a66}button:disabled,select:disabled{transform:none;box-shadow:none}button.primary,#start button.primary,.ed-top .primary{background:linear-gradient(180deg,#74d670 0%,var(--grass-deep) 100%);border-color:#ffffff59;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.12);box-shadow:0 10px 22px -10px #2f8c34e6,inset 0 1px #ffffff59}button.primary:hover{box-shadow:0 14px 26px -10px #2f8c34f2,inset 0 1px #ffffff59}#loading{flex-direction:column;gap:18px;color:var(--ink);background:linear-gradient(180deg,var(--sky-top),var(--sky-horizon));display:flex;align-items:center;justify-content:center}.loader{position:relative;width:60px;height:70px}.loader i{position:absolute;left:14px;top:0;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 30%,#e8eef3 70%,#c9d3dc);box-shadow:inset -3px -4px #1e2b3a14;animation:bounce .7s cubic-bezier(.5,0,.5,1) infinite alternate}.loader b{position:absolute;left:12px;bottom:0;width:36px;height:8px;border-radius:50%;background:#1e2b3a2e;animation:shade .7s cubic-bezier(.5,0,.5,1) infinite alternate}@keyframes bounce{to{transform:translateY(32px) scaleY(.92)}}@keyframes shade{0%{transform:scale(.6);opacity:.5}}#start{width:min(420px,calc(100vw - 32px));padding:26px 26px 20px;gap:14px;border-radius:28px;animation:rise .45s cubic-bezier(.2,1.2,.4,1)}@keyframes rise{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}}#start .brand{display:flex;align-items:center;gap:14px}#start h1{font-size:2.1rem;letter-spacing:-.01em}#start .lead{margin:2px 0 0;font-size:.95rem}.logo{position:relative;flex:none;width:58px;height:58px;border-radius:18px;background:linear-gradient(160deg,#74d670,var(--grass-deep));box-shadow:0 10px 20px -10px #2f8c34e6,inset 0 1px #fff6}.logo i{position:absolute;left:15px;top:15px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 35%,#e8eef3 75%,#cdd6de);box-shadow:0 3px 6px #0000002e}.logo:after{content:"";position:absolute;right:9px;top:8px;width:3px;height:22px;background:#fff;border-radius:2px}.logo:before{content:"";position:absolute;right:12px;top:8px;width:14px;height:10px;background:var(--accent);clip-path:polygon(100% 0,100% 100%,0 50%)}#start .field{color:var(--muted)}#start input{border:1px solid rgba(30,43,58,.12);background:#ffffffd9;border-radius:14px;transition:border-color .15s,box-shadow .15s}#start input:focus{border-color:var(--grass);box-shadow:0 0 0 4px #5bc25b38}#start button{padding:12px 18px;font-size:1.02rem}#start .join button{flex:none}#start .divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}#start .divider:before,#start .divider:after{content:"";flex:1;height:1px;background:#1e2b3a24}#start .start-more{display:grid;grid-template-columns:1fr 1fr;gap:10px}#start .start-more button{display:flex;align-items:center;justify-content:center;gap:8px}#start button.secondary{box-shadow:var(--shadow-sm)}#start .chips{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}#start .chips li{font-size:.76rem;font-weight:800;color:var(--muted);background:#fff9;border:1px solid rgba(30,43,58,.08);padding:3px 10px;border-radius:999px}#start .invite{background:#ffc93c40;border:1px solid rgba(255,201,60,.6);border-radius:14px}@media (max-height: 640px){#start .chips{display:none}#start{gap:10px;padding:18px}}body.in-game #btn-menu{display:flex;align-items:center;gap:6px;position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));z-index:12;min-height:42px}body.in-game.menu-open #btn-menu{background:var(--ink);color:#fff}#controls{display:none}body.in-game.menu-open #controls{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:8px;position:fixed;top:calc(66px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));bottom:auto;left:auto;width:min(270px,calc(100vw - 20px));max-width:none;max-height:calc(100vh - 90px);overflow-y:auto;padding:12px;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--glass-line);border-radius:20px;box-shadow:var(--shadow);z-index:12;animation:drop .18s ease-out}body.in-game.menu-open #controls>*{min-height:42px;flex-shrink:0}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}#room-chip{text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--ink);border-radius:14px}#hole-info{border-radius:20px}#hole-par{background:#5bc25b2e;color:#1f6b25}#stroke-pips i{background:#1e2b3a1f;transition:background-color .2s,transform .2s}#stroke-pips i.on{transform:scale(1.1)}#player-list{border-radius:18px}#player-list button{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:0}#player-list button:hover{background:#fff9;box-shadow:none}#player-list button.following{background:#5bc25b2e}#hints span,#touch-hints span{background:#1e2b3a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#toast{background:#1e2b3adb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);padding:9px 18px;z-index:22}#emote-bar button{background:var(--glass-strong);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#emote-bar button.confetti{background:var(--accent)}#timer{border-width:2px;box-shadow:var(--shadow)}#power-btn{background:var(--glass-strong);border-width:2px;box-shadow:var(--shadow)}#power-readout{border:0;box-shadow:var(--shadow);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}#hole-card{border-radius:26px;padding:24px 22px 18px;background:#ffffffe0}#card-word{letter-spacing:-.01em}#card-table th.player.lead,#card-table td.lead{background:#ffc93c38}#card-table tr.total td.lead{background:#ffc93c73}#card-table td .medal{margin-right:3px;display:inline-block;text-decoration:none}#card-table tbody tr:not(.total):hover td{background:#ffffff80}#card-awards li{border-style:solid;border-width:1px;background:#fff9}#power-readout small{font:700 .72rem var(--body);opacity:.75}#waiting{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;width:min(440px,calc(100vw - 24px));max-height:calc(100% - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;padding:22px 22px 18px;display:flex;flex-direction:column;gap:14px;border-radius:28px;animation:rise .4s cubic-bezier(.2,1.2,.4,1);user-select:text;-webkit-user-select:text}.wait-eyebrow{font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grass-deep)}#waiting h2{font-family:var(--display);font-weight:700;font-size:1.8rem;margin:2px 0 0;line-height:1.1}#wait-code{letter-spacing:.12em}.wait-invite{display:flex;gap:14px;align-items:center;background:#ffffffb3;border:1px solid rgba(30,43,58,.08);border-radius:18px;padding:10px}#wait-qr{flex:none;width:112px;height:112px;background:#fff;border-radius:12px;overflow:hidden}#wait-qr svg{display:block;width:100%;height:100%}.wait-invite-text{display:flex;flex-direction:column;gap:6px;min-width:0}.wait-invite-text p{margin:0;font-weight:700;font-size:.9rem;color:var(--muted)}#wait-link{font:700 .82rem ui-monospace,Menlo,monospace;color:var(--ink);overflow-wrap:anywhere}#wait-copy{align-self:flex-start;padding:7px 14px;font-size:.9rem}#wait-players{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}#wait-players li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffffbf;font-weight:800;min-width:0}#wait-players li i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none;box-shadow:inset 0 -2px #00000026}#wait-players li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wait-players li small{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:#ffc93c;padding:2px 6px;border-radius:6px}#wait-players li.away{opacity:.5}#wait-players li.free{background:transparent;border:1px dashed rgba(30,43,58,.2);color:var(--muted);font-weight:700}#wait-players li.free i{background:#1e2b3a1f;box-shadow:none}.wait-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.wait-settings label{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:.8rem;color:var(--muted);min-width:0}.wait-settings label:first-child{grid-column:1 / -1}.wait-settings select,.wait-settings button{width:100%;min-height:42px}#wait-note{margin:0;font-weight:700;color:var(--muted);text-align:center}.wait-actions{display:flex;gap:8px}.wait-actions button{padding:12px 18px;font-size:1.02rem}#wait-start{flex:1;font-family:var(--display);font-size:1.15rem}.wait-actions:has(#wait-start[hidden]) #wait-leave{flex:1}body.waiting #hole-info,body.waiting #player-list,body.waiting #hints,body.waiting #touch-hints,body.waiting #touch-bar,body.waiting #power-btn,body.waiting #timer{display:none!important}@media (max-width: 400px){#waiting{padding:16px;gap:12px}#wait-qr{width:96px;height:96px}#waiting h2{font-size:1.5rem}}#waiting button:disabled,#waiting select:disabled{opacity:.6;cursor:default}#start .daily-start{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 14px;border-radius:18px;background:linear-gradient(135deg,#ffc93c59,#ffffffd9);border:1px solid rgba(255,201,60,.7)}.daily-icon{position:relative;flex:none;width:42px;height:46px;border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.daily-icon:before{content:"";position:absolute;inset:0 0 auto;height:13px;background:var(--accent)}.daily-icon i{position:absolute;left:13px;top:20px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 30%,#e8eef3 70%,#c9d3dc);box-shadow:0 1px 2px #0003}.daily-text{display:flex;flex-direction:column;gap:1px;min-width:0}.daily-text b{font-family:var(--display);font-weight:600;font-size:1.05rem}.daily-text small{font-size:.82rem;font-weight:700;color:var(--muted)}#daily-state{color:#9a5b00}#daily-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:21;width:min(400px,calc(100vw - 32px));padding:22px;display:flex;flex-direction:column;gap:8px;text-align:center;border-radius:26px;animation:card-in .35s cubic-bezier(.2,1.3,.4,1);user-select:text;-webkit-user-select:text}#daily-word{font-family:var(--display);font-weight:700;font-size:2.3rem;line-height:1.05}#daily-line{margin:0;font-weight:800;color:var(--muted)}#daily-share{margin:6px 0 0;padding:12px;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font:600 .86rem/1.5 var(--body);background:#ffffffbf;border:1px solid rgba(30,43,58,.08);border-radius:14px}#daily-note{margin:0;font-weight:700;font-size:.9rem}.daily-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}.daily-buttons button{padding:10px 16px}.daily-buttons .primary{flex:1 1 100%;font-family:var(--display);font-size:1.08rem}.host-tools{display:flex;gap:4px;flex:none}.host-tools button{min-width:30px;min-height:30px;padding:2px 6px;border-radius:9px;font-size:.85rem;line-height:1}.host-tools button[data-kick]:hover{background:#ffe1dc}#host-panel{position:fixed;right:max(12px,env(safe-area-inset-right,0px));top:64px;z-index:31;width:min(340px,calc(100vw - 24px));padding:16px;display:flex;flex-direction:column;gap:12px;border-radius:22px;animation:host-in .25s cubic-bezier(.2,1.2,.4,1)}@keyframes host-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}}.host-head{display:flex;align-items:center;justify-content:space-between}.host-head h2{margin:0;font-family:var(--display);font-weight:700;font-size:1.4rem}.host-head button{min-width:36px;min-height:36px;padding:0;border-radius:12px}#host-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}#host-players li{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-radius:12px;background:#ffffffbf;font-weight:800;min-width:0;min-height:44px}#host-players li i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none}#host-players li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#host-players li small{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:#ffc93c;padding:2px 6px;border-radius:6px}#host-players li.away{opacity:.6}.host-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.host-actions button{min-height:42px}.host-actions button:disabled{opacity:.55;cursor:default}.host-note{margin:0;font-size:.82rem;font-weight:700;color:var(--muted)}.look-box{border-radius:14px;background:#ffffff8c;border:1px solid rgba(30,43,58,.08);padding:0 12px}.look-box summary{cursor:pointer;padding:10px 0;font-weight:800;font-size:.9rem;color:var(--muted)}.look-box[open]{padding-bottom:12px}.look-picker{display:flex;flex-direction:column;gap:8px}.look-row{display:flex;flex-wrap:wrap;gap:5px}.look-row button{--c: var(--accent);flex:none;width:36px;height:36px;min-height:36px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;line-height:1}.look-row button[aria-pressed=true]{box-shadow:0 0 0 3px var(--grass-deep),var(--shadow-sm);background:#fff}.look-pattern i{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 -3px #00000026,0 0 0 1px #00000014;background:var(--c)}.pat-band{background:linear-gradient(to bottom,var(--c) 0 38%,#fff 38% 62%,var(--c) 62%)!important}.pat-dots{background:radial-gradient(circle,#fff 0 24%,transparent 26%) 0 0 / 50% 50%,var(--c)!important}.pat-half{background:linear-gradient(90deg,var(--c) 50%,#fff 50%)!important}.pat-stripes{background:repeating-linear-gradient(0deg,var(--c) 0 4px,#fff 4px 7px)!important}.pat-swirl{background:conic-gradient(var(--c) 0 60deg,#fff 60deg 120deg,var(--c) 120deg 180deg,#fff 180deg 240deg,var(--c) 240deg 300deg,#fff 300deg)!important}.pat-checker{background:conic-gradient(var(--c) 0 25%,#fff 25% 50%,var(--c) 50% 75%,#fff 75%) 0 0 / 50% 50%!important}.pat-zigzag{background:linear-gradient(135deg,transparent 0 40%,#fff 40% 55%,transparent 55%) 0 50% / 8px 100%,var(--c)!important}.pat-rings{background:repeating-radial-gradient(circle at 20% 50%,var(--c) 0 3px,#fff 3px 5px)!important}#start .look-row button,#waiting .look-row button{padding:0}.look-row button.locked{opacity:.45;position:relative;filter:grayscale(.6)}.look-row button.locked:after{content:"🔒";position:absolute;right:-3px;bottom:-3px;font-size:.7rem;filter:none}.look-secrets{margin:4px 0 0;font:700 .78rem var(--body);color:#5a6b7c}.wait-look{display:flex;flex-direction:column;gap:6px}.wait-look>span{font-weight:800;font-size:.8rem;color:var(--muted)}.wait-look .look-picker{flex-direction:row;flex-wrap:wrap;gap:6px 12px}.wait-look .look-row button{width:32px;height:32px;min-height:32px}@media (max-width: 480px){.look-row{gap:4px}.look-row button{width:32px;height:32px;min-height:32px;font-size:1rem}}#emote-wheel{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#141e2847;animation:fade-in .15s ease-out}#emote-wheel[hidden]{display:none}#emote-ring{--rx: min(250px, calc(50vw - 18px) );--ry: min(180px, 30vh);--ri: 74px;position:relative;width:calc(var(--rx) * 2);height:calc(var(--ry) * 2 + 50px);animation:wheel-in .22s cubic-bezier(.2,1.3,.4,1)}#emote-ring button{position:absolute;left:50%;top:50%;white-space:nowrap;font:600 .92rem var(--display);padding:8px 12px;border:0;border-radius:999px;background:var(--glass-strong, #fff);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#emote-ring button.word{transform:translate(calc(var(--ax) + var(--x) * var(--rx)),calc(-50% + var(--y) * var(--ry)))}#emote-ring button.emoji{transform:translate(calc(-50% + var(--x) * var(--ri)),calc(-50% + var(--y) * var(--ri)))}#emote-ring button.emoji{font-size:1.5rem;padding:4px 10px}#emote-ring button:hover,#emote-ring button:focus-visible{background:#fff;outline:3px solid var(--grass-deep)}#emote-ring kbd{font:inherit;font-size:.75rem;opacity:.45;margin-right:5px}#emote-ring button.emoji kbd{font-size:.75rem;vertical-align:middle}#emote-ring,#emote-close{grid-area:1 / 1}#emote-close{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;font-size:1.2rem}@keyframes wheel-in{0%{transform:scale(.6);opacity:0}}@keyframes fade-in{0%{opacity:0}}@media (pointer: coarse){#emote-ring kbd{display:none}}.mode-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:16px;background:#1e2b3a0f}#start .mode-pick button{color:#1e2b3a;padding:9px 4px;font-size:.92rem;border-radius:12px;box-shadow:none;background:transparent;border-color:transparent;white-space:nowrap}#start .mode-pick button[aria-pressed=true]{background:#fff;box-shadow:0 3px 10px -4px #1e2b3a59;color:var(--ink, #1e2b3a)}#start .mode-note{margin:-6px 0 0;text-align:center;font-size:.85rem}#start .link-button{background:none;border:none;box-shadow:none;padding:2px;font-weight:800;font-size:.92rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px;align-self:center}#start .link-button:hover{color:var(--ink, #1e2b3a)}#start .start-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}#records-card,#gallery-card,#gfx-card,#help-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:12px;border-radius:26px;animation:card-in .35s cubic-bezier(.2,1.3,.4,1)}.rec-head{display:flex;align-items:center;justify-content:space-between}.rec-head h2{margin:0;font-family:var(--display);font-weight:700;font-size:1.6rem}.rec-head button{width:38px;height:38px;padding:0;border-radius:12px}.rec-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rec-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(30,43,58,.08)}.rec-tile b{font-family:var(--display);font-size:1.5rem;line-height:1.1}.rec-tile span{font-size:.76rem;font-weight:800;color:var(--muted);text-align:center}.rec-fav{margin:0;font-weight:700}.rec-round{border-radius:14px;background:#ffffff8c;border:1px solid rgba(30,43,58,.08);padding:0 12px}.rec-round summary{cursor:pointer;padding:10px 0;font-weight:800}.rec-round table{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:.9rem}.rec-round th{text-align:left;font-size:.74rem;color:var(--muted);font-weight:800;padding:2px 4px}.rec-round td{padding:5px 4px;border-top:1px solid rgba(30,43,58,.07)}.rec-round td:nth-child(n+2),.rec-round th:nth-child(n+2){text-align:right;white-space:nowrap}.rec-round td small{color:var(--muted);font-weight:700}.rec-round td.good{color:#2f8c34;font-weight:800}.rec-round td.bad{color:#b4532a}.rec-ace{color:#e0a800}.rec-note{margin:0;font-size:.8rem;color:var(--muted)}.replay-banner{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 20px 7px;border-radius:18px;background:#1e2b3ad1;color:#fff;font-family:var(--display);text-align:center;pointer-events:none;box-shadow:0 6px 18px #0003;animation:replay-in .35s ease-out;max-width:calc(100vw - 32px)}.replay-banner[hidden]{display:none}.replay-banner b{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#ffd34d}.replay-banner b:before{content:"▶ "}.replay-banner span{font-size:1.25rem;font-weight:700}.replay-banner small{font-family:var(--body);font-size:.75rem;opacity:.7}body.replaying #hole-info,body.replaying #emote-bar,body.replaying #controls{opacity:.35}@keyframes replay-in{0%{opacity:0;transform:translate(-50%,-8px)}}.team-tag{background:var(--t)!important;color:#fff!important;border-radius:999px;padding:1px 8px}.team-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--t);margin-left:6px;box-shadow:0 0 0 2px #fff;vertical-align:middle}#card-table tr.team-row td{border-top:2px solid var(--t)}#card-table tr.team-row td:first-child b{color:var(--t);margin-right:6px}#card-table tr.team-row td:first-child small{opacity:.7}#card-table tr.team-row td.num{text-align:center;font-weight:700}body.watching #emote-bar,body.watching #btn-powerups,body.watching #power-readout{display:none!important}#btn-watch{padding:7px 12px}.watchers span{font-weight:600}#card-table.many{font-size:.8rem;display:block;max-width:100%;overflow-x:auto}#card-table.many th,#card-table.many td{padding-left:3px;padding-right:3px}#card-table.many tr.team-row small{display:none}.gal-tabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:#1e2b3a12}.gal-tabs button{flex:1;border:none;box-shadow:none;background:none;font-weight:800;padding:8px;border-radius:10px}.gal-tabs button[aria-pressed=true]{background:#fff;box-shadow:0 3px 10px -4px #1e2b3a59}#gallery-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gal-item{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(30,43,58,.08)}.gal-text{flex:1;min-width:0;display:flex;flex-direction:column}.gal-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-text small{color:var(--muted);font-weight:700;font-size:.78rem}.gal-like{padding:6px 10px;border-radius:12px;font-weight:800;white-space:nowrap}.gal-like[aria-pressed=true]{background:#fff3c4;border-color:#e0b300}.gal-open{padding:6px 12px;border-radius:12px}#ed-shelf{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:45;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:12px;border-radius:26px;animation:card-in .35s cubic-bezier(.2,1.3,.4,1)}#ed-shelf[hidden]{display:none}.shelf-actions{display:flex;flex-wrap:wrap;gap:6px}.shelf-actions button{padding:6px 12px;border-radius:12px;font-size:.9rem}#ed-shelf-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gal-item.current{border-color:var(--grass);box-shadow:inset 0 0 0 1px var(--grass)}#ed-account{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(30,43,58,.08)}#ed-account[hidden]{display:none}#ed-account h3{margin:0;font-size:1rem}#ed-account p{margin:0;font-size:.85rem}#ed-account form{display:flex;flex-direction:column;gap:6px}#ed-account label{font-size:.78rem;font-weight:800;color:var(--muted)}#ed-account input{font:600 1rem var(--body);color:var(--ink);padding:7px 12px;border-radius:12px;border:2px solid #dfe6ec;outline:none;min-width:0}#ed-account input:focus{border-color:var(--grass)}#ed-account .acc-err{color:#b4532a;font-weight:700;min-height:0}#ed-account .acc-err:empty{display:none}#ed-account .bk-key{font:800 1.15rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;user-select:all}#ed-account .bk-row{display:flex;flex-wrap:wrap;gap:6px}#ed-account .bk-row button,#ed-account form button{padding:6px 12px;border-radius:12px;font-size:.9rem}#ed-backup{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:#ffffff8c;border:1px solid rgba(30,43,58,.08)}#ed-backup[hidden]{display:none}#ed-backup h3{margin:0;font-size:1rem}#ed-backup p{margin:0;font-size:.85rem}#ed-backup .bk-key{font:800 1.15rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;user-select:all}#ed-backup .bk-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#ed-backup .bk-row button{padding:5px 11px;border-radius:12px;font-size:.85rem}#ed-backup .bk-err{color:#b4532a;font-weight:700}.shelf-del{padding:6px 10px;border-radius:12px}.gal-note{color:var(--muted);font-weight:700;text-align:center;padding:12px 4px}.gfx-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.95rem}.gfx-row select{min-width:150px}.gfx-row input[type=range]{width:150px}.gfx-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent, #2f8f5b)}.gfx-row output{color:var(--muted);font-size:.85rem;margin-left:4px}#gfx-bench-out{margin:0;padding-left:0;list-style:none;display:grid;gap:4px;font-size:.9rem}#gfx-bench-out li{display:flex;justify-content:space-between;padding:4px 10px;border-radius:10px;background:#ffffff59}#gfx-bench-out li.best{background:#2f8f5b38;font-weight:700}#fps-meter{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:25;padding:3px 10px;border-radius:999px;background:#1e2b3ab3;color:#fff;font:600 .8rem var(--display, sans-serif);pointer-events:none}.gfx-costs{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:.8rem;color:var(--muted)}.gfx-costs li{display:flex;justify-content:space-between;padding:0 10px}.gfx-costs li:first-child{color:var(--ink);font-weight:700}#fb-btn{position:fixed;left:0;top:50%;z-index:60;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;padding:12px 7px;border-radius:0 12px 12px 0;border-left:0;font-size:.88rem;opacity:.86}#fb-btn:hover{opacity:1;transform:translateY(-50%) rotate(180deg)}#fb-btn[hidden],#fb-card[hidden]{display:none}#fb-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:70;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:10px;border-radius:22px;animation:card-in .3s cubic-bezier(.2,1.3,.4,1)}#fb-card .fb-head{display:flex;align-items:center;justify-content:space-between;gap:8px}#fb-card h2{margin:0;font-family:var(--display);font-size:1.3rem}#fb-card .fb-x{padding:4px 10px}#fb-card .fb-kinds{display:flex;gap:6px;flex-wrap:wrap}#fb-card .fb-kinds button{font-size:.9rem;padding:6px 12px}#fb-card .fb-kinds button.active{background:var(--ink);border-color:var(--ink);color:#fff}#fb-card textarea{font:inherit;font-size:.98rem;resize:vertical;min-height:96px;border-radius:14px;border:1px solid var(--glass-line);padding:10px 12px;background:#ffffffd9;color:var(--ink)}#fb-card .fb-name{display:flex;align-items:center;gap:8px;font-size:.9rem}#fb-card .fb-name input{flex:1;font:inherit;border-radius:10px;border:1px solid var(--glass-line);padding:6px 10px;background:#ffffffd9}#fb-card .fb-where{margin:0;font-size:.78rem;color:#5a6b7c;line-height:1.35}#fb-card .fb-actions{display:flex;justify-content:flex-end;gap:8px}#fb-card .fb-send{background:var(--grass);border-color:var(--grass);color:#fff}#help-body h3{margin:10px 0 4px;font-family:var(--display);font-size:1.1rem}#help-body p{margin:0 0 6px;line-height:1.4;font-size:.92rem}.help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.help-list li{display:grid;grid-template-columns:7.5em 1fr;gap:8px;align-items:baseline;font-size:.9rem;line-height:1.3}.help-list.icons li{grid-template-columns:1.8em 7.5em 1fr}.help-list i{font-style:normal;font-size:1.2rem}.help-list small{display:block;color:#5a6b7c;font-weight:700;font-size:.76rem}@media (max-width: 420px){.help-list li,.help-list.icons li{grid-template-columns:1fr;gap:0}.help-list.icons li{grid-template-columns:1.8em 1fr}.help-list.icons li span{grid-column:2}}
