:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#dfe3e8;--surface:#f4f6f8;--surface-2:#e8ecf0;--ink:#12151a;--muted:#5a6570;--line:#b8c0c9;--line-strong:#7e8a96;--accent:#b33a2b;--accent-hover:#932f23;--signal:#c47a12;--warn-bg:#f2e8df;--warn-border:#c9aa8a;--ok-bg:#dde8df;--font-sans:"IBM Plex Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--radius:0;font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--mono:var(--font-mono);font-weight:400;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{min-width:320px;overflow:hidden}#root{height:100dvh;max-height:100dvh;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}code{font-family:var(--mono);font-size:.82em}.boot{min-height:100vh;color:var(--muted);place-items:center;display:grid}.app-shell{border-top:4px solid var(--ink);background:linear-gradient(var(--paper), var(--paper)), repeating-linear-gradient(0deg, transparent, transparent 23px, #12151a0a 23px, #12151a0a 24px);background-blend-mode:normal;grid-template:"sidebar main inspector"minmax(0,1fr)/240px minmax(0,1fr) 280px;height:100%;max-height:100dvh;display:grid;overflow:hidden}.app-shell>.sidebar{grid-area:sidebar}.app-shell>.main{grid-area:main}.app-shell>.inspector{grid-area:inspector}.app-shell-sheet{grid-template-columns:240px minmax(0,1fr);grid-template-areas:"sidebar main"}.sidebar,.inspector{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:12px;min-width:0;min-height:0;padding:16px 14px;display:flex;overflow:hidden}.inspector{border-right:0;border-left:1px solid var(--line);overflow:hidden auto}.inspector-sheet-root{z-index:35;justify-content:flex-end;display:flex;position:fixed;inset:0}.inspector-sheet-backdrop{cursor:pointer;background:#16181c59;border:0;position:absolute;inset:0}.inspector-sheet{z-index:1;border-left:1px solid var(--line-strong);width:min(360px,100%);height:100%;max-height:100dvh;animation:.2s sheet-in;position:relative;box-shadow:-8px 0 24px #16181c1f}.inspector-sheet-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.inspector-sheet-head h2{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:650}.inspector-fab{z-index:30;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;padding:10px 16px;font-size:13px;font-weight:600;position:fixed;bottom:16px;right:16px;box-shadow:3px 3px #0000001f}.inspector-fab:hover{background:var(--accent);border-color:var(--accent)}@keyframes sheet-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.workout-details{border:1px solid var(--line);background:var(--surface-2);padding:0}.workout-details summary{cursor:pointer;color:var(--muted);padding:8px 10px;font-size:12px;font-weight:600;list-style:none}.workout-details summary::-webkit-details-marker{display:none}.workout-details-body{flex-direction:column;gap:10px;padding:0 10px 10px;display:flex}.site-head,.sidebar-actions,.sidebar-label{flex-shrink:0}.site-head{border-bottom:1px solid var(--line);padding-bottom:12px}.site-title{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.site-tag{font-size:12px;font-family:var(--font-mono);color:var(--muted);margin:4px 0 0}.site-intro{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.45}.sidebar-actions{flex-direction:column;gap:6px;display:flex}.sidebar-label,.palette-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.palette{background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-row{flex-wrap:wrap;gap:6px;display:flex}.palette-chip{border:1px solid var(--line-strong);background:var(--surface);cursor:grab;border-radius:var(--radius);padding:5px 10px;font-size:12px;font-weight:600}.palette-chip:hover{border-color:var(--ink)}.palette-chip.is-dragging{opacity:.45}.primary,.ghost,.danger{border-radius:var(--radius);cursor:pointer;padding:7px 12px;font-size:13px}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600}.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ghost{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.ghost:hover:not(:disabled){border-color:var(--ink)}.danger{color:#7a2e2e;background:#faf0f0;border:1px solid #c9a0a0}.ghost:disabled,.primary:disabled{opacity:.45;cursor:default}.workout-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.workout-list li{border:1px solid #0000;align-items:center;gap:2px;display:flex}.workout-list li.is-active{border-color:var(--line-strong);background:var(--surface-2)}.workout-open{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:7px 8px}.workout-open strong,.workout-open small{display:block}.workout-open strong{font-size:13px;font-weight:550}.workout-open small{color:var(--muted);font-family:var(--mono);font-size:11px}.icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.icon-btn:hover{color:var(--accent)}.local-notice,.support-aside{flex-shrink:0}.local-notice{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--line-strong);margin-top:auto;padding:10px 10px 10px 12px;font-size:11px;line-height:1.45}.support-aside{color:var(--muted);flex-direction:column;gap:10px;font-size:11px;display:flex}.support-tip{line-height:1.45;font-family:var(--font-mono);margin:0;font-size:11px}.support-tip-sep{color:var(--line-strong);margin:0 4px}.support-tip a{color:var(--ink);text-underline-offset:2px;font-weight:600;text-decoration:underline}.support-tip a:hover{color:var(--accent)}.support-ad{border:1px solid var(--line);background:var(--surface-2);min-height:0;padding:6px;overflow:hidden}.support-ad-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px}.support-ad:empty{display:none}.main{background:var(--paper);flex-direction:column;gap:10px;min-width:0;min-height:0;padding:14px 16px;display:flex;overflow:hidden}.main>.topbar,.main>.palette,.main>.palette-compact,.main>.blank-manual,.main>.blank-or-divider,.main>.zone-legend,.main>.ai-panel{flex-shrink:0}.main-chart,.main-blank .blank-chart{flex-direction:column;flex:1;min-height:220px;display:flex}.palette-compact .palette{gap:8px;padding:6px 8px}.palette-compact .palette-chip{padding:4px 8px;font-size:11px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:650}.topbar-title-btn{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;cursor:text;background:0 0;border:0;border-bottom:1px solid #0000;margin:0;padding:0}.topbar-title-btn:hover{border-bottom-color:var(--line-strong)}.topbar-name-input{border:1px solid var(--line-strong);letter-spacing:-.02em;width:min(100%,28rem);color:var(--ink);background:#fff;margin:0;padding:2px 4px;font-size:22px;font-weight:650}.topbar-meta{color:var(--muted);font-size:13px;font-family:var(--mono);margin:4px 0 0}.intensity-pill{color:var(--ink);align-items:center;gap:6px;font-weight:650;display:inline-flex}.intensity-pill.intensity-loading{color:var(--muted);font-weight:500}.intensity-pill.intensity-loading .intensity-meter i{animation:1s ease-in-out infinite intensity-pulse}.intensity-pill.intensity-loading .intensity-meter i:nth-child(2){animation-delay:.12s}.intensity-pill.intensity-loading .intensity-meter i:nth-child(3){animation-delay:.24s}.intensity-pill.intensity-loading .intensity-meter i:nth-child(4){animation-delay:.36s}.intensity-pill.intensity-loading .intensity-meter i:nth-child(5){animation-delay:.48s}.intensity-pill.is-refreshing{opacity:.72}@keyframes intensity-pulse{0%,to{opacity:.35}50%{opacity:1}}.intensity-meter{vertical-align:middle;gap:2px;display:inline-flex}.intensity-meter i{background:var(--line-strong);width:4px;height:10px;display:inline-block}.intensity-meter i.is-on{background:var(--ink)}.intensity-easy .intensity-meter i.is-on{background:#3f7d4e}.intensity-moderate .intensity-meter i.is-on{background:#6b8f3a}.intensity-challenging .intensity-meter i.is-on{background:#b8860b}.intensity-hard .intensity-meter i.is-on{background:#c45c26}.intensity-brutal .intensity-meter i.is-on{background:#a33b2b}.topbar-error{font-size:13px;color:var(--accent)!important}.topbar-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-group{border:1px solid var(--line-strong);background:var(--surface);display:flex}.toolbar-group .ghost{border:0;border-right:1px solid var(--line);border-radius:0}.toolbar-group .ghost:last-child{border-right:0}.toolbar-group .primary{border-radius:0}.ftp-banner{color:var(--muted);max-width:42rem;margin:8px 0 0;font-size:12px}.chart-panel{background:var(--surface);border:1px solid var(--line-strong);flex-direction:column;flex:1;min-height:220px;padding:10px 10px 8px;display:flex;position:relative;overflow:hidden}.chart-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;padding:0 4px 8px;display:flex}.chart-heading h2{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:650}.chart-heading p{color:var(--muted);font-size:12px;font-family:var(--mono);margin:0}.chart{flex:1;grid-template-columns:44px minmax(0,1fr);min-height:0;display:grid}.chart.is-over .chart-plot{outline:2px solid var(--ink);outline-offset:-2px}.chart-axis{font-family:var(--mono);color:var(--muted);font-size:10px;position:relative}.chart-axis span{position:absolute;right:6px;transform:translateY(50%)}.chart-plot{border:1px solid var(--line);background:#fff;height:100%;min-height:0;position:relative}.chart-stage{position:absolute;inset:12px 8px 44px}.chart-grid i{background:#e5e2dc;height:1px;position:absolute;left:0;right:0}.chart-grid .ftp-line{background:var(--signal);opacity:.9;height:2px}.chart-handle{z-index:2;background:var(--ink);border:1px solid #fff;position:absolute;box-shadow:0 0 0 1px #12151a40}.chart-handle-power{cursor:ns-resize;width:18px;height:6px;top:0;left:50%;transform:translate(-50%,-50%)}.chart-handle-duration{cursor:ew-resize;width:6px;height:18px;top:50%;right:0;transform:translate(50%,-50%)}.chart-empty{color:var(--muted);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.chart-blocks{align-items:stretch;gap:2px;display:flex;position:absolute;inset:0}.chart-block{cursor:grab;background:0 0;border:0;min-width:24px;height:100%;padding:0;position:relative}.chart-block.is-selected{cursor:grab}.shape-wrap{align-items:flex-end;display:flex;position:absolute;inset:0}.chart-block.is-selected .shape-wrap{box-shadow:inset 0 0 0 2px var(--ink)}.chart-block.is-dragging{opacity:.4}.chart-block.is-preview .shape-wrap{box-shadow:inset 0 0 0 2px var(--muted);opacity:.75}.shape{align-self:flex-end;width:100%;display:block}.shape-ramp{height:100%}.shape-free{border:1px dashed var(--line-strong);background:repeating-linear-gradient(-45deg,#c9d0d7,#c9d0d7 4px,#e8ecf0 4px 8px)}.shape-intervals{align-items:flex-end;gap:1px;height:100%;display:flex}.interval-pair{flex:1;align-items:flex-end;gap:1px;height:100%;display:flex}.interval-pair i{min-width:2px;display:block}.chart-block-meta{text-align:left;pointer-events:none;position:absolute;top:calc(100% + 2px);left:0;right:0}.chart-block-meta em,.chart-block-meta small{white-space:nowrap;text-overflow:ellipsis;font-style:normal;display:block;overflow:hidden}.chart-block-meta em{font-size:10px;font-weight:600}.chart-block-meta small{font-size:9px;font-family:var(--mono);color:var(--muted)}.zone-legend{color:var(--muted);flex-wrap:nowrap;flex-shrink:0;gap:8px 12px;margin:0;padding:2px 2px 0;font-size:11px;list-style:none;display:flex;overflow-x:auto}.zone-legend i{vertical-align:-1px;width:10px;height:10px;margin-right:4px;display:inline-block}.inspector h2{text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:13px;font-weight:650}.field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.field>span{overflow-wrap:anywhere}.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink);box-sizing:border-box;background:#fff;width:100%;min-width:0;max-width:100%;padding:6px 8px;font-size:13px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--ink);outline-offset:0}.field b{color:var(--ink);font-weight:600}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.inspector-power-bar{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:end;gap:8px;display:grid}.power-unit-toggle{border:1px solid var(--line-strong);background:var(--surface);grid-template-columns:1fr 1fr;gap:0;min-width:0;display:grid}.power-unit-toggle button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 6px;font-size:12px;font-weight:650;line-height:1.2}.power-unit-toggle button+button{border-left:1px solid var(--line-strong)}.power-unit-toggle button.is-selected{background:var(--ink);color:var(--surface)}.power-unit-toggle button:hover:not(.is-selected){color:var(--ink)}.duration-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:4px;width:100%;max-width:100%;display:grid}.duration-inputs input{padding-left:4px;padding-right:4px}.duration-inputs em{color:var(--muted);flex-shrink:0;font-size:11px;font-style:normal}.inspector-rule{background:var(--line);height:1px;margin:6px 0}.block-fields{flex-direction:column;gap:10px;min-width:0;display:flex}.block-fields-head{z-index:1;background:var(--surface);justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:4px 0;display:flex;position:sticky;top:0}.block-fields-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.chip{border:1px solid var(--line);background:var(--surface-2);padding:2px 6px;font-size:10px}.inspector-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;padding-top:10px;display:grid}.interval-section{border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:8px;padding:10px;display:flex}.interval-section-title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:700}.cadence-targets{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:4px;display:flex}.cadence-targets-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cadence-targets-head strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.cadence-range-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.text-alerts{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:4px;display:flex}.text-alerts-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.text-alerts-head strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.text-alerts-add{padding:4px 8px;font-size:12px}.text-alerts-hint,.text-alerts-empty{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.text-alerts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.text-alert-card{background:var(--surface-2);border:1px solid var(--line);flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.text-alert-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.text-alert-card-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.text-alert-message{min-width:0}.text-alert-message input{width:100%}.chart-text-marker{background:var(--ink);pointer-events:none;z-index:1;width:2px;height:12px;position:absolute;top:4px;transform:translate(-50%)}.chart-text-marker:after{content:"";background:var(--signal);border:1px solid #fff;width:6px;height:6px;position:absolute;top:0;left:50%;transform:translate(-50%,-20%)}.inspector-empty{color:var(--muted);margin:0;font-size:12px}.ftp-dot{font-size:11px;font-family:var(--mono);color:var(--accent);padding:0 4px}.ftp-mismatch,.ftp-match{border:1px solid var(--line);padding:8px;font-size:12px}.ftp-mismatch{background:var(--warn-bg);border-color:var(--warn-border)}.ftp-mismatch.compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ftp-match{background:var(--ok-bg);color:var(--muted)}.ftp-match-note{color:var(--muted);margin:0;font-size:12px}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.modal-backdrop{z-index:40;background:#1c1b1859;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.modal{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-strong);flex-direction:column;align-self:center;gap:10px;width:min(420px,100%);max-height:min(90dvh,920px);margin:auto;padding:16px;display:flex;overflow-y:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.modal-head h2{margin:0;font-size:15px;font-weight:650}.modal-copy{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.modal-actions{flex-direction:column;gap:6px;padding-top:4px;display:flex}.modal-actions-row{flex-wrap:wrap;gap:6px;display:flex}.settings-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 0;display:flex}.settings-section-title{letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.cloud-status{color:var(--muted);margin:0;font-size:12px}.cloud-status[data-status=synced]{color:var(--ink)}.cloud-status[data-status=error]{color:var(--danger,#b42318)}.drag-ghost{background:var(--surface);border:2px solid var(--ink);padding:6px 12px;font-size:12px;font-weight:600;box-shadow:4px 4px #0000001f}.main-blank .blank-or-divider{text-align:center;color:var(--muted);letter-spacing:.02em;margin:0;font-size:12px}.main-blank .blank-manual{opacity:.92}.ai-panel{border:1px solid var(--line-strong);background:var(--surface);flex-direction:column;flex-shrink:1;min-height:0;max-height:min(42vh,28rem);display:flex;overflow:hidden}.main-blank .ai-panel-prominent{max-height:min(42vh,24rem)}.ai-panel:not(.is-open){flex-shrink:0;max-height:none}.ai-panel-prominent{border-width:2px;border-color:var(--ink);background:var(--surface);box-shadow:none}.ai-hero-head{padding:12px 14px 0}.ai-hero-head h2{letter-spacing:0;margin:0 0 8px;font-size:20px;font-weight:700}.ai-hero-head p{color:var(--muted);max-width:40rem;margin:0;font-size:14px;line-height:1.45}.ai-panel-prominent .ai-prompt{min-height:120px;font-size:15px}.ai-panel-prominent .ai-submit{min-width:10rem;padding:9px 16px}.ai-panel.is-loading{border-color:var(--ink)}.ai-panel-toggle{background:var(--surface-2);cursor:pointer;text-align:left;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.ai-panel-title{text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:650}.ai-panel-chevron{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:8px;height:8px;margin-top:-4px;transition:transform .2s;transform:rotate(45deg)}.ai-panel.is-open .ai-panel-chevron{margin-top:4px;transform:rotate(-135deg)}.ai-panel-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;animation:.25s ai-panel-in;display:flex;overflow-y:auto}@keyframes ai-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-panel-lead{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.ai-prompt{resize:none;border:1px solid var(--line-strong);background:#fff;width:100%;min-height:72px;max-height:8rem;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.45}.ai-prompt:focus{outline:2px solid var(--ink);outline-offset:0}.ai-prompt:disabled{opacity:.65;background:var(--surface-2)}.ai-panel-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-hint{color:var(--muted);font-size:11px}.ai-submit{min-width:8rem}.ai-inline-loader{background:var(--surface-2);border:1px dashed var(--line-strong);align-items:center;gap:12px;padding:8px 10px;display:flex}.ai-inline-loader p{color:var(--muted);margin:0;font-size:12px;animation:1.2s ease-in-out infinite ai-text-pulse}@keyframes ai-text-pulse{0%,to{opacity:.55}50%{opacity:1}}.ai-bars{align-items:flex-end;gap:3px;height:28px;display:flex}.ai-bars-lg{gap:4px;height:48px}.ai-bars span{background:var(--accent);transform-origin:bottom;border-radius:1px;width:5px;animation:.9s ease-in-out infinite ai-bar-dance}.ai-bars-lg span{width:8px}@keyframes ai-bar-dance{0%,to{opacity:.45;height:22%}50%{opacity:1;height:100%}}.ai-error-panel{background:#faf0f0;border:1px solid #e0b8b8;padding:10px 12px;font-size:13px;line-height:1.45}.ai-error-panel strong{color:#7a2e2e;margin-bottom:4px;display:block}.ai-error-panel p{color:var(--ink);margin:0}.ai-error-hint{color:var(--muted)!important;margin-top:6px!important;font-size:12px!important}.ai-change-summary{background:var(--ok-bg);border:1px solid #b8d4be;padding:10px 12px;font-size:12px;line-height:1.45;animation:.35s ai-success-in}.ai-change-summary strong{text-transform:uppercase;letter-spacing:.04em;color:#2d6a3e;margin-bottom:6px;font-size:11px;display:block}.ai-change-summary ul{color:var(--ink);margin:0;padding-left:1.1rem}.ai-clarify{border:1px solid var(--line-strong);background:var(--surface-2);flex-direction:column;gap:10px;padding:10px;display:flex}.ai-clarify strong{font-size:13px}.ai-clarify-lead{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.ai-clarify-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ai-clarify-item{flex-direction:column;gap:8px;display:flex}.ai-clarify-prompt{color:var(--ink);margin:0;font-size:13px;font-weight:600;line-height:1.4}.ai-clarify-options{flex-wrap:wrap;gap:6px;display:flex}.ai-clarify-option{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;text-align:left;padding:6px 10px;font-size:12px;line-height:1.3}.ai-clarify-option:hover:not(:disabled){border-color:var(--ink)}.ai-clarify-option.is-selected{border-color:var(--ink);background:var(--ink);color:var(--surface)}.ai-clarify-option:disabled{opacity:.55;cursor:not-allowed}.ai-clarify-other{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:8px 10px;font-size:13px}.ai-change-summary li+li{margin-top:4px}.ai-audit{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.ai-audit-toggle{appearance:none;width:100%;color:var(--muted);font:inherit;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12px;font-weight:650;display:flex}.ai-audit-toggle:hover{color:var(--ink)}.ai-audit-count{border:1px solid var(--line-strong);color:var(--ink);letter-spacing:0;text-transform:none;vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.ai-audit-toggle .ai-panel-chevron.is-flipped{transform:rotate(180deg)}.ai-audit-list{flex-direction:column;gap:10px;max-height:280px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.ai-audit-item{border:1px solid var(--line);background:var(--surface-2);padding:8px 10px;font-size:12px;line-height:1.45}.ai-audit-meta{color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.ai-audit-kind{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;font-family:inherit;font-weight:650}.ai-audit-prompt{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.ai-audit-clarifications{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.ai-audit-clarifications li{background:var(--surface);border:1px solid var(--line);gap:2px;padding:6px 8px;display:grid}.ai-audit-q{color:var(--muted);font-size:11px}.ai-audit-a{color:var(--ink);font-weight:600}.ai-audit-changes{color:var(--muted);margin:8px 0 0;padding-left:1.1rem}.ai-audit-changes li+li{margin-top:3px}@keyframes ai-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chart-panel.is-generating .chart-plot{filter:saturate(.35)blur(1px);transition:filter .3s}.chart-generating-overlay{pointer-events:none;background:#f4f6f8c7;place-items:center;animation:.25s overlay-in;display:grid;position:absolute;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.chart-block.ai-reveal .shape-wrap{animation:.5s cubic-bezier(.22,1,.36,1) backwards block-rise}@keyframes block-rise{0%{opacity:0;transform-origin:bottom;transform:translateY(12px)scaleY(.7)}to{opacity:1;transform:translateY(0)scaleY(1)}}@media (width<=1100px){.app-shell,.app-shell-sheet{grid-template:"sidebar main"minmax(0,1fr)/minmax(176px,200px) minmax(0,1fr)}.site-intro{display:none}.main-chart,.main-blank .blank-chart,.chart-panel{min-height:180px}}@media (width<=720px){.app-shell,.app-shell-sheet{grid-template:"sidebar"minmax(0,18vh)"main"minmax(0,1fr)/minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:8px;padding:10px 12px}.local-notice{display:none}.support-aside{margin-top:auto}.main{gap:8px;padding:10px 12px}.topbar{flex-direction:column}.topbar h1,.topbar-name-input{font-size:18px}.main-chart,.main-blank .blank-chart,.chart-panel{min-height:160px}.inspector-sheet{border-left:0;border-top:1px solid var(--line-strong);align-self:flex-end;width:100%;height:auto;max-height:min(70dvh,520px);animation:.2s sheet-up;box-shadow:0 -8px 24px #16181c1f}.inspector-sheet-root{align-items:flex-end}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}@media (height<=720px){.site-intro{display:none}.ai-hero-head{padding-top:8px}.ai-hero-head h2{font-size:18px}.ai-panel-prominent .ai-prompt{min-height:64px;max-height:5.5rem}.main{gap:8px;padding-top:10px;padding-bottom:10px}.main-chart,.main-blank .blank-chart,.chart-panel{min-height:160px}.chart-heading{margin-bottom:4px;padding-bottom:4px}}
