:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1c1c1e;--muted:#6e6e73;--accent:#007aff;--accent-strong:#0063d1;--line:#e2e2e7;--surface:#fff;--background:#f5f5f7;--danger:#a33434}*{box-sizing:border-box}body{background:var(--background);color:var(--ink);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.page-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(100%,420px);padding:36px;box-shadow:0 20px 60px #193f2b14}.brand-mark{width:44px;height:44px;color:var(--accent);background:#eaf2fd;border-radius:14px;place-items:center;font-size:20px;font-weight:800;display:grid}h1{letter-spacing:-.04em;margin:22px 0 8px;font-size:28px}p{color:var(--muted);line-height:1.55}.field{gap:8px;margin:18px 0;display:grid}.field label{font-size:14px;font-weight:650}.field input{border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:12px 13px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff24}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:13px 16px;font-weight:700}.button:hover{background:var(--accent-strong)}.button:disabled{cursor:wait;opacity:.7}.button-secondary{width:auto;color:var(--accent-strong);background:#eaf2fd}.button-secondary:hover{background:#dbeade}.message{min-height:22px;color:var(--danger);font-size:14px}.auth-mode-toggle{text-align:center;width:100%;margin-top:10px;display:block}.message.auth-success{color:var(--accent-strong)}.turnstile-field{justify-items:center;gap:8px;margin:16px 0;display:grid}.turnstile-widget{min-height:65px}.environment{color:#795600;background:#fff4d6;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.app-card{width:min(100%,560px)}.app-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.account{overflow-wrap:anywhere}.app-shell{min-height:100vh}.app-workspace{grid-template-columns:220px minmax(0,1fr);width:100%;min-height:100vh;margin:0;padding:0;display:grid}.workspace-sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;height:100vh;min-height:600px;padding:0 12px 18px;display:flex;position:sticky;top:0}.workspace-brand{color:var(--ink);align-items:center;gap:10px;padding:24px 8px 32px;font-size:18px;display:flex}.workspace-brand-mark{color:#2878dc;place-items:center;width:26px;height:26px;display:grid}.workspace-brand-mark svg{width:24px;height:24px}.workspace-navigation{align-content:start;gap:4px;width:100%;display:grid}.workspace-tab{width:100%;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:550;display:flex}.workspace-tab svg{flex:0 0 19px;width:19px;height:19px}.workspace-tab:hover{color:#2878dc;background:#f2f4f3}.workspace-tab.active{color:#2878dc;background:#eaf2fd}.workspace-streak{background:#f1f2f4;border-radius:12px;gap:9px;margin:22px 0 14px;padding:14px;display:grid}.workspace-streak-heading{align-items:center;gap:9px;display:flex}.workspace-streak-fire{font-size:24px;line-height:1}.workspace-streak-heading>div{gap:2px;display:grid}.workspace-streak-heading>div>span{color:var(--muted);font-size:12px}.workspace-streak-heading strong{color:var(--ink);font-size:17px}.workspace-streak p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.workspace-streak-track{background:#d5d7dc;border-radius:99px;height:5px;overflow:hidden}.workspace-streak-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s;display:block}.workspace-sidebar-account{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding:16px 8px 0;display:grid}.workspace-account-label{color:var(--muted);font-size:12px}.workspace-account-email{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.workspace-sidebar-account .button{margin-top:10px;padding:9px 12px}.workspace-content{contain:layout style;min-width:0;min-height:100vh;padding:32px clamp(24px,3vw,48px)}.dashboard-screen[hidden]{display:none}.workspace-content .disciplines-panel,.workspace-content .history-panel,.workspace-content .timer-panel{width:100%;margin:0}.dashboard-workspace{gap:24px;min-width:0;display:grid}.dashboard-header h1{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(27px,3vw,34px);font-weight:750}.dashboard-header h1 span{margin-left:3px;display:inline-block}.dashboard-header p{color:var(--muted);margin:5px 0 0;font-size:15px}.dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.dashboard-column{align-content:start;gap:20px;min-width:0;display:grid}.dashboard-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dashboard-section-heading h2{letter-spacing:-.02em;margin:0;font-size:18px}.dashboard-section-heading>span{color:var(--muted);font-size:12px}.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.dashboard-stat{background:#f6f7f6;border-radius:12px;align-content:start;gap:8px;min-width:0;padding:15px 14px;display:grid}.dashboard-stat>span{color:var(--muted);font-size:12px}.dashboard-stat>strong{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(17px,2vw,22px)}.dashboard-panel{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;min-width:0;padding:24px;box-shadow:0 4px 18px #141c180a}.dashboard-empty{margin:16px 0 0;font-size:14px}.dashboard-discipline-list,.dashboard-session-list{margin:12px 0 0;padding:0;list-style:none}.dashboard-discipline-list li{border-bottom:1px solid #edf0ee;justify-content:space-between;gap:14px;padding:13px 0;display:flex}.dashboard-discipline-list li:last-child{border-bottom:0;padding-bottom:0}.dashboard-discipline-list li>span{overflow-wrap:anywhere;min-width:0}.dashboard-discipline-list li>strong{color:var(--accent-strong);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.dashboard-session-list li{border-bottom:1px solid #edf0ee;align-items:center;gap:12px;padding:13px 0;display:flex}.dashboard-session-list li:last-child{border-bottom:0;padding-bottom:0}.dashboard-session-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dashboard-session-info{flex:1;gap:3px;min-width:0;display:grid}.dashboard-session-info strong{overflow-wrap:anywhere;font-size:14px}.dashboard-session-info time{color:var(--muted);font-size:12px}.dashboard-session-right{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.dashboard-session-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.dashboard-session-duration{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.disciplines-panel{width:100%;margin:0}.disciplines-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.disciplines-heading h1{letter-spacing:-.04em;margin:14px 0 4px;font-size:clamp(27px,3vw,34px)}.disciplines-heading p{margin:0}.disciplines-heading-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.disciplines-add-button{white-space:nowrap;align-items:center;gap:8px;width:auto;min-height:42px;display:inline-flex}.disciplines-add-button>span{font-size:19px;font-weight:400;line-height:.8}.refresh-button{min-width:116px}.discipline-create,.discipline-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;box-shadow:0 4px 18px #141c180a}.discipline-create{margin-bottom:22px;padding:24px}.discipline-create-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.discipline-create h2,.discipline-list-heading h2{margin:0;font-size:17px}.discipline-form-row{align-items:end;gap:12px;display:flex}.discipline-create .discipline-form-row{margin-top:14px}.discipline-name-field,.discipline-color-field{gap:7px;display:grid}.discipline-name-field{flex:1;min-width:180px}.discipline-color-field{min-width:140px}.discipline-name-field>span,.discipline-color-field>span{font-size:13px;font-weight:650}.discipline-name-field input,.discipline-color-field select{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 11px}.discipline-name-field input:focus,.discipline-color-field select:focus{border-color:var(--accent);outline:2px solid #007aff24}.create-button{width:auto;min-height:42px;padding:10px 18px}.discipline-error{color:var(--danger);background:#fff5f5;border:1px solid #f0caca;border-radius:10px;margin:0 0 12px;padding:12px 14px}.retry-box{background:#fff9e8;border:1px solid #ecd9a4;border-radius:10px;margin:0 0 16px;padding:14px}.retry-box p{color:#624b11;margin:0 0 10px}.discipline-list-heading{justify-content:space-between;align-items:center;gap:10px;margin:28px 2px 14px;display:flex}.discipline-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.discipline-card{align-content:start;min-width:0;min-height:190px;padding:20px 22px 14px;display:grid}.discipline-card-heading{align-items:center;gap:12px;min-width:0;display:flex}.discipline-card-heading>strong{overflow-wrap:anywhere;font-size:16px}.color-swatch{border-radius:50%;flex:0 0 12px;width:12px;height:12px;box-shadow:0 0 0 4px #f2f4f3}.discipline-card-metrics{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 18px;display:grid}.discipline-card-metrics>div{gap:5px;min-width:0;display:grid}.discipline-card-metrics span,.discipline-card-footer>span{color:var(--muted);font-size:12px}.discipline-card-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:19px}.discipline-card-footer{border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;display:flex}.discipline-card-footer .inline-actions{gap:4px}.discipline-card.is-editing{grid-column:1/-1;align-items:center}.discipline-card.is-editing .discipline-form-row{flex-wrap:wrap}.discipline-details span,.sync-status{color:var(--muted);font-size:12px}.inline-actions{align-items:center;gap:10px;display:flex}.text-button{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:8px;font-weight:650}.text-button:hover{text-decoration:underline}.text-button:disabled{cursor:wait;opacity:.55}.danger-button{color:var(--danger)}.button-small{width:auto;padding:9px 14px}.edit-row{width:100%}.empty-state{border:1px dashed var(--line);text-align:center;background:#ffffffa6;border-radius:12px;margin:0;padding:28px}.sync-status{justify-content:space-between;gap:12px;margin:12px 3px;display:flex}.reload-conflict{margin:-2px 0 16px;padding-left:0}.history-panel{gap:20px;width:min(100% - 32px,1180px);margin:44px auto;display:grid}.history-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.history-heading h1{letter-spacing:-.04em;margin:12px 0 4px;font-size:clamp(27px,3vw,34px)}.history-heading p{margin:0}.history-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.history-heading-actions .button{white-space:nowrap;width:auto;min-height:42px}.history-add-button{align-items:center;gap:7px;display:inline-flex}.history-add-button>span{font-size:19px;font-weight:400;line-height:.8}.history-card,.session-create-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;min-width:0;padding:24px;box-shadow:0 4px 18px #141c180a}.history-card-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.history-card-heading h2{letter-spacing:-.02em;margin:0;font-size:18px}.history-card-heading>span{color:var(--muted);font-size:12px}.history-filters{grid-template-columns:minmax(0,1.6fr) minmax(200px,.8fr);align-items:end;gap:18px 24px;display:grid}.history-period-filter{border:0;min-width:0;margin:0;padding:0}.history-period-filter legend,.history-discipline-filter>span{color:var(--ink);margin-bottom:9px;padding:0;font-size:13px;font-weight:650}.history-period-chips{flex-wrap:wrap;gap:7px;display:flex}.history-period-chip{color:#4d5952;cursor:pointer;white-space:nowrap;background:#f1f3f2;border:0;border-radius:9px;min-height:36px;padding:0 13px;font-size:13px;font-weight:600}.history-period-chip:hover{background:#e8eeea}.history-period-chip.selected{background:var(--accent);color:#fff}.history-discipline-filter{gap:0;min-width:0;display:grid}.history-discipline-filter select,.history-custom-range input{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:8px 10px}.history-discipline-filter select:focus,.history-custom-range input:focus{border-color:var(--accent);outline:2px solid #007aff24}.history-custom-range{border-top:1px solid #edf0ee;grid-column:1/-1;align-items:end;gap:12px;padding-top:16px;display:flex}.history-custom-range label{gap:6px;width:min(100%,220px);display:grid}.history-custom-range label>span{color:var(--muted);font-size:12px}.history-range-separator{color:var(--muted);padding-bottom:10px}.history-filter-error{color:var(--danger);padding-bottom:10px;font-size:12px}.history-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.history-summary-card{background:#f6f7f6;border-radius:12px;align-content:start;gap:8px;min-width:0;padding:17px 18px;display:grid}.history-summary-card>span{color:var(--muted);font-size:13px}.history-summary-card>strong{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(20px,2.5vw,26px)}.history-chart-card{gap:18px;display:grid}.history-chart-scroll{padding-bottom:3px;overflow-x:auto}.history-chart{align-items:end;gap:12px;width:max-content;min-width:100%;display:grid}.history-chart-day{grid-template-rows:18px 138px 18px;justify-items:center;gap:5px;min-width:38px;display:grid}.history-chart-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.history-chart-track{background:linear-gradient(0deg,#f7f8f7 1px,#0000 1px) 0 0/100% 25%;border-bottom:1px solid #dfe5e1;justify-content:center;align-items:end;width:100%;height:138px;display:flex}.history-chart-track>span{background:linear-gradient(#5594d6,#2f6fb1);border-radius:5px 5px 1px 1px;width:min(100%,28px);min-height:0}.history-chart-label{color:var(--muted);text-transform:capitalize;font-size:11px}.history-list-heading{margin:4px 2px 0}.history-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#ffffffa6;border-radius:14px;margin:0;padding:40px 24px}.session-create-card{margin:0}.session-create-card>h2{margin:0;font-size:17px}.session-create-card .history-card-heading{margin-bottom:18px}.session-create-card .history-card-heading .text-button{padding:4px}.session-form{margin-top:18px}.timer-panel{width:100%;margin:0}.timer-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;gap:18px;width:100%;margin:0;padding:24px;display:grid;box-shadow:0 4px 18px #141c180a}.timer-mode-select{background:#f0f0f2;border:0;border-radius:10px;justify-content:center;gap:4px;width:fit-content;max-width:100%;margin:0 auto;padding:4px;display:flex}.timer-mode-select label{cursor:pointer;align-items:center;display:flex;position:relative}.timer-mode-select input{opacity:0;width:1px;height:1px;position:absolute}.timer-mode-select label>span{color:#515157;white-space:nowrap;border-radius:7px;padding:8px 15px;font-size:13px;font-weight:600;display:block}.timer-mode-select input:checked+span{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0000001f}.timer-mode-select input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.timer-mode-select:disabled{opacity:.78}.timer-reading{gap:12px;min-width:0;display:grid}.timer-status{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.timer-indicator{background:#a8b4ad;border-radius:50%;width:9px;height:9px}.timer-indicator.running{background:#299765;box-shadow:0 0 0 4px #2997651f}.timer-indicator.paused{background:#d09a29}.timer-indicator.saving{background:#477ac3}.timer-dial{aspect-ratio:1;place-items:center;width:min(220px,100%);margin:2px auto 6px;display:grid;position:relative}.timer-dial-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.timer-dial-track,.timer-dial-progress{fill:none;stroke-width:12px}.timer-dial-progress{stroke:url(#timer-ring-gradient);stroke-linecap:round;transform-origin:110px 110px;transition:stroke-dashoffset .2s;transform:rotate(-90deg)}.timer-dial-center{justify-items:center;gap:4px;max-width:100%;display:grid}.timer-clock{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(28px,4.5vw,40px);font-weight:750;line-height:1}.timer-dial-caption{color:var(--muted);font-size:12px}.timer-discipline{color:var(--accent-strong);text-align:center;overflow-wrap:anywhere;margin:-3px 0 2px;font-weight:650}.timer-note,.timer-footnote{color:var(--muted);text-align:center;font-size:13px}.timer-note{margin:0}.timer-field{gap:7px;margin:18px 0;display:grid}.timer-field>span{font-size:13px;font-weight:650}.timer-field small{color:var(--muted);font-weight:400}.timer-field input,.timer-field select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:9px;padding:10px 12px}.timer-field input:focus,.timer-field select:focus{border-color:var(--accent);outline:2px solid #007aff24}.timer-duration-control{border:0;justify-content:center;gap:10px;margin:0;padding:0;display:flex}.timer-duration-control legend{width:100%;color:var(--muted);text-align:center;margin-bottom:8px;font-size:12px}.timer-duration-control label{width:min(90px,28%);color:var(--muted);text-align:center;gap:5px;font-size:11px;display:grid}.timer-duration-control input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:8px;padding:6px}.timer-start{margin-top:6px}.timer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.timer-actions .button{width:auto;min-width:140px}.dashboard-goal-progress{border-top:1px solid #edf0ee;gap:10px;margin-top:18px;padding-top:16px;display:grid}.dashboard-goal-progress>div:first-child,.dashboard-goal-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-goal-progress>div:first-child strong{font-size:13px}.dashboard-goal-progress>div:first-child span,.dashboard-goal-footer{color:var(--muted);font-size:12px}.dashboard-progress-track{background:#e8efea;border-radius:999px;height:8px;overflow:hidden}.dashboard-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#287c58,#51a87a);height:100%;transition:width .2s;display:block}.dashboard-weekly-totals{flex-wrap:wrap;gap:28px;margin:14px 0 8px;display:flex}.dashboard-weekly-totals>div{gap:3px;display:grid}.dashboard-weekly-totals strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:23px}.dashboard-weekly-totals span{color:var(--muted);font-size:12px}.dashboard-weekly-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:150px;padding-top:8px;display:grid}.dashboard-weekly-day{height:100%;color:var(--muted);grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:8px;font-size:11px;display:grid}.dashboard-weekly-bar-track{border-bottom:1px solid #e5eae6;justify-content:center;align-items:end;width:100%;height:100%;display:flex}.dashboard-weekly-bar-track span{background:linear-gradient(#56a1e9,#347dc5);border-radius:4px 4px 0 0;width:min(22px,75%);min-height:0}.goals-workspace{gap:24px;width:100%;max-width:1120px;margin:0 auto;display:grid}.goals-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.goals-card,.goals-settings-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;min-width:0;padding:24px;box-shadow:0 4px 18px #141c180a}.goals-card{gap:8px;display:grid}.goals-card>span,.goals-card small,.goals-settings-card p,.goal-save-row>span{color:var(--muted);font-size:13px}.goals-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px}.goals-settings-card{gap:26px;display:grid}.goals-settings-card h2{color:var(--ink);margin:0 0 5px;font-size:18px}.goals-settings-card p{margin:0}.goal-control{gap:12px;display:grid}.goal-control>span{justify-content:space-between;gap:12px;font-size:14px;display:flex}.goal-control>span strong{color:var(--accent)}.goal-control input{width:100%;accent-color:var(--accent)}.goals-progress-section{gap:12px;display:grid}.goals-progress-section>h2{color:var(--ink);margin:0;font-size:18px}.goals-progress-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;padding:24px;display:grid;box-shadow:0 4px 18px #141c180a}.goals-progress-ring{border-radius:50%;place-items:center;width:104px;height:104px;display:grid}.goals-progress-ring>div{background:var(--surface);border-radius:50%;align-content:center;justify-items:center;gap:3px;width:78%;height:78%;display:grid}.goals-progress-ring strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px}.goals-progress-ring span{color:var(--muted);font-size:11px}.goals-progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.goals-progress-stats>div{gap:5px;display:grid}.goals-progress-stats span,.goals-progress-card>p{color:var(--muted);font-size:12px}.goals-progress-stats strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px}.goals-progress-track{background:#e8efea;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.goals-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#3989ce,#5fb2dd);height:100%;display:block}.goals-progress-card>p{grid-column:1/-1;margin:-10px 0 0}.goal-save-row{border-top:1px solid #edf0ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.timer-footnote{max-width:620px;margin:-2px auto 0}.cycle-panel{width:100%;margin:0}.cycle-heading,.cycle-round-heading,.cycle-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.cycle-heading{margin-bottom:24px}.cycle-heading h1{letter-spacing:-.04em;margin:14px 0 4px;font-size:clamp(27px,3vw,34px)}.cycle-heading p,.cycle-section-heading p{margin:0}.cycle-heading-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.cycle-edit-button,.cycle-refresh{white-space:nowrap;width:auto;min-height:42px}.cycle-refresh{flex:none}.cycle-empty{border:1px dashed var(--line);background:var(--surface);text-align:center;border-radius:16px;justify-items:center;gap:8px;padding:38px 24px;display:grid;box-shadow:0 4px 18px #141c180a}.cycle-empty h2,.cycle-empty p{margin:0}.cycle-empty .button{width:auto;margin-top:8px}.cycle-round-heading{margin:20px 0 14px}.cycle-round-heading h2{margin:7px 0 0;font-size:19px}.cycle-status{color:var(--accent-strong);background:#eaf2fd;border-radius:99px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.cycle-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.cycle-status.completed{color:#315a8e;background:#e8eef8}.cycle-status.reset{color:#755b33;background:#f1ece4}.cycle-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.cycle-summary article{background:var(--surface);border:1px solid #e9ecea;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px 9px;min-width:0;padding:14px 16px;display:grid;box-shadow:0 3px 12px #141c1808}.cycle-summary article>span:not(.cycle-summary-icon){color:var(--muted);font-size:12px}.cycle-summary article strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px}.cycle-summary-icon{width:24px;height:24px;color:var(--accent-strong);background:#eaf2ed;border-radius:8px;grid-row:1/3;place-items:center;font-size:14px;font-weight:700;display:grid}.cycle-summary-icon.completed{color:#2d8254;background:#edf3ed}.cycle-summary-icon.remaining{color:#8b6d32;background:#f4f0e7}.cycle-summary-icon.progress{color:#406797;background:#eaf0f8}.cycle-summary-progress{background:#edf1ed;border-radius:99px;grid-column:1/-1;height:5px;margin-top:5px;overflow:hidden}.cycle-summary-progress span{border-radius:inherit;background:linear-gradient(90deg,#42946a,#6ab17e);height:100%;transition:width .2s;display:block}.cycle-editor-overlay{z-index:19;background:#0f191361;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.cycle-editor,.cycle-day{background:var(--surface);border:1px solid #e9ecea;border-radius:14px;min-width:0;box-shadow:0 3px 12px #141c1808}.cycle-editor-overlay .cycle-editor{border-radius:16px;width:min(100%,760px);max-height:min(88dvh,760px);margin:0;padding:24px;overflow-y:auto;box-shadow:0 18px 50px #193f2b2e}.cycle-section-heading{margin-bottom:12px}.cycle-editor-actions{flex:none;align-items:center;gap:10px;display:flex}.cycle-section-heading h2{margin:0 0 4px;font-size:17px}.cycle-section-heading p,.cycle-hint{color:var(--muted);font-size:13px}.cycle-form{grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) minmax(180px,1fr) minmax(100px,.6fr);align-items:end;gap:12px;display:grid}.cycle-form>label,.cycle-form fieldset{gap:7px;min-width:0;margin:0;display:grid}.cycle-form label>span,.cycle-form legend{font-size:13px;font-weight:650}.cycle-form select,.cycle-form input{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:8px 10px}.cycle-form select:focus,.cycle-form input:focus{border-color:var(--accent);outline:2px solid #007aff24}.cycle-form fieldset{border:0;gap:8px;padding:0;display:flex}.cycle-form fieldset legend{margin-bottom:7px;padding:0}.cycle-form fieldset label{flex:1;gap:7px;min-width:0;display:grid}.cycle-form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.cycle-form-actions .button{min-height:40px}.cycle-hint{margin:14px 0 0}.cycle-week{overscroll-behavior-x:contain;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:9px;min-width:0;padding:2px 1px 8px;display:grid;overflow-x:auto}.cycle-day{min-height:158px;padding:9px}.cycle-day h3{letter-spacing:.06em;border-radius:8px;justify-content:space-between;align-items:center;gap:5px;min-height:29px;margin:-1px -1px 8px;padding:5px 7px;font-size:11px;display:flex}.cycle-day-long-name{display:none}.cycle-day-short-name{display:inline}.cycle-day-count{min-width:19px;height:19px;color:inherit;letter-spacing:0;background:#ffffffb8;border-radius:50%;flex:none;place-items:center;font-size:10px;display:grid}.cycle-day ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.cycle-item{background:#fff;border:1px solid #edf0ee;border-radius:9px;min-width:0;padding:8px}.cycle-item.is-completed{background:#f5faf6;border-color:#d8e9dc}.cycle-item-title{gap:3px;display:grid}.cycle-item-title strong{overflow-wrap:anywhere;font-size:13px}.cycle-deleted{color:var(--danger);font-size:11px}.cycle-item-times{color:var(--muted);gap:3px;margin-top:7px;font-size:11px;display:grid}.cycle-progress{background:#edf1ed;border-radius:99px;height:5px;margin:9px 0 6px;overflow:hidden}.cycle-progress span{border-radius:inherit;background:#299765;height:100%;display:block}.cycle-item.is-completed .cycle-item-footer>span{color:#28744b;font-weight:700}.cycle-item-footer{color:var(--muted);gap:5px;font-size:10px;display:grid}.cycle-item-footer .inline-actions{flex-wrap:wrap;justify-content:flex-start;gap:3px}.cycle-item-footer .text-button{padding:4px 3px;font-size:10px}.cycle-day-empty{min-height:92px;color:var(--muted);text-align:center;border:1px dashed #e7ebe8;border-radius:9px;place-items:center;margin:0;padding:10px 5px;font-size:11px;display:grid}.cycle-empty-inline{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;margin:14px 0 0;padding:18px}.cycle-confirm{z-index:20;background:#0f191361;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.cycle-confirm>div{border:1px solid var(--line);background:var(--surface);border-radius:15px;width:min(100%,460px);padding:24px;box-shadow:0 18px 50px #193f2b2e}.cycle-confirm h2{margin:0 0 8px;font-size:19px}.cycle-confirm p{margin:0 0 18px}.danger-confirm-button{background:var(--danger)}.danger-confirm-button:hover{background:#842828}.session-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1.4fr);gap:14px;margin-top:16px;display:grid}.session-form label{align-content:start;gap:7px;display:grid}.session-form label>span,.duration-field legend,.duration-field label>span{font-size:13px;font-weight:650}.session-form input,.session-form select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 11px}.session-form input:focus,.session-form select:focus{border-color:var(--accent);outline:2px solid #007aff24}.session-subject-field{grid-column:1/-1}.duration-field{border:0;gap:12px;min-width:0;margin:0;padding:0;display:flex}.duration-field legend{margin-bottom:7px;padding:0}.duration-field label{flex:1;min-width:0}.session-form-actions{justify-content:flex-end;align-self:end}.session-form-actions .button{min-height:42px}.session-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.session-row{background:var(--surface);border:1px solid #e9ecea;border-radius:14px;align-items:center;gap:14px;min-height:82px;padding:16px 18px;display:flex;box-shadow:0 3px 12px #141c1808}.session-row+.session-row{border-top:1px solid #e9ecea}.session-swatch{flex:0 0 14px;height:46px}.session-details{flex:1;gap:5px;min-width:0;display:grid}.session-details>span{overflow-wrap:anywhere;color:var(--muted);font-size:14px}.session-title-line{justify-content:space-between;gap:12px;display:flex}.session-title-line strong{overflow-wrap:anywhere}.session-duration{color:var(--accent-strong);flex:none;font-size:13px;font-weight:700}.session-date{color:var(--muted);font-size:12px}.session-actions{flex:none}.session-details .session-form{margin-top:0}.session-details .session-form-actions{grid-column:1/-1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:899px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:1100px){.cycle-week{grid-template-columns:repeat(7,minmax(145px,1fr))}}@media (max-width:820px){.app-workspace{grid-template-columns:minmax(0,1fr);gap:0}.workspace-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:0;padding:0 12px 10px;position:static}.workspace-brand{padding:14px 8px 16px}.workspace-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.workspace-tab{text-align:center;white-space:normal;overflow-wrap:anywhere;justify-content:center;gap:6px;min-width:0;padding:9px 4px}.workspace-tab svg{flex-basis:17px;width:17px;height:17px}.workspace-streak{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;margin:10px 8px 6px;padding:10px 12px}.workspace-streak-heading{grid-row:span 2}.workspace-streak p{align-self:end}.workspace-streak-track{grid-column:2}.workspace-sidebar-account{border-top:0;align-items:center;gap:10px;margin-top:10px;padding:0 8px;display:flex}.workspace-account-label{display:none}.workspace-account-email{flex:1;max-width:56vw}.workspace-sidebar-account .button{width:auto;margin:0;padding:7px 12px}.workspace-content{padding:20px 16px 32px}.dashboard-workspace{gap:18px}.dashboard-columns,.dashboard-column{gap:14px}.dashboard-summary{gap:8px}.dashboard-stat{gap:6px;padding:14px 12px}.dashboard-stat>span{font-size:12px}.dashboard-panel,.timer-card{padding:18px}.timer-card{gap:16px}.goals-workspace{gap:18px}.goals-card-grid{grid-template-columns:minmax(0,1fr);gap:10px}.goals-card,.goals-settings-card{padding:18px}.goals-progress-card{grid-template-columns:minmax(0,1fr);justify-items:center;padding:18px}.goals-progress-stats{grid-template-columns:minmax(0,1fr);gap:8px;width:100%}.goals-progress-stats>div{justify-content:space-between;gap:10px;display:flex}.dashboard-weekly-chart{gap:5px}.dashboard-weekly-totals{gap:20px}.dashboard-goal-progress>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}.history-panel{gap:16px}.history-heading{flex-direction:column;align-items:flex-start;gap:16px}.history-heading-actions{justify-content:stretch;width:100%}.history-heading-actions .button{flex:auto}.history-card,.session-create-card{padding:18px}.history-filters{grid-template-columns:minmax(0,1fr);gap:16px}.history-period-chips{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.history-custom-range{flex-wrap:wrap}.history-custom-range label{flex:120px}.history-filter-error{flex-basis:100%}.history-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.history-summary-card{padding:14px}.history-chart-card{gap:14px}.session-row{align-items:flex-start}.disciplines-heading{flex-direction:column;align-items:flex-start;gap:16px}.disciplines-heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.discipline-form-row{flex-wrap:wrap}.discipline-name-field{flex-basis:100%}.discipline-color-field{flex:1}.discipline-list{grid-template-columns:minmax(0,1fr)}.discipline-card{min-height:0;padding:18px}.edit-row{margin-left:0}.edit-row .discipline-name-field{flex-basis:100%}.edit-row>.inline-actions{margin-left:0}.sync-status{flex-direction:column}.session-form{grid-template-columns:1fr}.session-subject-field{grid-column:auto}.session-row{flex-wrap:wrap}.session-details{flex-basis:calc(100% - 32px)}.session-actions{margin-left:28px}.session-title-line{align-items:flex-start}.timer-actions{flex-direction:column;align-items:stretch}.timer-actions .button{width:100%}.cycle-heading{align-items:flex-start}.cycle-heading-actions{flex-wrap:wrap;justify-content:flex-start}.cycle-summary{gap:9px}.cycle-summary article{padding:13px}.cycle-summary,.cycle-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-form-actions{grid-column:1/-1}.cycle-week{grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;width:100%}.cycle-day{padding:12px}.cycle-day h3{min-height:34px;margin:-2px -2px 10px;padding:6px 9px;font-size:12px}}@media (max-width:420px){.dashboard-summary{grid-template-columns:minmax(0,1fr)}.dashboard-header h1,.history-heading h1{font-size:27px}.history-heading-actions{gap:7px}.history-heading-actions .button{padding:10px 11px;font-size:13px}.history-summary-card>strong{font-size:20px}.cycle-heading{flex-direction:column}.cycle-refresh{align-self:flex-start}.cycle-form{grid-template-columns:minmax(0,1fr)}.cycle-form-actions{grid-column:auto}}.performance-panel{gap:20px;width:100%;min-width:0;display:grid}.performance-heading,.performance-card-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.performance-heading{margin-bottom:2px}.performance-heading h1{letter-spacing:-.04em;margin:14px 0 4px;font-size:clamp(27px,3vw,34px)}.performance-heading p,.performance-card-heading p{margin:0}.performance-add-button{white-space:nowrap;width:auto;min-height:42px}.performance-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;min-width:0;padding:22px 24px;box-shadow:0 4px 18px #141c180a}.performance-card-heading{margin-bottom:17px}.performance-card-heading h2{margin:0 0 4px;font-size:18px}.performance-card-heading p{color:var(--muted);font-size:13px}.performance-filter-row{grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(0,1.3fr);align-items:end;gap:14px;display:grid}.performance-filter-row>label,.performance-date-range label{gap:7px;min-width:0;display:grid}.performance-filter-row label>span{font-size:13px;font-weight:650}.performance-filter-row select,.performance-filter-row input,.performance-form input,.performance-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 11px}.performance-date-range{gap:12px;min-width:0;display:flex}.performance-date-range label{flex:1}.performance-overview-content{justify-content:space-between;align-items:center;gap:28px;display:flex}.performance-metrics{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 22px;display:grid}.performance-metrics article{gap:5px;min-width:0;display:grid}.performance-metrics article span,.performance-distribution-summary span{color:var(--muted);font-size:12px}.performance-metrics article strong,.performance-distribution-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:21px}.performance-positive{color:#278657!important}.performance-negative{color:#bf4141!important}.performance-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tec-import{gap:14px;display:grid}.tec-import-panel{background:#fff;border:1px solid #e6ebe7;border-radius:14px;gap:16px;padding:22px;display:grid}.tec-import-panel h2,.tec-import-panel p{margin:0}.tec-import-file{gap:8px;font-weight:600;display:grid}.tec-import-date,.tec-import-summary{color:#64716a;font-size:.9rem}.tec-import-table-wrap{border:1px solid #e6ebe7;border-radius:10px;max-width:100%;overflow-x:auto}.tec-import-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.9rem}.tec-import-table th,.tec-import-table td{text-align:left;border-bottom:1px solid #edf0ee;padding:10px 12px}.tec-import-table th{color:#526159;white-space:nowrap;background:#f7f9f7;font-weight:650}.tec-import-table td select{min-width:190px;max-width:260px}.tec-import-table tr:last-child td{border-bottom:0}.performance-success{color:#237d53}.discipline-content{border-top:1px solid #edf0ee;margin-top:16px;padding-top:12px}.discipline-content-toggle{padding:4px 0;font-weight:600}.discipline-content-body{gap:16px;padding-top:14px;display:grid}.discipline-content-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.discipline-content-heading h4{margin:0;font-size:.95rem}.discipline-content-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.discipline-content-list li{background:#f7f9f7;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 10px;display:grid}.discipline-content-label{align-content:center;gap:4px;min-width:0;display:grid}.discipline-content-label span{overflow-wrap:anywhere;min-width:0}.discipline-content-label a{flex:none;font-size:.85rem}.discipline-content-actions{flex:none;align-items:center;gap:6px;display:flex}.discipline-content-actions .text-button{padding:4px}.discipline-content-empty{color:#69766f;margin:8px 0 0;font-size:.9rem}.discipline-content-form{background:#f7f9f7;border-radius:10px;gap:10px;padding:14px;display:grid}.discipline-content-form label{gap:5px;display:grid}.discipline-content-form input{min-width:0}.cycle-notebooks{margin:10px 0;font-size:.9rem}.cycle-notebooks summary{cursor:pointer;color:#53655b;font-weight:600}.cycle-notebooks ul{gap:5px;margin:8px 0 0;padding-left:20px;display:grid}.cycle-notebooks a{overflow-wrap:anywhere}@media (max-width:700px){.performance-heading-actions{align-items:stretch;width:100%}.performance-heading-actions>*,.performance-heading-actions>button{width:100%}.tec-import-panel{padding:16px}.discipline-content-list li{grid-template-columns:minmax(0,1fr);align-items:start}.discipline-content-actions{justify-content:flex-end;width:100%}}.performance-accuracy-donut{border-radius:50%;flex:0 0 174px;place-items:center;width:174px;height:174px;display:grid}.performance-accuracy-donut>div{background:#fff;border-radius:50%;align-content:center;justify-items:center;gap:3px;width:68%;height:68%;display:grid}.performance-accuracy-donut strong{font-variant-numeric:tabular-nums;font-size:23px}.performance-accuracy-donut span{color:var(--muted);font-size:12px}.performance-mode{background:#f1f4f2;border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.performance-mode button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:650}.performance-mode button[aria-pressed=true]{color:var(--accent-strong);background:#fff;box-shadow:0 1px 4px #141c181a}.performance-chart{overscroll-behavior-x:contain;align-items:stretch;gap:12px;min-height:230px;padding:10px 2px 0;display:flex;overflow-x:auto}.performance-chart-day{min-width:44px;color:var(--muted);text-align:center;flex:1 0 44px;grid-template-rows:minmax(170px,1fr) auto;gap:8px;font-size:11px;display:grid}.performance-chart-bars{border-bottom:1px solid #e5eae6;justify-content:center;align-items:end;gap:3px;display:flex}.performance-bar{border-radius:5px 5px 0 0;width:min(38%,18px);min-height:0;display:block}.performance-bar-correct{background:#278657}.performance-bar-wrong{background:#c94b4b}.performance-bar-accuracy{background:#278657}.performance-legend{color:var(--muted);gap:14px;margin-top:14px;font-size:12px;display:flex}.performance-legend span{align-items:center;gap:6px;display:inline-flex}.performance-legend i{border-radius:3px;width:9px;height:9px}.performance-distribution{grid-template-columns:165px minmax(0,1fr);gap:28px;display:grid}.performance-distribution-summary{align-content:center;gap:4px;display:grid}.performance-distribution-summary span:nth-of-type(2){margin-top:14px}.performance-distribution-list{gap:15px;min-width:0;display:grid}.performance-distribution-row{gap:6px;min-width:0;display:grid}.performance-distribution-row>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.performance-distribution-row .color-swatch{flex-basis:10px;width:10px;height:10px}.performance-distribution-row strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.performance-distribution-row>div:first-child>span:last-child,.performance-distribution-row small{color:var(--muted);font-size:11px}.performance-distribution-track{background:#edf0ee;border-radius:99px;height:8px;display:flex;overflow:hidden}.performance-distribution-track>span{height:100%}.performance-distribution-correct{background:#278657}.performance-distribution-wrong{background:#c94b4b}.performance-record-count{color:var(--accent-strong);background:#eaf2fd;border-radius:99px;flex:none;padding:5px 10px;font-size:12px;font-weight:700}.performance-record-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.performance-record-row{border:1px solid #e9ecea;border-radius:12px;grid-template-columns:100px minmax(150px,1.4fr) repeat(4,minmax(72px,.55fr)) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.performance-record-row>div{gap:4px;min-width:0;display:grid}.performance-record-row>div>span{color:var(--muted);font-size:11px}.performance-record-row strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:13px}.performance-record-actions{align-items:center;gap:2px!important;display:flex!important}.performance-record-actions .text-button{padding:6px;font-size:12px}.performance-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:11px;margin:0;padding:28px}.performance-form-card{border-color:#cbdcd1}.performance-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.performance-form>label{gap:7px;min-width:0;display:grid}.performance-form>label>span{font-size:13px;font-weight:650}.performance-form input:focus,.performance-form select:focus,.performance-filter-row input:focus,.performance-filter-row select:focus{border-color:var(--accent);outline:2px solid #007aff24}.performance-form-derived{background:#f5f5f7;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;gap:18px;padding:12px 14px;display:flex}.performance-form-derived>span{color:var(--muted);gap:3px;font-size:12px;display:grid}.performance-form-derived strong{color:var(--ink);font-size:15px}.performance-form-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.performance-form-actions .button{width:auto}.performance-error{color:var(--danger);background:#fff5f5;border:1px solid #f0caca;border-radius:10px;margin:0;padding:12px 14px}.performance-confirm{z-index:30;background:#0f191361;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.performance-confirm>div{border:1px solid var(--line);background:var(--surface);border-radius:15px;width:min(100%,460px);padding:24px;box-shadow:0 18px 50px #193f2b2e}.performance-confirm h2{margin:0 0 8px;font-size:19px}.performance-confirm p{margin:0 0 18px}.preferences-workspace{gap:24px;width:100%;min-width:0;display:grid}.preferences-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(27px,3vw,34px)}.preferences-heading p{margin:5px 0 0}.preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.preferences-card{background:var(--surface);border:1px solid #e9ecea;border-radius:16px;gap:16px;min-width:0;padding:24px;display:grid;box-shadow:0 4px 18px #141c180a}.preferences-card h2{margin:0;font-size:17px}.preferences-field{gap:7px;max-width:420px;display:grid}.preferences-field>span{font-size:13px;font-weight:650}.preferences-field input,.preferences-control-row select{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);border-radius:9px;padding:9px 11px}.preferences-field input:focus,.preferences-control-row select:focus{border-color:var(--accent);outline:2px solid #007aff24}.preferences-hint{color:var(--muted);margin:0;font-size:12px}.preferences-row,.preferences-control-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:0 0 13px;display:flex}.preferences-row:last-child,.preferences-control-row:last-of-type{border-bottom:0;padding-bottom:0}.preferences-row>span{color:var(--muted)}.preferences-row>strong{text-align:right}.preferences-control-row>span{gap:4px;min-width:0;display:grid}.preferences-control-row small{color:var(--muted);font-size:12px}.preferences-control-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.app-workspace[data-theme=dark]{--ink:#f5f5f7;--muted:#a1a1a8;--accent:#0a84ff;--accent-strong:#409cff;--line:#38383d;--surface:#1c1c1e;--background:#111113;--danger:#ff6961;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--background);min-height:100vh;color:var(--ink)}.app-workspace[data-theme=dark] .workspace-sidebar{border-color:var(--line);background:var(--surface)}.app-workspace[data-theme=dark] .workspace-tab{color:#c4c4ca}.app-workspace[data-theme=dark] .workspace-tab:hover{color:#70b4ff;background:#2b2b30}.app-workspace[data-theme=dark] .workspace-tab.active{color:#70b4ff;background:#152b42}.app-workspace[data-theme=dark] .workspace-streak{background:#232327}.app-workspace[data-theme=dark] .workspace-streak-track{background:#414149}.app-workspace[data-theme=dark] .dashboard-stat,.app-workspace[data-theme=dark] .history-summary-card,.app-workspace[data-theme=dark] .performance-form-derived{background:#29292e}.app-workspace[data-theme=dark] .dashboard-panel,.app-workspace[data-theme=dark] .discipline-create,.app-workspace[data-theme=dark] .discipline-card,.app-workspace[data-theme=dark] .history-card,.app-workspace[data-theme=dark] .session-create-card,.app-workspace[data-theme=dark] .timer-card,.app-workspace[data-theme=dark] .goals-card,.app-workspace[data-theme=dark] .goals-settings-card,.app-workspace[data-theme=dark] .goals-progress-card,.app-workspace[data-theme=dark] .cycle-summary article,.app-workspace[data-theme=dark] .cycle-editor,.app-workspace[data-theme=dark] .cycle-day,.app-workspace[data-theme=dark] .cycle-confirm>div,.app-workspace[data-theme=dark] .session-row,.app-workspace[data-theme=dark] .performance-card,.app-workspace[data-theme=dark] .performance-confirm>div,.app-workspace[data-theme=dark] .preferences-card{border-color:var(--line);background:var(--surface)}.app-workspace[data-theme=dark] input:not([type=checkbox]),.app-workspace[data-theme=dark] select,.app-workspace[data-theme=dark] textarea{border-color:var(--line);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#242428}.app-workspace[data-theme=dark] .timer-mode-select,.app-workspace[data-theme=dark] .performance-mode,.app-workspace[data-theme=dark] .history-period-chip{color:#d0d0d5;background:#2b2b30}.app-workspace[data-theme=dark] .timer-mode-select label>span,.app-workspace[data-theme=dark] .performance-mode button{color:#c8c8ce}.app-workspace[data-theme=dark] .timer-mode-select input:checked+span,.app-workspace[data-theme=dark] .performance-mode button[aria-pressed=true]{color:var(--ink);background:#414147}.app-workspace[data-theme=dark] .history-period-chip:hover{background:#37373e}.app-workspace[data-theme=dark] .discipline-card-footer,.app-workspace[data-theme=dark] .dashboard-discipline-list li,.app-workspace[data-theme=dark] .dashboard-session-list li,.app-workspace[data-theme=dark] .preferences-row,.app-workspace[data-theme=dark] .preferences-control-row{border-color:#35353a}.app-workspace[data-theme=dark] .discipline-name-field input,.app-workspace[data-theme=dark] .discipline-color-field select,.app-workspace[data-theme=dark] .history-discipline-filter select,.app-workspace[data-theme=dark] .history-custom-range input,.app-workspace[data-theme=dark] .timer-field input,.app-workspace[data-theme=dark] .timer-field select,.app-workspace[data-theme=dark] .cycle-form select,.app-workspace[data-theme=dark] .cycle-form input,.app-workspace[data-theme=dark] .session-form input,.app-workspace[data-theme=dark] .session-form select,.app-workspace[data-theme=dark] .performance-filter-row select,.app-workspace[data-theme=dark] .performance-filter-row input,.app-workspace[data-theme=dark] .performance-form input,.app-workspace[data-theme=dark] .performance-form select{color:var(--ink);background:#242428}.app-workspace[data-theme=dark] .retry-box{background:#342d1c;border-color:#685729}.app-workspace[data-theme=dark] .retry-box p{color:#ead9a8}.app-workspace[data-theme=dark] .discipline-error,.app-workspace[data-theme=dark] .performance-error{color:#ffb4ad;background:#351f22;border-color:#653535}.app-workspace[data-theme=dark] .retry-box .button-secondary{color:#f3e4b5;background:#45402f}.app-workspace[data-theme=dark] .discipline-list-heading>span,.app-workspace[data-theme=dark] .cycle-status{color:#8dc5ff;background:#19314a}.app-workspace[data-theme=dark] .cycle-status.completed{color:#9dd7ae;background:#1c3327}.app-workspace[data-theme=dark] .cycle-status.reset{color:#e1ca9e;background:#393126}.app-workspace[data-theme=dark] .cycle-summary-icon,.app-workspace[data-theme=dark] .cycle-summary-icon.progress{color:#a6c9f2;background:#26364b}.app-workspace[data-theme=dark] .cycle-summary-icon.completed{color:#a5d5b0;background:#263b2d}.app-workspace[data-theme=dark] .cycle-summary-icon.remaining{color:#e7ce91;background:#403723}.app-workspace[data-theme=dark] .cycle-item{background:#242427;border-color:#37373c}.app-workspace[data-theme=dark] .cycle-item.is-completed{background:#1f2d23;border-color:#304b38}.app-workspace[data-theme=dark] .cycle-item.is-completed .cycle-item-footer>span{color:#a5d5b0}.app-workspace[data-theme=dark] .cycle-day-empty,.app-workspace[data-theme=dark] .empty-state,.app-workspace[data-theme=dark] .history-empty,.app-workspace[data-theme=dark] .performance-empty{background:#202024;border-color:#3a3a40}.app-workspace[data-theme=dark] .history-period-chip.selected{background:var(--accent);color:#fff}.app-workspace[data-theme=dark] .history-chart-track{background-image:linear-gradient(0deg,#34343a 1px,#0000 1px);border-color:#3a3a40}.app-workspace[data-theme=dark] .dashboard-progress-track,.app-workspace[data-theme=dark] .goals-progress-track,.app-workspace[data-theme=dark] .cycle-progress,.app-workspace[data-theme=dark] .cycle-summary-progress,.app-workspace[data-theme=dark] .performance-distribution-track{background:#35353a}.app-workspace[data-theme=dark] .tec-import-panel{border-color:var(--line);background:var(--surface)}.app-workspace[data-theme=dark] .tec-import-table-wrap{border-color:var(--line)}.app-workspace[data-theme=dark] .tec-import-table th{color:#c5c5cc;background:#29292e}.app-workspace[data-theme=dark] .discipline-content-list li,.app-workspace[data-theme=dark] .discipline-content-form{background:#29292e}.app-workspace[data-theme=dark] .performance-record-row{border-color:var(--line)}.app-workspace[data-theme=dark] .performance-record-count{background:#19314a}.app-workspace[data-theme=dark] .performance-form-derived{background:#29292e}.app-workspace[data-theme=dark] .button-secondary{color:#90c3f7;background:#293b50}.app-workspace[data-theme=dark] .button-secondary:hover{background:#324b65}.backup-workspace{gap:22px;width:100%;min-width:0;max-width:1080px;display:grid}.backup-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(27px,3vw,34px)}.backup-heading p{color:var(--muted);margin:5px 0 0}.backup-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:14px;min-width:0;padding:24px;display:grid;box-shadow:0 4px 18px #141c180a}.backup-card h2{margin:0;font-size:17px}.backup-card>div p{color:var(--muted);margin:6px 0 0;font-size:13px}.backup-action-row{flex-wrap:wrap;gap:10px;display:flex}.backup-primary-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-self:start;min-height:42px;padding:0 16px;font-weight:700}.backup-primary-button:hover{background:var(--accent-strong)}.backup-secondary-button{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:9px;justify-self:start;padding:0 16px;font-weight:650}.backup-primary-button:disabled,.backup-secondary-button:disabled,.backup-row button:disabled{cursor:wait;opacity:.7}.backup-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.backup-selected-file{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.backup-download-link{justify-items:start;gap:5px;margin:0;font-size:13px;display:grid}.backup-download-link a{color:var(--accent-strong);overflow-wrap:anywhere;font-weight:700}.backup-download-link span{color:var(--muted);font-size:12px}.backup-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.backup-row{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex}.backup-row>div{gap:4px;min-width:0;display:grid}.backup-row strong{font-size:13px}.backup-row span,.backup-empty{color:var(--muted);font-size:12px}.backup-row button{border:1px solid var(--line);color:var(--accent-strong);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:8px 11px;font-weight:650}.backup-message{color:#1f5d99;background:#eaf2fd;border-radius:9px;margin:0;padding:12px 14px;font-size:13px}.backup-message.error{color:#9f3528;background:#fff0ed}.backup-empty{margin:0}.mac-import-file{color:var(--muted);gap:8px;font-size:13px;display:grid}.mac-import-file input{max-width:100%;color:var(--ink)}.mac-import-preview{gap:12px;min-width:0;display:grid}.mac-import-preview h3{margin:8px 0 0;font-size:15px}.mac-import-preview>p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.mac-import-mappings{gap:8px;max-height:380px;display:grid;overflow:auto}.mac-import-mappings label{border:1px solid var(--line);border-radius:9px;grid-template-columns:minmax(160px,1fr) minmax(220px,1.2fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.mac-import-mappings label span{gap:3px;min-width:0;font-weight:650;display:grid}.mac-import-mappings small{color:var(--muted);overflow-wrap:anywhere;font-size:10px;font-weight:450}.mac-import-mappings select{width:100%;min-width:0}.mac-import-cycle{color:var(--text);align-items:flex-start;gap:9px;font-size:13px;display:flex}.mac-import-cycle input{margin-top:2px}.mac-import-import-button{flex-wrap:wrap;gap:10px;display:flex}.app-workspace[data-theme=dark] .backup-message{color:#a9cff8;background:#213247}.app-workspace[data-theme=dark] .backup-message.error{color:#efaaa1;background:#402a29}@media (max-width:820px){.backup-card{padding:18px}.backup-row{flex-direction:column;align-items:flex-start}.backup-row button{align-self:flex-start}.mac-import-mappings label{grid-template-columns:1fr}}@media (max-width:1120px){.performance-record-row{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-record-discipline{grid-column:span 2}.performance-record-actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:820px){.preferences-grid{grid-template-columns:minmax(0,1fr)}.preferences-card{padding:18px}.performance-heading{flex-direction:column;align-items:flex-start}.performance-add-button{width:auto}.performance-card{padding:18px}.performance-card-heading{align-items:flex-start}.performance-filter-row{grid-template-columns:minmax(0,1fr)}.performance-date-range{flex-wrap:wrap}.performance-overview-content{flex-direction:column-reverse;align-items:flex-start}.performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}.performance-accuracy-donut{align-self:center}.performance-mode{align-self:stretch}.performance-mode button{flex:1}.performance-distribution{grid-template-columns:minmax(0,1fr);gap:20px}.performance-distribution-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline}.performance-distribution-summary span:nth-of-type(2){margin-top:0}.performance-record-row{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-record-discipline{grid-column:span 1}.performance-record-actions{grid-column:1/-1}.performance-form{grid-template-columns:minmax(0,1fr)}.performance-form-derived,.performance-form-actions{grid-column:auto}.performance-form-actions{justify-content:flex-start}}.cycle-heading{align-items:flex-start;margin-bottom:24px}.cycle-heading h1{letter-spacing:-.02em;align-items:center;gap:10px;margin:0 0 4px;font-size:clamp(26px,3vw,30px);font-weight:700;display:flex}.cycle-title-icon{color:var(--accent);font-size:.85em;line-height:1}.cycle-heading p{color:var(--muted);font-size:14px}.cycle-header-button{min-height:36px;color:var(--accent);cursor:pointer;white-space:nowrap;background:#ededed;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.cycle-header-button:hover:not(:disabled){background:#e3e3e6}.cycle-header-button:disabled{opacity:.55;cursor:default}.cycle-header-button.cycle-new-round{color:#248a3d}.cycle-block{gap:14px;margin-bottom:24px;display:grid}.cycle-block-title{margin:0;font-size:17px;font-weight:650}.cycle-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.cycle-summary article{background:var(--surface);border:0;border-radius:12px;grid-template-rows:auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;padding:16px;display:grid;box-shadow:0 4px 10px #0000000d}.cycle-summary-label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.cycle-summary-icon{border-radius:0;grid-row:auto;place-items:center;width:auto;height:auto;font-size:11px;font-style:normal;font-weight:400;line-height:1;display:inline-grid;background:0 0!important}.cycle-summary-icon.planned{color:#007aff}.cycle-summary-icon.completed{color:#34c759}.cycle-summary-icon.remaining{color:#ff9500}.cycle-summary-icon.progress{color:#af52de}.cycle-summary article>strong{font-size:22px;font-weight:700}.cycle-summary-progress{background:#e5e5ea;grid-column:auto;height:6px;margin:0}.cycle-summary-progress span{background:#34c759}.cycle-week{grid-template-columns:repeat(7,minmax(120px,1fr));align-items:start;gap:12px;padding:2px 1px 8px;display:grid;overflow-x:auto}.cycle-day{min-height:0;box-shadow:none;background:#fafafa;border:1px solid #0000000d;border-radius:12px;padding:0}.cycle-day h3{color:#fff;letter-spacing:0;text-align:center;border-radius:10px;min-height:0;margin:0;padding:8px 6px;font-size:12px;font-weight:700;display:block}.cycle-day-1 h3{color:#fff;background:#007aff}.cycle-day-2 h3{color:#fff;background:#34c759}.cycle-day-3 h3{color:#fff;background:#ff9500}.cycle-day-4 h3{color:#fff;background:#af52de}.cycle-day-5 h3{color:#fff;background:#ff3b30}.cycle-day-6 h3{color:#fff;background:#30b0c7}.cycle-day-7 h3{color:#fff;background:#5856d6}.cycle-day ul{gap:8px;margin:0;padding:8px;display:grid}.cycle-day-empty{min-height:0;color:var(--muted);text-align:center;border:0;margin:0;padding:20px 8px;font-size:12px;display:block}.cycle-item{width:100%;min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px;display:flex}.cycle-item:hover{box-shadow:0 2px 8px #0000001a}.cycle-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cycle-item.is-completed{opacity:.6;background:#fff;border:0}.cycle-dot-large{width:14px;height:14px}.cycle-item-text{flex:1;gap:2px;min-width:0;display:grid}.cycle-item-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.cycle-item.is-completed .cycle-item-name{color:var(--muted);text-decoration:line-through}.cycle-item-time{color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;font-size:11px;display:flex}.cycle-remaining{color:#ff9500}.cycle-slash,.cycle-planned-struck{color:var(--muted);font-size:9px}.cycle-check{color:#34c759;flex:none;font-size:13px;font-weight:700}.cycle-tip{color:var(--muted);background:#f0f0f0;border-radius:10px;margin:0;padding:12px;font-size:12px}.cycle-editor-list{flex-direction:column;gap:16px;margin:16px 0 0;display:flex}.cycle-editor-day-title{text-transform:capitalize;color:var(--muted);letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}.cycle-editor-day-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.cycle-editor-item{background:0 0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;transition:background .15s;display:flex}.cycle-editor-item:hover{background:#f2f5f3}.cycle-dot{border-radius:50%;flex:none;width:10px;height:10px}.cycle-editor-item-name{text-align:left;flex:1;font-size:14px}.cycle-editor-item-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.cycle-editor-item-check{color:#34c759;flex:none;font-size:14px;font-weight:700}.cycle-editor-item-edit{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 6px;font-size:12px}.cycle-editor-item-edit:hover{background:#eaf2fd}.cycle-editor-footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:16px;padding-top:12px;display:flex}.cycle-popup-overlay{z-index:30;background:#0000004d;place-items:center;padding:18px;animation:.2s cycle-popup-fade;display:grid;position:fixed;inset:0;overflow-y:auto}.cycle-popup{width:min(100%,420px);max-height:min(88dvh,640px);color:var(--ink);background:#fff;border-radius:16px;gap:16px;padding:24px;animation:.2s cycle-popup-scale;display:grid;overflow-y:auto;box-shadow:0 4px 20px #0003}@keyframes cycle-popup-fade{0%{opacity:0}to{opacity:1}}@keyframes cycle-popup-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cycle-popup-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cycle-popup-title{align-items:center;gap:10px;min-width:0;display:flex}.cycle-popup-title h2{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:600}.cycle-popup-close{color:#fff;cursor:pointer;background:#b8b8bd;border:0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;padding:0;font-size:11px;line-height:1;display:grid}.cycle-popup-close:hover{background:#9c9ca2}.cycle-popup-subtitle{color:var(--muted);margin:0;font-size:13px;font-weight:600}.cycle-popup-empty{color:var(--muted);margin:0;font-size:14px}.cycle-popup-notebooks{gap:8px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.cycle-popup-notebooks a,.cycle-popup-invalid{color:var(--ink);background:#f5f5f5;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:14px;text-decoration:none;display:flex}.cycle-popup-notebooks a:hover{background:#ececee}.cycle-popup-invalid{opacity:.6;cursor:not-allowed}.cycle-popup-arrow{color:var(--accent);font-weight:700}.cycle-popup-notebook-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cycle-popup-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;display:flex}.cycle-popup-study{color:#fff;cursor:pointer;background:#34c759;border:0;border-radius:10px;flex:100%;padding:11px;font-size:14px;font-weight:600}.cycle-popup-study:hover{background:#2fb350}.cycle-popup-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:13px;font-weight:600}.cycle-popup-link.danger{color:var(--danger)}.cycle-popup-link:disabled{opacity:.5;cursor:default}@media (max-width:760px){.cycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.cycle-week{grid-template-columns:repeat(7,minmax(130px,1fr))}.cycle-day,.cycle-day h3{padding-left:0;padding-right:0}.cycle-day h3{min-height:0;margin:0;padding:8px 6px;font-size:12px}.cycle-day ul{padding:8px}}@media (max-width:560px){.cycle-summary{grid-template-columns:minmax(0,1fr)}}.app-workspace[data-theme=dark] .cycle-header-button{color:#64a8ff;background:#2c2c2e}.app-workspace[data-theme=dark] .cycle-header-button:hover:not(:disabled){background:#3a3a3c}.app-workspace[data-theme=dark] .cycle-header-button.cycle-new-round{color:#5fd17d}.app-workspace[data-theme=dark] .cycle-summary article{box-shadow:none;background:#262628}.app-workspace[data-theme=dark] .cycle-summary-progress{background:#3a3a3c}.app-workspace[data-theme=dark] .cycle-day{background:#1f1f21;border-color:#ffffff0d}.app-workspace[data-theme=dark] .cycle-day-1 h3{color:#fff;background:#0a84ff}.app-workspace[data-theme=dark] .cycle-day-2 h3{color:#fff;background:#30d158}.app-workspace[data-theme=dark] .cycle-day-3 h3{color:#fff;background:#ff9f0a}.app-workspace[data-theme=dark] .cycle-day-4 h3{color:#fff;background:#bf5af2}.app-workspace[data-theme=dark] .cycle-day-5 h3{color:#fff;background:#ff453a}.app-workspace[data-theme=dark] .cycle-day-6 h3{color:#fff;background:#40c8e0}.app-workspace[data-theme=dark] .cycle-day-7 h3{color:#fff;background:#5e5ce6}.app-workspace[data-theme=dark] .cycle-item{color:#f5f5f7;background:#2c2c2e}.app-workspace[data-theme=dark] .cycle-item.is-completed{background:#2c2c2e}.app-workspace[data-theme=dark] .cycle-tip{background:#1f1f21}.app-workspace[data-theme=dark] .cycle-popup{color:#f5f5f7;background:#262628}.app-workspace[data-theme=dark] .cycle-popup-close{background:#636366}.app-workspace[data-theme=dark] .cycle-popup-notebooks a,.app-workspace[data-theme=dark] .cycle-popup-invalid{color:#f5f5f7;background:#333336}.app-workspace[data-theme=dark] .cycle-popup-notebooks a:hover{background:#3d3d40}.app-workspace[data-theme=dark] .cycle-popup-actions,.app-workspace[data-theme=dark] .cycle-editor-footer{border-color:#3a3a3c}.dashboard-section-heading{align-items:center}.dashboard-section-heading h2{letter-spacing:0;font-size:17px;font-weight:650}.dashboard-pill-button{color:var(--accent);cursor:pointer;background:#cfe3fb;border:0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500}.dashboard-pill-button:hover{background:#bfd9f7}.dashboard-time-card{background:#f2f2f2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:16px;display:flex}.dashboard-time-card>div{gap:8px;min-width:0;display:grid}.dashboard-time-card span{color:var(--muted);font-size:12px}.dashboard-time-card strong{font-variant-numeric:tabular-nums;font-size:26px}.dashboard-sparkline{width:80px;height:40px;color:var(--accent);flex:none}.dashboard-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.dashboard-stat-card{background:#f2f2f2;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px;display:flex}.dashboard-stat-card>div{gap:4px;display:grid}.dashboard-stat-card span{color:var(--muted);font-size:12px}.dashboard-stat-card strong{font-variant-numeric:tabular-nums;font-size:22px}.dashboard-stat-icon{border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;font-style:normal;display:grid}.dashboard-stat-icon.blue{color:#007aff;background:#dfeafb}.dashboard-stat-icon.green{color:#34c759;background:#e0f4e6}.dashboard-discipline-list{margin-top:12px}.dashboard-discipline-list li{border-bottom:0;align-items:center;padding:4px 0}.dashboard-discipline-list li:last-child{padding-bottom:4px}.dashboard-discipline-name{align-items:center;gap:12px;font-size:14px;display:flex}.dashboard-discipline-dot{border-radius:50%;flex:none;width:10px;height:10px}.dashboard-discipline-list li>strong{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400}.app-workspace[data-theme=dark] .dashboard-pill-button{color:#64a8ff;background:#1f3a5c}.app-workspace[data-theme=dark] .dashboard-time-card,.app-workspace[data-theme=dark] .dashboard-stat-card{background:#333336}.app-workspace[data-theme=dark] .dashboard-stat-icon.blue{background:#1f3a5c}.app-workspace[data-theme=dark] .dashboard-stat-icon.green{background:#1f3b29}.disciplines-heading{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:24px;display:grid}.disciplines-heading-text{text-align:center}.disciplines-heading h1{letter-spacing:-.02em;margin:0 0 2px;font-size:clamp(26px,3vw,30px);font-weight:700}.disciplines-heading p{color:var(--muted);font-size:13px}.disciplines-back{color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:13px;font-weight:600}.disciplines-add-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.disciplines-add-button:hover{background:var(--accent-strong)}.disciplines-add-button>span{font-size:15px;line-height:1}.discipline-list-heading{margin:24px 0 12px}.discipline-list-heading h2{font-size:15px;font-weight:650}.discipline-list-heading>span{color:var(--muted);background:0 0;border-radius:0;padding:0;font-size:12px;font-weight:400}.discipline-list{gap:12px}.discipline-card{background:var(--surface);width:100%;min-height:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;border:0;border-radius:12px;gap:12px;padding:14px;display:grid;box-shadow:0 4px 10px #0000000d}.discipline-card:hover:not(:disabled){box-shadow:0 4px 14px #0000001a}.discipline-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.discipline-card-heading{border-bottom:1px solid #ececec;align-items:center;gap:12px;min-width:0;padding-bottom:12px;display:flex}.discipline-card-heading>strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:500}.color-swatch{width:14px;height:14px;box-shadow:none;flex:0 0 14px}.discipline-card-chevron{color:#b5b5ba;font-size:18px;line-height:1}.discipline-card-metrics{justify-content:space-between;align-items:flex-start;gap:16px;margin:0;display:flex}.discipline-card-metrics>span{gap:2px;min-width:0;display:grid}.discipline-card-metrics>span>span{color:var(--muted);font-size:12px}.discipline-card-sessions{text-align:right}.discipline-card-metrics strong{font-size:14px;font-weight:700}.discipline-card-time{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.discipline-card-sessions strong{color:var(--accent)}.discipline-empty{text-align:center;justify-items:center;gap:6px;padding:40px 0;display:grid}.discipline-empty span{color:var(--muted);font-size:13px}.discipline-modal-overlay{z-index:30;background:#0000004d;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.discipline-modal{width:min(100%,440px);max-height:min(92dvh,700px);color:var(--ink);background:#fff;border-radius:14px;align-content:start;gap:18px;padding:20px;display:grid;overflow-y:auto;box-shadow:0 8px 30px #00000038}.discipline-modal-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.discipline-modal-bar h2{text-align:center;margin:0;font-size:15px;font-weight:650}.discipline-modal-link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:4px 0;font-size:14px}.discipline-modal-link.strong{text-align:right;font-weight:650}.discipline-modal-link:disabled{opacity:.45;cursor:default}.discipline-modal-field{gap:8px;min-width:0;display:grid}.discipline-modal-field>span{font-size:14px;font-weight:500}.discipline-modal-field input{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:7px;padding:7px 10px}.discipline-modal-field input:focus{border-color:var(--accent);outline:2px solid #007aff24}.discipline-color-grid{grid-template-columns:repeat(5,1fr);justify-items:center;gap:12px;display:grid}.discipline-color-option{color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:13px;font-weight:700;display:grid}.discipline-color-option.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #00000040}.discipline-color-option:disabled{opacity:.6;cursor:default}.discipline-modal-delete{border:0;border-top:1px solid var(--line);color:var(--danger);cursor:pointer;background:0 0;padding:12px 0 4px;font-size:14px}.discipline-modal-delete:disabled{opacity:.5;cursor:default}.discipline-modal .discipline-content{border-top:0;margin-top:0;padding-top:0}.discipline-modal .discipline-error{margin:0}@media (max-width:560px){.discipline-list{grid-template-columns:minmax(0,1fr)}.disciplines-heading{grid-template-columns:auto 1fr}.disciplines-heading>span:last-child{display:none}}.app-workspace[data-theme=dark] .discipline-card{box-shadow:none;color:#f5f5f7;background:#262628}.app-workspace[data-theme=dark] .discipline-card-heading{border-color:#3a3a3c}.app-workspace[data-theme=dark] .discipline-modal{color:#f5f5f7;background:#262628}.app-workspace[data-theme=dark] .discipline-modal-field input{color:#f5f5f7;background:#333336;border-color:#48484a}.app-workspace[data-theme=dark] .discipline-modal-delete{border-color:#3a3a3c}.app-workspace[data-theme=dark] .discipline-color-option.is-selected{box-shadow:0 0 0 2px #262628,0 0 0 4px #ffffff73}.discipline-card-metrics>span,.discipline-card-metrics .discipline-card-time{color:var(--ink)}.discipline-card-metrics .discipline-card-sessions strong{color:var(--accent)}.app-workspace[data-theme=dark] .discipline-card-metrics .discipline-card-time{color:#f5f5f7}.perf{--perf-track:#e8e8ec;gap:24px}.perf-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.perf-header-text{text-align:center}.perf-header h1{letter-spacing:-.02em;margin:0 0 2px;font-size:clamp(26px,3vw,30px);font-weight:700}.perf-header p{color:var(--muted);margin:0;font-size:13px}.perf-back{color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:13px;font-weight:600}.perf-card{background:var(--surface);border-radius:16px;align-content:start;gap:18px;min-width:0;padding:22px;display:grid;box-shadow:0 4px 10px #0000000d}.perf-card>p,.perf-card h2{margin:0}.perf-title{gap:3px;display:grid}.perf-title h2{margin:0;font-size:15px;font-weight:650}.perf-title p{color:var(--muted);margin:0;font-size:12px}.perf-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.perf-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:24px}.perf-overview-main{gap:18px;min-width:0;display:grid}.perf-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.perf-metric{gap:5px;min-width:0;display:grid}.perf-metric span{color:var(--muted);font-size:12px}.perf-metric strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.perf-donut{flex:none;max-width:100%;position:relative}.perf-donut svg{width:100%;height:100%;display:block}.perf-donut-label{text-align:center;pointer-events:none;align-content:center;justify-items:center;gap:3px;display:grid;position:absolute;inset:0}.perf-donut-label strong{font-variant-numeric:tabular-nums;font-weight:700}.perf-donut-label span{color:var(--muted);font-size:12px}.perf-filters{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.perf-filters label{gap:6px;min-width:0;display:grid}.perf-filters label>span{color:var(--muted);font-size:12px}.perf-filters select,.perf-filters input,.perf-register-select select,.discipline-modal-field select{border:1px solid var(--line);min-width:180px;min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:6px 10px;font-size:14px}.perf-filters label:nth-child(2) select{min-width:220px}.discipline-modal-field select{width:100%}.perf-segmented{background:#e8e8ec;border-radius:8px;gap:2px;padding:2px;display:inline-flex}.perf-segmented button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 14px;font-size:13px}.perf-segmented button[aria-pressed=true]{background:#fff;font-weight:600;box-shadow:0 1px 3px #0000002e}.perf-chart{width:100%;height:auto;max-height:280px;display:block}.perf-chart-grid{stroke:#e5e5ea;stroke-width:1px}.perf-chart-label{fill:var(--muted);font-size:11px}.perf-legend{color:var(--muted);justify-content:center;gap:16px;font-size:12px;display:flex}.perf-legend span{align-items:center;gap:6px;display:inline-flex}.perf-legend i{border-radius:50%;width:9px;height:9px}.perf-distribution{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.perf-distribution-metrics{gap:22px;width:150px;display:grid}.perf-distribution-divider{background:var(--line);align-self:stretch;width:1px;min-height:210px}.perf-distribution-list{flex:1;gap:6px;min-width:200px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.perf-distribution-list li{align-items:center;gap:10px;padding:4px 0;font-size:14px;display:flex}.perf-distribution-list i{border-radius:50%;flex:none;width:10px;height:10px}.perf-distribution-list span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.perf-distribution-list strong{font-variant-numeric:tabular-nums;font-weight:600}.perf-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:40px 0;font-size:14px;display:grid}.perf-empty strong{color:var(--ink);font-size:14px;font-weight:500}.perf-empty span:last-child{font-size:12px}.perf-empty-chart{min-height:150px;padding:20px 0}.perf-import .tec-import>button{background:var(--accent);color:#fff;border:0;border-radius:10px;width:auto;padding:10px 16px;font-size:14px;font-weight:600}.perf-import .tec-import>button:hover{background:var(--accent-strong)}.perf-register{gap:14px;display:grid}.perf-register>h2{margin:0;font-size:17px;font-weight:650}.perf-register-card{gap:14px;padding:20px}.perf-register-select select{min-width:220px}.perf-steppers{flex-wrap:wrap;gap:24px;display:flex}.perf-stepper{gap:4px;display:grid}.perf-stepper>span{color:var(--muted);font-size:14px;font-weight:500}.perf-stepper>div{align-items:center;gap:14px;display:flex}.perf-stepper strong{font-variant-numeric:tabular-nums;min-width:36px;font-size:22px;font-weight:700}.perf-stepper-buttons{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.perf-stepper-buttons button{width:26px;height:22px;color:var(--ink);cursor:pointer;background:#fff;border:0;padding:0;font-size:14px;line-height:1}.perf-stepper-buttons button+button{border-left:1px solid var(--line)}.perf-stepper-buttons button:disabled{color:#c4c4c8;cursor:default}.perf-register-actions{align-items:center;gap:12px;display:flex}.perf-save{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.perf-save.is-saved{background:#34c759}.perf-save:disabled{opacity:.5;cursor:default}.perf-saved-note{color:#248a3d;font-size:12px}.perf-count{color:var(--muted);font-size:12px}.perf-table{display:grid;overflow-x:auto}.perf-row{font-variant-numeric:tabular-nums;border-top:1px solid #ececec;grid-template-columns:100px minmax(140px,1fr) 80px 70px 80px 90px 28px;align-items:center;gap:12px;min-width:640px;padding:13px 12px;font-size:14px;display:grid}.perf-row>span:nth-child(n+3):not(:last-child){text-align:right}.perf-row-head{color:var(--muted);border-top:0;padding-top:0;padding-bottom:8px;font-size:12px}.perf-row-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.perf-row-percent{color:var(--accent);font-weight:600}.perf-row-menu{place-items:center;display:grid;position:relative}.perf-menu-button{width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:16px;line-height:1}.perf-menu-button:hover{background:#f0f0f2}.perf-menu{z-index:10;background:#fff;border-radius:8px;min-width:130px;padding:4px;display:grid;position:absolute;top:30px;right:0;box-shadow:0 4px 18px #00000038}.perf-menu button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;padding:7px 10px;font-size:13px}.perf-menu button:hover{background:#f0f0f2}.perf-menu button.danger{color:var(--danger)}.perf-modal-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.perf-modal-derived{color:var(--muted);background:#f2f2f2;border-radius:8px;gap:24px;padding:10px 12px;font-size:12px;display:flex}.perf-modal-derived strong{color:var(--ink);margin-left:4px;font-size:14px}@media (max-width:820px){.perf-overview{grid-template-columns:minmax(0,1fr);justify-items:center}.perf-overview-main{width:100%}.perf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.perf-distribution-divider{display:none}}.app-workspace[data-theme=dark] .perf{--perf-track:#3a3a3c}.app-workspace[data-theme=dark] .perf-card{box-shadow:none;background:#262628}.app-workspace[data-theme=dark] .perf-filters select,.app-workspace[data-theme=dark] .perf-filters input,.app-workspace[data-theme=dark] .perf-register-select select,.app-workspace[data-theme=dark] .discipline-modal-field select{color:#f5f5f7;background:#333336;border-color:#48484a}.app-workspace[data-theme=dark] .perf-segmented{background:#3a3a3c}.app-workspace[data-theme=dark] .perf-segmented button{color:#f5f5f7}.app-workspace[data-theme=dark] .perf-segmented button[aria-pressed=true]{background:#636366}.app-workspace[data-theme=dark] .perf-chart-grid{stroke:#3a3a3c}.app-workspace[data-theme=dark] .perf-stepper-buttons button{color:#f5f5f7;background:#333336}.app-workspace[data-theme=dark] .perf-stepper-buttons,.app-workspace[data-theme=dark] .perf-stepper-buttons button+button{border-color:#48484a}.app-workspace[data-theme=dark] .perf-row{border-color:#3a3a3c}.app-workspace[data-theme=dark] .perf-menu{background:#333336}.app-workspace[data-theme=dark] .perf-menu button,.app-workspace[data-theme=dark] .perf-menu-button{color:#f5f5f7}.app-workspace[data-theme=dark] .perf-menu button:hover,.app-workspace[data-theme=dark] .perf-menu-button:hover{background:#48484a}.app-workspace[data-theme=dark] .perf-modal-derived{background:#333336}.app-workspace[data-theme=dark] .perf-distribution-divider{background:#3a3a3c}.perf-card-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.perf-delete-all{color:var(--danger);cursor:pointer;background:#fff;border:1px solid #f1b9b4;border-radius:7px;padding:5px 12px;font-size:13px}.perf-delete-all:hover:not(:disabled){background:#fff3f2}.perf-delete-all:disabled{opacity:.45;cursor:default}.perf-notice{color:#248a3d;margin:0;font-size:13px}.app-workspace[data-theme=dark] .perf-delete-all{color:#ff8a80;background:#333336;border-color:#6b3b38}.hist{grid-template-columns:minmax(0,1fr);gap:24px;width:min(100% - 32px,1180px);margin:32px auto}.hist>*{min-width:0}.hist-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.hist-header-text{text-align:center}.hist-header-text h1{letter-spacing:-.02em;margin:0 0 2px;font-size:clamp(26px,3vw,30px);font-weight:700}.hist-header-text p{color:var(--muted);margin:0;font-size:13px}.hist-header-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.hist-add{width:28px;height:28px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hist-add svg{width:20px;height:20px}.hist-add circle{fill:currentColor}.hist-add path{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round}.hist-add:disabled{opacity:.45;cursor:default}.hist-filters{gap:16px;display:grid}.hist-filter{gap:8px;min-width:0;display:grid}.hist-label{color:var(--ink);font-size:13px;font-weight:500}.hist-chips{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.hist-chips::-webkit-scrollbar{display:none}.hist-chip{color:#000000b3;cursor:pointer;white-space:nowrap;background:#ededed;border:0;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.hist-chip:hover:not(.selected){background:#e4e4e6}.hist-chip.selected{background:var(--accent);color:#fff}.hist-chip-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.hist-range{background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-self:start;align-items:end;gap:12px;padding:12px;display:flex}.hist-range label{gap:4px;display:grid}.hist-range label>span{color:var(--muted);font-size:12px}.hist-range input,.hist-discipline select{border:1px solid var(--line);min-height:30px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:4px 8px;font-size:13px}.hist-discipline select{width:min(100%,200px)}.hist-section{gap:12px;min-width:0;display:grid}.hist-section-title{margin:0;font-size:15px;font-weight:650}.hist-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.hist-section-heading>span{color:var(--muted);font-size:12px}.hist-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.hist-summary-card{background:var(--surface);border-radius:12px;gap:8px;min-width:0;padding:14px;display:grid;box-shadow:0 4px 10px #0000000d}.hist-summary-title{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.hist-summary-title svg{fill:none;width:13px;height:13px;stroke:var(--tone);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.hist-summary-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:22px;font-weight:700}.tone-blue{--tone:#007aff}.tone-green{--tone:#34c759}.tone-orange{--tone:#ff9500}.tone-purple{--tone:#af52de}.hist-card{background:var(--surface);border-radius:16px;gap:12px;min-width:0;padding:20px;display:grid;box-shadow:0 4px 10px #0000000d}.hist-chart{grid-template-rows:140px auto;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;display:grid}.hist-chart-axis{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;margin:-6px 0;font-size:10px;display:flex}.hist-chart-plot{background-image:linear-gradient(0deg,#e5e5ea 1px,#0000 1px);background-position:bottom;border-top:1px solid #e5e5ea;position:relative}.hist-chart-bars{align-items:end;gap:6px;padding:0 4px;display:grid;position:absolute;inset:0}.hist-chart-bar{justify-content:center;align-items:end;height:100%;display:flex}.hist-chart-bar>span{background:linear-gradient(#4da3ff,#007aff);border-radius:4px 4px 0 0;width:min(100%,40px)}.hist-chart-labels{color:var(--muted);text-align:center;text-transform:lowercase;gap:6px;padding:0 4px;font-size:10px;font-weight:500;display:grid}.hist-chart-labels span{white-space:nowrap;overflow:hidden}.hist-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hist-row{background:var(--surface);width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;border:0;border-radius:12px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 2px 6px #00000008}.hist-row:hover:not(:disabled){box-shadow:0 3px 10px #00000014}.hist-row:disabled{cursor:default;opacity:.7}.hist-row-icon{border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.hist-row-icon svg{fill:#fff;stroke:#fff;stroke-width:1.2px;stroke-linejoin:round;width:14px;height:14px}.hist-row-main{flex:auto;gap:3px;min-width:0;display:grid}.hist-row-main>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.hist-row-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:12px;display:flex}.hist-row-meta>span{align-items:center;gap:4px;display:inline-flex}.hist-row-meta svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.hist-row-duration{flex:none;justify-items:end;gap:2px;display:grid}.hist-row-duration strong{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:700}.hist-row-duration span{color:var(--muted);font-size:11px}.hist-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:40px 16px;display:grid}.hist-empty svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.4;width:36px;height:36px;margin-bottom:4px}.hist-empty strong{font-size:14px;font-weight:500}.hist-empty span{opacity:.75;font-size:12px}.hist-empty-text{color:var(--muted);text-align:center;margin:0;padding:40px 16px}.hist-modal{gap:16px;width:min(100%,400px)}.hist-modal-title{border-bottom:1px solid var(--line);text-align:center;margin:0 0 4px;padding-bottom:14px;font-size:15px;font-weight:650}.hist-modal .discipline-modal-field>span{color:var(--muted)}.hist-stepper{justify-content:center;align-items:center;gap:12px;display:flex}.hist-stepper strong{text-align:center;font-variant-numeric:tabular-nums;min-width:80px;font-size:19px;font-weight:700}.hist-step{color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:18px;font-weight:700;line-height:1;display:grid}.hist-step-minus{background:#ff3b30cc}.hist-step-plus{background:#34c759cc}.hist-step:disabled{opacity:.35;cursor:default}.hist-modal-footer{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding-top:14px;display:grid}.hist-modal-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;padding:5px 14px;font-size:13px}.hist-modal-button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.hist-modal-button.danger{color:#fff;background:#ff3b30;border-color:#ff3b30}.hist-modal-button:disabled{opacity:.45;cursor:default}.hist-modal-delete{color:#ff3b30;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:13px}.hist-modal-delete:disabled{opacity:.45;cursor:default}.hist-modal-confirm{border-top:1px solid var(--line);text-align:center;gap:10px;padding-top:14px;font-size:13px;display:grid}.hist-modal-confirm>div{justify-content:center;gap:8px;display:flex}@media (max-width:760px){.hist{margin:20px auto}.hist-header{grid-template-columns:auto 1fr auto}.hist-header-text h1{font-size:22px}.hist-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hist-row{gap:10px;padding:12px}}.app-workspace[data-theme=dark] .hist-chip:not(.selected){color:#fffc;background:#2e2e2e}.app-workspace[data-theme=dark] .hist-chip:hover:not(.selected){background:#383838}.app-workspace[data-theme=dark] .hist-summary-card,.app-workspace[data-theme=dark] .hist-card,.app-workspace[data-theme=dark] .hist-row,.app-workspace[data-theme=dark] .hist-range{background:#262626}.app-workspace[data-theme=dark] .hist-chart-plot{background-image:linear-gradient(0deg,#3a3a3c 1px,#0000 1px);border-color:#3a3a3c}.app-workspace[data-theme=dark] .hist-range input,.app-workspace[data-theme=dark] .hist-discipline select,.app-workspace[data-theme=dark] .discipline-modal-field input[type=date],.app-workspace[data-theme=dark] .discipline-modal-field input[type=time],.app-workspace[data-theme=dark] .hist-modal-button:not(.primary):not(.danger){color:#f5f5f7;background:#333336;border-color:#48484a}.timer-card{justify-items:center}.timer-reading{justify-items:center;width:100%}.timer-dial{width:min(240px,100%)}.timer-dial-track{stroke:#e3effd}.timer-clock{font-size:clamp(32px,6vw,44px);font-weight:800}.timer-field-compact{width:min(190px,100%);margin:6px 0 0}.timer-field-compact select{text-align:center;background:#ececee;border:0;border-radius:8px;min-height:32px;padding:6px 10px;font-size:14px;font-weight:500}.timer-session-card{background:#ececee;border-radius:10px;align-items:center;gap:10px;min-width:150px;padding:10px 16px;display:flex}.timer-session-card div{gap:1px;display:grid}.timer-session-card strong{font-size:13px}.timer-session-card small{color:var(--muted);font-size:12px}.timer-dot{background:#f5b82e;border-radius:50%;flex:none;width:9px;height:9px}.timer-controls{justify-content:center;align-items:center;gap:14px;margin-top:8px;display:flex}.timer-ctl{cursor:pointer;background:#ececee;border:0;border-radius:12px;place-items:center;width:48px;height:48px;padding:0;display:grid}.timer-ctl-main{background:var(--accent);border-radius:16px;width:64px;height:64px}.timer-ctl-main:hover:not(:disabled){background:var(--accent-strong)}.timer-ctl:disabled{opacity:.5;cursor:not-allowed}.timer-ctl-ghost{cursor:default;opacity:.75}.timer-ico-stop{background:#a0a0a6;border-radius:2px;width:14px;height:14px}.timer-ico-check{background:#a0a0a6;border-radius:50%;width:18px;height:18px;position:relative;-webkit-mask:none}.timer-ico-check:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.timer-ico-play{border:10px solid #0000;border-left:17px solid #fff;border-right-width:0;width:0;height:0;margin-left:4px}.timer-ico-pause{border-left:5px solid #fff;border-right:5px solid #fff;width:16px;height:20px}.timer-controls button.timer-ctl:not(.timer-ctl-main) .timer-ico-stop,.timer-controls button.timer-ctl:not(.timer-ctl-main) .timer-ico-check{background:#6e6e73}
