:root{--ink: #f1ece0;--dim: #a9a394;--glass: rgba(16, 17, 19, .74);--edge: rgba(255, 255, 255, .09);--gold: #d8c15a;--good: #7fd08a;--bad: #ef7b6c}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b0b0c;color:var(--ink);font:13px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#view,#view canvas{position:fixed;top:0;right:0;bottom:0;left:0;display:block}.panel{position:fixed;background:var(--glass);border:1px solid var(--edge);border-radius:12px;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 40px #00000073}h1{margin:0;font:600 22px/1.1 Georgia,Times New Roman,serif;letter-spacing:.02em}h2{margin:14px 0 8px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.sub{margin:4px 0 0;color:var(--dim);font-size:12px}#left{top:14px;left:14px;bottom:14px;width:310px;padding:16px;overflow-y:auto}#presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}#presets button,#style button,#cams button,#rates button{font:inherit;color:var(--ink);background:#ffffff0f;border:1px solid var(--edge);border-radius:7px;padding:6px 8px;cursor:pointer;text-align:left}#presets button:hover,#style button:hover,#cams button:hover,#rates button:hover{background:#ffffff1f}#presets button.on,#style button.on,#cams button.on,#rates button.on{background:var(--gold);border-color:var(--gold);color:#17160f;font-weight:600}#style{display:grid;grid-template-columns:1fr 1fr;gap:6px}#style button{text-align:center}#blurb{margin:10px 0 0;color:var(--dim);min-height:5.8em}.row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:9px}.row label{color:var(--ink)}.row output{color:var(--gold);font-variant-numeric:tabular-nums}.row input{grid-column:1 / -1}input[type=range]{width:100%;margin:0;accent-color:var(--gold)}#top{top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;white-space:nowrap}#cams,#rates{display:flex;gap:5px}.sep{width:1px;height:20px;background:var(--edge)}.chk{display:flex;align-items:center;gap:5px;color:var(--dim);cursor:pointer}.chk input{accent-color:var(--gold)}#right{top:14px;right:14px;width:290px;max-height:calc(100% - 100px);padding:16px;overflow-y:auto}#verdict{font:600 20px/1.2 Georgia,serif}#verdict.good{color:var(--good)}#verdict.fault{color:var(--bad)}#reason{margin:6px 0 0;color:var(--ink)}#sequence{margin:0;padding:0;list-style:none;counter-reset:s}#sequence li{counter-increment:s;display:flex;gap:8px;align-items:baseline;padding:3px 0;color:var(--dim);opacity:.45;transition:opacity .15s,color .15s}#sequence li:before{content:counter(s);flex:none;width:18px;height:18px;border-radius:50%;background:var(--c, #888);color:#111;font-size:10.5px;font-weight:700;text-align:center;line-height:18px}#sequence li.hit{opacity:1;color:var(--ink)}#sequence li small{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--dim)}#stats{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:0}#stats dt{color:var(--dim)}#stats dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}#transport{bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;width:min(620px,calc(100vw - 700px));min-width:420px}#serve{font:600 14px/1 inherit;color:#17160f;background:var(--gold);border:0;border-radius:8px;padding:10px 16px;cursor:pointer;white-space:nowrap}#serve:hover{filter:brightness(1.1)}kbd{font:10px/1 inherit;padding:2px 5px;margin-left:6px;border-radius:4px;background:#0000002e}#clock{flex:none;width:56px;white-space:nowrap;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}.tag{padding:2px 7px;border-radius:5px;background:#0c0c0dc7;border:1px solid rgba(216,193,90,.5);color:var(--ink);font-size:11px;white-space:nowrap;pointer-events:none}#pick{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:inherit;font:inherit;cursor:pointer}#pick:hover{background:#ffffff1f}#pick.on{background:var(--gold);border-color:var(--gold);color:#1a1710}#finder-hint{margin:8px 0 0;font-size:12px;line-height:1.45;opacity:.7}#finder-bar{height:3px;margin-top:10px;border-radius:2px;background:#ffffff1a;overflow:hidden;visibility:hidden}#finder-bar.on{visibility:visible}#finder-bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .15s linear}#finder-results{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}#finder-results button{width:100%;text-align:left;padding:7px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:inherit;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}#finder-results button:hover{background:#ffffff1c}#finder-results button.on{border-color:var(--gold)}#finder-results b{display:block;font-size:13px;font-variant-numeric:tabular-nums}#finder-results small{opacity:.7}body.picking #view canvas{cursor:crosshair}#return-head{display:flex;align-items:baseline;gap:8px}#return-score{font-size:20px;font-variant-numeric:tabular-nums}#return-label{opacity:.8}#return-bar{height:4px;margin:8px 0;border-radius:2px;background:#ffffff1a;overflow:hidden}#return-fill{display:block;height:100%;background:linear-gradient(90deg,#7fd08a,#d8c15a 55%,#ef7b6c);background-size:400px 100%}#return-why{margin:0 0 6px;font-size:12px;line-height:1.45;opacity:.75}#rally-result{margin:0 0 4px;font-size:13px;line-height:1.4}#rally-detail{margin:0 0 6px;font-size:12px;line-height:1.45;opacity:.7}#mode,#match-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 4px}#match-buttons{grid-template-columns:1fr 1fr 1fr}#mode button,#match-buttons button{font:inherit;font-size:12px;padding:7px 6px;color:var(--ink);background:#ffffff0d;border:1px solid var(--edge);border-radius:7px;cursor:pointer}#mode button:hover,#match-buttons button:hover{background:#ffffff1a}#mode button.on,#match-buttons button.on{background:var(--gold);border-color:var(--gold);color:#17140a}#match-panel,body.match #left>section:not(#match-panel){display:none}body.match #match-panel{display:block}#match-blurb{color:var(--dim);font-size:12px;line-height:1.45}#calls{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.4}#calls li{padding:5px 0;border-top:1px solid var(--edge);color:var(--dim)}#calls li:first-child{color:var(--ink);border-top:0}#calls li.ends{color:var(--gold)}#score{margin-bottom:12px}#score .who{display:grid;grid-template-columns:12px 1fr auto 28px 34px;align-items:center;gap:8px;padding:5px 0;font-size:14px}#score .who i{width:10px;height:10px;border-radius:50%;background:#f5f2ea}#score .who[data-p=B] i{background:#9fbfe6}#score .srv{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}#score b{text-align:right;font-variant-numeric:tabular-nums}#score .pts{color:var(--gold)}#chases{margin:4px 0 0;font-size:12px;color:var(--dim)}body.match #return{display:none}#levels{display:grid;gap:6px;margin:10px 0;font-size:12px}#levels label{display:flex;align-items:center;gap:8px}#levels label.chk{color:var(--dim);align-items:flex-start;line-height:1.35}#levels i{width:10px;height:10px;border-radius:50%;background:#f5f2ea}#levels i.b{background:#9fbfe6}#levels select{margin-left:auto;font:inherit;color:var(--ink);background:#ffffff0f;border:1px solid var(--edge);border-radius:6px;padding:4px 6px}#levels select option{color:#111}body.henry #score .who[data-p=A] i,body.henry #levels i.a{background:#a3201f}#menu,#details{display:none;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}@media (max-width: 1250px){#menu{display:block;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));width:92px;height:46px;padding:0}#menu.on{background:var(--gold);border-color:var(--gold);color:#17160f}#top{top:calc(10px + env(safe-area-inset-top));left:calc(110px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));transform:none;height:46px;overflow-x:auto;scrollbar-width:none}#top::-webkit-scrollbar{display:none}#top>*{flex:none}#left{z-index:2;top:calc(66px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));bottom:calc(86px + env(safe-area-inset-bottom));width:min(310px,calc(100vw - 20px));-webkit-overflow-scrolling:touch}#left.shut{display:none}#right{top:calc(66px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:250px;max-height:calc(100% - 162px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:12px 14px;-webkit-overflow-scrolling:touch}#right.shut>:not(#score,#verdict,#reason,#details){display:none}#right.shut #score{margin-bottom:8px}#details{display:block;width:100%;margin-top:10px;padding:8px;background:#ffffff0f;border:1px solid var(--edge);border-radius:7px}#transport{bottom:calc(10px + env(safe-area-inset-bottom));width:min(680px,calc(100vw - 20px));min-width:0}}@media (pointer: coarse){html{-webkit-text-size-adjust:100%}body{font-size:14px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;overscroll-behavior:none}#presets button,#style button,#cams button,#rates button,#mode button,#match-buttons button,#pick,#finder-results button{min-height:40px;padding:8px 10px}#mode button,#match-buttons button{font-size:13px}#serve{padding:14px 18px}.chk{min-height:34px}.chk input{width:18px;height:18px;flex:none}#levels select{font-size:16px;padding:7px 8px}input[type=range]{height:30px}.row{margin-bottom:12px}kbd{display:none}}
