:root{--bg: #0a0b0a;--ink: #f3f2ec;--accent: #74e6a0;--soft: #a9afa6;--muted: #838a80;--faint: #5d635e;--flag: #e0644f;--live: #7bb4e6;--ghost: #2a2e2a;--line-1: rgba(255, 255, 255, .06);--line-2: rgba(255, 255, 255, .09);--line-3: rgba(255, 255, 255, .12);--line-4: rgba(255, 255, 255, .18);--line-faint: var(--line-1);--line-soft: var(--line-2);--line: var(--line-3);--line-strong: var(--line-4);--wash: rgba(255, 255, 255, .03);--press: rgba(255, 255, 255, .05);--score-gold: #f5cc4a;--score-red: #e0644f;--score-par: rgba(243, 242, 236, .5);--score-blue: #4a7fd4;--score-blue-dk: #1e3f7a;--score-blue-xdk: #101f3d;--score-ink-dark: #0a0b0a;--score-ink-light: #f3f2ec;--ui: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--pad: 24px;--gap-section: 32px;--gap-group: 16px;--h-btn: 56px;--h-seg: 48px;--h-row: 56px;--h-icon: 44px;--h-chip: 36px;--ease-precision: cubic-bezier(.22, .8, .24, 1);--t-state: .12s;--t-control: .2s;--t-expand: .28s;--t-page: .32s;--t-tick: .16s;--map-bg: #0a0b0a;--map-fairway: #15281a;--map-fairway-line: rgba(255, 255, 255, .05);--map-water: #1d3644;--map-water-line: rgba(125, 180, 220, .4);--map-bunker: #c2aa6e;--map-green: #23412c;--map-green-line: rgba(116, 230, 160, .45);--map-ink: #f3f2ec;--map-halo: #0a0b0a;--map-marker-edge: #0a140d;--fab-bg: rgba(10, 11, 10, .82);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}:root[data-theme=daylight]{--bg: #f2f1ea;--ink: #10120f;--accent: #0e7a3f;--soft: #3e443e;--muted: #5f655f;--faint: #8a908a;--flag: #b8422c;--live: #26608f;--ghost: #d2d1c8;--line-1: rgba(16, 18, 15, .1);--line-2: rgba(16, 18, 15, .16);--line-3: rgba(16, 18, 15, .22);--line-4: rgba(16, 18, 15, .3);--wash: rgba(16, 18, 15, .04);--press: rgba(16, 18, 15, .06);--score-gold: #e0b41f;--score-red: #c74e36;--score-par: rgba(16, 18, 15, .45);--score-blue: #3d6fc0;--score-blue-dk: #24427a;--score-blue-xdk: #16294d;--score-ink-dark: #10120f;--score-ink-light: #f2f1ea;--map-bg: #e8e7dd;--map-fairway: #b9cfa4;--map-fairway-line: rgba(16, 18, 15, .1);--map-water: #8fb6cc;--map-water-line: rgba(30, 80, 110, .55);--map-bunker: #e0cb92;--map-green: #8fc79f;--map-green-line: rgba(14, 122, 63, .65);--map-ink: #10120f;--map-halo: #f2f1ea;--map-marker-edge: #f2f1ea;--fab-bg: rgba(242, 241, 234, .88);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input{font-family:inherit}::-webkit-scrollbar{width:0;height:0}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.app{width:100%;max-width:432px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;position:relative;background:var(--bg);border-left:1px solid var(--line-faint);border-right:1px solid var(--line-faint);overflow:hidden}.scroll{flex:1;overflow-y:auto;overflow-x:hidden}.scroll.center-y{display:flex;flex-direction:column;justify-content:center}.screen{padding:calc(16px + var(--safe-top)) var(--pad) 32px;animation:rise var(--t-page) var(--ease-precision)}.screen.flush{padding-top:calc(6px + var(--safe-top))}.screen.dock{min-height:100%;display:flex;flex-direction:column}.dock-foot{margin-top:auto;padding-top:24px}.dock-foot:empty{padding-top:0}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes tick-in{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}.tick{display:inline-block;animation:tick-in var(--t-tick) var(--ease-precision)}@media (prefers-reduced-motion: reduce){.screen,.tick{animation:none}*{transition-duration:1ms!important}}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--muted);text-transform:uppercase}.title{font-size:24px;font-weight:700;letter-spacing:-.02em}.subline{font-size:12px;color:var(--muted);font-family:var(--mono);margin-top:5px;letter-spacing:.02em}.muted{color:var(--muted)}.faint{color:var(--faint)}.soft{color:var(--soft)}.accent{color:var(--accent)}.center{text-align:center}.row{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between}.spacer{flex:1}.hr{height:1px;background:var(--line)}.hr.soft{background:var(--line-soft)}.brand{display:flex;align-items:center;gap:8px}.brand .name{font-size:19px;font-weight:700;letter-spacing:-.01em}.brand .pip{width:7px;height:7px;border-radius:50%;background:var(--accent)}.brand.lg .name{font-size:28px;letter-spacing:-.02em}.brand.lg .pip{width:9px;height:9px}.btn{width:100%;height:var(--h-btn);padding:0 20px;font-size:14px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;transition:filter var(--t-state),opacity var(--t-state)}.btn:active{filter:brightness(.92)}.btn:disabled{opacity:.4}.btn-solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-line{background:transparent;color:var(--soft);border-color:var(--line-4);justify-content:center;letter-spacing:.1em}.btn-center{justify-content:center;gap:10px}.btn.btn-quiet{height:var(--h-icon);background:transparent;color:var(--soft);border-color:var(--line-4);justify-content:center;gap:8px;font-size:12px}.btn.btn-quiet:active{background:var(--press);filter:none}.back{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em;padding:10px 0}.seg{display:flex;position:relative;overflow:hidden;height:var(--h-seg);border:1px solid var(--line-4);--seg-i: 0;--seg-n: 2}.seg:before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:0;width:calc(100% / var(--seg-n));transform:translate(calc(var(--seg-i) * 100%));background:var(--ink);transition:transform var(--t-control) var(--ease-precision)}.seg button{flex:1;position:relative;z-index:1;min-width:0;padding:0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted);background:none;transition:color var(--t-control) var(--ease-precision)}.seg button.on{color:var(--bg);background:none}.seg.sm{height:40px}.seg.sm button{font-size:11px;letter-spacing:.08em}.chip{height:var(--h-chip);display:inline-flex;align-items:center;justify-content:center;padding:0 13px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em;border:1px solid var(--line-4);background:transparent;color:var(--muted);transition:background var(--t-state),color var(--t-state),border-color var(--t-state)}.chip.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chip.inverse.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.radio-box{width:18px;height:18px;flex:none;display:grid;place-items:center;border:1px solid var(--line-4);transition:border-color var(--t-state)}.radio-box.on{border-color:var(--accent)}.radio-box.on:after{content:"";width:8px;height:8px;background:var(--accent)}.search-field{display:flex;align-items:center;gap:10px;height:var(--h-seg);border-bottom:1px solid var(--line-4);margin-top:24px;transition:border-color var(--t-control) var(--ease-precision)}.search-field:focus-within{border-color:var(--accent)}.search-field input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--ink);font-size:15px}.search-field input::placeholder{color:var(--faint)}.sel{border-left:2px solid var(--accent);background:var(--wash)}.ufield{margin-top:24px}.ufield label{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted);font-weight:600;text-transform:uppercase;transition:color var(--t-control) var(--ease-precision)}.ufield:focus-within label{color:var(--accent)}.ufield input,input.ufield{width:100%;height:var(--h-btn);background:transparent;border:none;border-bottom:1px solid var(--line-4);padding:0;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:15px;outline:none;transition:border-color var(--t-control) var(--ease-precision)}.ufield input:focus,input.ufield:focus{border-color:var(--accent);outline:none}.ufield input::placeholder,input.ufield::placeholder{color:var(--faint)}.utabs{display:flex;gap:28px;border-bottom:1px solid var(--line-2)}.utabs button{padding:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--t-state),border-color var(--t-control) var(--ease-precision)}.utabs button.on{color:var(--ink);border-color:var(--ink)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.hcp-big{font-family:var(--mono);font-size:84px;font-weight:700;line-height:.82;letter-spacing:-.04em}.trend{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:13px;font-weight:600}.stats{display:flex;padding:20px 0}.stats .col{flex:1}.stats .col+.col{padding-left:24px}.stats .sep{width:1px;background:var(--line-3)}.stat-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.stat-num.accent{color:var(--accent)}.stat-label{font-size:10px;letter-spacing:.14em;color:var(--muted);margin-top:4px}.nav-row{width:100%;min-height:var(--h-row);text-align:left;display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line-3);transition:background var(--t-state)}.nav-row:active{background:var(--press)}.nav-row.ruled{border-top:1px solid var(--line-3)}.nav-row .lead-title{font-size:15px;font-weight:700}.nav-row .lead-sub{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:4px}.pf-bag{display:inline-flex;align-items:center;gap:6px;background:transparent;cursor:pointer;font-weight:700}.hole-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:.9}.icon-btn{border:1px solid var(--line-4);display:grid;place-items:center;color:var(--ink);transition:background var(--t-state)}.icon-btn.hole{height:var(--h-icon);width:var(--h-icon)}.icon-btn:active{background:var(--press)}.score-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;min-height:var(--h-row)}.score-row .who{font-size:15px;font-weight:600}.score-row .meta{font-size:10px;letter-spacing:.06em;font-family:var(--mono);margin-top:3px;color:var(--muted)}.stepper{display:flex;align-items:center;gap:12px}.stepper .step{font-size:26px;line-height:1;width:var(--h-icon);height:var(--h-icon);display:grid;place-items:center;color:var(--muted);-webkit-user-select:none;user-select:none;transition:color var(--t-state)}.stepper .step.plus{color:var(--ink)}.stepper .step:disabled{color:var(--ghost)}.stepper .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;width:44px;text-align:center}.stepper.compact{gap:4px}.stepper.compact .step{width:34px;font-size:20px}.stepper.compact .num{font-size:20px;width:56px}.swipe-field{flex:1;min-width:0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize}.hole-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-expand) var(--ease-precision)}.hole-panel.open{grid-template-rows:1fr}.hole-panel>.clip{overflow:hidden;min-height:0}.hole-panel-inner{border-top:1px solid var(--line-2);padding:2px 0 16px;opacity:0;transition:opacity var(--t-control) var(--ease-precision)}.hole-panel.open .hole-panel-inner{opacity:1;transition-delay:.08s}.sheet-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:52px;border-bottom:1px solid var(--line-2)}.sheet-row:last-of-type{border-bottom:none}.sheet-row .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--muted)}.sheet-step{display:flex;align-items:center;gap:18px}.sheet-step button{font-family:var(--ui);font-size:22px;line-height:1;width:26px;height:var(--h-icon);display:grid;place-items:center;background:none;border:none;color:var(--muted);cursor:pointer}.sheet-step .plus{color:var(--ink)}.sheet-step .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;min-width:22px;text-align:center}.sheet-chips{display:flex;gap:6px}.sheet-chip{height:var(--h-chip);display:inline-flex;align-items:center;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em;padding:0 14px;border:1px solid var(--line-4);background:transparent;color:var(--muted);cursor:pointer;transition:background var(--t-state),color var(--t-state),border-color var(--t-state)}.sheet-chip.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.ct-head,.ct-row,.ct-sum{display:flex;align-items:center;font-family:var(--mono);font-variant-numeric:tabular-nums}.ct-head{font-size:10px;letter-spacing:.14em;color:var(--faint);font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--line-4);font-family:var(--ui)}.ct-row{width:100%;text-align:left;padding:13px 0;border-bottom:1px solid var(--line-2)}.ct-row:active{background:var(--wash)}.ct-sum{padding:12px 0;border-bottom:1px solid var(--line-4)}.ct-sum.total{padding:14px 0;border-bottom:none}.ct-c-hole{width:64px}.ct-c-mid{flex:1;text-align:center}.ct-c-end{flex:1;text-align:right}.sc-grid{display:grid;grid-template-columns:56px repeat(9,1fr) 34px;align-items:center;font-family:var(--mono);font-variant-numeric:tabular-nums}.sc-head{font-size:9px;letter-spacing:.06em;color:var(--faint);padding-bottom:7px;border-bottom:1px solid var(--line-4)}.sc-par{font-size:10px;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--line-1)}.sc-row{font-size:12px;font-weight:600;justify-items:center;padding:8px 0;border-bottom:1px solid var(--line-2)}.sc-row.last{border-bottom-color:var(--line-3)}.sc-row.me{background:var(--wash);box-shadow:inset 2px 0 0 var(--accent)}.sc-name{font-size:10px;letter-spacing:.06em;justify-self:start}.sc-sum{justify-self:end;font-weight:700}.sc-cell{font-size:12px}.sc-mark{width:22px;height:22px;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1}.lb-grid{display:grid;grid-template-columns:28px 1fr 56px 56px;gap:8px;align-items:center}.lb-head{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--faint);padding-bottom:8px;border-bottom:1px solid var(--line-4)}.lb-row{padding:16px 0;border-bottom:1px solid var(--line-2)}.lb-row.last{border-bottom-color:var(--line-3)}.lb-row.me{background:var(--wash);box-shadow:inset 2px 0 0 var(--accent)}.lb-row.me .lb-pos{padding-left:8px}.lb-pos{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}.lb-name{font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-thru{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);text-align:right}.lb-detail{font-size:10px;letter-spacing:.06em;font-family:var(--mono);color:var(--muted);margin-top:2px}.lb-val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;text-align:right}.mode-row{width:100%;text-align:left;padding:18px 0;border-bottom:1px solid var(--line-soft)}.mode-name{font-size:16px;font-weight:700}.mode-tag{font-size:9px;letter-spacing:.12em;padding:2px 6px;font-weight:600;border:1px solid currentColor}.mode-short{font-size:13px;color:var(--soft);margin-top:7px}.mode-best{font-size:10px;letter-spacing:.1em;font-family:var(--mono);color:var(--faint);margin-top:7px}.mode-rules{font-size:13px;line-height:1.65;color:var(--soft);margin-top:14px;padding:14px;border-left:2px solid var(--accent);background:var(--wash)}.range-big{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:128px;font-weight:700;line-height:.78;letter-spacing:-.05em;text-align:center}.range-unit-sup{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--accent);line-height:1;padding-top:14px;padding-left:6px}.range-unit{font-size:13px;letter-spacing:.3em;color:var(--accent);font-weight:600;text-align:center}.range-fb{display:flex;padding:20px 0}.range-fb .col{flex:1;text-align:center}.range-fb .sep{width:1px;background:var(--line-3)}.range-fb .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;color:var(--soft)}.range-fb .n.accent{color:var(--accent)}.range-fb .l{font-size:10px;letter-spacing:.16em;color:var(--muted);margin-top:4px}.range-cond{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--muted)}.range-cond .dot{opacity:.4}.map{position:relative;width:100%;height:354px;margin-top:16px;border:1px solid var(--line-strong);overflow:hidden;background:var(--map-bg);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.map-stage{position:relative;width:100%;height:min(56vh,560px);margin-top:14px;border:1px solid var(--line-strong);overflow:hidden;background:var(--map-bg)}.map-stage.bleed{height:auto;width:auto;flex:1;min-height:300px;margin:16px calc(var(--pad) * -1) 0;border-left:none;border-right:none;border-bottom:none}.screen.map-mode{padding-bottom:0}.map-readout{top:16px;left:var(--pad);flex-direction:column;align-items:stretch}.map-readout .leg{padding:10px 12px}.map-readout .leg+.leg{border-top:1px solid var(--line-3)}.map-readout .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted)}.map-readout .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.05;margin-top:2px}.map-readout .val.accent{color:var(--accent)}.seg-bottom{left:var(--pad);right:var(--pad);bottom:16px;height:var(--h-icon)}.seg-bottom button{flex:1;font-size:11px;font-weight:700;letter-spacing:.1em;background:none;border:none;color:var(--muted);cursor:pointer;transition:background var(--t-state),color var(--t-state)}.seg-bottom button.on{background:var(--ink);color:var(--bg)}.map-stage .map{height:100%;margin-top:0;border:none;background:none}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}.map-fab{position:absolute;z-index:12;min-height:var(--h-icon);display:flex;align-items:center;background:var(--fab-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--line-4);color:var(--ink)}.seg-float{top:12px;right:12px}.seg-float button{font-family:var(--mono);font-size:10px;letter-spacing:.12em;font-weight:700;height:var(--h-icon);padding:0 14px;background:none;border:none;color:var(--muted);cursor:pointer;transition:background var(--t-state),color var(--t-state)}.seg-float button.on{background:var(--ink);color:var(--bg)}.pin-fab{top:12px;left:12px;gap:7px;padding:0 14px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.12em;font-weight:700}.pin-fab.set{border-color:var(--flag);color:var(--flag)}.map .chip{position:absolute;transform:translate(-50%,-50%);font-family:var(--mono);font-size:12px;font-weight:700;background:#0a140d;padding:2px 6px;pointer-events:none}.map .you{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.map .you .halo{position:absolute;width:26px;height:26px;border-radius:50%;background:#74e6a02e}.map .you .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #0a140d}.map .target{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.map .target .ring{position:absolute;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%}.map .target .v{position:absolute;width:1px;height:22px;background:var(--ink)}.map .target .h{position:absolute;width:22px;height:1px;background:var(--ink)}.map .tee-side{position:absolute;left:8px;bottom:8px;font-size:9px;letter-spacing:.14em;color:var(--faint);font-family:var(--mono);pointer-events:none}.stats-sec{margin-top:24px;border-top:1px solid var(--line-3);padding-top:16px}.hero-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:84px;font-weight:700;line-height:.8;letter-spacing:-.04em}.tl-grid{position:absolute;left:0;right:0;height:1px;background:var(--line-1)}.tl-base{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line-4)}.tl-label{flex:1;text-align:center;padding:6px 0;background:none;border:none;cursor:pointer;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:10px;letter-spacing:.04em;transition:color var(--t-state) var(--ease-precision)}.chip-mini{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;padding:5px 10px;border:1px solid var(--line-4);background:transparent;color:var(--muted);cursor:pointer;transition:background var(--t-state),color var(--t-state),border-color var(--t-state)}.chip-mini.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.bag-grid{display:grid;grid-template-columns:1fr 88px 44px;gap:8px;align-items:center}.bag-head{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--faint);padding-bottom:8px;border-bottom:1px solid var(--line-4)}.bag-row{height:var(--h-row);border-bottom:1px solid var(--line-2)}.bag-name{display:flex;align-items:center;font-size:15px;font-weight:600;color:var(--ink);background:none;border:none;text-align:left;cursor:pointer;min-width:0;overflow:hidden;white-space:nowrap}.bag-carry{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;text-align:center}.bag-step{justify-content:flex-end;gap:2px}.bag-step .step{width:22px;font-size:18px}.pf-avatar{width:64px;height:64px;border:1px solid var(--line-4);display:grid;place-items:center;font-family:var(--mono);font-size:22px;font-weight:700;color:var(--accent);flex:none}.pf-badge{font-size:11px;letter-spacing:.06em;padding:6px 11px;font-family:var(--mono);border:1px solid var(--line-4);color:var(--soft)}.pf-badge.accent{border-color:var(--accent);color:var(--accent)}.set-label{font-size:10px;letter-spacing:.18em;color:var(--faint);font-weight:600}.toggle{width:48px;height:28px;border-radius:999px;display:flex;align-items:center;padding:3px;flex:none;transition:background var(--t-control) var(--ease-precision)}.toggle .knob{width:22px;height:22px;border-radius:50%;background:var(--bg);transition:transform var(--t-control) var(--ease-precision)}.toggle.on .knob{transform:translate(20px)}.tabbar{display:flex;align-items:stretch;border-top:1px solid var(--line-3);flex:none;background:var(--bg)}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);transition:color var(--t-state);padding:14px 0 calc(20px + var(--safe-bottom));background:none;border:none;cursor:pointer}.tabbar button.on{color:var(--ink)}.tabbar .dot{width:5px;height:5px;border-radius:50%;background:transparent}.tabbar button.on .dot{background:var(--accent)}.note{font-size:11px;color:var(--faint);font-family:var(--mono);letter-spacing:.05em;line-height:1.55}.hint{font-size:13px;color:var(--muted);line-height:1.55}.player-chip{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line-2)}.player-chip .init{width:34px;height:34px;border:1px solid var(--line-4);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent);flex:none}.placeholder{color:var(--ghost)}.empty{border-top:1px solid var(--line-3);border-bottom:1px solid var(--line-3);padding:36px 0;text-align:center}.empty .mark{font-family:var(--mono);font-size:40px;font-weight:700;color:var(--ghost);letter-spacing:-.03em}.empty .head{font-size:14px;font-weight:600;margin-top:12px}.empty .body{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.5}.empty .act{display:inline-flex;align-items:center;height:var(--h-icon);padding:0 18px;border:1px solid var(--line-4);font-size:12px;font-weight:700;letter-spacing:.1em;margin-top:18px}.sk-list{border-top:1px solid var(--line-3)}.sk-row{display:flex;align-items:center;justify-content:space-between;height:var(--h-row);border-bottom:1px solid var(--line-2)}.sk-row:last-child{border-bottom:1px solid var(--line-3)}.sk-bar{height:9px;background:var(--ghost)}.sk-row:nth-child(2) .sk-bar{opacity:.7}.sk-row:nth-child(3) .sk-bar{opacity:.45}.offline{display:flex;align-items:center;gap:10px;height:var(--h-icon);border:1px solid var(--flag);padding:0 14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--flag)}.offline .pip{width:6px;height:6px;border-radius:50%;background:var(--flag);flex:none}
