:root{color-scheme:light;--bg: #f4f4f4;--surface: #f4f4f4;--surface-elevated: #f4f4f4;--border: #d0d0d0;--border-subtle: #e0e0e0;--text-main: #666666;--text-numbers: #8d8d8d;--text-muted: #999999;--accent: #e53935;--accent-soft: #ececec;--help-bg: #ececec;--success: #208c4f;--success-soft: #208c4f33;--success-strong: #1b8a3c;--error: #b23b33;--error-soft: #b23b3333;--error-strong: #e53935;--surface-muted: rgba(0, 0, 0, .02);--warning-bg: #f2e0c6;--warning-text: #7a4100;--warning-border: #f3d19c;--toggle-checked: #42a5f5;--toggle-checked-dark: #4f83cc;--toggle-track: rgba(0, 0, 0, .12);--toggle-track-dark: rgba(255, 255, 255, .12);--toggle-thumb: #ffffff;--toggle-thumb-shadow: rgba(0, 0, 0, .2);--tooltip-bg: #ffffff;--tooltip-text: #666666;--tooltip-border: rgba(0, 0, 0, .16);--tooltip-shadow: rgba(0, 0, 0, .18);--hover-strong: rgba(0, 0, 0, .06);--hover-medium: rgba(0, 0, 0, .04);--hover-light: rgba(0, 0, 0, .03);--expanded-bg: rgba(0, 0, 0, .02);--chart-empty-bg: rgba(244, 244, 244, .8);--chart-empty-shadow: rgba(244, 244, 244, 1);--picker-empty-glow: rgba(255, 255, 255, .2);--alert-bg: #f2e0c6;--alert-text: #7a4100;--alert-border: #f3d19c;--cta-bg: #d87d73;--cta-bg-hover: #ac554c;--cta-bg-active: #9f4d45;--cta-text: #ffffff;--cta-soft: rgba(216, 125, 115, .24);--cta-border: #d87d73;--planner-selected-bg: #edd7d5;--planner-selected-hover-bg: #e9c4c0;--planner-today-bg: #f2e0c6;--planner-today-hover-bg: #ebd0aa;--nav-bg: #f4f4f4;--grid-line: #bdbdbd;--grid-line-subtle: #d6d6d6;--ftp-line: #5f9ceb;--power-line: #a607a6;--hr-line: #c90f02;--cad-line: #2d8201;--shade-bg: #000000;--wb-block-active-filter: brightness(.7) saturate(1);--wb-insert-line: #3a7bff;--freeride-fill: #d8d8d8;--freeride-stripe: #b0b0b0;--radius: 8px;--modal-radius: calc(var(--radius) * 2);--nav-control-height: 32px;--button-padding-x: 12px;--font-size-base: 16px;--interactive-transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .14s ease;--zone-recovery: #c9c9c9;--zone-endurance: #489fff;--zone-tempo: #5dd987;--zone-threshold: #ffd738;--zone-vo2: #ff744c;--zone-anaerobic: #ff403d;--stat-number-color: #333333;--select-arrow: url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5' fill='none'>      <path d='M1 1l3.5 3L8 1' stroke='%23999' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/>    </svg>")}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #222222;--surface: #222222;--surface-elevated: #222222;--border: #3a3a3a;--border-subtle: #333333;--text-main: #aaaaaa;--text-numbers: #9b9b9b;--text-muted: #777777;--accent: #ff5252;--accent-soft: #222222;--help-bg: rgba(255, 255, 255, .06);--success: #6fdb9c;--success-soft: #6fdb9c44;--success-strong: #9ccc65;--error: #ffb3ac;--error-soft: #ffb3ac44;--error-strong: #ff7043;--surface-muted: rgba(255, 255, 255, .02);--warning-bg: rgba(255, 184, 108, .12);--warning-text: #ffb86c;--warning-border: rgba(255, 184, 108, .35);--toggle-checked: #4f83cc;--toggle-checked-dark: #4f83cc;--toggle-track: rgba(255, 255, 255, .12);--toggle-track-dark: rgba(255, 255, 255, .12);--toggle-thumb: #ffffff;--toggle-thumb-shadow: rgba(0, 0, 0, .2);--tooltip-bg: #303030;--tooltip-text: #dddddd;--tooltip-border: rgba(255, 255, 255, .18);--tooltip-shadow: rgba(0, 0, 0, .18);--hover-strong: rgba(255, 255, 255, .1);--hover-medium: rgba(255, 255, 255, .06);--hover-light: rgba(255, 255, 255, .06);--expanded-bg: rgba(255, 255, 255, .04);--chart-empty-bg: rgba(34, 34, 34, .8);--chart-empty-shadow: rgba(34, 34, 34, 1);--picker-empty-glow: rgba(255, 255, 255, .04);--alert-bg: rgba(255, 184, 108, .12);--alert-text: #ffb86c;--alert-border: rgba(255, 184, 108, .35);--cta-bg: #bd4d45;--cta-bg-hover: #93463e;--cta-bg-active: #883f38;--cta-text: #ffffff;--cta-soft: rgba(189, 77, 69, .28);--cta-border: #bd4d45;--planner-selected-bg: #4d2e2c;--planner-selected-hover-bg: #663531;--planner-today-bg: #3d342b;--planner-today-hover-bg: #69523a;--nav-bg: #222222;--grid-line: #444444;--grid-line-subtle: #333333;--ftp-line: #5c7ea6;--power-line: #ffb300;--hr-line: #e82210;--cad-line: #6ad60b;--shade-bg: #ffffff;--freeride-fill: #545454;--freeride-stripe: #6f6f6f;--wb-block-active-filter: brightness(1.4) saturate(.8);--wb-insert-line: #6ba8ff;--zone-recovery: #cccccc;--zone-endurance: #6ac2ff;--zone-tempo: #70e870;--zone-threshold: #ffe763;--zone-vo2: #ff8a58;--zone-anaerobic: #ff5959;--stat-number-color: #f5f5f5;--select-arrow: url("data:image/svg+xml;utf8,      <svg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5' fill='none'>        <path d='M1 1l3.5 3L8 1' stroke='%23bbbbbb' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/>      </svg>")}}:root.theme-light{color-scheme:light;--bg: #f4f4f4;--surface: #f4f4f4;--surface-elevated: #f4f4f4;--border: #d0d0d0;--border-subtle: #e0e0e0;--text-main: #666666;--text-numbers: #8d8d8d;--text-muted: #999999;--accent: #e53935;--accent-soft: #ececec;--help-bg: #ececec;--success: #208c4f;--success-soft: #208c4f33;--success-strong: #1b8a3c;--error: #b23b33;--error-soft: #b23b3333;--error-strong: #e53935;--surface-muted: rgba(0, 0, 0, .02);--warning-bg: #f2e0c6;--warning-text: #7a4100;--warning-border: #f3d19c;--toggle-checked: #42a5f5;--toggle-checked-dark: #4f83cc;--toggle-track: rgba(0, 0, 0, .12);--toggle-track-dark: rgba(255, 255, 255, .12);--toggle-thumb: #ffffff;--toggle-thumb-shadow: rgba(0, 0, 0, .2);--tooltip-bg: #ffffff;--tooltip-text: #666666;--tooltip-border: rgba(0, 0, 0, .16);--tooltip-shadow: rgba(0, 0, 0, .18);--hover-strong: rgba(0, 0, 0, .06);--hover-medium: rgba(0, 0, 0, .04);--hover-light: rgba(0, 0, 0, .03);--expanded-bg: rgba(0, 0, 0, .02);--chart-empty-bg: rgba(244, 244, 244, .8);--chart-empty-shadow: rgba(244, 244, 244, 1);--picker-empty-glow: rgba(255, 255, 255, .2);--alert-bg: #f2e0c6;--alert-text: #7a4100;--alert-border: #f3d19c;--cta-bg: #d87d73;--cta-bg-hover: #ac554c;--cta-bg-active: #9f4d45;--cta-text: #ffffff;--cta-soft: rgba(216, 125, 115, .24);--cta-border: #d87d73;--planner-selected-bg: #edd7d5;--planner-selected-hover-bg: #e9c4c0;--planner-today-bg: #f2e0c6;--planner-today-hover-bg: #ebd0aa;--nav-bg: #f4f4f4;--grid-line: #bdbdbd;--grid-line-subtle: #d6d6d6;--ftp-line: #5f9ceb;--power-line: #a607a6;--hr-line: #c90f02;--cad-line: #2d8201;--shade-bg: #000000;--freeride-fill: #d8d8d8;--freeride-stripe: #b0b0b0;--zone-recovery: #c9c9c9;--zone-endurance: #489fff;--zone-tempo: #5dd987;--zone-threshold: #ffd738;--zone-vo2: #ff744c;--zone-anaerobic: #ff403d;--stat-number-color: #333333;--wb-block-active-filter: brightness(.7) saturate(1);--wb-insert-line: #3a7bff;--select-arrow: url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5' fill='none'>      <path d='M1 1l3.5 3L8 1' stroke='%23999' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/>    </svg>")}:root.theme-dark{color-scheme:dark;--bg: #222222;--surface: #222222;--surface-elevated: #222222;--border: #3a3a3a;--border-subtle: #333333;--text-main: #aaaaaa;--text-numbers: #9b9b9b;--text-muted: #777777;--accent: #ff5252;--accent-soft: #222222;--help-bg: rgba(255, 255, 255, .06);--success: #6fdb9c;--success-soft: #6fdb9c44;--success-strong: #9ccc65;--error: #ffb3ac;--error-soft: #ffb3ac44;--error-strong: #ff7043;--surface-muted: rgba(255, 255, 255, .02);--warning-bg: rgba(255, 184, 108, .12);--warning-text: #ffb86c;--warning-border: rgba(255, 184, 108, .35);--toggle-checked: #4f83cc;--toggle-checked-dark: #4f83cc;--toggle-track: rgba(255, 255, 255, .12);--toggle-track-dark: rgba(255, 255, 255, .12);--toggle-thumb: #ffffff;--toggle-thumb-shadow: rgba(0, 0, 0, .2);--tooltip-bg: #303030;--tooltip-text: #dddddd;--tooltip-border: rgba(255, 255, 255, .18);--tooltip-shadow: rgba(0, 0, 0, .18);--hover-strong: rgba(255, 255, 255, .1);--hover-medium: rgba(255, 255, 255, .06);--hover-light: rgba(255, 255, 255, .06);--expanded-bg: rgba(255, 255, 255, .04);--chart-empty-bg: rgba(34, 34, 34, .8);--chart-empty-shadow: rgba(34, 34, 34, 1);--picker-empty-glow: rgba(255, 255, 255, .04);--alert-bg: rgba(255, 184, 108, .12);--alert-text: #ffb86c;--alert-border: rgba(255, 184, 108, .35);--cta-bg: #bd4d45;--cta-bg-hover: #93463e;--cta-bg-active: #883f38;--cta-text: #ffffff;--cta-soft: rgba(189, 77, 69, .28);--cta-border: #bd4d45;--planner-selected-bg: #4d2e2c;--planner-selected-hover-bg: #663531;--planner-today-bg: #3d342b;--planner-today-hover-bg: #69523a;--nav-bg: #222222;--grid-line: #444444;--grid-line-subtle: #333333;--ftp-line: #5c7ea6;--power-line: #ffb300;--hr-line: #e82210;--cad-line: #6ad60b;--shade-bg: #ffffff;--freeride-fill: #545454;--freeride-stripe: #6f6f6f;--zone-recovery: #cccccc;--zone-endurance: #6ac2ff;--zone-tempo: #70e870;--zone-threshold: #ffe763;--zone-vo2: #ff8a58;--zone-anaerobic: #ff5959;--stat-number-color: #f5f5f5;--wb-block-active-filter: brightness(1.4) saturate(.8);--wb-insert-line: #6ba8ff;--select-arrow: url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5' fill='none'>      <path d='M1 1l3.5 3L8 1' stroke='%23bbbbbb' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/>    </svg>")}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%}body{background:var(--bg);color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:var(--font-size-base);display:flex;justify-content:center;align-items:stretch}button,input,select,textarea{font:inherit;transition:var(--interactive-transition)}a{color:var(--text-muted);text-decoration:underline}a:hover{color:var(--text-main);text-decoration:underline}.page-root{width:100%;height:100vh;display:flex;flex-direction:column;padding:16px 16px 54px;gap:10px}.top-panel,.top-panel *,.chart-panel,.chart-panel *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.top-panel{flex:1;display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:0;min-height:0}.stat-card{background:transparent;border-radius:0;border:none;padding:4px 6px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.stat-label{text-align:center;font-size:var(--font-size-base);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{flex:1;display:flex;align-items:center;justify-content:center;font-weight:600}.stat-value span{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--stat-number-color)}.stat-cadence-indicator{display:inline-block;font-size:.7em;line-height:1;vertical-align:middle}.stat-cadence-indicator--visible{margin-left:8px}.chart-panel{flex:1;background:transparent;border-radius:0;border:none;position:relative;overflow:hidden;padding:0;min-height:0}#chartSvg{width:100%;height:100%;display:block}.chart-tooltip{position:absolute;pointer-events:none;font-size:16px;padding:4px 6px;border-radius:var(--radius);background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 6px #00000029;white-space:nowrap;display:none;z-index:10}@media(prefers-color-scheme:dark){.chart-tooltip{background:#303030;color:#ddd;border:1px solid rgba(255,255,255,.16);box-shadow:0 2px 6px #000c}}:root.theme-dark .chart-tooltip{background:#303030;color:#ddd;border:1px solid rgba(255,255,255,.16);box-shadow:0 2px 6px #000c}:root.theme-light .chart-tooltip{background:#fff;color:#666;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 6px #00000029}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:16px;background:var(--nav-bg);border-top:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--font-size-base);color:var(--text-main)}.workout-title-wrapper{position:absolute;left:50%;top:0;transform:translate(-50%);height:100%;display:flex;align-items:center;pointer-events:none}.workout-title-center{font-size:var(--font-size-base);font-weight:600;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis;text-align:center;color:var(--text-main)}.nav-left,.nav-right{display:flex;align-items:center;gap:8px;min-width:0}.nav-right{margin-left:auto}.device-group{display:flex;align-items:center;gap:4px;padding:0 var(--button-padding-x);padding-left:calc(var(--button-padding-x) - 4px);border-radius:var(--radius);border:none;background:transparent;cursor:pointer;height:var(--nav-control-height);font-size:var(--font-size-base);color:var(--text-main);transition:var(--interactive-transition)}.device-label{font-size:var(--font-size-base);color:var(--text-main);white-space:nowrap;display:flex;align-items:center;gap:4px}.device-battery{font-size:var(--font-size-base);color:var(--text-muted)}.icon-box{width:22px;height:22px;border-radius:var(--radius);border:none;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;color:var(--text-main)}.icon-box svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.status-dot{position:absolute;right:0;bottom:0;width:6px;height:6px;border-radius:2px;background:#a0a0a0}.status-dot.connected{background:#18a058}.status-dot.connecting{background:#f9a825}.status-dot.error{background:#e53935}.battery-low{color:#f57c00}.nav-icon-button{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--text-main);transition:var(--interactive-transition)}.nav-icon-button svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.nav-icon-button:hover,.device-group:hover{background:#0000000f}@media(prefers-color-scheme:dark){.nav-icon-button:hover,.device-group:hover{background:#ffffff1a}}:root.theme-dark .nav-icon-button:hover,:root.theme-dark .device-group:hover{background:#ffffff1a}:root.theme-light .nav-icon-button:hover,:root.theme-light .device-group:hover{background:#0000000f}.nav-icon-button.active{background:#0000000f}@media(prefers-color-scheme:dark){.nav-icon-button.active{background:#ffffff1a}}:root.theme-dark .nav-icon-button.active{background:#ffffff1a}:root.theme-light .nav-icon-button.active{background:#0000000f}.mode-toggle{display:inline-flex;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--surface);height:var(--nav-control-height);color:var(--text-main)}.mode-toggle-button{border:none;background:transparent;padding:0 var(--button-padding-x);font-size:var(--font-size-base);cursor:pointer;display:flex;align-items:center;justify-content:center;white-space:nowrap;color:inherit;transition:var(--interactive-transition)}.mode-toggle-button:hover{background:var(--hover-light)}.mode-toggle-button+.mode-toggle-button{border-left:1px solid var(--border-subtle)}.mode-toggle-button.active{background:var(--hover-strong)}.control-group{display:inline-flex;align-items:stretch;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--surface);height:var(--nav-control-height);color:var(--text-main)}.control-btn{min-width:26px;border:none;border-right:1px solid var(--border-subtle);background:transparent;font-size:16px;cursor:pointer;padding:0 var(--button-padding-x);display:flex;align-items:center;justify-content:center;color:inherit}.control-btn:last-child{border-right:none;border-left:1px solid var(--border-subtle)}.control-btn:hover{background:#0000000f}@media(prefers-color-scheme:dark){.control-btn:hover{background:#ffffff1a}}:root.theme-dark .control-btn:hover{background:#ffffff1a}:root.theme-light .control-btn:hover{background:#0000000f}.control-value{min-width:54px;padding:0 8px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-size:var(--font-size-base);color:inherit}.workout-controls{display:flex;align-items:center;gap:8px;color:var(--text-main);flex:1;flex-wrap:wrap}.workout-controls #modeToggle{display:none}.playback-button{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:0px solid var(--border);background:var(--surface);display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--text-main)}.playback-button.visible{display:flex}.playback-button svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.playback-button:hover{background:#0000000f}@media(prefers-color-scheme:dark){.playback-button:hover{background:#ffffff1a}}:root.theme-dark .playback-button:hover{background:#ffffff1a}:root.theme-light .playback-button:hover{background:#0000000f}.inline-clicktoggle{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-base);border-radius:var(--radius);padding:0 var(--button-padding-x);background:var(--surface);height:var(--nav-control-height);color:var(--text-main);background:#0000;border:none;cursor:pointer;transition:var(--interactive-transition)}.inline-clicktoggle span{white-space:nowrap}.inline-clicktoggle:hover{background:#0000000f}.inline-clicktoggle:active{background:#00000014}@media(prefers-color-scheme:dark){.inline-clicktoggle:hover{background:#ffffff1a}.inline-clicktoggle:active{background:#ffffff24}}:root.theme-dark .inline-clicktoggle:hover{background:#ffffff1a}:root.theme-dark .inline-clicktoggle:active{background:#ffffff24}:root.theme-light .inline-clicktoggle:hover{background:#0000000f}:root.theme-light .inline-clicktoggle:active{background:#00000014}.status-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:40;opacity:0;transition:opacity .3s ease;color:var(--text-numbers);text-shadow:0 0 20px rgba(244,244,244,1);background:#f4f4f4e6}@media(prefers-color-scheme:dark){.status-overlay{text-shadow:0 0 20px rgba(34,34,34,1);background:#222c}}:root.theme-dark .status-overlay{text-shadow:0 0 20px rgba(34,34,34,1);background:#222c}:root.theme-light .status-overlay{text-shadow:0 0 20px rgba(244,244,244,1);background:#f4f4f4e6}#statusText{font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:center}@media(max-width:800px){.bottom-nav{font-size:var(--font-size-base)}}.settings-ftp-input{width:4ch;border:none;background:transparent;color:var(--text-main);font:inherit;text-align:center;outline:none}.settings-ftp-input::-webkit-outer-spin-button,.settings-ftp-input::-webkit-inner-spin-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.settings-ftp-input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.settings-ftp-unit{margin-left:2px;font-size:var(--font-size-base);color:var(--text-muted)}.chart-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;pointer-events:none;container-type:inline-size;z-index:1;background:var(--chart-empty-bg)}.chart-empty-message{font-size:clamp(1.6rem,8cqh,8cqw);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-numbers);max-width:60%;text-shadow:0 0 32px var(--chart-empty-shadow)}.chart-empty-arrow{position:absolute;bottom:0;width:auto;height:50%}.chart-empty-arrow--left{left:3%;transform:none}.chart-empty-arrow--right{right:3%;left:auto;transform:scaleX(-1)}.chart-empty-arrow-main{fill:none;stroke:var(--text-numbers);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#startBtn{margin-left:auto}#workoutNameLabel{white-space:nowrap}:root{--planner-row-height: 24vh}.workout-planner-overlay{z-index:50}.workout-planner-modal{display:flex;flex-direction:column;gap:8px}.workout-planner-header{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0;margin-bottom:4px;padding:0 46px 12px 0}.workout-planner-left{display:flex;align-items:center;gap:12px}.workout-planner-title{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-base);color:var(--text-muted);min-height:var(--nav-control-height);display:flex;align-items:center}.workout-planner-selected{position:absolute;left:50%;top:0;transform:translate(-50%);text-align:center;font-weight:700;font-size:20px;color:var(--text-main);min-height:var(--nav-control-height);display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-planner-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.workout-planner-header .picker-close-btn{position:absolute;top:0;right:0}.planner-schedule-btn{padding-inline-start:10px}.workout-planner-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.planner-calendar{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border-subtle);overflow:hidden;background:var(--surface);min-width:900px}.planner-calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:sticky;top:0;background:var(--surface);z-index:2;border-bottom:1px solid var(--border-subtle)}.planner-day-head{padding:8px 10px;text-align:center;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-left:1px solid var(--border-subtle)}.planner-day-head:first-child{border-left:none}.planner-calendar-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;background:var(--surface)}.planner-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:var(--planner-row-height);height:auto;flex:0 0 auto;border-bottom:1px solid var(--border-subtle)}.planner-week-row:last-child{border-bottom:none}.planner-day{position:relative;border-left:1px solid var(--border-subtle);border-top:1px solid transparent;display:flex;align-items:stretch;cursor:pointer;background:var(--surface);transition:var(--interactive-transition)}.planner-day:first-child{border-left:none}.planner-day-content{flex:1 0 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;box-sizing:border-box}.planner-day-number{font-weight:700;color:var(--text-main);font-size:20px;line-height:20px;padding:12px 12px 4px}.planner-month-label{position:absolute;top:12px;right:12px;font-size:var(--font-size-base);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;line-height:20px}.planner-workout-card{width:100%;margin:0;border-radius:0;border:1px solid transparent;background:transparent;padding:8px 11px 12px;display:flex;flex-direction:column;cursor:pointer;transition:opacity .14s ease,background-color .12s ease,filter .12s ease;opacity:.96}.planner-workout-card:hover{opacity:1;background:var(--hover-light);filter:brightness(.98)}.planner-day.is-selected .planner-workout-card:hover{background:var(--planner-selected-hover-bg);border-left:1px solid var(--cta-border);border-right:1px solid var(--cta-border)}.planner-day.is-today:not(.is-selected) .planner-workout-card:hover{background:var(--planner-today-hover-bg);border-left:1px solid var(--warning-border);border-right:1px solid var(--warning-border)}.planner-workout-card:active{opacity:1;background:var(--hover-medium);filter:brightness(.95)}.planner-day.is-selected .planner-workout-card:active{background:var(--planner-selected-hover-bg);border-left:1px solid var(--cta-border);border-right:1px solid var(--cta-border)}.planner-day.is-today:not(.is-selected) .planner-workout-card:active{background:var(--planner-today-hover-bg);border-left:1px solid var(--warning-border);border-right:1px solid var(--warning-border)}.planner-scheduled-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0;height:32px}.planner-scheduled-tag{font-size:var(--font-size-base);font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;line-height:24px}.planner-scheduled-tag-past{text-decoration:line-through}.planner-scheduled-missing .planner-workout-name{color:var(--error)}.planner-scheduled-edit-btn{width:32px;height:32px}.planner-workout-header{display:flex;flex-direction:column;gap:4px}.planner-workout-name{font-weight:700;font-size:var(--font-size-base);color:var(--text-main)}.planner-workout-stats{font-size:var(--font-size-base);color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px;row-gap:0}.planner-workout-stat-chip{display:inline-block;white-space:nowrap}.planner-workout-chart{width:100%;height:36px}.planner-workout-chart svg{width:100%;height:100%;display:block}.planner-footer{margin-top:12px;font-size:var(--font-size-base);color:var(--text-muted);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.planner-footer-left{text-align:left}.planner-footer-right{text-align:right}.planner-footer-right,.planner-footer-left{display:flex;flex-wrap:wrap;gap:6px}.planner-footer-sep{padding:0 4px}.planner-day:hover{background:var(--hover-light)}.planner-day.suppress-hover:hover:not(.is-selected):not(.is-today){background:var(--surface);box-shadow:none}.planner-day.suppress-hover:hover.is-selected{background:var(--planner-selected-hover-bg);box-shadow:inset 0 0 0 1px var(--cta-border)}.planner-day.suppress-hover:hover.is-today:not(.is-selected){background:var(--planner-today-hover-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.planner-day.is-selected{background:var(--planner-selected-bg);box-shadow:inset 0 0 0 1px var(--cta-border)}.planner-day.is-selected:hover{background:var(--planner-selected-hover-bg);box-shadow:inset 0 0 0 1px var(--cta-border)}.planner-day.is-selected:hover:has(.planner-workout-card:hover){background:var(--planner-selected-bg);box-shadow:inset 0 0 0 1px var(--cta-border)}.planner-day.is-today:not(.is-selected){background:var(--planner-today-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.planner-day.is-today:not(.is-selected):hover{background:var(--planner-today-hover-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.planner-day.is-today:not(.is-selected):hover:has(.planner-workout-card:hover){background:var(--planner-today-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.planner-day.month-top-boundary{border-top:3px solid var(--border)}.planner-day.month-left-boundary{border-left:3px solid var(--border)}.planner-day.month-bottom-boundary{border-bottom:3px solid var(--border)}.planner-detail-view{display:none;flex:1;min-height:0;gap:0;flex-direction:column}.planner-detail-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0;flex:0 0 50%;height:50%}.planner-detail-stats{background:transparent;border:none;border-radius:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.planner-detail-date{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-base);color:var(--text-muted);margin:12px 0 6px}.planner-detail-stats .wb-stats-row{width:100%;margin:0;gap:12px}.planner-detail-curve{background:transparent;border:none;border-radius:0;padding:0;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-height:0}.planner-power-curve{width:100%;flex:1 1 auto;height:calc(100% - 36px);min-height:200px;max-height:100%}.planner-detail-chart-panel{background:transparent;border:none;border-radius:0;padding:0;flex:0 0 50%;height:50%;min-height:0;position:relative}.planner-detail-chart{width:100%;height:100%}.planner-curve-title-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px}.planner-curve-title{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-base);color:var(--text-muted)}.planner-curve-help{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--text-muted);background:var(--surface);cursor:pointer;flex-shrink:0}.planner-curve-help svg{width:16px;height:16px}.planner-curve-help:hover{color:var(--text-main);background:var(--hover-medium)}.planner-detail-mode .planner-calendar,.planner-detail-mode .planner-footer,.planner-detail-mode .planner-schedule-btn{display:none!important}.planner-detail-mode #plannerDetailView{display:flex!important}.planner-detail-mode .workout-planner-title{text-transform:none}.planner-detail-mode .workout-planner-body{overflow:hidden}.planner-detail-mode #plannerBackBtn{display:inline-flex!important}.planner-back-btn{display:inline-flex;align-items:center;gap:8px}@media(prefers-color-scheme:dark){.planner-day:hover{background:var(--hover-medium)}}:root.theme-dark .planner-day:hover{background:var(--hover-medium)}:root.theme-light .planner-day:hover{background:var(--hover-light)}@media(max-width:900px){.workout-planner-modal{width:96vw;height:80vh}.workout-planner-header{grid-template-columns:1fr;align-items:flex-start}.workout-planner-selected,.workout-planner-actions{justify-content:flex-start}}.workout-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#00000059;z-index:45}.workout-picker-overlay:not(.planner-mode) .planner-only{display:none!important}.workout-picker-overlay.planner-mode .picker-only{display:none!important}.workout-picker-modal{width:min(1600px,90vw);height:min(1200px,85vh);background:var(--surface-elevated);border-radius:var(--modal-radius);border:1px solid var(--border);box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;padding:16px;color:var(--text-main);font-size:var(--font-size-base);line-height:1.5}.workout-picker-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;margin-bottom:4px;font-size:var(--font-size-base);padding-right:46px;padding-bottom:12px;min-height:var(--nav-control-height)}.workout-picker-title{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-base);color:var(--text-muted);display:inline-flex;align-items:center;min-height:var(--nav-control-height)}.workout-picker-header-main{display:flex;flex-direction:column;gap:12px;justify-self:start;align-items:flex-start}.workout-picker-modal--builder .workout-picker-title{display:none}.workout-picker-header-actions{display:flex;align-items:center;gap:8px}.workout-picker-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:flex-end;min-width:0;width:auto;justify-self:end}.picker-search-wrap{position:relative;display:inline-flex;align-items:stretch;height:var(--nav-control-height);color:var(--text-main)}.picker-search-icon{width:34px;border:1px solid var(--border);border-right:1px solid var(--border-subtle);border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;background:var(--surface);stroke:currentColor;fill:none;padding:0 8px;transition:background-color .24s linear,border-color .24s linear}.picker-search-wrap input[type=search]{border:1px solid var(--border);border-left:0;outline:none;background:var(--surface);height:var(--nav-control-height);min-width:220px;font-size:var(--font-size-base);color:inherit;padding:0 34px 0 10px;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0;position:relative;z-index:1;transition:background-color .24s linear,border-color .24s linear}.picker-search-wrap input[type=search]::-webkit-search-cancel-button{display:none}.picker-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;display:none;z-index:2}.picker-search-clear svg{width:12px;height:12px}.picker-search-clear:hover,.picker-search-clear:active,.picker-search-clear:focus{background:transparent!important;background-color:transparent!important;border-color:transparent!important;box-shadow:none;outline:none}.picker-search-clear.visible,.picker-search-wrap.picker-search-active .picker-search-clear{display:inline-flex;align-items:center;justify-content:center}.picker-search-wrap:focus-within .picker-search-icon,.picker-search-wrap:focus-within input[type=search]{box-shadow:0 0 0 2px var(--focus-ring);z-index:1}.picker-search-wrap.picker-search-active .picker-search-icon,.picker-search-wrap.picker-search-active input[type=search]{background-color:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-bg)}.picker-search-wrap.picker-search-active .picker-search-clear{color:var(--cta-text)}.picker-search-wrap.picker-search-active input[type=search]::placeholder{color:var(--cta-text);opacity:.7}.picker-search-wrap.picker-search-active input[type=search]:-webkit-autofill,.picker-search-wrap.picker-search-active input[type=search]:-webkit-autofill:hover,.picker-search-wrap.picker-search-active input[type=search]:-webkit-autofill:focus{background-color:var(--cta-bg);-webkit-text-fill-color:var(--cta-text);caret-color:var(--cta-text);box-shadow:0 0 0 1000px var(--cta-bg) inset}.builder-status{display:none;align-items:center;padding:0 12px;height:var(--nav-control-height);border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-muted);max-width:720px;min-width:160px;box-sizing:border-box;white-space:normal}.builder-status--ok{color:var(--success);border-color:var(--success-soft)}.builder-status--error{color:var(--error);border-color:var(--error-soft)}.builder-status--neutral{color:var(--text-muted)}.workout-picker-controls>input[type=search]{padding:8px 12px;font-size:var(--font-size-base);border-radius:var(--radius);border:1px solid var(--border);outline:none;background:var(--surface);color:var(--text-main);min-width:160px;flex:0 1 260px;width:260px;height:var(--nav-control-height);box-sizing:border-box}.workout-picker-controls select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color-scheme:inherit;padding:0 28px 0 12px;font-size:var(--font-size-base);border-radius:var(--radius);border:1px solid var(--border);outline:none;background:var(--surface);color:var(--text-main);min-width:0;height:var(--nav-control-height);box-sizing:border-box;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 12px center;background-size:9px 5px}.workout-picker-controls select.picker-filter-active{background-color:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-bg);background-image:none}.picker-filter-wrap{position:relative;display:inline-flex;min-width:0}.picker-filter-clear{position:absolute;right:0;top:0;height:100%;width:34px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--cta-text);cursor:pointer}.picker-filter-clear svg{width:12px;height:12px}.picker-filter-clear:hover{opacity:.8}.workout-picker-controls select option{background:var(--surface);color:var(--text-main)}.workout-picker-controls select:hover{background-color:var(--hover-light)}.workout-picker-controls input[type=search]:focus,.workout-picker-controls select:focus,.workout-picker-controls input[type=number]:focus{border-color:var(--border);box-shadow:none;outline:none}.workout-picker-controls select.picker-filter-active:focus{background-color:var(--cta-bg);border-color:var(--cta-bg)}.workout-picker-controls select.picker-filter-active:hover{background-color:var(--cta-bg-hover);border-color:var(--cta-bg-hover)}.picker-search-wrap.picker-search-active:focus-within .picker-search-icon,.picker-search-wrap.picker-search-active:focus-within input[type=search]{background-color:var(--cta-bg);border-color:var(--cta-bg)}.workout-picker-summary{font-size:var(--font-size-base);color:var(--text-muted);margin-bottom:0}.workout-picker-table-wrapper{flex:1;min-height:0;overflow:auto;border-radius:var(--radius);border:1px solid var(--border-subtle);overscroll-behavior:contain;margin-top:0}.workout-picker-table{width:100%;display:block;font-size:var(--font-size-base);--picker-cols: minmax(8rem, 1fr) 9rem 11rem 5rem 5rem 9rem 6rem}.workout-picker-table thead{display:block;position:sticky;top:0;background:var(--surface);z-index:1;border-bottom:1px solid var(--border-subtle)}.workout-picker-table tbody{display:block}.workout-picker-table thead tr,.workout-picker-table tbody tr{display:grid;grid-template-columns:var(--picker-cols);align-items:center}.workout-picker-table tbody tr{content-visibility:auto;contain-intrinsic-size:0 32px;border-bottom:1px solid var(--border-subtle)}.workout-picker-table th,.workout-picker-table td{padding:4px 8px;text-align:left;white-space:nowrap;min-width:0}.workout-picker-table td{overflow:hidden;text-overflow:ellipsis}.picker-folder-row>td,.picker-folder-up>td,.picker-expanded-row>td{grid-column:1 / -1}.picker-expanded-row{content-visibility:visible}.workout-picker-table th{font-weight:500;font-size:var(--font-size-base);color:var(--text-muted);cursor:default;-webkit-user-select:none;user-select:none;position:relative}.workout-picker-table th[data-sort-key]{cursor:pointer}.workout-picker-table th[data-sort-key]:hover{text-decoration:underline}.workout-picker-table th[data-sort-key]:after{content:"";font-size:9px;margin-left:4px}.workout-picker-table th.sorted-asc:after{content:"▲"}.workout-picker-table th.sorted-desc:after{content:"▼"}.workout-picker-table tbody tr:last-child{border-bottom:none}.picker-row{cursor:pointer;transition:background-color .12s ease,transform .06s ease}.picker-row:hover{background:var(--hover-light)}.picker-row:active{transform:scale(.998)}.picker-zone-cell{display:inline-flex;align-items:center;gap:8px}.picker-zone-dot{width:12px;height:12px;border-radius:3px;display:inline-block;flex-shrink:0}.picker-zone-dot-recovery{background:var(--zone-recovery)}.picker-zone-dot-endurance{background:var(--zone-endurance)}.picker-zone-dot-tempo{background:var(--zone-tempo)}.picker-zone-dot-threshold{background:var(--zone-threshold)}.picker-zone-dot-vo2{background:var(--zone-vo2)}.picker-zone-dot-anaerobic{background:var(--zone-anaerobic)}.picker-zone-dot-unknown{background:transparent}.picker-zone-dot-freeride{position:relative;overflow:hidden;background:var(--freeride-fill)}.picker-zone-dot-freeride:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--freeride-stripe);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 2 Q2 0 4 2 T8 2' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M0 6 Q2 4 4 6 T8 6' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") 0 0 / 8px 8px repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 2 Q2 0 4 2 T8 2' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M0 6 Q2 4 4 6 T8 6' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") 0 0 / 8px 8px repeat}.picker-expanded-row td{background:var(--expanded-bg);white-space:normal;overflow:visible;text-overflow:clip;padding-top:4px;padding-bottom:4px}.picker-expanded{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;position:relative;padding:12px}.picker-expanded-collapse-hit{position:absolute;top:-4px;left:0;right:0;height:16px;cursor:pointer}.picker-graph-svg{width:100%;height:200px;display:block}.picker-expanded-layout{display:flex;flex-direction:column;gap:12px}.picker-expanded-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;column-gap:12px;row-gap:12px;width:100%}.picker-expanded-title{font-weight:700;font-size:20px}.picker-expanded-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.picker-expanded-main{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.picker-expanded-main-left,.picker-expanded-main-right{margin-top:12px;flex:1 1 280px;min-width:0}.picker-expanded-main-left .wb-stats-row,.picker-expanded-chart{width:100%}.picker-graph{flex:0 0 100%;max-width:100%;min-width:0;position:relative;min-height:200px}.picker-detail{flex:1 1 0;min-width:200px;font-size:var(--font-size-base);line-height:1.4;padding-left:4px}.picker-detail-empty{color:var(--text-muted)}.picker-tooltip{position:absolute;pointer-events:none;font-size:var(--font-size-base);padding:8px;border-radius:var(--radius);background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--tooltip-border);white-space:nowrap;display:none;z-index:10;box-shadow:0 2px 6px var(--tooltip-shadow)}.picker-footer{margin-top:12px;font-size:var(--font-size-base);color:var(--text-muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.picker-footer span{white-space:nowrap}.picker-footer-builder{justify-content:flex-start}.workout-picker-modal:not(.workout-picker-modal--builder) .picker-footer-builder{display:none}.workout-picker-modal.workout-picker-modal--builder .picker-footer-builder{display:flex}.picker-close-btn{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--text-main);flex-shrink:0;position:absolute;top:0;right:0}.picker-close-btn svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.picker-close-btn:hover{background:var(--hover-strong)}.select-workout-btn{border:none;border-radius:var(--radius);height:var(--nav-control-height);padding:0 12px;font-size:var(--font-size-base);cursor:pointer;background:var(--cta-bg);color:var(--cta-text);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transition:background-color .14s ease,transform .06s ease}.select-workout-btn:hover{background:var(--cta-bg-hover)}.select-workout-btn:active{transform:scale(.97);background:var(--cta-bg-active)}@media(max-width:800px){.workout-picker-modal{width:96vw;height:80vh;padding:12px}.picker-graph{flex:1 1 100%;max-width:100%}.picker-detail{flex:1 1 100%;padding-left:0;margin-top:4px}.workout-picker-controls{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:1100px){.workout-picker-header{grid-template-columns:1fr;row-gap:12px;padding-right:48px}.workout-picker-controls{justify-self:stretch}}.picker-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:radial-gradient(circle at top,var(--picker-empty-glow),transparent 55%);pointer-events:none;text-align:center;font-size:var(--font-size-base)}.picker-empty-message{color:var(--text-muted)}.picker-empty-add-btn{pointer-events:auto;border-radius:var(--radius);border:none;height:var(--nav-control-height);padding:0 12px;font-size:var(--font-size-base);background:var(--cta-bg);color:var(--cta-text);cursor:pointer}.picker-empty-add-btn:hover{background:var(--cta-bg-hover)}.picker-add-btn{border:none;border-radius:var(--radius);height:var(--nav-control-height);padding:0 12px 0 9px;font-size:var(--font-size-base);cursor:pointer;background:var(--cta-bg);color:var(--cta-text);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;flex-shrink:0;gap:4px}.picker-add-btn:hover{background:var(--cta-bg-hover)}.picker-add-btn:active{transform:scale(.97);background:var(--cta-bg-active)}.workout-builder-root{flex:1;min-height:0;overflow:auto}.workout-builder{display:flex;flex-direction:column;min-height:100%;gap:12px;font-size:var(--font-size-base)}.workout-builder-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;align-items:stretch;font-size:var(--font-size-base)}.wb-top-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}@media(max-width:960px){.wb-top-row{grid-template-columns:1fr}}.workout-builder-col{display:contents}.wb-card{border-radius:var(--radius);border:none;background:transparent;padding:0;display:flex;flex-direction:column;gap:12px;font-size:var(--font-size-base)}.wb-chart-card{position:relative}.wb-meta-fields{display:flex;flex-direction:column;gap:12px}.wb-description-card .wb-field-textarea{min-height:116px}.wb-field{display:flex;flex-direction:column;gap:4px}.wb-field-label{font-size:var(--font-size-base);color:var(--text-muted)}.wb-field-input,.wb-field-textarea{font-size:var(--font-size-base);border-radius:var(--radius);border:1px solid var(--border-subtle);padding:0 10px;background:var(--surface-elevated);color:var(--text-main)}.wb-field-textarea{overflow:hidden;resize:none;min-height:88px;padding:6px 10px}.wb-field-input{height:var(--nav-control-height);box-sizing:border-box}.wb-field-input:focus,.wb-field-textarea:focus{outline:none;border-color:var(--border)}.wb-stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:0;align-items:center}.wb-stat-chip{min-width:80px;border-radius:var(--radius);border:1px solid var(--border-subtle);height:var(--nav-control-height);padding:0 12px;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);gap:12px}.wb-stat-label{font-size:var(--font-size-base);color:var(--text-muted)}.wb-stat-value{font-size:var(--font-size-base)}.wb-chart-container{width:100%;overflow-x:auto;overflow-y:hidden;position:relative;z-index:2}.wb-chart-mini-host{width:100%;position:relative;min-width:100%;height:320px}.wb-chart-mini-host svg{width:auto;height:320px;display:block}.wb-chart-axis-overlay{position:absolute;height:100%;pointer-events:none;z-index:1}.wb-chart-axis-overlay--grid{z-index:1}.wb-chart-axis-overlay--ftp{z-index:3}.wb-chart-axis-label{position:absolute;left:6px;font-size:16px;color:var(--text-muted);font-weight:300;-webkit-user-select:none;user-select:none}.wb-chart-axis-label--ftp,.wb-chart-axis-label--duration{color:var(--ftp-line);font-weight:300;right:6px;left:auto;text-align:right}.wb-block-band{transition:fill-opacity .14s ease}.wb-block-band.is-active{fill:var(--hover-strong);fill-opacity:1}.wb-block-segment{cursor:pointer;transition:fill .12s ease}.wb-block-segment.is-active{filter:var(--wb-block-active-filter)}.wb-stats-card{flex:0 0 auto;margin:0}.wb-toolbar-card{flex:0 0 auto;justify-content:flex-start;align-items:flex-start}.wb-code-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--font-size-base);width:100%;--wb-action-gap: 8px}.wb-toolbar-actions{display:flex;align-items:center;gap:8px;column-gap:8px;margin-left:auto;align-self:center}.wb-toolbar-action-btn{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:var(--interactive-transition)}.wb-toolbar-action-btn:hover{background:var(--hover-medium)}.wb-toolbar-action-btn:disabled{opacity:.45;cursor:default}.wb-toolbar-action-btn svg{width:18px;height:18px;display:block}.wb-block-editor{display:flex;flex-wrap:wrap;gap:12px;align-items:center;flex:1;min-width:0}.wb-block-editor-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:center;flex:1}.wb-block-field{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:120px}.wb-block-field--nolabel{gap:0;min-width:0}.wb-block-field-label{font-size:var(--font-size-base);color:var(--text-muted);white-space:nowrap}.wb-block-stepper{height:var(--nav-control-height)}.wb-block-stepper-input{width:5ch}.wb-block-field[data-kind=power] .wb-block-stepper-input,.wb-block-field[data-kind=cadence] .wb-block-stepper-input{width:4ch}.wb-block-field[data-kind=timestamp] .wb-block-stepper-input{width:6ch}.wb-block-field[data-kind=repeat] .wb-block-stepper-input{width:3ch}.wb-block-field[data-kind=repeat] .control-value{padding-left:4px;padding-right:2px}.wb-block-field[data-kind=repeat]{min-width:140px}.wb-block-unit{font-size:var(--font-size-base);color:var(--text-muted);white-space:nowrap}.wb-block-delete-btn{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:var(--interactive-transition)}.wb-block-delete-btn:hover{background:var(--hover-medium)}.wb-text-event-card{flex:0 0 auto;width:100%}.wb-text-event-editor{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;width:100%}.wb-text-event-editor .wb-block-field{flex:0 0 auto}.wb-text-event-editor .wb-text-event-field{flex:1 1 0;min-width:0}.wb-text-event-input{flex:1 1 auto;min-width:0;width:100%;font-size:var(--font-size-base);height:var(--nav-control-height);box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--border-subtle);padding:0 10px;background:var(--surface-elevated);color:var(--text-main)}.wb-text-event-input:focus{outline:none;border-color:var(--border)}.wb-text-event{cursor:ew-resize}.wb-text-event:hover rect{fill:color-mix(in srgb,var(--surface-elevated) 94%,var(--text-main));fill-opacity:1;stroke:var(--border);stroke-width:1.2}.wb-text-event.is-active rect{fill:color-mix(in srgb,var(--surface-elevated) 88%,var(--text-main));fill-opacity:1;stroke:var(--text-main);stroke-width:1.6}.wb-text-event:hover .wb-text-event-tick{stroke:var(--border);stroke-width:1.6}.wb-text-event.is-active .wb-text-event-tick{stroke:var(--text-main);stroke-width:2}.wb-block-move-btn{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:var(--interactive-transition)}.wb-block-move-btn:hover{background:var(--hover-medium)}.wb-code-toolbar-buttons{display:flex;flex-wrap:wrap;gap:4px}.wb-code-insert-btn{border-radius:var(--radius);border:1px solid var(--border-subtle);height:var(--nav-control-height);padding:0 12px 0 9px;font-size:var(--font-size-base);background:var(--surface-elevated);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.wb-code-insert-btn--icon-only{padding:0;width:var(--nav-control-height);justify-content:center}.wb-code-icon{width:18px;height:18px;display:block;color:currentColor}.wb-code-insert-btn:hover{background:var(--hover-medium)}.wb-drag-handle--top{cursor:ns-resize}.wb-drag-handle--right{cursor:ew-resize}.wb-drag-handle--move{cursor:grab}body.wb-dragging .wb-drag-handle--move{cursor:grabbing}.wb-code-insert-btn.wb-zone-recovery .wb-code-icon{color:var(--zone-recovery)}.wb-code-insert-btn.wb-zone-endurance .wb-code-icon{color:var(--zone-endurance)}.wb-code-insert-btn.wb-zone-tempo .wb-code-icon{color:var(--zone-tempo)}.wb-code-insert-btn.wb-zone-threshold .wb-code-icon{color:var(--zone-threshold)}.wb-code-insert-btn.wb-zone-vo2 .wb-code-icon{color:var(--zone-vo2)}.wb-code-insert-btn.wb-zone-anaerobic .wb-code-icon{color:var(--zone-anaerobic)}.workout-picker-modal.workout-picker-modal--builder .workout-picker-table-wrapper,.workout-picker-modal.workout-picker-modal--builder .picker-footer-library,.workout-picker-modal.workout-picker-modal--builder .workout-picker-summary,.workout-picker-modal.workout-picker-modal--builder .picker-empty-state{display:none}.wb-input-error{border-color:var(--cta-border)!important;box-shadow:0 0 0 1px var(--cta-soft)}.wb-import{position:relative;display:inline-flex}.wb-import-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:transparent;border:none;padding:0;cursor:default}.wb-import-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:41;min-width:260px;max-width:320px;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;padding:6px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #00000047}.wb-import-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:8px 10px;background:transparent;border:none;border-radius:7px;color:var(--text-main);font:inherit;cursor:pointer}.wb-import-item:hover,.wb-import-item:focus-visible{background:var(--surface-muted);outline:none}.wb-import-item small{color:var(--text-muted);font-size:.78em}.wb-import-sep{height:1px;background:var(--border-subtle);margin:5px 4px}.wb-import-group-label{font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 8px 2px}.wb-import-hint{margin:2px 4px;padding:0 6px;font-size:.78em;line-height:1.45;color:var(--text-muted)}.wb-import-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.wb-import-browse{padding:2px 10px 8px;font-size:.78em;line-height:1.55;color:var(--text-muted)}.wb-import-link{background:none;border:none;padding:0;font:inherit;color:var(--text-main);text-decoration:underline;cursor:pointer}.wb-import-link:hover,.wb-import-link:focus-visible{text-decoration:none;outline:none}.import-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000080}.import-modal{width:min(460px,100%);max-height:85vh;overflow-y:auto;padding:22px 22px 18px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0006;color:var(--text-main)}.import-modal-title{margin:0 0 10px;font-size:1.15rem}.import-modal p{margin:0 0 12px;line-height:1.5}.import-modal-note{font-size:.85em;color:var(--text-muted)}.import-modal-field{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:.9em}.import-modal-field input{width:110px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-muted);color:var(--text-main);font:inherit}.import-modal-progress{margin:6px 0 12px;padding:10px 12px;border-radius:8px;background:var(--surface-muted);font-size:.85em;color:var(--text-muted)}.import-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.picker-navbar{display:flex;align-items:center;gap:4px;padding:4px 2px 8px;flex-wrap:wrap}.picker-crumb-home{display:inline-flex;align-items:center;padding:3px}.picker-crumb-home svg{width:16px;height:16px}.picker-breadcrumb{display:flex;align-items:center;gap:3px;flex-wrap:wrap;font-size:.88em;min-width:0}.picker-header-breadcrumb{font-size:var(--font-size-base);min-height:var(--nav-control-height);flex-wrap:nowrap;overflow-x:auto}.picker-crumb{background:none;border:none;padding:2px 5px;border-radius:5px;color:var(--text-muted);font:inherit;cursor:pointer}.picker-crumb:hover{background:var(--surface-muted);color:var(--text-main)}.picker-crumb-current{color:var(--text-main);font-weight:600;cursor:default}.picker-crumb-current:hover{background:none}.picker-crumb-sep{color:var(--text-muted);opacity:.6}.picker-toggle-btn{border:1px solid var(--border);border-radius:var(--radius);height:var(--nav-control-height);padding:0 11px;font-size:var(--font-size-base);cursor:pointer;background:var(--surface);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;white-space:nowrap}.picker-toggle-btn:hover{background:var(--hover-light)}.picker-toggle-btn.is-on{background:var(--cta-bg);border-color:var(--cta-bg);color:var(--cta-text)}.picker-toggle-btn.is-on:hover{background:var(--cta-bg-hover);border-color:var(--cta-bg-hover)}.picker-folder-row{cursor:pointer}.picker-folder-row:hover{background:var(--surface-muted)}.picker-folder-cell{display:flex;align-items:center;gap:10px}.picker-folder-icon{width:18px;height:18px;color:var(--text-muted);flex:none}.picker-folder-name{font-weight:600;color:var(--text-main)}.picker-folder-count{font-size:.8em;color:var(--text-muted);background:var(--surface-muted);border-radius:10px;padding:1px 8px}.picker-folder-chevron{width:16px;height:16px;color:var(--text-muted);margin-left:auto;flex:none}.picker-folder-up .picker-folder-name{color:var(--text-muted)}.picker-folder-selected,.picker-folder-selected:hover{background:var(--cta-soft);box-shadow:inset 2px 0 0 var(--cta-bg)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#00000059;z-index:46}.settings-modal{width:min(800px,80vw);height:min(900px,80vh);background:var(--surface-elevated);border-radius:var(--modal-radius);border:1px solid var(--border-subtle);box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;padding:16px;color:var(--text-main);font-size:var(--font-size-base)}.settings-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:8px;min-height:var(--nav-control-height)}.settings-header-actions{display:flex;align-items:center;gap:8px}.settings-header-actions:last-of-type{justify-self:end}.settings-header-main{display:flex;flex-direction:column;gap:2px;justify-self:start;text-align:left}.settings-modal.logs-active .settings-header-main{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;justify-content:center;align-items:center;text-align:center}.settings-title{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-base);color:var(--text-muted)}.settings-close-btn{width:var(--nav-control-height);height:var(--nav-control-height);border-radius:var(--radius);border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--text-main);flex-shrink:0}.settings-close-btn svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.settings-close-btn:hover{background:var(--hover-strong)}.settings-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.settings-main-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:4px}.settings-logs-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;display:none}.settings-list{display:flex;flex-direction:column;gap:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;padding:12px;border-radius:var(--radius);background:var(--surface)}.settings-row-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.settings-icon{width:28px;height:28px;border-radius:var(--radius);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-main)}.settings-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}.settings-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-row-label{font-size:var(--font-size-base);font-weight:500;white-space:normal}.settings-row-description{font-size:var(--font-size-base);color:var(--text-muted);line-height:1.4}.settings-row-status{font-size:var(--font-size-base);white-space:nowrap}.settings-status-ok{color:var(--success-strong)}.settings-status-missing{color:var(--error-strong)}.settings-button{height:var(--nav-control-height);padding:0 var(--button-padding-x);font-size:var(--font-size-base);border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap;line-height:1}.settings-button:hover{background:var(--hover-strong)}.settings-input{padding:4px 6px;font-size:var(--font-size-base);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-main);min-width:80px;height:var(--nav-control-height);box-sizing:border-box}.settings-input:focus{outline:none;border-color:var(--border);box-shadow:none}.settings-inline-group{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.settings-error{font-size:var(--font-size-base);color:var(--error-strong);margin-top:2px}.settings-toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;height:20px}.settings-toggle-switch input{position:absolute;opacity:0;pointer-events:none}.settings-toggle-slider{width:40px;height:20px;border-radius:999px;background:var(--toggle-track);position:relative;transition:background .15s ease}.settings-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--toggle-thumb);box-shadow:0 1px 3px var(--toggle-thumb-shadow);transition:transform .15s ease}.settings-toggle-switch input:checked+.settings-toggle-slider{background:var(--toggle-checked)}.settings-toggle-switch input:checked+.settings-toggle-slider:before{transform:translate(20px)}.settings-volume{display:inline-flex;align-items:center;gap:10px}.settings-volume-icon{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--text-muted)}.settings-volume-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:132px;height:16px;margin:0;background:transparent;cursor:pointer}.settings-volume-range::-webkit-slider-runnable-track{height:16px;border-radius:999px;background:linear-gradient(to right,var(--toggle-checked) 0 calc(8px + var(--vol, .7) * (100% - 16px)),var(--toggle-track) calc(8px + var(--vol, .7) * (100% - 16px)) 100%)}.settings-volume-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:0;border:2px solid var(--toggle-track);border-radius:50%;background:var(--toggle-thumb);box-shadow:0 1px 3px var(--toggle-thumb-shadow);box-sizing:border-box}.settings-volume-range::-moz-range-track{height:16px;border-radius:999px;background:var(--toggle-track)}.settings-volume-range::-moz-range-progress{height:16px;border-radius:999px;background:var(--toggle-checked)}.settings-volume-range::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--toggle-track);border-radius:50%;background:var(--toggle-thumb);box-shadow:0 1px 3px var(--toggle-thumb-shadow);box-sizing:border-box}.settings-logs-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-logs-title{font-weight:500;font-size:var(--font-size-base)}.settings-logs-body{flex:1;min-height:0;margin-top:6px;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface-muted);padding:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-base);overflow:auto;white-space:pre-wrap}.settings-help-toggle-btn{border:none;background:transparent;padding:0;margin-left:4px;font-size:var(--font-size-base);color:var(--text-muted);cursor:pointer;text-decoration:underline}.settings-help-content{font-size:var(--font-size-base);color:var(--text-main);margin:-4px 0 6px 40px;padding:10px 12px;border-radius:var(--radius);background:var(--help-bg);animation:none}.settings-help-content--visible{animation:settingsHelpFadeIn .18s ease-out}@keyframes settingsHelpFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.settings-help-content[hidden]{display:none}.settings-alert{margin:0 0 8px;padding:12px 14px;border-radius:var(--radius);font-size:var(--font-size-base);line-height:1.4}.settings-alert-warning{background:var(--alert-bg);color:var(--alert-text)}@media(max-width:900px){.settings-modal{width:96vw;height:84vh;padding:8px}.settings-row{align-items:flex-start}}.settings-row-right{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;align-self:center;gap:4px;margin-left:auto}#settingsBtStatusCta{max-width:420px}#settingsBackFromLogsBtn{padding-left:4px}.settings-rootdir-path{display:flex;align-items:center;gap:10px;margin:-2px 0 6px 40px}.settings-rootdir-path code{flex:1;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 9px}.settings-rootdir-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--bg, #0c0c0c);opacity:1;transition:opacity .22s ease}.welcome-shell{position:relative;width:100%;height:100%;background:var(--bg);color:var(--text-main);display:block;padding:0;gap:0}@media(max-width:720px){.welcome-shell{padding:16px}}.welcome-close-btn{position:absolute;top:10px;right:12px;border:none;background:transparent;color:var(--text-muted);width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.welcome-close-btn:hover{background:var(--hover-strong);color:var(--text-main)}.welcome-slide{width:100%;height:100%;position:relative;display:block;transition:transform .33s cubic-bezier(.4,0,.2,1),opacity .33s cubic-bezier(.4,0,.2,1);max-width:none;padding:20px 0 52px}.welcome-slide--animating{will-change:transform,opacity}.welcome-slide.welcome-slide--animating-out-forward{opacity:0;transform:translate(-8%);transition:transform .33s cubic-bezier(.42,0,1,1),opacity .33s cubic-bezier(.42,0,1,1)}.welcome-slide.welcome-slide--animating-out-backward{opacity:0;transform:translate(8%);transition:transform .33s cubic-bezier(.42,0,1,1),opacity .33s cubic-bezier(.42,0,1,1)}.welcome-slide.welcome-slide--animating-in-forward{opacity:0;transform:translate(8%);transition:transform .33s cubic-bezier(0,0,.58,1),opacity .33s cubic-bezier(0,0,.58,1)}.welcome-slide.welcome-slide--animating-in-backward{opacity:0;transform:translate(-8%);transition:transform .33s cubic-bezier(0,0,.58,1),opacity .33s cubic-bezier(0,0,.58,1)}.welcome-slide.welcome-slide--animating-in-forward.welcome-slide--active,.welcome-slide.welcome-slide--animating-in-backward.welcome-slide--active{opacity:1;transform:translate(0)}.welcome-slide-clone{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.welcome-header{position:absolute;top:6vh;left:0;width:100%;text-align:center}.welcome-title{font-size:34px;font-weight:600;margin:0;color:var(--text-main);text-align:center}.welcome-main{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:0;padding:0}.welcome-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-muted);width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:61;transition:opacity .16s ease;opacity:1}.welcome-overlay:not(.welcome-overlay--visible) .welcome-nav{opacity:0;pointer-events:none}.welcome-nav-prev{left:24px}.welcome-nav-next{right:24px}.welcome-nav span{display:inline-block;font-size:22px;line-height:1}.welcome-nav:hover{background:var(--hover-strong);color:var(--text-main)}.welcome-nav:disabled{opacity:.4;cursor:default}.welcome-nav-hidden{opacity:0;pointer-events:none}.welcome-scene-wrapper{position:relative;width:min(70vw,70vh);height:auto;aspect-ratio:1 / 1;margin:auto;border-radius:var(--radius);overflow:visible;background:var(--surface-elevated);display:grid;place-items:center;padding:0}.welcome-scene{position:relative;width:100%;height:auto;aspect-ratio:1 / 1;display:grid;place-items:center;pointer-events:auto}.welcome-scene-root{width:100%;height:auto;aspect-ratio:1 / 1;grid-area:1 / 1;overflow:hidden}.welcome-scene-root .scene-piece{opacity:0;transform-origin:center}.welcome-scene-root.scene-enter-grow.welcome-scene--enter .scene-piece{animation:scene-enter-grow .9s ease-out forwards;animation-delay:var(--delay, 0ms)}.welcome-scene-root.scene-enter-fly.welcome-scene--enter .scene-piece{animation:scene-enter-fly .9s ease-out forwards;animation-delay:var(--delay, 0ms)}.welcome-scene-root.scene-steady-float.welcome-scene--steady .scene-piece{opacity:1;animation:scene-float var(--float-ms, 2.6s) ease-in-out infinite;animation-delay:var(--delay, 0ms)}.welcome-scene-root.scene-steady-none.welcome-scene--steady .scene-piece{opacity:1;animation:none}.welcome-scene-root.scene-exit-fade.welcome-scene--exit .scene-piece{opacity:1;animation:scene-exit-fade .7s ease forwards;animation-delay:var(--delay, 0ms)}.welcome-scene-root.scene-exit-rise.welcome-scene--exit .scene-piece{opacity:1;animation:scene-exit-rise .9s ease forwards;animation-delay:var(--delay, 0ms)}.scene-asset{transform-box:fill-box;transform-origin:center center}@keyframes scene-enter-grow{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scene-enter-fly{0%{opacity:0;transform:translate(var(--fly-x, 0),var(--fly-y, 12px)) scale(var(--fly-scale, .96))}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scene-float{0%{transform:translate(0)}25%{transform:translate(calc(var(--float-x, 0px) * .35),calc(var(--float-amp, 6px) * -.35))}50%{transform:translate(calc(var(--float-x, 0px) * -.4),calc(var(--float-amp, 6px) * -1))}75%{transform:translate(calc(var(--float-x, 0px) * .3),calc(var(--float-amp, 6px) * -.3))}to{transform:translate(0)}}@keyframes scene-exit-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes scene-exit-rise{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.welcome-body{position:absolute;bottom:6vh;left:50%;transform:translate(-50%);width:100%;max-width:90vw;right:auto;margin:0;font-size:18px;color:var(--text-main);line-height:1.6;text-align:center;min-height:72px;max-height:132px;overflow:auto;margin-inline:auto}.welcome-body-line{display:inline-block;max-width:100%}.welcome-title,.welcome-body{transition:opacity .26s ease-out,transform .26s ease-out;transform-origin:center}.welcome-text-hidden .welcome-title{opacity:0;transform:translateY(4px) scale(.97)}.welcome-text-visible .welcome-title{opacity:1;transform:translateY(0) scale(1)}.welcome-text-hidden .welcome-body{opacity:0;transform:translate(-50%,4px) scale(.97)}.welcome-text-visible .welcome-body{opacity:1;transform:translate(-50%) scale(1)}.welcome-slide--icon-only .welcome-main{max-width:100%}.welcome-overlay--splash-only .welcome-nav,.welcome-overlay--splash-only .welcome-close-btn,.welcome-overlay--splash-only .welcome-header,.welcome-overlay--splash-only .welcome-body{display:none!important}.welcome-overlay--splash-only .welcome-shell{pointer-events:none;display:grid;place-items:center}.welcome-overlay--splash-only .welcome-slide{height:100%;padding:0}.welcome-overlay--splash-only .welcome-main{padding:0}.welcome-overlay--hiding{opacity:0;pointer-events:none;transition:opacity 1s linear}.welcome-shell{transition:opacity .2s linear}.welcome-overlay--hiding .welcome-shell{opacity:0}body.welcome-active .page-root,body.welcome-active .bottom-nav{visibility:hidden;opacity:0;pointer-events:none}@media(max-width:720px){.welcome-slide{max-width:100%;gap:14px}.welcome-title{font-size:26px}.welcome-body{font-size:16px}.welcome-scene-wrapper{max-width:80vw;max-height:50vh}}#app{display:contents}.quick-selector.svelte-hnhtt3{display:inline-flex;align-items:stretch;gap:6px;height:var(--nav-control-height);pointer-events:auto}.quick-selector.svelte-hnhtt3 button:disabled{opacity:.35;cursor:default}.quick-drop.svelte-hnhtt3{position:relative;display:inline-flex}.quick-menu.svelte-hnhtt3{position:absolute;bottom:calc(100% + 6px);left:0;z-index:41;min-width:100%;display:flex;flex-direction:column;padding:6px;gap:1px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 -8px 24px #00000047}.quick-menu-scroll.svelte-hnhtt3{max-height:50vh;overflow-y:auto}.quick-item.svelte-hnhtt3{display:flex;align-items:center;gap:8px;text-align:left;white-space:nowrap;padding:7px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-main);font:inherit;cursor:pointer}.quick-item.svelte-hnhtt3:hover,.quick-item.svelte-hnhtt3:focus-visible{background:var(--hover-strong);outline:none}.fd.svelte-1rxrrs3{position:relative;display:inline-flex}.fd-btn.svelte-1rxrrs3{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--nav-control-height);padding:0 30px 0 10px;max-width:12rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-main);font:inherit;font-size:var(--font-size-base);cursor:pointer;transition:var(--interactive-transition)}.fd-btn.svelte-1rxrrs3:hover{background:var(--hover-light)}.fd-btn-active.svelte-1rxrrs3{background:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-bg)}.fd-btn-active.svelte-1rxrrs3:hover{background:var(--cta-bg-hover);border-color:var(--cta-bg-hover)}.fd-label.svelte-1rxrrs3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-caret.svelte-1rxrrs3{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--text-muted);pointer-events:none}.fd-clear.svelte-1rxrrs3{position:absolute;right:0;top:0;height:100%;width:30px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--cta-text);cursor:pointer}.fd-clear.svelte-1rxrrs3 svg:where(.svelte-1rxrrs3){width:12px;height:12px}.fd-menu.svelte-1rxrrs3{position:fixed;z-index:60;display:flex;flex-direction:column;padding:6px;gap:1px;max-height:60vh;overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000047}.fd-item.svelte-1rxrrs3{display:flex;align-items:center;gap:8px;text-align:left;white-space:nowrap;padding:7px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-main);font:inherit;cursor:pointer}.fd-item-hi.svelte-1rxrrs3,.fd-item.svelte-1rxrrs3:hover{background:var(--hover-strong)}.dialog-modal.svelte-1v9wgu6{width:max-content;min-width:min(340px,90vw);max-width:min(560px,92vw);height:auto;max-height:70vh}.dialog-message.svelte-1v9wgu6{margin:0 0 14px;line-height:1.55;white-space:pre-line;color:var(--text-main)}.dialog-input.svelte-1v9wgu6{width:100%;box-sizing:border-box;margin:0 0 12px;padding:9px 11px;font:inherit;color:var(--text-main);background:var(--surface-muted);border:1px solid var(--border);border-radius:8px}.dialog-input.svelte-1v9wgu6::placeholder{color:var(--text-muted)}.dialog-input.svelte-1v9wgu6:focus{outline:none;border-color:var(--text-muted)}.dialog-links.svelte-1v9wgu6{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.dialog-link.svelte-1v9wgu6{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-main);border-radius:6px;padding:6px 12px;font:inherit;font-size:.9em;cursor:pointer}.dialog-link.svelte-1v9wgu6:hover{background:var(--hover-light)}.dialog-devices.svelte-1v9wgu6{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;max-height:50vh;overflow-y:auto}.dialog-device.svelte-1v9wgu6{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;height:var(--nav-control-height);padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-main);font:inherit;font-size:var(--font-size-base);cursor:pointer;transition:var(--interactive-transition)}.dialog-device.svelte-1v9wgu6:hover{background:var(--hover-strong);border-color:var(--text-muted)}.dialog-device-name.svelte-1v9wgu6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-device-rssi.svelte-1v9wgu6{font-size:.9em;letter-spacing:1px;color:var(--success);flex-shrink:0}.dialog-device-status.svelte-1v9wgu6{margin:0;padding:14px 4px;display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.92em}.dialog-spinner.svelte-1v9wgu6{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:svelte-1v9wgu6-dialog-spin .7s linear infinite;flex-shrink:0}@keyframes svelte-1v9wgu6-dialog-spin{to{transform:rotate(360deg)}}.dialog-example.svelte-1v9wgu6{display:flex;flex-direction:column;gap:5px;margin:0 0 16px}.dialog-example-label.svelte-1v9wgu6{font-size:.72em;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.dialog-example-url.svelte-1v9wgu6{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:6px;padding:7px 9px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.dialog-actions.svelte-1v9wgu6{display:flex;justify-content:flex-end;gap:8px}
