:root{color-scheme:light dark;--bg: #f6f2e9;--fg: #1d2a2e;--muted: #55646a;--accent: #0b5e6b;--accent-fg: #ffffff;--line: #d8d1c0;--card: #fffdf7;--warn: #9a3412;--rope: #b08a4a;--me: #0b5e6b;--opp: #9a3412}@media (prefers-color-scheme: dark){:root{--bg: #12252a;--fg: #ece6d6;--muted: #a9b8bc;--accent: #7fd0de;--accent-fg: #0a1a1e;--line: #2c4247;--card: #1a3036;--warn: #fdba74;--rope: #c8a46a;--me: #7fd0de;--opp: #fdba74}}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:36rem;margin:0 auto;padding:1.5rem 1rem 3rem}h1{font-size:2rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:0 0 .5rem}p{margin:.5rem 0}.lead{color:var(--muted)}.hint{color:var(--muted);font-size:.9rem}.hint.warn,.warn{color:var(--warn)}.strong{font-weight:600}.center{text-align:center}a{color:var(--accent)}ul.plain{list-style:none;margin:0;padding:0}.termlink{font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline dotted}.termwrap{position:relative;display:inline-block}.termpop{position:absolute;left:0;top:1.6em;z-index:5;width:16rem;max-width:80vw;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:.5rem;padding:.6rem .75rem;font-size:.9rem;box-shadow:0 4px 14px #0003}.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem;margin-top:1.25rem}.card p{margin:.4rem 0}.stamp{color:var(--muted);font-size:.85rem}.label{display:block;margin-top:1rem;font-weight:600}.field{display:block;width:100%;margin-top:.35rem;padding:.55rem .7rem;font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:.5rem}.field.num{max-width:9rem}.field.code{max-width:11rem;font-size:2rem;letter-spacing:.3em;text-transform:uppercase;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}.row.stack{flex-direction:column;align-items:stretch;margin-top:1.25rem}.row.between{justify-content:space-between}.btn{min-height:44px;padding:.5rem 1rem;font:inherit;font-weight:600;color:var(--fg);cursor:pointer;background:transparent;border:2px solid var(--line);border-radius:.6rem}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.big{font-size:1.15rem;min-height:52px}.btn.small{min-height:36px;padding:.2rem .7rem;font-size:.9rem}.btn[disabled]{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,.field:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bigcode{font-size:3rem;font-weight:700;letter-spacing:.15em;margin:.25rem 0;color:var(--accent)}.gamemain{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:.75rem 1rem 1rem;max-width:40rem;margin:0 auto}.side{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:1.1rem;font-weight:600;padding:.25rem 0}.side.opp .name{color:var(--opp)}.side.me .name{color:var(--me)}.lead2{color:var(--muted);font-weight:400}.seat{color:var(--muted);font-weight:400;font-size:.8em;margin-left:.5em}.track{position:relative;flex:1 1 auto;min-height:9rem;margin:.4rem 0;border:1px solid var(--line);border-radius:.75rem;background:var(--card);overflow:hidden}.track .line{position:absolute;left:0;right:0;height:4px}.track .line.top{top:0;background:var(--opp)}.track .line.bottom{bottom:0;background:var(--me)}.track .rope{position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;background:var(--rope);border-radius:3px}.knot{position:absolute;left:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;border-radius:50%;background:var(--rope);border:4px solid var(--fg);transition:top .08s linear}.centermsg{position:absolute;left:0;right:0;top:18%;text-align:center;font-weight:700;font-size:1.1rem;pointer-events:none}.centermsg:not(:empty){left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:92%;background:var(--card);padding:.15rem .7rem;border-radius:.6rem}.centermsg.big{font-size:5rem;line-height:1}.timer{text-align:center;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.netnote{text-align:center;min-height:1.4em;margin:.2rem 0}.pad{min-height:34vh;margin-top:.5rem;font:inherit;font-size:2.5rem;font-weight:800;letter-spacing:.1em;color:var(--accent-fg);background:var(--accent);border:0;border-radius:1rem;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pad:active{filter:brightness(1.15);transform:scale(.99)}.pad.idle,.pad[disabled]{opacity:.5}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}.overlay .card{margin-top:0;width:100%;max-width:24rem}@media (orientation: landscape){.gamemain{max-width:70rem;height:100vh;height:100dvh;min-height:0;padding:.5rem 1rem;display:grid;column-gap:1rem;row-gap:.25rem;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"opp timer" "track pad" "me net"}.gamemain .side.opp{grid-area:opp}.gamemain .track{grid-area:track;min-height:0;margin:0}.gamemain .side.me{grid-area:me}.gamemain .timer{grid-area:timer;align-self:center}.gamemain .pad{grid-area:pad;min-height:0;margin-top:0;height:100%}.gamemain .netnote{grid-area:net;align-self:center;margin:0}.side{font-size:1rem;padding:0}.centermsg.big{font-size:3.5rem}.overlay{overflow:auto;align-items:flex-start}.overlay .card{margin:auto}}main.welcome{padding-bottom:1rem}.wcard h2{margin-bottom:.25rem}.wnav{justify-content:center;margin-top:1rem}.wauto{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}input[type=checkbox]{font:inherit;width:1.15em;height:1.15em;flex:0 0 auto;margin:0;accent-color:var(--accent)}.tdwrap{display:flex;justify-content:center}.tapdemo{width:10rem;height:auto;margin-top:.5rem;overflow:visible}.tapdemo .tdpad{fill:var(--accent)}.tapdemo .tdfinger rect{fill:#e9c9a8;stroke:#8a6a4f;stroke-width:2}.tapdemo .tdfinger .tdnail{fill:#f6e3d0;stroke-width:1}.tapdemo .tdword{fill:var(--accent);font:700 22px system-ui,sans-serif;text-anchor:middle;opacity:0}.tapdemo .tdfinger{animation:tdfinger 1.2s ease-in-out infinite}.tapdemo .w1{animation:tdword 1.2s ease-out infinite}.tapdemo .w2{animation:tdword 1.2s ease-out .6s infinite}@keyframes tdfinger{0%,30%,50%,80%,to{transform:translateY(0)}15%,65%{transform:translateY(10px)}}@keyframes tdword{0%,12%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(0)}45%,to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.tapdemo .tdfinger,.tapdemo .tdword{animation:none}.tapdemo .tdword{opacity:1}}.tourwrap{display:flex;flex-direction:column;align-items:center;gap:.6rem}.tourfig{position:relative;margin:0;line-height:0}.tourfig img{display:block;height:clamp(200px,calc(100vh - 21rem),620px);width:auto;border:1px solid var(--line);border-radius:.75rem}.tourside{width:100%;display:flex;flex-direction:column}.tourside .wnav{margin-top:.6rem}.tourcard{margin-top:0;width:100%}.marker{position:absolute;transform:translate(-.75rem,-50%);display:flex;align-items:center;gap:.2rem;padding:0;border:0;background:none;cursor:pointer;font:inherit;line-height:1}.marker.flip{flex-direction:row-reverse;transform:translate(calc(-100% + .75rem),-50%)}.marker .num{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--card);color:var(--fg);border:2px solid var(--accent);font-weight:700;font-size:.8rem}.marker .brief{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:.4rem;padding:.1rem .3rem;font-size:.7rem;white-space:nowrap}.marker.on .num{background:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent)}.marker.on .brief{border-color:var(--accent)}.tourfig .info{position:absolute;bottom:.4rem;right:.4rem;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--accent);background:var(--card);color:var(--accent);font:700 .9rem/1 Georgia,serif;font-style:italic;cursor:pointer}.tourfig .legend{position:absolute;bottom:2.3rem;right:.4rem;margin:0;padding:.5rem .75rem;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:.5rem;line-height:1.4;font-size:.85rem;text-align:left}@media (max-height: 860px){.marker:not(.on) .brief{display:none}}@media (orientation: landscape) and (max-height: 560px){.tourwrap{flex-direction:row;align-items:flex-start}.tourside{flex:1;min-width:0}.tourfig img{height:clamp(160px,calc(100vh - 9.5rem),620px)}}.pad{position:relative;overflow:hidden}.tapring{position:absolute;width:7rem;height:7rem;pointer-events:none;overflow:visible}.tapring circle{fill:none;stroke:var(--accent-fg);stroke-width:6}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#12343b;transition:opacity .7s;cursor:pointer}.splash img{max-width:100%;max-height:100%;object-fit:contain}.setrow{display:flex;align-items:center;gap:.5rem;margin-top:.9rem}.setrow label{font-weight:600}.btn.choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.15rem;white-space:normal}.btn.choice .hint{font-weight:400}.pad.w-pull,.pad.w-crank{touch-action:none}.pad.w-hands{background-image:linear-gradient(to right,transparent calc(50% - 1px),color-mix(in srgb,var(--accent-fg) 45%,transparent) calc(50% - 1px),color-mix(in srgb,var(--accent-fg) 45%,transparent) calc(50% + 1px),transparent calc(50% + 1px))}.pad.w-hands,.pad.w-pull,.pad.w-crank{font-size:1.8rem}table.board{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem;font-variant-numeric:tabular-nums}table.board caption{text-align:left;font-weight:700;margin-bottom:.25rem}table.board th,table.board td{padding:.3rem .35rem;border-bottom:1px solid var(--line);text-align:right}table.board th[scope=row],table.board thead th:first-child{text-align:left}.padlabel{position:relative;pointer-events:none}.pad.w-heave,.pad.w-streak,.pad.w-pattern{background-image:linear-gradient(to top,color-mix(in srgb,var(--accent-fg) 28%,transparent) calc(var(--fill, 0) * 100%),transparent calc(var(--fill, 0) * 100%))}.pad.w-heave{touch-action:none}.pad.w-heave,.pad.w-beat,.pad.w-streak{font-size:1.8rem}.pad.w-pattern{font-size:1.5rem;letter-spacing:.04em}.pad.pulse{filter:brightness(1.4)}.pad.slip{background-color:var(--warn);color:var(--bg)}.pad.w-loud,.pad.w-hum,.pad.w-sing,.pad.w-boxbeat,.pad.w-boxnote,.pad.w-boxpattern{background-image:linear-gradient(to top,color-mix(in srgb,var(--accent-fg) 28%,transparent) calc(var(--fill, 0) * 100%),transparent calc(var(--fill, 0) * 100%))}.pad.w-shake,.pad.w-yank,.pad.w-loud,.pad.w-hum,.pad.w-sing,.pad.w-boxbeat,.pad.w-boxnote{font-size:1.8rem}.pad.w-words,.pad.w-boxpattern{font-size:1.5rem;letter-spacing:.04em}.overlay.fixed{position:fixed;z-index:20}.overlay.fixed .card{max-width:30rem}
