@font-face{font-family:Outfit;src:url(/fonts/outfit-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:"Press Start 2P";src:url(/fonts/PressStart2P.woff2)format("woff2");font-display:swap}:root{--night:#101a3a;--night-2:#18244d;--panel:#1f2d5c;--line:#3a4a85;--wood:#8b5a2b;--wood-d:#4e2f14;--wood-l:#c38a4a;--cream:#fbf1d9;--cream-d:#d9c9a3;--ink:#1a1206;--amber:#ffc24a;--amber-d:#b97d12;--green:#6fe3a0;--orange:#ffa95c;--red:#ff8080;--blue:#7bb8ff;--font:"Outfit", system-ui, "Segoe UI", Roboto, sans-serif;--pixel:"Press Start 2P", ui-monospace, monospace;--bg:var(--night);--fg:var(--cream);--gutter:16px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--fg);font-family:var(--font);margin:0;font-size:17px;font-weight:500;line-height:1.5}body{background-image:radial-gradient(var(--night-2) 1px, transparent 1.5px);-webkit-text-size-adjust:100%;background-size:24px 24px}main{max-width:560px;padding:24px var(--gutter) 40px;margin:0 auto}.screen{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}h1,h2,p,ul,ol{margin:0;font-weight:500}.logo{font-family:var(--pixel);color:var(--amber);text-shadow:4px 4px 0 var(--wood-d);letter-spacing:2px;margin-top:8px;font-size:40px;line-height:1.2}.sub{color:var(--amber);font-size:26px;font-weight:700;line-height:1.2}.sub.small{font-size:20px}.tag,.note,.status{color:var(--cream-d)}.day{color:var(--cream);font-size:22px;font-weight:700}.explain{max-width:34ch;font-size:18px}.status:empty{display:none}.big{font-size:24px;font-weight:700}.stamp{font-family:var(--pixel);color:var(--green);border:4px solid var(--green);padding:10px 16px;font-size:24px;transform:rotate(-4deg)}.btn{font:inherit;color:var(--cream);background:var(--wood);cursor:pointer;text-align:center;min-width:56px;min-height:56px;box-shadow:inset 0 -6px 0 #0000004d, inset 0 4px 0 #fff3, 0 5px 0 var(--wood-d);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:8px;justify-content:center;align-items:center;gap:2px;padding:14px 22px;font-size:19px;font-weight:700;line-height:1.2;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{background:var(--wood-l);color:var(--ink)}.btn:active{box-shadow:inset 0 -3px 0 #0000004d, inset 0 3px 0 #fff3, 0 1px 0 var(--wood-d);transform:translateY(4px)}.btn.primary{color:var(--ink);background:var(--amber);min-height:68px;box-shadow:inset 0 -6px 0 #00000038, inset 0 4px 0 #fff6, 0 5px 0 var(--amber-d);padding:16px 32px;font-size:24px}.btn.primary:hover{background:#ffd373}.btn.primary:active{box-shadow:inset 0 -3px 0 #00000038, inset 0 3px 0 #fff6, 0 1px 0 var(--amber-d)}.btn.wide{width:100%}.btn.ghost{color:var(--cream);box-shadow:inset 0 0 0 3px var(--line);background:0 0}.btn.ghost:hover{background:var(--panel);color:var(--cream)}.btn.danger{background:#a53a3a}.btn:disabled{opacity:.45;cursor:default}.btn[aria-pressed=true]{background:var(--wood-d)}:focus-visible{outline:4px solid var(--amber);outline-offset:3px}.btn.band{flex-direction:column;min-height:72px;font-size:22px}.btn.band small{opacity:.9;font-size:15px;font-weight:500}.row{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.row>.btn{flex:140px}.stack{flex-direction:column;gap:14px;width:100%;display:flex}.bands{grid-template-columns:1fr 1fr;gap:14px;width:100%;display:grid}.practice{background:var(--panel);border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:18px 14px 20px;display:flex}.practice.focus{box-shadow:0 0 0 4px var(--amber)}.start .logo+.tag{margin-bottom:4px}.sheet{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.sheet-h{color:var(--amber);margin-top:14px;font-size:22px;font-weight:700}.sheet-lines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sheet-lines li{background:var(--panel);border-radius:10px;padding:12px 14px;font-size:18px;line-height:1.4}.sheetwrap{z-index:30;background:var(--night);padding:24px var(--gutter) 40px;position:fixed;inset:0;overflow-y:auto}.sheetwrap .inner{flex-direction:column;align-items:center;gap:16px;max-width:560px;margin:0 auto;display:flex}.sheetwrap[hidden]{display:none}.diagram{--u:24px;flex:none;width:220px;height:150px;margin:4px auto 8px;position:relative}.diagram .tube{width:calc(var(--u) + 10px);height:calc(var(--u) * 3 + 10px);border:4px solid var(--cream);border-top:0;border-radius:0 0 6px 6px;position:absolute;bottom:8px}.diagram .t1{left:28px}.diagram .t2{left:128px}.diagram .shelf{background:var(--wood);height:8px;box-shadow:0 -3px 0 var(--wood-l);position:absolute;bottom:0;left:0;right:0}.diagram .u{width:var(--u);height:var(--u);position:absolute;left:5px}.diagram .t1 .u,.diagram .t2 .u{position:absolute}.diagram .red{background:#ff6b6b;bottom:0}.diagram .blue{background:#5aa9ff}.diagram .b2{bottom:var(--u);left:5px}.diagram .b3{bottom:calc(var(--u) * 2);left:5px}.diagram .b0{bottom:0}.diagram .arrow{font-family:var(--pixel);color:var(--amber);font-size:18px;position:absolute;top:32px;left:92px}.diagram .mv{animation:4.4s infinite pourmove}.diagram .t1.lift{animation:4.4s infinite lift}@keyframes pourmove{0%,30%{transform:translate(0)}48%,88%{transform:translate(100px)}96%,to{transform:translate(0)}}@keyframes lift{0%,12%{transform:translateY(0)}22%,40%{transform:translateY(-14px)}50%,to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.diagram .mv,.diagram .t1.lift{animation:none}.diagram .mv{transform:translate(100px)}}.scorecard{gap:12px;width:100%;display:flex}.scorecard .cell{background:var(--panel);border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:12px 8px;display:flex}.scorecard .cap{color:var(--cream-d);font-size:15px}.scorecard .num{font-family:var(--pixel);color:var(--amber);font-size:26px;line-height:1.3}.scorecard .num.good{color:var(--green)}.share{font-family:var(--font), "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;white-space:pre-wrap;word-break:break-all;background:var(--panel);text-align:left;border-radius:10px;width:100%;margin:0;padding:12px 14px;font-size:18px;line-height:1.4}.rows{text-align:left;width:100%;color:var(--cream-d)}.rows .empty{text-align:center}.field{font:inherit;color:var(--cream);background:var(--night);border:4px solid var(--line);text-align:center;border-radius:8px;width:100%;min-height:64px;padding:10px 14px;font-size:22px;font-weight:700}.field:focus-visible{outline:4px solid var(--amber);outline-offset:2px}.nickname form{flex-direction:column;gap:14px;width:100%;display:flex}.nickname .btn{width:100%}.date{flex:150px;width:auto;min-height:56px;font-size:18px}.board-table{border-collapse:collapse;background:var(--panel);width:100%;color:var(--cream);border-radius:10px;font-size:17px;line-height:1.4;overflow:hidden}.board-table caption{caption-side:top;color:var(--amber);text-align:left;background:var(--panel);border-radius:10px 10px 0 0;padding:10px 12px;font-size:17px;font-weight:700}.board-table th{color:var(--cream-d);text-align:left;border-bottom:2px solid var(--line);padding:8px;font-size:15px;font-weight:700}.board-table td{overflow-wrap:anywhere;border-bottom:1px solid var(--night-2);padding:10px 8px}.board-table .rank{width:2.6em;color:var(--cream-d)}.board-table th.pours,.board-table th.time,.board-table td.pours,.board-table td.time{text-align:right;white-space:nowrap}.board-table td.par{color:var(--green);font-weight:700}.board-table td.over{color:var(--orange);font-weight:700}.board-table td.dnf{color:var(--cream-d)}.board-table tr.dnfrow td{opacity:.85}.board-table .parmark{color:var(--green);border:2px solid var(--green);border-radius:4px;margin-left:4px;padding:0 4px;font-size:14px;font-weight:700}.board-table tr.you td{background:var(--night);border-top:2px solid var(--amber);border-bottom:2px solid var(--amber)}.board-table tr.you td:first-child{border-left:5px solid var(--amber)}.board-table .youtag{color:var(--amber);font-size:15px;font-weight:700}.board-table tr.gap td{text-align:center;color:var(--cream-d)}.shelfscreen{z-index:5;background:var(--night);touch-action:manipulation;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.stage{outline:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage canvas{image-rendering:pixelated;touch-action:manipulation;display:block}.topbar{z-index:6;padding:max(10px, env(safe-area-inset-top)) var(--gutter) 10px;background:linear-gradient(var(--night) 70%, #101a3a00);flex-direction:column;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}.tools,.stats{width:100%;max-width:640px;margin:0 auto}.tools{justify-content:space-between;align-items:center;display:flex}.stats{justify-content:center;gap:10px;display:flex}.stat{background:var(--panel);border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;max-width:150px;padding:6px 4px 8px;display:flex;box-shadow:inset 0 -4px #00000040}.lbl{color:var(--cream-d);font-size:15px;font-weight:700;line-height:1.2}.val{font-family:var(--pixel);color:var(--amber);font-size:clamp(14px,4.6vw,24px);line-height:1.3}.val.sm{font-family:var(--font);padding:3px 0;font-size:20px;font-weight:700}.controls{z-index:6;padding:12px var(--gutter) max(12px, env(safe-area-inset-bottom));background:linear-gradient(#101a3a00, var(--night) 30%);justify-content:center;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.controls .btn{flex:1 1 0;min-width:0;max-width:150px;min-height:56px;padding:8px 10px;font-size:18px}.btn.icon{border-radius:10px;width:48px;min-width:48px;height:48px;min-height:48px;padding:0}.coach{z-index:6;width:calc(100% - 2 * var(--gutter));text-align:center;max-width:420px;color:var(--ink);background:var(--amber);box-shadow:0 4px 0 var(--amber-d);pointer-events:none;opacity:0;border-radius:10px;padding:12px 16px;font-size:20px;font-weight:700;transition:opacity .25s linear;position:absolute;left:50%;transform:translate(-50%)}.coach.on{opacity:1}.livenote{z-index:6;text-align:center;color:var(--cream);pointer-events:none;text-shadow:0 2px #000a;padding:0 var(--gutter);font-size:18px;position:absolute;left:0;right:0}.ring{z-index:4;pointer-events:none;border:4px solid var(--amber);box-shadow:0 0 0 2px var(--night);border-radius:8px;display:none;position:absolute}.stage:focus .ring.on{display:block}.sorted{left:50%;top:var(--sorted-top,90px);z-index:7;background:var(--night);border:4px solid var(--amber);text-align:center;pointer-events:none;border-radius:12px;flex-direction:column;gap:6px;padding:18px 28px;animation:.4s cubic-bezier(.2,1.6,.4,1) both popin;display:flex;position:absolute;transform:translate(-50%)}.sorted .sub{font-size:34px}@keyframes popin{0%{opacity:0;transform:translate(-50%)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}.dialog{z-index:20;padding:var(--gutter);background:#080c1ed1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialog[hidden]{display:none}.dialog .card{background:var(--night);border:4px solid var(--amber);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:22px 18px;font-size:20px;display:flex}.dialog .card .btn{width:100%}.shelfscreen.busy .controls .btn{pointer-events:none;opacity:.5}.savebar{z-index:25;background:#080c1eb3;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;position:absolute;inset:0}.savebar[hidden]{display:none}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.answer{z-index:6;padding:12px var(--gutter) max(12px, env(safe-area-inset-bottom));background:linear-gradient(#101a3a00, var(--night) 24%);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.answer .row{flex-wrap:nowrap;gap:8px}.answer .row>.btn{flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px}.answer .note{min-height:1.5em;font-size:18px}@media (prefers-reduced-motion:reduce){.coach{transition:none}.sorted{animation:none}.btn{transition:none}}@media (min-width:700px){.controls .btn{max-width:170px;min-height:60px;font-size:20px}.stat{max-width:180px}.practice{padding:22px 20px 24px}.logo{font-size:48px}}.screen>.btn{width:100%}.nickname{padding-top:6vh}.board .row{grid-template-columns:1fr 1fr;display:grid}.board .row .date{order:3;grid-column:1/-1}.field.date{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.diagram{zoom:1.2}.diagram .arrow{font-size:22px}@media (min-width:700px){.diagram{zoom:1.5}}[hidden]{display:none!important}.sheetwrap .inner>.btn.primary{position:sticky;bottom:12px}
