html,body{height:100%}
body{display:flex;justify-content:center;background:var(--color-bg)}
a{color:var(--color-accent-700)}a:hover{color:var(--color-accent)}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:0}
button:focus-visible,input:focus-visible,label:focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}
#app{width:100%;max-width:480px;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:none;display:flex;flex-direction:column}
.scroll::-webkit-scrollbar{display:none}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;height:44px;padding:0 18px;flex:none}
.bar .grp{display:flex;gap:18px;align-items:center}
.link{border:0;background:none;padding:0;font:600 13px var(--font-body);white-space:nowrap;font-variant-numeric:tabular-nums}
.link:hover{color:var(--color-accent-700)}
.link.u{text-decoration:underline;text-underline-offset:3px}
.link.red,.neg{color:var(--color-accent-700)}
.kicker{font:600 10px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
.meta{font:400 13px var(--font-body);color:var(--color-neutral-700)}
.body{font:400 14px/1.5 var(--font-body);margin:0;text-wrap:pretty}
.head{padding:4px 18px 14px;display:flex;flex-direction:column;gap:6px;flex:none}
.head.split{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}
.col{display:flex;flex-direction:column;gap:6px}
.h1{font:800 26px/1.05 var(--font-heading);margin:0;letter-spacing:0}
.h1.xl{font-size:34px;line-height:1}
.h2{font:800 22px/1.1 var(--font-heading)}
.pad{padding:16px 18px}
.rule{border-top:2px solid var(--color-divider)}
.rule-b{border-bottom:2px solid var(--color-divider)}
.cta{height:64px;flex:none;width:100%;border:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;background:var(--color-accent);color:var(--color-bg);font:800 15px var(--font-heading);text-align:left;font-variant-numeric:tabular-nums}
.cta:hover{background:var(--color-accent-600)}.cta:active{background:var(--color-accent-700)}
.cta.inset{height:56px}
.btn2{height:48px;width:100%;border:2px solid var(--color-text);background:transparent;display:flex;align-items:center;padding:0 16px;font:600 14px var(--font-body);text-align:left}
.btn2:hover{background:var(--color-accent-100)}.btn2:active{background:var(--color-neutral-200)}
.links{display:flex;gap:22px;padding:14px 18px}
.opts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--color-divider)}
.opts>button{height:44px;min-width:0;border:0;border-left:1px solid var(--color-divider);background:transparent;display:flex;align-items:center;padding:0 0 0 10px;font:600 14px var(--font-body);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;overflow:hidden}
.opts>button:first-child{border-left:0}
.opts>button:not(.on):hover{background:var(--color-accent-100)}
.opts>button.on{background:var(--color-accent);color:var(--color-bg)}
.opts.v{grid-auto-flow:row}
.opts.v>button{border-left:0;border-top:1px solid var(--color-divider)}
.opts.v>button:first-child{border-top:0}
.q{padding:10px 18px 12px;border-bottom:1px solid var(--color-divider);display:flex;flex-direction:column;gap:8px}
.q .lbl{display:flex;justify-content:space-between;gap:10px}
.hint{font:400 11px/1 var(--font-body);color:var(--color-neutral-700);white-space:nowrap}
.txt{height:44px;width:100%;border:1px solid var(--color-divider);border-radius:0;background:transparent;padding:0 10px;font:600 15px var(--font-body);color:var(--color-text)}
.txt:focus{outline:2px solid var(--color-accent);outline-offset:-2px}
.err{margin:0;padding:10px 18px;font:600 13px var(--font-body);color:var(--color-accent-700);border-top:1px solid var(--color-divider)}
.score{display:flex;align-items:baseline;gap:6px}
.score .sv{font:800 32px/.85 var(--font-heading);font-variant-numeric:tabular-nums}
.score .sn{font:600 13px var(--font-body);color:var(--color-neutral-700)}
.strip{display:grid;gap:2px;padding:0 18px 10px;flex:none}
.strip>*{height:22px;padding:0;border:0;font:600 9px/1 var(--font-body);background:var(--color-neutral-200);color:var(--color-neutral-700)}
.strip .g{background:var(--color-text);color:var(--color-bg)}
.strip .l{background:var(--color-accent);color:var(--color-bg)}
.strip .cur{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-text)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-divider);border-bottom:2px solid var(--color-divider)}
.stat{padding:10px 0 12px 14px;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--color-divider)}
.stat:first-child{border-left:0;padding-left:18px}
.big{font:800 26px/1 var(--font-heading);font-variant-numeric:tabular-nums}
.list-row{width:100%;border:0;border-bottom:1px solid var(--color-divider);background:transparent;display:grid;grid-template-columns:1fr 44px 60px;align-items:baseline;gap:8px;padding:12px 18px;text-align:left}
.list-row.two{grid-template-columns:1fr auto}
.list-row:hover{background:var(--color-accent-100)}.list-row:active{background:var(--color-neutral-200)}
.list-row .t{font:600 14px var(--font-body)}
.list-row .m{font:400 11px var(--font-body);color:var(--color-neutral-700)}
.list-row .sc{font:600 14px var(--font-body)}
.list-row .sg{font:800 15px var(--font-heading);font-variant-numeric:tabular-nums;text-align:right}
.menu{border-top:2px solid var(--color-divider);flex:none}
.menu-row{width:100%;height:52px;border:0;border-bottom:1px solid var(--color-divider);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;font:600 13px var(--font-body);text-align:left;cursor:pointer}
.menu-row:hover{background:var(--color-accent-100)}
.menu-row .m{font-weight:400;color:var(--color-neutral-700)}
.tiles{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--color-divider)}
.tile{height:150px;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--color-divider)}
.tile:nth-child(even){border-left:1px solid var(--color-divider)}
.tile.lost{background:var(--color-accent);color:var(--color-bg)}
.tile.lost .kicker{color:var(--color-bg)}
.tile.na{color:var(--color-neutral-700)}
.tile .v{font:800 44px/.85 var(--font-heading);font-variant-numeric:tabular-nums}
.tile .s{font:400 12px/1.3 var(--font-body)}
.heat{padding:12px 18px 0;display:flex;flex-direction:column;gap:3px}
.heat .r{display:grid;gap:2px;align-items:center}
.heat .c{height:34px}
.heat .n{font:600 9px/1 var(--font-body);color:var(--color-neutral-700);text-align:center}
.heat .lab{font:800 11px var(--font-heading)}
.heat .tot{font:800 12px var(--font-heading);text-align:right;font-variant-numeric:tabular-nums}
.heat .r.sum{margin-top:4px;padding-top:6px;border-top:2px solid var(--color-divider)}
.legend{padding:14px 18px 0;display:flex;gap:16px;align-items:center;font:400 11px var(--font-body);color:var(--color-neutral-700)}
.legend i{display:inline-block;width:14px;height:14px;vertical-align:-3px;margin-right:6px}
.notes{margin:18px 18px 0;border-top:2px solid var(--color-divider)}
.note{padding:12px 0;border-bottom:1px solid var(--color-divider);display:flex;flex-direction:column;gap:5px}
.note b{font:600 14px/1.35 var(--font-body)}
.two{display:grid;grid-template-columns:1fr 1.4fr;flex:none;border-top:1px solid var(--color-divider)}
.two>.cta{height:64px}
.sheet-row{height:56px;width:100%;border:0;border-bottom:1px solid var(--color-divider);background:transparent;display:flex;align-items:center;padding:0 18px;font:800 15px var(--font-heading);text-align:left}
.sheet-row:hover{background:var(--color-neutral-200)}
.sheet-row.red{color:var(--color-accent-700)}
.sheet-row.red:hover{background:var(--color-accent-100)}
.two>.sheet-row{height:64px;border-bottom:0}
.sheet-bg{position:absolute;inset:0;z-index:5;background:color-mix(in srgb,var(--color-text) 45%,transparent);display:flex;flex-direction:column;justify-content:flex-end}
.sheet{background:var(--color-bg);border-top:2px solid var(--color-text);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.sheet-head{padding:16px 18px 14px;display:flex;flex-direction:column;gap:8px;border-bottom:2px solid var(--color-divider)}
.padv{display:flex;align-items:baseline;gap:8px}
.padv span:first-child{font:800 64px/.85 var(--font-heading);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.padv span:last-child{font:600 18px var(--font-body);color:var(--color-neutral-700)}
.keys{display:grid;grid-template-columns:repeat(3,1fr)}
.keys button{height:56px;border:0;border-bottom:1px solid var(--color-divider);border-left:1px solid var(--color-divider);background:transparent;text-align:left;padding-left:18px;font:600 22px var(--font-body)}
.keys button:nth-child(3n+1){border-left:0}
.keys button:active{background:var(--color-neutral-200)}
.hrow{display:grid;grid-template-columns:24px minmax(0,1fr) 84px;gap:10px;align-items:center;padding:6px 18px;border-bottom:1px solid var(--color-divider)}
.hrow .hn{font:800 15px var(--font-heading)}
.hrow .opts>button{height:40px}
.hrow .txt{height:40px}
.kv{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.kv>div{padding:12px 18px;display:flex;flex-direction:column;gap:6px}
.kv>div+div{border-left:1px solid var(--color-divider)}
.kv b{font:600 14px var(--font-body);overflow-wrap:anywhere}
code{font-family:ui-monospace,Menlo,monospace;font-size:.92em}
.sel{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text) 50%),linear-gradient(135deg,var(--color-text) 50%,transparent 50%);background-position:calc(100% - 20px) 19px,calc(100% - 14px) 19px;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}
