.workout{gap:var(--space-6);flex-direction:column;max-width:960px;display:flex}.workout-head{align-items:flex-end;gap:var(--space-5);display:flex}.workout-head>div{flex:auto;min-width:0}.workout-head h2{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:600}.workout-head p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.totals{gap:var(--space-6);margin:0;display:flex}.totals div{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.totals dt{color:var(--text-secondary);font-size:13px}.totals dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:600}.workout-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface);white-space:pre-wrap;margin:0;line-height:1.5}.session{gap:var(--space-3);flex-direction:column;display:flex}.session-head{align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--line-strong);padding-bottom:10px;display:flex}.session-head h3{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.session-head span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.session-head .grow{flex:auto}.session-summary,.rest-between{color:var(--text-secondary);margin:0}.rest-between{font-size:13px}.done-exercise{gap:var(--space-2);flex-direction:column;display:flex}.done-title{align-items:center;gap:10px;display:flex}.done-number{background:var(--text);width:20px;height:20px;color:var(--ground);font-variant-numeric:tabular-nums;border-radius:5px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.done-name{font-weight:600}.done-sum{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.table.done-sets{table-layout:fixed;width:calc(100% - 30px);margin-left:30px}.table.done-sets th{padding:0 var(--space-3) 6px}.table.done-sets td{padding:7px var(--space-3)}.done-sets .col-set{width:8%}.done-sets .col-kind{width:18%}.done-sets .col-planned{width:25%}.done-sets .col-done{width:37%}.done-sets .col-rpe{width:12%}.table.done-sets .num{text-align:right}.done-sets .diff{margin-left:var(--space-2);color:var(--text-secondary);font-size:13px}.done-note{color:var(--text-secondary);margin:0 0 0 30px;font-size:13px}.log-table .col-date{width:17%}.log-table .col-workout{width:40%}.log-table .col-time{width:14%}.log-table .col-sets{width:11%}.log-table .col-volume{width:18%}.log-table.no-time .col-date{width:24%}.log-table.no-time .col-workout{width:43%}.log-table.no-time .col-sets{width:14%}.log-table.no-time .col-volume{width:19%}.log-table td.num{white-space:nowrap}.log-table .row-sub{color:var(--text-secondary);margin-top:2px;font-size:13px;display:block}.workout-name{align-items:center;gap:var(--space-1);display:flex}.disclose{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-left:-6px;padding:0;display:inline-grid}.disclose:hover{background:var(--surface-strong);color:var(--text)}.disclose:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.log-table .row-sub.under-name{margin-left:22px}.table.library-table tbody tr.routine-row td{padding-top:var(--space-2);padding-bottom:var(--space-2)}.table.library-table tbody tr.routine-row td.routine-cell{padding-left:34px}.stats-table .col-name{width:58%}.stats-table .col-workouts{width:16%}.stats-table .col-last{width:26%}.stats-table.with-volume .col-name{width:46%}.stats-table.with-volume .col-workouts{width:14%}.stats-table.with-volume .col-last,.stats-table.with-volume .col-volume{width:20%}.stats-table td.num{white-space:nowrap}.stats-table .row-sub{color:var(--text-secondary);margin-top:2px;font-size:13px;display:block}.progress{gap:var(--space-6);flex-direction:column;max-width:1120px;display:flex}.progress-head h2{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:600}.progress-head p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.figures{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.figures>div{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);flex-direction:column;display:flex}.figures dt{color:var(--text-secondary);font-size:13px}.figures dd{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.figures .figure-detail{color:var(--text-secondary);letter-spacing:0;font-size:13px;font-weight:400}.charts{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chart-card{min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m)}.chart-card h3{margin:0;font-size:15px;font-weight:600}.chart-card p{margin:2px 0 var(--space-3);color:var(--text-secondary);font-size:13px}.progress-block{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.progress-block-head{align-items:baseline;gap:10px;display:flex}.progress-block-head h3{margin:0;font-size:15px;font-weight:600}.progress-block-head span{color:var(--text-secondary);font-size:13px}.table.days-table{table-layout:fixed;width:100%}.table.days-table .num{text-align:right;white-space:nowrap}.days-table .col-date{width:14%}.days-table .col-routine{width:20%}.days-table .col-sets{width:26%}.days-table .col-best,.days-table .col-peak,.days-table .col-total{width:13%}.days-table.no-best .col-routine{width:24%}.days-table.no-best .col-sets{width:30%}.days-table.no-best .col-peak,.days-table.no-best .col-total{width:16%}.progress-block .table{table-layout:fixed;width:100%}.progress-block .table .num{text-align:right;white-space:nowrap}.progress-block .change{font-weight:600}.progress-note{color:var(--text-secondary);margin:0;font-size:13px}.table.movements-table .col-movement{width:30%}.table.movements-table .col-first,.table.movements-table .col-latest{width:26%}.table.movements-table .col-change{width:18%}.table.times-table .col-date{width:16%}.table.times-table .col-where{width:36%}.table.times-table .col-time,.table.times-table .col-sets{width:14%}.table.times-table .col-volume{width:20%}.table.routines-table .col-routine{width:28%}.table.routines-table .col-step{width:24%}.table.routines-table .col-done{width:12%}.table.routines-table .col-last{width:16%}.table.routines-table .col-volume{width:20%}.table.routines-table .section-row th{padding-top:var(--space-4);color:var(--text-secondary);text-align:left;font-size:13px;font-weight:600}.table.weeks-table .col-week{width:40%}.table.weeks-table .col-workouts,.table.weeks-table .col-time,.table.weeks-table .col-volume{width:20%}.week-dots{gap:var(--space-1);margin-top:var(--space-5);display:grid}.week-cell{align-items:center;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.week-column{width:100%;height:126px;padding:var(--space-2) 0;border-radius:var(--radius-xs);background:var(--surface);flex-direction:column-reverse;align-items:center;gap:5px;display:flex}.week-column .dot{background:var(--text);border-radius:50%;width:12px;height:12px}.week-many{font-variant-numeric:tabular-nums;font-weight:600}.week-label{padding:0 var(--space-1);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.week-cell.now .week-label{border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-weight:600}@media (width<=1279px){.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:minmax(0,1fr)}}.inspector-text.progress-link{margin-top:6px}.movement-table .col-name{width:28%}.movement-table .col-muscles{width:22%}.movement-table .col-equipment{width:20%}.movement-table .col-style{width:16%}.movement-table .col-library{width:14%}.movement-table.no-library .col-name{width:33%}.movement-table.no-library .col-muscles{width:26%}.movement-table.no-library .col-equipment{width:23%}.movement-table.no-library .col-style{width:18%}.movement-table.no-style .col-name{width:38%}.movement-table.no-style .col-muscles{width:34%}.movement-table.no-style .col-equipment{width:28%}.movement-table .from-sarja{color:var(--text-secondary)}.form.movement-form{max-width:820px}.movement-form .input{max-width:420px}.movement-form .textarea{max-width:100%}.muscle-picker{border:0;flex-direction:column;gap:6px;width:100%;min-width:0;margin:0;padding:0;display:flex}.muscle-picker legend{margin-bottom:6px;padding:0}.muscle-group{align-items:baseline;gap:var(--space-2);grid-template-columns:84px minmax(0,1fr);display:grid}.muscle-group-label{color:var(--text-secondary);font-size:13px}.tempo{gap:var(--space-3);flex-direction:column;display:flex}.tempo-parts{gap:var(--space-3);display:flex}.tempo-part{gap:var(--space-1);flex-direction:column;display:flex}.tempo-part .field-label{color:var(--text-secondary);font-size:13px;font-weight:400}.movement-form .tempo-input{font-variant-numeric:tabular-nums;width:64px}.tempo-x{border:1px dashed var(--line-strong);border-radius:var(--radius-s);place-items:center;width:64px;height:36px;font-weight:600;display:grid}.new-movement-row{align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.new-movement-row>.field{width:auto}.edit{border-radius:var(--radius-s);color:var(--text);font:inherit;background:0 0;border:1px solid #0000}.edit::placeholder{color:var(--text-secondary)}.edit:hover{border-color:var(--line-strong)}.edit:focus-visible{border-color:var(--focus);background:var(--ground);box-shadow:0 0 0 1px var(--focus);outline:none}.editor-head{align-items:flex-end;gap:var(--space-3);padding:18px var(--space-5) 14px;flex-shrink:0;display:flex;position:sticky;left:0}.editor-names{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.editor-title,.editor-details{width:100%;max-width:640px;margin-left:-7px}.editor-title{letter-spacing:-.03em;padding:2px 6px;font-size:26px;font-weight:600}.editor-details{color:var(--text-secondary);padding:3px 6px;font-size:15px}.editor-totals{padding:0 var(--space-1) var(--space-2) 0;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.exercise-row{width:100%;min-height:44px;padding:5px var(--space-2);border-radius:var(--radius-s);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.exercise-row:hover,.exercise-row.open{background:var(--surface)}.exercise-row>svg{color:var(--text-secondary);flex:none}.exercise-row.open>svg{transform:rotate(180deg)}.exercise-number{border:1px solid var(--line);background:var(--ground);font-variant-numeric:tabular-nums;border-radius:5px;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:grid}.exercise-row.open .exercise-number{border-color:var(--text);background:var(--text);color:var(--ground)}.exercise-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.exercise-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.exercise-summary{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.sets{padding:var(--space-1) 2px var(--space-2) 30px;flex-direction:column;gap:2px;display:flex}.set-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.set-table th{color:var(--text-secondary);text-align:left;padding:0 7px 2px;font-size:12px;font-weight:400}.set-table th:first-child,.set-number{width:34px}.set-table td{padding:1px 0}.set-number{color:var(--text-secondary);padding:0 7px}.set-remove{text-align:right;width:30px}.set-remove .icon-button{width:28px;height:28px}.set-remove .icon-button:disabled{visibility:hidden}.cell{border-radius:var(--radius-xs);width:100%;min-width:0;height:30px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #0000;padding:0 6px;font-size:15px}.cell::placeholder{color:var(--text-secondary)}.cell:hover{border-color:var(--line-strong)}.cell:focus-visible{border-color:var(--focus);background:var(--ground);outline:none}.cell.invalid{border-color:var(--danger)}.sets-foot{margin-top:var(--space-1);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sets-rest{color:var(--text-secondary);flex:auto;font-size:12px}.sets-foot>.button:last-child{color:var(--text-secondary);font-weight:500}.search{gap:var(--space-1);margin-top:var(--space-1);flex-direction:column;padding:0 2px;display:flex}.search.attach{padding:var(--space-2);border:1px solid var(--line);background:var(--ground);border-radius:10px;margin-top:0}.search-row{align-items:center;gap:var(--space-1);display:flex}.search-box{align-items:center;gap:var(--space-2);border:2px solid var(--text);border-radius:var(--radius-s);background:var(--ground);min-width:0;height:36px;color:var(--text-secondary);flex:auto;padding:0 10px;display:flex}.search-box input{width:0;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:auto}.search-box input::-webkit-search-cancel-button{display:none}.search-results{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.search-result{align-items:center;gap:var(--space-2);width:100%;min-height:34px;padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.search-result:hover{background:var(--surface)}.search-results>li:first-child>.search-result{background:var(--accent-soft)}.search-result.tall{padding:7px var(--space-2);flex-direction:column;align-items:flex-start;gap:1px}.search-result-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:500;overflow:hidden}.search-result.tall .search-result-name{flex:none;max-width:100%;font-weight:600}.search-result-detail{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.search-empty{margin:6px var(--space-2);color:var(--text-secondary);line-height:1.45}.search-hint{margin:2px var(--space-2) 0;color:var(--text-secondary);font-size:12px;line-height:1.4}.editor-page{--line-dashed:color-mix(in srgb, var(--text) 25%, var(--line));height:100vh;overflow:auto}.editor-page>.topbar{flex-shrink:0;left:0}.board{align-items:stretch;gap:var(--space-4);width:fit-content;min-width:100%;padding:0 var(--space-5) 96px;flex:1 0 auto;display:flex}.column{gap:var(--space-2);flex-direction:column;flex:340px;min-width:320px;max-width:460px;display:flex}.column.empty{flex:0 240px;min-width:220px;max-width:280px}.column-head{z-index:5;background:var(--ground);align-items:center;gap:6px;height:44px;display:flex;position:sticky;top:56px}.column-name{flex:0 auto;min-width:0;max-width:60%;height:32px;margin-left:-7px;padding:0 6px;font-size:15px;font-weight:600}.column-rule{min-width:var(--space-2);background:var(--line-strong);flex:auto;height:1px}.column-count{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:13px}.column-body{padding:2px 2px var(--space-2);flex-direction:column;gap:10px;display:flex}.column-empty{align-items:flex-start;gap:var(--space-2);border:1px dashed var(--line-strong);border-radius:var(--radius-m);flex-direction:column;padding:14px;display:flex}.column-empty p{color:var(--text-secondary);margin:0;line-height:1.5}.button.add{align-self:flex-start;gap:6px}.column-empty .button.add{margin-left:calc(-1 * var(--space-2))}.strip,.board-add{padding:var(--space-4) 0;border-radius:var(--radius-m);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;flex:0 0 52px;align-items:center;display:flex}.strip{border:1px solid var(--line);background:var(--surface)}.strip:hover{background:var(--surface-strong)}.board-add{border:1px dashed var(--line-dashed);background:var(--ground);margin-top:52px;font-weight:600}.board-add:hover{background:var(--surface)}.strip-label,.board-add-label{align-items:center;gap:var(--space-3);flex-direction:column;display:flex;position:sticky;top:72px}.strip-name,.strip-count,.board-add-text{writing-mode:vertical-rl;white-space:nowrap}.strip-name{text-overflow:ellipsis;max-height:320px;font-size:15px;font-weight:600;overflow:hidden}.strip-count{color:var(--text-secondary);font-size:13px}.step-number{border-radius:var(--radius-xs);background:var(--text);width:22px;height:22px;color:var(--ground);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.step-row{width:100%;min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;display:flex}.step-row:hover{background:var(--surface-strong)}.step-row>svg{color:var(--text-secondary);flex:none}.step-row-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.step-row-name,.step-row-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step-row-name{font-weight:600}.step-row-summary,.step-row-rest{color:var(--text-secondary);font-size:12px}.step-row-rest{font-variant-numeric:tabular-nums;flex:none}.step{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);flex-direction:column;display:flex}.step-head{padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);align-items:center;gap:6px;display:flex}.step-name{flex:auto;width:0;min-width:0;height:32px;padding:0 6px;font-size:16px;font-weight:600}.rule-trigger{align-items:center;gap:var(--space-1);height:30px;padding:0 var(--space-2) 0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--ground);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;font-size:13px;font-weight:500;display:flex}.rule-trigger:hover{border-color:var(--text)}.step-body{flex-direction:column;gap:6px;padding:0 10px 10px;display:flex}.step-empty{border:1px dashed var(--line-strong);background:var(--ground);border-radius:10px;flex-direction:column;gap:6px;padding:14px;display:flex}.step-empty p{color:var(--text-secondary);margin:0;line-height:1.5}.step-empty .step-empty-title{color:var(--text);font-weight:600}.or{color:var(--text-secondary);align-self:center;font-size:12px;line-height:1}.step-actions{flex-wrap:wrap;gap:2px;display:flex}.step-actions .button:not(.add){font-weight:500}.step-foot{align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1) var(--space-2) var(--space-1) 14px;border-top:1px solid var(--line);display:flex}.step-rest-label{flex:auto}.step-foot .icon-button{color:var(--text)}.step-foot .icon-button:disabled{opacity:.4;cursor:default}.step-rest{font-variant-numeric:tabular-nums;text-align:center;flex:none;min-width:44px;font-weight:600}.step-end{color:var(--text-secondary)}.routine{background:var(--ground);border-radius:10px}.routine.closed{width:100%;padding:10px var(--space-3) 11px 14px;border:1px solid var(--line);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:3px;display:flex}.routine.closed:hover{border-color:var(--line-strong)}.routine.open{border:1.5px solid var(--text);flex-direction:column;display:flex}.routine-title{align-items:center;gap:var(--space-2);min-height:22px;display:flex}.routine-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.next{height:22px;padding:0 var(--space-2);border-radius:var(--radius-xs);background:var(--accent);color:var(--on-accent);flex:none;align-items:center;font-size:12px;font-weight:600;display:flex}.routine-summary,.routine-preview{color:var(--text-secondary);font-size:13px}.routine-summary{font-variant-numeric:tabular-nums}.routine-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-head{align-items:center;gap:var(--space-1);padding:7px 6px 0 var(--space-2);display:flex}.routine-head .next{margin-right:2px}.routine-name-input{flex:auto;width:0;min-width:0;height:32px;padding:0 6px;font-size:15px;font-weight:600}.routine-format{color:var(--text-secondary);margin:0;padding:0 14px 6px;font-size:13px}.exercises{padding:0 6px var(--space-2);flex-direction:column;display:flex}.exercises>.button.add{margin-top:2px}.exercises-empty{margin:2px var(--space-2) 6px;color:var(--text-secondary);line-height:1.45}.routine-shared{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 9px 9px;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:13px;line-height:1.4;display:flex}.routine-shared>svg{color:var(--text-secondary);flex:none}.routine-shared>span{flex:auto}.routine-note{border-top:1px solid var(--line);color:var(--text-secondary);margin:0;padding:10px 14px;font-size:13px;line-height:1.45}.routine-table .col-name{width:27%}.routine-table .col-parts{width:24%}.routine-table .col-exercises{width:12%}.routine-table .col-format{width:17%}.routine-table .col-tags{width:20%}.routine-table.no-format .col-name{width:32%}.routine-table.no-format .col-parts{width:28%}.routine-table.no-format .col-exercises{width:17%}.routine-table.no-format .col-tags{width:23%}.routine-table .row-choose.untitled{color:var(--text-secondary);font-weight:500}.routine-editor{border-top:1px solid var(--line);flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.routine-side,.routine-detail{gap:var(--space-4);min-width:0;padding:var(--space-5);flex-direction:column;display:flex}.routine-side{border-right:1px solid var(--line)}.routine-detail.fits{align-self:start;position:sticky;top:56px}.routine-fields{align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.routine-fields>.field{width:auto}.label-line{align-items:center;gap:var(--space-1);min-height:20px;display:flex}.label-line .tip{margin-left:0}.input.rounds{width:72px}.tag-input{border:1px dashed var(--line-strong);border-radius:var(--radius-pill);background:var(--ground);width:112px;height:26px;color:var(--text);font:inherit;padding:0 10px;font-size:13px}.tag-input::placeholder{color:var(--text-secondary)}.tag-input:focus-visible{border-style:solid;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.routine-list-head{align-items:center;gap:10px;display:flex}.routine-list-head .form-title{flex:auto;margin:0}.routine-side .routine-list-head{margin-top:var(--space-2)}.routine-exercises{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.exercise-head{align-items:flex-start;gap:var(--space-3);display:flex}.exercise-head .exercise-number{border-color:var(--text);background:var(--text);color:var(--ground);margin-top:3px}.exercise-title{flex:auto;min-width:0}.routine-side .exercise-row.chosen{background:var(--accent-soft)}.routine-side .exercise-row.chosen .exercise-number{border-color:var(--text);background:var(--text);color:var(--ground)}.then{align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--text-secondary);flex-wrap:wrap;font-size:13px;display:flex}.rest{border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--ground);width:72px;height:32px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:0 8px}.rest::placeholder{color:var(--text-secondary)}.rest:focus-visible{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.rest.invalid{border-color:var(--danger)}.hint{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.routine-sets{width:auto;margin-bottom:var(--space-1)}.routine-sets td.num{width:76px}.routine-sets td.tempo{width:92px}.routine-sets th.num,.routine-sets td.num .cell{text-align:right}.kind-cell{align-items:center;display:flex;position:relative}.kind{border-radius:var(--radius-xs);width:100%;min-width:100px;height:30px;color:var(--text-secondary);font:inherit;appearance:none;cursor:pointer;background:0 0;border:1.5px solid #0000;padding:0 22px 0 6px;font-size:13px}.kind.warm{color:var(--text);font-weight:500}.kind:hover{border-color:var(--line-strong)}.kind:focus-visible{border-color:var(--focus);outline:none}.kind-cell svg{color:var(--text-secondary);pointer-events:none;position:absolute;right:6px}.affected{border:1px solid var(--line);border-radius:var(--radius-m);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.affected li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:10px var(--space-3);display:flex}.affected li+li{border-top:1px solid var(--line)}.affected-name{font-weight:500}.affected-where{color:var(--text-secondary);text-align:right;font-size:13px}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fff;--surface:#f5f5f3;--surface-strong:#edede9;--line:#e6e6e2;--text:#141412;--text-secondary:#5e5e58;--accent:#ffd60a;--accent-soft:#fff4b8;--on-accent:#141412;--action:#141412;--on-action:#fff;--focus:#141412;--danger:#c8372d;--font-sans:"Instrument Sans Variable", "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-xs:6px;--radius-s:8px;--radius-m:12px;--radius-l:20px;--radius-xl:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:56px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#000;--surface:#161614;--surface-strong:#20201d;--line:#2a2a27;--text:#f4f4f0;--text-secondary:#a3a39c;--accent:#ffd60a;--accent-soft:#3a3410;--on-accent:#141412;--action:#ffd60a;--on-action:#141412;--focus:#ffd60a;--danger:#ff6b5e}*{box-sizing:border-box}body{background:var(--ground);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--text);text-underline-offset:.2em}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.muted{color:var(--text-secondary)}.error{color:var(--danger)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface);margin:0;line-height:1.5}.symbol{background:var(--accent);width:28px;height:28px;color:var(--on-accent);letter-spacing:-.04em;font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.site{flex-direction:column;max-width:1120px;min-height:100vh;margin:0 auto;padding:0 clamp(16px,4vw,40px);display:flex}.site>main{flex:1}.site-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.wordmark{letter-spacing:-.045em;align-items:center;gap:10px;font-size:23px;font-weight:600;text-decoration:none;display:inline-flex}.site-header-link{color:var(--text-secondary);font-weight:500;text-decoration:none}.site-header-link:hover{color:var(--text)}.site-footer{border-top:1px solid var(--line);margin-top:96px;padding:28px 0 40px}.site-footer nav{gap:var(--space-2) 28px;flex-wrap:wrap;display:flex}.site-footer a{color:var(--text-secondary);text-decoration:none}.site-footer a:hover{color:var(--text)}.lead{color:var(--text-secondary);max-width:34em;margin:0;font-size:19px;line-height:1.5}.fine{color:var(--text-secondary);margin:0;font-size:15px}.button-primary,.button-quiet{border-radius:var(--radius-m);align-items:center;min-height:48px;padding:0 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{background:var(--action);color:var(--on-action)}.button-primary:hover{background:#2e2e2a}.button-quiet{padding:0 14px}.button-quiet:hover{text-decoration:underline}.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:56px;padding:56px 0 104px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.hero-title{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(42px,6.2vw,76px);font-weight:600;line-height:1}.hero-actions{gap:var(--space-3);flex-wrap:wrap;margin-top:8px;display:flex}.set-sheet{background:var(--ground);color:var(--text);border-radius:28px;margin:0;padding:28px 24px 24px}.set-path{color:var(--text-secondary);margin:0;font-size:14px}.set-exercise{letter-spacing:-.03em;margin:6px 0 20px;font-size:24px;font-weight:600}.set-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.set-row{background:var(--surface);border-radius:16px;grid-template-columns:28px 1fr 1fr 36px;align-items:center;gap:12px;padding:12px 14px;display:grid}.set-n{color:var(--text-secondary);font-weight:600}.set-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:600;line-height:1}.set-value small{letter-spacing:0;color:var(--text-secondary);margin-left:5px;font-size:14px;font-weight:500}.set-check{border:2px solid var(--line);border-radius:50%;justify-self:end;width:32px;height:32px;position:relative}.set-check:after{content:"";border:solid var(--on-accent);opacity:0;border-width:0 3px 3px 0;width:8px;height:15px;position:absolute;top:4px;left:9px;transform:rotate(45deg)}.set-row:nth-child(-n+2) .set-check{background:var(--accent);border-color:var(--accent);animation:.3s ease-out backwards set-confirm;animation-delay:calc(.9s + var(--i) * 1.1s)}.set-row:nth-child(-n+2) .set-check:after{opacity:1;animation:.3s ease-out backwards set-confirm-mark;animation-delay:calc(.9s + var(--i) * 1.1s)}.set-row:nth-child(3){box-shadow:inset 0 0 0 2px var(--accent)}@keyframes set-confirm{0%{border-color:var(--line);background:0 0;transform:scale(.85)}}@keyframes set-confirm-mark{0%{opacity:0}}.set-rest{color:var(--text-secondary);margin:16px 0 0;font-size:15px}.section-title{letter-spacing:-.035em;text-wrap:balance;margin:0 0 28px;font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.1}.staircase{margin:0;padding:0;list-style:none}.staircase li{--step:clamp(14px, 4vw, 56px);margin-left:calc(var(--depth) * var(--step));border-left:2px solid var(--line);border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);column-gap:20px;padding:18px 0 18px 20px;display:grid}.staircase li:first-child{border-left-color:var(--text)}.stair-level{color:var(--text-secondary);grid-row:span 2;padding-top:3px;font-weight:500}.stair-example{letter-spacing:-.02em;font-size:21px;font-weight:600}.stair-text{color:var(--text-secondary);max-width:40em;line-height:1.5}.points{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:104px;display:grid}.point-title{letter-spacing:-.02em;margin:0 0 10px;font-size:21px;font-weight:600}.points p{color:var(--text-secondary);margin:0;line-height:1.55}.iphone{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;margin-top:104px;display:grid}.iphone-copy p{color:var(--text-secondary);max-width:32em;margin:0;line-height:1.55}.shots{justify-content:center;gap:20px;display:flex}.shot{background:var(--surface);color:var(--text-secondary);border:1px dashed #b5b5ae;border-radius:32px;justify-content:center;align-items:center;font-size:14px;display:flex}.shot-phone{aspect-ratio:9/19.5;width:min(42%,210px)}.signin{flex-direction:column;align-items:flex-start;gap:18px;max-width:460px;padding:64px 0;display:flex}.signin-title,.legal-title{letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,48px);font-weight:600;line-height:1.05}.signin .muted{margin:0;line-height:1.5}.signin-buttons{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.apple-signin{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:#000;border:0;align-items:center;gap:8px;height:40px;padding:0 20px 0 16px;font:600 15px/1 -apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;display:inline-flex}.apple-signin svg{fill:currentColor;width:15px;height:18px}.apple-signin:disabled{opacity:.6;cursor:default}.google-signin{min-height:44px}.consent{color:var(--text-secondary);margin:12px 0 0;font-size:14px;line-height:1.55}.legal{flex-direction:column;gap:24px;max-width:680px;padding:48px 0;display:flex}.legal h2{letter-spacing:-.02em;margin:24px 0 8px;font-size:21px;font-weight:600}.legal p,.legal address{color:var(--text-secondary);margin:0;font-style:normal;line-height:1.6}@media (width<=820px){.hero,.iphone{grid-template-columns:minmax(0,1fr);gap:40px}.hero{padding:32px 0 72px}.points{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:72px}.iphone{margin-top:72px}.staircase li{grid-template-columns:minmax(0,1fr);padding-left:14px}.stair-level{grid-row:auto;padding-top:0;font-size:14px}}@media (prefers-reduced-motion:reduce){.set-row:nth-child(n) .set-check,.set-row:nth-child(n) .set-check:after{animation:none}}.centered{justify-content:center;align-items:center;gap:var(--space-4);min-height:100vh;padding:var(--space-4);text-align:center;flex-direction:column;display:flex}.app{--sidebar-width:248px;--line-strong:color-mix(in srgb, var(--text) 12%, var(--line));grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;font-size:14px;display:grid}.app[hidden]{display:none}.app kbd{border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--text-secondary);font:inherit;padding:0 5px;font-size:12px}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--action);color:var(--on-action);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.sidebar{gap:var(--space-4);height:100vh;padding:var(--space-4) var(--space-3);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-lockup{padding:var(--space-1) var(--space-2);align-self:flex-start;font-size:21px}.sidebar-search{align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--ground);height:34px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;padding:0 10px;display:flex}.sidebar-search:hover{color:var(--text)}.sidebar-search-label{flex:1}.nav{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:var(--radius-s);height:34px;color:var(--text);align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-strong)}.nav-item[aria-current=page]{background:var(--ground);box-shadow:0 0 0 1px var(--line);font-weight:600}.nav-label{flex:1}.nav-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:400}.sidebar-bottom{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.account{padding-top:var(--space-2);border-top:1px solid var(--line)}.account .menu-trigger{width:100%;padding:var(--space-2) 10px;border-radius:var(--radius-s);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.account .menu-trigger:hover{background:var(--surface-strong)}.avatar{border-radius:var(--radius-pill);background:var(--action);width:30px;height:30px;color:var(--on-action);flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.account-text{flex-direction:column;min-width:0;display:flex}.account-name,.account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-name{font-weight:500}.account-email{color:var(--text-secondary);font-size:12px}.app-main{min-width:0}.app-main:focus{outline:none}.page{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;align-items:center;gap:var(--space-2);height:56px;padding:0 var(--space-5);border-bottom:1px solid var(--line);background:var(--ground);display:flex;position:sticky;top:0}.topbar-title{margin:0;font-size:17px;font-weight:600}.topbar-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}.topbar-nav{margin-left:var(--space-3)}.topbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.crumbs{align-items:baseline;gap:var(--space-2);min-width:0;color:var(--text-secondary);white-space:nowrap;flex:auto;display:flex}.crumb{color:var(--text-secondary);text-decoration:none}.crumb:hover{color:var(--text);text-decoration:underline}.crumbs .topbar-title{min-width:0;color:var(--text);font-size:inherit;text-overflow:ellipsis;font-weight:500;overflow:hidden}.save-status{color:var(--text-secondary);white-space:nowrap;font-size:13px}.page-body{flex:1;align-items:flex-start;display:flex}.page-content{min-width:0;padding:var(--space-5) var(--space-5) var(--space-8);flex:1}.inspector{height:calc(100vh - 56px);padding:var(--space-5);border-left:1px solid var(--line);background:var(--surface);flex:0 0 320px;position:sticky;top:56px;overflow-y:auto}@media (width<=1279px){.inspector{flex-basis:280px}}.inspector-stack{flex-direction:column;gap:22px;display:flex}.inspector-label{color:var(--text-secondary);margin-top:2px;font-size:13px;display:block;position:relative}.inspector-title{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.inspector-heading{margin:0 0 6px;font-size:13px;font-weight:600}.inspector-text{color:var(--text-secondary);margin:0;line-height:1.5}.inspector-text.inspector-instructions{color:var(--text);white-space:pre-line}.inspector-list{flex-direction:column;gap:2px;margin:0;padding:0;line-height:1.5;list-style:none;display:flex}.inspector-list.inspector-exercises,.inspector-list.inspector-uses{gap:var(--space-2)}.inspector-exercises{counter-reset:exercise}.inspector-exercises>li{counter-increment:exercise;padding-left:28px;position:relative}.inspector-exercises>li:before{border:1px solid var(--line);background:var(--ground);font-variant-numeric:tabular-nums;content:counter(exercise);border-radius:5px;place-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:grid;position:absolute;top:2px;left:0}.inspector-detail{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px;display:block}.inspector-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.tip{margin-left:var(--space-1);vertical-align:-2px;display:inline-flex;position:relative}.tip-button{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:help;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.tip-button:hover{color:var(--text)}.tip-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tip-text{z-index:20;width:max-content;max-width:240px;padding:var(--space-2) 10px;border-radius:var(--radius-s);background:var(--action);color:var(--on-action);visibility:hidden;font-size:13px;line-height:1.45;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-text:before{content:"";height:6px;position:absolute;inset:-6px 0 auto}.inspector-label .tip{position:static}.inspector-label .tip-text{left:0;transform:none}.tip:hover .tip-text,.tip-button:focus-visible+.tip-text{visibility:visible}.facts{gap:10px var(--space-4);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.facts dt{color:var(--text-secondary)}.facts dd{margin:0}.tabular{font-variant-numeric:tabular-nums}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th{padding:0 var(--space-3) 10px;color:var(--text-secondary);text-align:left;font-size:13px;font-weight:500}.table td{padding:var(--space-3);border-top:1px solid var(--line);vertical-align:top}.library-table{table-layout:fixed}.library-table thead th{z-index:1;padding:var(--space-2) var(--space-2) 10px var(--space-1);background:var(--ground);box-shadow:inset 0 -1px var(--line-strong);vertical-align:top;position:sticky;top:56px}.library-table thead th.col-name{padding-left:0}.column-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.column-filter{align-items:center;gap:var(--space-1);max-width:100%;height:32px;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:500;display:inline-flex;position:relative}.column-filter:hover{background:var(--surface);color:var(--text)}.column-filter.on{padding:0 var(--space-2) 0 10px;background:var(--action);color:var(--on-action);font-weight:600}.column-filter.on:hover{background:color-mix(in srgb, var(--action) 85%, var(--ground))}.column-filter:has(select:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.column-filter svg{flex:none}.column-filter-text{text-overflow:ellipsis;overflow:hidden}.column-filter select{opacity:0;width:100%;height:100%;font:inherit;cursor:pointer;position:absolute;inset:0}.table.library-table td{padding:10px var(--space-3);vertical-align:middle}.library-table tbody tr:first-child td{border-top:0}.library-table tbody tr{cursor:pointer}.library-table tbody tr:hover td{background:var(--surface)}.library-table tbody tr.selected td{background:var(--accent-soft)}.column-heading{padding:0 var(--space-2);color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:500;line-height:32px;display:block}.library-table .num{text-align:right}.cut{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row-choose{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.row-choose:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.tag{margin-left:var(--space-2);border-radius:var(--radius-xs);background:var(--surface-strong);color:var(--text-secondary);padding:1px 6px;font-size:12px;font-weight:500}.library-table tr.selected .tag{background:color-mix(in srgb, var(--text) 8%, var(--accent-soft))}.table tbody tr:last-child td{border-bottom:1px solid var(--line)}.row-title{font-weight:600;display:block}.row-link{text-decoration:none}.row-link:hover{text-decoration:underline}.row-detail{max-width:72ch;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;display:block;overflow:hidden}.nowrap{white-space:nowrap}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-s);height:36px;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.button.small{height:30px;padding:0 10px;font-size:13px}.button.primary{background:var(--action);color:var(--on-action)}.button.primary:hover{background:color-mix(in srgb, var(--action) 85%, var(--ground))}.button.secondary{border-color:var(--line);background:var(--ground);color:var(--text);font-weight:500}.button.secondary:hover,.button.ghost:hover{background:var(--surface)}.button.ghost{color:var(--text);background:0 0}.button.danger{border-color:var(--danger);background:var(--ground);color:var(--danger)}.button.danger:hover{background:color-mix(in srgb, var(--danger) 8%, var(--ground))}.button:disabled{opacity:.5;cursor:default}.icon-button{border-radius:var(--radius-s);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface);color:var(--text)}.menu{position:relative}.menu-list{z-index:30;min-width:180px;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--ground);box-shadow:0 12px 32px color-mix(in srgb, var(--text) 16%, transparent);flex-direction:column;display:flex;position:absolute}.menu-list.below{top:calc(100% + 4px);right:0}.menu-list.above{bottom:calc(100% + 4px);left:0;right:0}.menu-list:has(.menu-item.tall){width:248px}.menu-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-xs);height:34px;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 10px;display:flex}.menu-item.tall{height:auto;padding:var(--space-2) 10px;white-space:normal;align-items:flex-start}.menu-item.danger{color:var(--danger)}.menu-item:hover{background:var(--surface)}.menu-item:focus-visible{background:var(--accent-soft);outline:none}.menu-item:disabled{opacity:.45;cursor:default;background:0 0}.menu-check{flex:0 0 16px;align-items:center;height:19px;display:flex}.menu-text{flex-direction:column;gap:1px;display:flex}.menu-item.tall .menu-text>:first-child{font-weight:600}.menu-description{color:var(--text-secondary);font-size:12px;line-height:1.4}.dialog{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--ground);color:var(--text);box-shadow:0 24px 64px color-mix(in srgb, var(--text) 28%, transparent);padding:0}.dialog::backdrop{background:color-mix(in srgb, var(--text) 32%, transparent)}.dialog-content{gap:var(--space-3);width:min(520px,100vw - 48px);padding:var(--space-5);flex-direction:column;display:flex}.dialog-content.wide{width:min(600px,100vw - 48px)}.dialog-title{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.dialog-text{color:var(--text-secondary);margin:0;line-height:1.55}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.palette{width:min(560px,100vw - 48px);margin-top:12vh}.palette-search{padding:0 var(--space-4);border-bottom:1px solid var(--line);color:var(--text-secondary);align-items:center;gap:10px;display:flex}.palette-search input{min-width:0;height:52px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.palette-results{max-height:min(420px,60vh);padding:var(--space-2);overflow-y:auto}.palette-group{padding:var(--space-2) 10px var(--space-1);color:var(--text-secondary);font-size:12px}.palette-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-s);cursor:pointer;height:38px;padding:0 10px;display:flex}.palette-item[aria-selected=true]{background:var(--accent-soft)}.palette-label{flex:1}.palette-empty{margin:var(--space-4) 10px;color:var(--text-secondary)}.toasts{top:var(--space-4);z-index:40;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column-reverse;display:flex;position:fixed;left:0;right:0}.toast{align-items:center;gap:var(--space-3);max-width:calc(100% - 48px);padding:10px 10px 10px var(--space-4);border-radius:var(--radius-m);background:var(--action);color:var(--on-action);box-shadow:0 10px 30px color-mix(in srgb, var(--text) 22%, transparent);pointer-events:auto;display:flex}.toast-action{border-radius:var(--radius-xs);height:30px;color:var(--on-action);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0 10px;font-weight:600;text-decoration:underline}.toast .toast-close{color:inherit;opacity:.7}.toast .toast-close:hover{background:color-mix(in srgb, var(--on-action) 14%, transparent);color:inherit;opacity:1}.field{flex-direction:column;gap:6px;width:100%;display:flex}.field-label{font-weight:500}.input{border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--ground);width:100%;max-width:360px;height:36px;color:var(--text);font:inherit;padding:0 10px}.input::placeholder{color:var(--text-secondary)}.input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.textarea{max-width:100%;height:auto;padding:var(--space-2) 10px;resize:vertical;line-height:1.5}.field-error{color:var(--danger);font-size:13px}.check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--action);margin:0}.select{align-items:center;display:inline-flex;position:relative}.select select{border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--ground);height:36px;color:var(--text);font:inherit;cursor:pointer;appearance:none;padding:0 32px 0 10px}.select select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.select option,.select optgroup{background:var(--ground);color:var(--text)}.select svg{color:var(--text-secondary);pointer-events:none;position:absolute;right:10px}.select.on select{border-color:var(--action);background:var(--action);color:var(--on-action);font-weight:600}.select.on svg{color:var(--on-action)}.chips{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ground);height:28px;color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:0 12px;font-size:13px;display:inline-flex;position:relative}.chip:hover{border-color:var(--line-strong)}.chip input{opacity:0;pointer-events:none;position:absolute}.chip:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.chip.on{border-color:var(--action);background:var(--action);color:var(--on-action);font-weight:600}.chip.taken{color:var(--text-secondary);cursor:default;background:0 0;border-style:dashed}.chips.small .chip{height:26px;padding:0 10px}.filter-box{align-items:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--ground);width:240px;height:36px;color:var(--text-secondary);padding:0 6px 0 10px;display:flex}.filter-box:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.filter-box input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:auto}.filter-box input::placeholder{color:var(--text-secondary)}.filter-box input::-webkit-search-cancel-button{display:none}.filter-box-clear{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.filter-box-clear:hover{background:var(--surface);color:var(--text)}.column-filters .filter-box{flex:152px;width:auto;min-width:0;max-width:max(80%,152px);height:32px}.segmented{background:var(--surface-strong);border:0;border-radius:10px;gap:2px;margin:0;padding:3px;display:inline-flex}.segmented-option{height:30px;padding:0 var(--space-3);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;align-items:center;font-weight:500;display:flex;position:relative}.segmented-option input{opacity:0;pointer-events:none;position:absolute}.segmented-option.on{background:var(--ground);color:var(--text);box-shadow:0 0 0 1px var(--line)}.segmented-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.segmented-option:has(input:disabled){cursor:default}.segmented a.segmented-option{text-decoration:none}.segmented a.segmented-option:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.segmented.small{border-radius:var(--radius-s);padding:2px}.segmented.small .segmented-option{height:24px;padding:0 var(--space-2);font-size:12px}.form{max-width:720px}.form-section{gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);display:grid}.form-section:first-child{padding-top:var(--space-2)}.form-head{gap:var(--space-1);flex-direction:column;display:flex}.form-title{margin:0;font-size:15px;font-weight:600}.form-hint{color:var(--text-secondary);margin:0;line-height:1.5}.form-hint strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.form-body{align-items:flex-start;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.settings-name{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.settings-actions{gap:var(--space-2);display:flex}.settings-identity{flex-direction:column;gap:2px;margin:0;display:flex}.settings-email{color:var(--text-secondary)}.settings-legal{gap:var(--space-4);margin:var(--space-5) 0 0;font-size:13px;display:flex}.settings-legal a{color:var(--text-secondary)}.chart-plot{border-radius:var(--radius-s);position:relative}.chart-plot:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.chart-svg{display:block;overflow:visible}.chart-grid line{stroke:var(--line)}.chart-base,.chart-crosshair{stroke:var(--line-strong)}.chart-axis{fill:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.chart-value{fill:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.chart-line{fill:none;stroke:var(--text);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--text);stroke:var(--ground);stroke-width:2px}.chart-current,.spark-current{fill:var(--accent)}.chart-column{fill:var(--text-secondary)}.chart-column.current,.spark-dot{fill:var(--text)}.chart-tip{z-index:1;padding:var(--space-2) 10px;border-radius:var(--radius-s);background:var(--action);color:var(--on-action);white-space:nowrap;pointer-events:none;flex-direction:column;gap:2px;font-size:12px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.chart-tip b{font-weight:600}.sparkline path{fill:none;stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.state{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;max-width:420px;margin:12vh auto 0;display:flex}.state-icon{border-radius:var(--radius-m);background:var(--surface);width:56px;height:56px;color:var(--text-secondary);place-items:center;display:grid}.state-title{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.state-text{color:var(--text-secondary);margin:0;line-height:1.55}.state-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.small-screen{align-items:flex-start;gap:var(--space-5);max-width:560px;min-height:100vh;padding:var(--space-5) var(--space-4);flex-direction:column;margin:0 auto;display:flex}.small-screen-copy{justify-content:center;gap:var(--space-3);flex-direction:column;flex:1;display:flex}.small-screen h1{letter-spacing:-.035em;margin:0;font-size:30px;font-weight:600;line-height:1.1}.small-screen p{color:var(--text-secondary);margin:0;line-height:1.55}.small-screen .small-screen-unsaved{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--accent-soft);color:var(--text)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
