:root{--canvas: #0c1117;--ink: #ecf1e8;--muted: #a8b7aa;--panel: rgba(14, 20, 24, .78);--panel-border: rgba(238, 241, 232, .1);--accent: #f2a65a;--accent-strong: #ffcf84;--success: #78d9a7;--warning: #f0d07f;--danger: #ff9b8d;--unsupported: #7fa2c7;--shadow: rgba(0, 0, 0, .38);--ruler-edge-inset: 14px;--ruler-top-inset: 7px;color:var(--ink);background:radial-gradient(circle at top right,rgba(242,166,90,.18),transparent 28%),radial-gradient(circle at top left,rgba(78,119,139,.24),transparent 32%),linear-gradient(180deg,#11161d,#090c12);font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--canvas: #f4efe6;--ink: #17212a;--muted: #5b6874;--panel: rgba(255, 251, 244, .82);--panel-border: rgba(23, 33, 42, .12);--accent: #d9792b;--accent-strong: #9c581e;--success: #2d9160;--warning: #b1841a;--danger: #c45447;--unsupported: #5a7690;--shadow: rgba(64, 52, 38, .18);color:var(--ink);background:radial-gradient(circle at top right,rgba(217,121,43,.16),transparent 30%),radial-gradient(circle at top left,rgba(91,133,162,.16),transparent 34%),linear-gradient(180deg,#f7f3eb,#ece2d4)}*{box-sizing:border-box}html,body{position:fixed;inset:0;width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:radial-gradient(circle at center,rgba(23,31,39,.45),transparent 48%),var(--canvas)}#app{width:100%;height:100svh;overflow:hidden;overscroll-behavior:none}.app-shell{width:100%;height:100%;overflow:hidden;user-select:none;-webkit-user-select:none}.product-shell{position:relative;height:100%;overflow:hidden}.ruler-stage{position:relative;height:100%;overflow:hidden;overscroll-behavior:none;isolation:isolate;background:var(--canvas)}.ruler-scene-frame{position:absolute;inset:0;touch-action:none}.hero-panel,.panel{border:1px solid var(--panel-border);border-radius:28px;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 28px 80px var(--shadow)}.hero-panel{padding:28px 28px 22px}.trainer-hero{display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.product-hero{display:grid;gap:24px}.shell-intro{display:grid;gap:16px}.shell-intro-copy{display:grid;gap:8px}.shell-status-row{margin-top:0}.trainer-stage{display:grid;gap:14px;align-content:start}.product-stage{display:grid;gap:18px;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:start}.product-scene,.product-sidecar{display:grid;gap:14px}.product-card{padding:18px;border-radius:22px;background:#ffffff0a;border:1px solid rgba(236,241,232,.08)}.product-readout{display:grid;gap:8px}.ruler-board{display:grid;gap:22px}.ruler-board-header{display:grid;gap:24px;grid-template-columns:minmax(240px,.95fr) minmax(0,1.05fr);align-items:end}.session-readout{display:grid;gap:12px}.run-meta{margin:0;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.run-meta div{padding-top:10px;border-top:1px solid rgba(236,241,232,.08)}.run-meta dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.run-meta dd{margin:6px 0 0;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.96rem;font-weight:700}.bpm-control{display:grid;gap:8px;justify-items:center;align-content:start}.bpm-display{display:inline-flex;flex-direction:column;align-items:center;gap:6px;justify-self:center;padding:0;border:none;background:transparent;color:var(--ink);cursor:ew-resize;touch-action:none}.bpm-display:disabled{cursor:not-allowed;opacity:.46}.bpm-value{font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:clamp(4rem,12vw,7.5rem);font-variant-numeric:tabular-nums;line-height:.88;letter-spacing:0}.bpm-unit{font-size:.72rem;letter-spacing:.18em;line-height:1;text-transform:uppercase;color:var(--accent-strong)}.bpm-input-shell,.bpm-control[data-bpm-mode=editing] .bpm-display{display:none}.bpm-control[data-bpm-mode=editing] .bpm-input-shell{display:block}.bpm-input{width:min(100%,18rem);padding:0;border:none;background:transparent;color:var(--ink);font:inherit;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:clamp(4rem,12vw,7.5rem);font-variant-numeric:tabular-nums;line-height:.88;letter-spacing:0;outline:none;text-align:center;user-select:text;-webkit-user-select:text}.bpm-input:disabled{opacity:.46}.ruler-topline{position:absolute;top:calc(env(safe-area-inset-top) + var(--ruler-top-inset));left:calc(env(safe-area-inset-left) + var(--ruler-edge-inset));right:calc(env(safe-area-inset-right) + var(--ruler-edge-inset));z-index:2;display:flex;gap:16px;align-items:center;justify-content:space-between}.ruler-context-label{margin:0;color:#ecf1e89e;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.ruler-context-error{position:relative;display:grid;gap:8px;max-width:min(32rem,calc(100vw - 120px))}.ruler-context-error-toggle{appearance:none;padding:0;border:none;background:transparent;color:var(--danger);cursor:pointer;font:inherit;font-size:.72rem;letter-spacing:.18em;line-height:1.2;text-align:left;touch-action:manipulation;text-transform:uppercase}.ruler-context-error-toggle:hover{opacity:.82}.ruler-context-error-toggle:focus-visible{outline:1px solid rgba(236,241,232,.42);outline-offset:4px}.ruler-context-error-detail{position:absolute;top:calc(100% + 8px);left:0;z-index:3;width:min(32rem,calc(100vw - 36px));margin:0;padding:8px 10px;border-radius:12px;background:var(--panel);color:var(--ink);font-size:.78rem;letter-spacing:.02em;line-height:1.45;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease;overflow-wrap:anywhere;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 36px var(--shadow)}.ruler-context-error[data-boot-error-detail-open=true] .ruler-context-error-detail,.ruler-context-error:focus-within .ruler-context-error-detail{opacity:1;transform:translateY(0);pointer-events:auto}.ruler-context-actions{display:flex;gap:16px;align-items:center}.ruler-context-preset{display:inline-flex;max-width:min(38rem,calc(100vw - 128px));min-height:44px;align-items:center;gap:12px;padding:8px 10px;border:1px solid rgba(127,162,199,.5);background:var(--panel);color:var(--ink);font-size:.74rem;letter-spacing:.04em;line-height:1.25;overflow-wrap:anywhere;box-shadow:0 14px 36px var(--shadow)}.ruler-context-preset-invalid{border-color:color-mix(in srgb,var(--danger) 58%,transparent);color:var(--danger)}.ruler-context-preset-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--accent-strong);cursor:pointer;font:inherit;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.72rem;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;touch-action:manipulation}.ruler-context-preset-action:hover:not(:disabled),.ruler-context-preset-action:focus-visible{color:var(--ink);outline:none}.ruler-context-preset-action:disabled{cursor:not-allowed;opacity:.38}@media(hover:hover)and (pointer:fine){.ruler-context-error:hover .ruler-context-error-detail{opacity:1;transform:translateY(0);pointer-events:auto}}.transport-readout{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}.transport-readout-button{appearance:none;display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:10px 6px;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:1;touch-action:manipulation}.transport-readout-button:hover{opacity:.82}.transport-readout-button:focus-visible{outline:1px solid rgba(236,241,232,.42);outline-offset:4px}.transport-running{color:var(--ink)}.transport-calibrating{color:var(--warning)}.transport-error{color:var(--danger)}.transport-idle{color:#ecf1e885}.transport-paused{color:var(--accent-strong)}.paused-resume-control{position:fixed;left:50%;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));z-index:30;width:min(calc(100vw - 32px),13rem);display:flex;justify-content:center;pointer-events:none;transform:translate(-50%)}.paused-resume-button{appearance:none;min-width:100%;min-height:56px;padding:0 22px;border:1px solid color-mix(in srgb,var(--accent-strong) 62%,transparent);border-radius:8px;background:color-mix(in srgb,var(--canvas) 72%,var(--accent-strong));box-shadow:0 16px 46px var(--shadow);color:var(--ink);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.14em;line-height:1;pointer-events:auto;text-transform:uppercase;touch-action:manipulation;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.paused-resume-button:hover{border-color:var(--accent-strong);background:color-mix(in srgb,var(--canvas) 58%,var(--accent-strong));transform:translateY(-1px)}.paused-resume-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-strong) 70%,transparent);outline-offset:4px}.ruler-center-stack{position:absolute;top:clamp(52px,11vh,96px);left:50%;z-index:2;width:min(calc(100% - 36px),30rem);display:grid;gap:14px;justify-items:center;text-align:center;transform:translate(-50%)}.ruler-readout-row{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:20px;align-items:start;justify-content:center}.ruler-latest-offset,.ruler-zone-streak{display:grid;gap:4px;justify-items:center;min-width:8.4rem}.ruler-micro-label{margin:0;color:#ecf1e875;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.unlock-dialog-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:color-mix(in srgb,var(--canvas) 74%,transparent);touch-action:manipulation}.unlock-dialog{width:min(100%,28rem);display:grid;gap:16px;padding:18px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);box-shadow:0 18px 48px var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.unlock-dialog-copy{display:grid;gap:10px}.unlock-dialog p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.unlock-dialog-error{display:grid;gap:6px;padding-top:10px;border-top:1px solid rgba(255,155,141,.28)}.unlock-dialog-error p:first-child{color:var(--danger);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.unlock-dialog-button{min-height:44px;justify-self:center;padding:0 16px;border:1px solid color-mix(in srgb,var(--accent-strong) 54%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent-strong) 9%,transparent);color:var(--accent-strong);cursor:pointer;font:inherit;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;touch-action:manipulation;transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.unlock-dialog-button:hover:not(:disabled){border-color:var(--accent-strong);background:color-mix(in srgb,var(--accent-strong) 17%,transparent);color:var(--ink)}.unlock-dialog-button:disabled{cursor:not-allowed;opacity:.42}.shell-action-link,.sheet-close-button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;touch-action:manipulation;transition:color .16s ease,opacity .16s ease}.shell-action-link:hover:not(:disabled),.sheet-close-button:hover:not(:disabled){color:var(--accent-strong)}.shell-action-link:disabled,.sheet-close-button:disabled{cursor:not-allowed;opacity:.34}.ruler-context-actions .shell-action-link{min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-row-inline{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.trainer-canvas{width:100%;height:100%;min-height:100svh;display:block;border:none;background:transparent;touch-action:none}.axis-label-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.axis-label{position:absolute;transform:translate(-50%);color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:clamp(.58rem,1.2vw,.72rem);line-height:1;opacity:.78;white-space:nowrap}.trainer-hud{display:grid;gap:8px}.hud-label{margin:0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.offset-readout{margin:0;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:clamp(1rem,2vw,1.2rem);font-weight:600;letter-spacing:.12em}.streak-readout{margin:0;display:inline-grid;grid-auto-flow:column;gap:.4ch;align-items:baseline;color:#ecf1e8e0;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:clamp(.82rem,1.5vw,.98rem);font-weight:600;white-space:nowrap}.streak-readout span:nth-child(2),.streak-readout span:nth-child(3),.streak-readout span:nth-child(5){color:var(--muted);font-size:.7em;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.offset-pending{color:#ecf1e880}.offset-neutral{color:#ecf1e8f5}.offset-early{color:#ff9a60}.offset-late{color:#75b0ff}.trainer-facts{margin:4px 0 0;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-facts div{padding:12px 14px;border-radius:18px;background:#ffffff0a}.trainer-facts dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.trainer-facts dd{margin:6px 0 0;font-size:1rem;font-weight:700}.trainer-hint{margin:0;color:var(--muted)}.calibration-status{margin-top:10px;display:grid;gap:10px}.calibration-facts,.calibration-actions,.log-actions{margin-top:0}.calibration-error{margin:0}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:2px 8px;border-radius:999px;border:1px solid rgba(236,241,232,.15);background:#ecf1e814;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.85em}h1{margin:0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.05em}h2{margin:0 0 16px;font-size:1.05rem;letter-spacing:.02em}.lede{max-width:54rem;margin:14px 0 0;color:var(--muted);font-size:1.02rem}.hero-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:14px 18px;font:inherit;font-weight:700;letter-spacing:.01em;color:#16130f;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);cursor:pointer;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;box-shadow:0 14px 34px #f2a65a47;text-decoration:none}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(236,241,232,.18);border-radius:999px;padding:14px 18px;font:inherit;font-weight:700;letter-spacing:.01em;color:var(--ink);background:#ecf1e80f;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,border-color .16s ease,opacity .16s ease;text-decoration:none}.primary-button:hover:not(:disabled){transform:translateY(-1px)}.secondary-button:hover:not(:disabled){transform:translateY(-1px);border-color:#f2a65a73}.primary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.secondary-button:disabled{cursor:not-allowed;opacity:.48}.settings-note,.empty-copy{margin:0;color:var(--muted)}.info-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:22px 22px 20px}.product-grid{align-items:start}.panel-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.status-list,.fact-grid,.capability-list,.log-list{margin:0;padding:0}.status-list{display:grid;gap:12px}.status-row{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(236,241,232,.08)}.status-row:last-child{padding-bottom:0;border-bottom:none}.status-row dt{font-weight:700}.status-row dd{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:7rem;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#ecf1e81a}.status-ok{color:var(--success)}.status-pending{color:var(--warning)}.status-error{color:var(--danger)}.status-unsupported{color:var(--unsupported)}.status-idle,.status-detail,.capability-detail{color:var(--muted)}.capability-list{display:grid;gap:12px;list-style:none}.capability-list li{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(236,241,232,.08)}.capability-list li:last-child{padding-bottom:0;border-bottom:none}.capability-label,.fact-label{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong)}.fact-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.fact-value{display:block;margin-top:6px;font-size:1.05rem;font-weight:700}.log-panel{overflow:hidden}.log-list{list-style:none;display:grid;gap:10px}.history-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.history-row{display:grid;gap:10px;align-items:center;padding:12px 14px;border-radius:18px;background:#ffffff0a}.history-row{grid-template-columns:minmax(0,1fr) auto auto}.history-beat,.history-kind{font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.86rem}.history-kind{color:var(--accent-strong);text-transform:uppercase}.history-offset{font-weight:700}.history-ignored{opacity:.72}.settings-slot-panel,.settings-surface-flow,.settings-notice-list,.settings-stack,.stats-surface-flow{display:grid;gap:14px}.settings-section{display:grid;gap:0}.settings-section-header{display:grid;gap:6px}.settings-section-header h3{margin:0;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.settings-disclosure-header{gap:6px}.settings-section-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;width:100%;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;touch-action:manipulation}.settings-section-toggle:focus-visible{outline:1px solid rgba(236,241,232,.42);outline-offset:4px}.settings-section-title{margin:0;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.settings-section-marker{color:var(--accent-strong);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.82rem;line-height:1}.settings-section-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.settings-section-summary-value{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.settings-section-body{display:grid;gap:10px}.settings-section-body:not([hidden]){margin-top:10px}.settings-section-copy{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.stats-section{display:grid;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(236,241,232,.12)}.stats-section:last-child{padding-bottom:0;border-bottom:none}.stats-section-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.stats-section-actions{display:flex;flex:0 0 auto;gap:12px;align-items:center}.stats-section-header h3{margin:0;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.stats-section-header p,.stats-reset-copy,.stats-empty,.stats-inline-error{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.stats-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.stats-facts-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-facts div{min-width:0}.stats-facts dt{color:var(--muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.stats-facts dd{margin:2px 0 0;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.86rem;line-height:1.25;overflow-wrap:anywhere}.stats-reset-action{flex:0 0 auto}.stats-recent-list{margin:0;padding:0;display:grid;gap:5px;list-style:none}.stats-history-list,.stats-coaching-list{margin:0;padding:0;display:grid;gap:6px;list-style:none}.stats-coaching-row{display:grid;gap:3px;min-height:28px;padding-left:10px;border-left:2px solid rgba(236,241,232,.22)}.stats-coaching-bias,.stats-coaching-drift{border-left-color:#ff9a609e}.stats-coaching-spread,.stats-coaching-within15{border-left-color:#75b0ff9e}.stats-coaching-row span:first-child{color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.76rem}.stats-coaching-row span:last-child{color:var(--muted);font-size:.76rem;line-height:1.3}.stats-history-row{display:grid;grid-template-columns:minmax(5.5rem,.9fr) minmax(4.8rem,.7fr) minmax(4rem,.7fr) minmax(4rem,.7fr);gap:10px;align-items:baseline;min-height:24px;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.76rem}.stats-recent-row{display:grid;grid-template-columns:2.4ch minmax(0,1fr) auto;gap:10px;align-items:baseline;min-height:24px;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.8rem}.stats-recent-index,.stats-recent-kind{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.stats-recent-offset{font-weight:650}.stats-offset-neutral .stats-recent-offset{color:#ecf1e8f5}.stats-offset-early .stats-recent-offset{color:#ff9a60}.stats-offset-late .stats-recent-offset{color:#75b0ff}.stats-offset-ignored{opacity:.62}.settings-notice{padding-left:10px;border-left:1px solid rgba(127,162,199,.58)}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-text-action{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:0;background:transparent;color:var(--accent-strong);font:inherit;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation}.settings-text-action:hover:not(:disabled),.settings-text-action:focus-visible{color:var(--ink);outline:none}.settings-text-action:disabled{cursor:not-allowed;opacity:.38}.settings-grid{display:grid;gap:0}.settings-grid+.settings-actions{margin-top:10px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(9ch,auto);gap:12px;align-items:baseline;min-height:28px;padding:3px 0;border:none}.settings-row-label{min-width:0;color:var(--muted);font-size:.83rem;letter-spacing:.01em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-row-value{display:flex;justify-content:flex-end;min-width:0;color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.86rem;font-variant-numeric:tabular-nums;line-height:1.2;text-align:right}.settings-row-changed .settings-row-label,.settings-row-changed .settings-row-value{color:var(--accent-strong)}.settings-value-shell,.settings-number-shell{position:relative;display:inline-grid;min-width:10ch;justify-items:stretch;cursor:ew-resize}.settings-value-input,.settings-value-button{width:100%;min-width:0;padding:0;border:none;border-radius:0;outline:none;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;line-height:inherit;text-align:right}.settings-value-input{cursor:text;user-select:text;-webkit-user-select:text}.settings-value-button{cursor:pointer}.settings-value-input:focus,.settings-value-button:focus-visible{color:var(--ink)}.settings-step-zone{position:absolute;top:-8px;bottom:-8px;z-index:1;display:none;width:50%;touch-action:pan-y}.settings-step-zone-left{left:0}.settings-step-zone-right{right:0}.settings-import-textarea{width:100%;min-height:9rem;padding:8px 0;border:none;border-top:1px solid rgba(236,241,232,.12);border-bottom:1px solid rgba(236,241,232,.12);border-radius:0;outline:none;background:transparent;color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.78rem;line-height:1.45;user-select:text;-webkit-user-select:text}.settings-textarea-shell{gap:8px}.settings-inline-facts{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.settings-inline-facts div{padding-top:10px;border-top:1px solid rgba(236,241,232,.08)}.settings-inline-facts dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.settings-inline-facts dd{margin:6px 0 0;font-family:JetBrains Mono,SFMono-Regular,monospace;font-size:.96rem;font-weight:700}.settings-inline-error{margin:0}.settings-value-input:disabled,.settings-value-button:disabled,.settings-import-textarea:disabled{opacity:.65}.log-list li{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:#ffffff0a}.log-time,.log-tag{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.log-message{color:var(--muted)}.blocked-shell{min-height:100svh}.blocked-shell-panel{min-height:60vh;display:grid;place-items:center}.blocked-shell .product-copy{max-width:34rem;text-align:center}.mobile-sheet-overlay{position:fixed;inset:0;z-index:20;display:grid;align-items:stretch;justify-items:end;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:none;touch-action:none}.mobile-sheet{width:min(25vw,34rem);height:100%;border-left:1px solid var(--panel-border);background:#121212d1;box-shadow:none;overflow:auto;overscroll-behavior:contain;padding:max(14px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));touch-action:pan-y}.mobile-sheet-header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.mobile-sheet-copy{display:grid;gap:8px}.mobile-sheet-header h2{margin:0}.mobile-sheet-content{display:grid;gap:16px}@media(max-width:900px){.trainer-hero,.product-stage,.info-grid,.fact-grid,.settings-inline-facts{grid-template-columns:1fr}.hero-panel,.panel{padding:20px;border-radius:22px}h1{font-size:clamp(2rem,11vw,3.2rem)}.ruler-topline,.ruler-context-actions{gap:12px}.ruler-context-preset{max-width:min(100%,calc(100vw - 28px));flex-wrap:wrap;gap:8px 10px}.ruler-center-stack{top:max(56px,env(safe-area-inset-top) + 24px);width:min(calc(100% - 28px),22rem)}.bpm-value,.bpm-input{font-size:clamp(3.6rem,22vw,5.6rem)}.hero-actions{gap:10px}.secondary-button,.primary-button{width:100%}.settings-actions{align-items:stretch}.stats-section-header{display:grid}.stats-section-actions{flex-wrap:wrap}.stats-facts-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.status-row-inline{flex-direction:column;align-items:flex-start}.mobile-sheet-overlay{align-items:end;justify-items:stretch;padding:18px 14px max(18px,env(safe-area-inset-bottom))}.mobile-sheet{width:100%;height:auto;max-height:min(82svh,48rem);border:1px solid var(--panel-border);border-radius:0;background:#121212db;padding:14px 14px 18px}.settings-row{min-height:34px;grid-template-columns:minmax(0,1fr) minmax(12ch,auto)}.settings-step-zone{display:block}}@media(prefers-reduced-motion:no-preference){.hero-panel,.panel{animation:rise .42s ease both}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
