@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--accent:#8a8cf0;--bg:#0a0a0a;--surface:#151516;--border:#ffffff1a;--text:#fafafa;--text-muted:#8a8a8a;--text-faint:#6b6b6b;--ring-track:#242426;--ring-dim:#4a4a4d;--overlay-weak:#ffffff0a;--overlay:#ffffff14;--glow-strong:#fafafa59;--glow-soft:#fafafa26;--shadow:#0006;--success:#3fb950;--habit-grid-base:var(--success);--habit-grid-empty:var(--ring-track);--habit-grid-0:#3b3b3f;--habit-grid-1:color-mix(in srgb, var(--habit-grid-base) 55%, transparent);--habit-grid-2:color-mix(in srgb, var(--habit-grid-base) 70%, transparent);--habit-grid-3:color-mix(in srgb, var(--habit-grid-base) 85%, transparent);--habit-grid-4:var(--habit-grid-base);--focus-1:color-mix(in srgb, var(--accent) 40%, var(--surface));--focus-2:color-mix(in srgb, var(--accent) 60%, var(--surface));--focus-3:color-mix(in srgb, var(--accent) 80%, var(--surface));--focus-4:var(--accent);--habit-track:color-mix(in srgb, var(--habit-grid-base) 20%, var(--surface));--font-body:"Inter", system-ui, "Segoe UI", sans-serif;--font-display:"Space Grotesk", var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}:root[data-theme=light]{--bg:#f4f2ee;--surface:#fff;--border:#0000001a;--text:#171717;--text-muted:#5c5a55;--text-faint:#6f6b64;--ring-track:#e3e0da;--ring-dim:#a6a29b;--overlay-weak:#0000000a;--overlay:#0000000f;--glow-strong:#17171740;--glow-soft:#1717171a;--shadow:#0000001f;--habit-grid-0:#d5d2cb;--focus-1:var(--accent);--focus-2:color-mix(in srgb, var(--accent) 82%, black);--focus-3:color-mix(in srgb, var(--accent) 64%, black);--focus-4:color-mix(in srgb, var(--accent) 46%, black);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);min-height:100svh;color:var(--text);margin:0;transition:background-color .3s,color .3s}.app{max-width:560px;margin:0 auto;padding:32px 20px 48px}.app-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.header-tools{flex:none;align-items:center;gap:10px;display:flex}.streak-badge{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text);align-items:center;gap:4px;font-size:14px;font-weight:600;display:flex}.streak-badge .flame{width:14px;height:14px}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .25s;display:flex}.theme-toggle:hover{color:var(--text)}.toggle-icon{width:18px;height:18px;transition:opacity .3s,transform .4s;position:absolute}.toggle-icon.moon{opacity:1;transform:rotate(0)scale(1)}.toggle-icon.sun{opacity:0;transform:rotate(90deg)scale(.4)}:root[data-theme=light] .toggle-icon.moon{opacity:0;transform:rotate(-90deg)scale(.4)}:root[data-theme=light] .toggle-icon.sun{opacity:1;transform:rotate(0)scale(1)}.tabs{border:1px solid var(--border);background:var(--overlay-weak);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 24px var(--shadow);border-radius:9999px;align-items:center;gap:4px;padding:5px;display:inline-flex}.tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:9px 14px;font-size:16px;font-weight:500;transition:color .25s,background-color .25s;position:relative}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--overlay)}.tab:before{content:"";background:var(--text);width:32px;height:3px;box-shadow:0 0 10px 2px var(--glow-strong), 0 0 24px 6px var(--glow-soft);opacity:0;border-radius:3px;transition:opacity .3s;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.tab.active:before{opacity:1}.app-content{padding-top:28px}.app-content h2,.chart-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin:0 0 16px;font-size:12px;font-weight:500}.placeholder{color:var(--text-muted)}.add-task{gap:10px;margin-bottom:24px;display:flex}.add-task input{min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;flex:1;padding:12px 14px}.add-task input::placeholder{color:var(--text-muted)}.add-task button{font:inherit;color:var(--bg);background:var(--text);cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-weight:500}.add-task .minutes-input{text-align:center;flex:none;width:72px}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.task-row{align-items:center;gap:10px;display:flex}.subtask-list{border-left:1px solid var(--border);flex-direction:column;gap:8px;margin:0 0 0 9px;padding:0 0 0 17px;list-style:none;display:flex}.subtask-item{align-items:center;gap:10px;font-size:14px;display:flex}.subtask-item .task-label input{width:17px;height:17px}.subtask-item .task-label input:after{border-width:0 1.8px 1.8px 0;width:4px;height:8px}.subtask-minutes{width:56px;font:inherit;text-align:center;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;padding:5px 2px;font-size:12px}.subtask-minutes:hover,.subtask-minutes:focus{border-color:var(--border);color:var(--text)}.subtask-minutes::placeholder{color:var(--text-faint)}.task-minutes-calcule{text-align:center;width:60px;color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:default;flex:none;font-size:13px}.subtask-item .task-label span{color:var(--text-muted)}.subtask-item .task-label.done span{color:var(--text-faint)}.subtask-add{align-items:center;gap:10px;margin-left:26px;display:flex}.subtask-add input{min-width:0;font:inherit;color:var(--text);border:1px solid var(--border);background:0 0;border-radius:12px;flex:1;padding:10px 14px;font-size:14px}.subtask-add input::placeholder{color:var(--text-faint)}.subtask-add input:focus{border-color:var(--text-muted);outline:none}.subtask-add-btn{width:42px;height:42px;font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.subtask-add-btn:hover,.subtask-add-btn:focus-visible{color:var(--text)}.drag-handle{color:var(--text-faint);cursor:grab;touch-action:none;background:0 0;border:none;flex:none;align-items:center;padding:4px 2px;display:flex}.drag-handle:active{cursor:grabbing}.drag-handle svg{fill:currentColor;width:10px;height:16px}.drag-handle:hover,.drag-handle:focus-visible{color:var(--text-muted)}.subtask-item.en-cours{opacity:.55}.row-btn{width:26px;height:26px;font:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.row-btn:hover,.row-btn:focus-visible{color:var(--text);background:var(--overlay-weak)}.chevron{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:transform .15s}[aria-expanded=false] .chevron{transform:rotate(180deg)}.subtask-counter{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.task-label{cursor:pointer;flex:1;align-items:center;gap:12px;display:flex}.task-label input{appearance:none;border:1.5px solid var(--text-faint);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-content:center;width:20px;height:20px;margin:0;transition:background-color .15s,border-color .15s;display:grid}.task-label input:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-2px;transition:transform .12s;transform:rotate(45deg)scale(0)}.task-label input:checked{background:var(--success);border-color:var(--success)}.task-label input:checked:after{transform:rotate(45deg)scale(1)}.task-label input:hover:not(:disabled){border-color:var(--text-muted)}.task-label input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-label input:disabled{cursor:default;opacity:.5}.task-label span{overflow-wrap:anywhere;min-width:0}.task-label.done span{color:var(--text-muted);text-decoration:line-through}.delete-btn{font:inherit;color:#e5484d;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px}.delete-btn:hover,.delete-btn:focus-visible{opacity:1;background:var(--overlay)}.legal-links{color:var(--text-faint);justify-content:center;align-items:center;gap:8px;margin:40px 0 0;font-size:12px;display:flex}.legal-links a{color:var(--text-faint);text-decoration:none}.legal-links a:hover,.legal-links a:focus-visible{color:var(--text-muted);text-decoration:underline}.habit-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.habit-label{cursor:pointer;flex:1;align-items:center;gap:12px;display:flex}.habit-label input{width:18px;height:18px;accent-color:var(--text);cursor:pointer}.habit-label span{overflow-wrap:anywhere;min-width:0}.habit-streak{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-faint);text-align:right;min-width:20px;font-size:13px}.task-minutes{width:60px;font:inherit;text-align:center;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 2px;font-size:13px}.task-minutes:hover,.task-minutes:focus{border-color:var(--border);color:var(--text)}.task-minutes::placeholder{color:var(--text-faint)}.move-btn{font:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:15px}.move-btn:hover{color:var(--text);background:var(--overlay)}.add-priority{gap:8px;margin-bottom:24px;display:flex}.task-section{margin-bottom:24px}.task-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:500;display:flex}.task-counter{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:normal;color:var(--text)}.task-warning{color:var(--text-muted);margin:-4px 0 12px;font-size:13px}.task-empty,.chart-empty{color:var(--text-faint);margin:0;font-size:14px}.lock-banner{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.lock-icon{flex-shrink:0;width:15px;height:15px}.cap-message{color:var(--text-muted);background:var(--overlay-weak);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 24px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.cap-action{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.cap-action:hover,.cap-action:focus-visible{background:var(--overlay)}.move-btn:disabled{opacity:.3;cursor:default}.task-list.locked{opacity:.4}.focus-question{color:var(--text-muted);text-align:center;max-width:460px;margin:20px auto;padding:0;font-size:14px;font-style:italic;font-weight:400;line-height:1.5}.focus-question p{margin:0}.focus-question cite{color:var(--text-faint);margin-top:8px;font-size:12px;font-style:normal;display:block}.focus-question cite:before{content:"— "}.focus-question u{text-underline-offset:2px}.chrono{text-align:center}.current-task{overflow-wrap:break-word;max-width:420px;margin:4px auto 0;font-size:18px;font-weight:500}.current-task small{color:var(--text-muted);margin-top:2px;font-size:13px;font-weight:400;display:block}.timer-ring-wrap{aspect-ratio:1;width:min(280px,76vw);margin:20px auto 16px;position:relative}.timer-ring{width:100%;height:100%;display:block}.timer-ring-track{fill:none;stroke:var(--ring-track);stroke-width:5px}.timer-ring-fill{fill:none;stroke:var(--text);stroke-width:5px;stroke-linecap:round}.timer-ring-fill.is-armed,.timer-ring-fill.is-rest{stroke:var(--ring-dim)}.timer-ring-fill.is-reached{stroke:var(--success)}.timer-centre{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.timer-display{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:56px;font-weight:700;line-height:1}.timer-display.is-compact{font-size:44px}.timer-ring-wrap.is-paused .timer-display{color:var(--text-muted)}.timer-sub{color:var(--text-muted);margin:0;font-size:13px}.timer-finished{margin:0 0 16px;font-weight:500}.timer-finished.is-reached{min-height:24px;color:var(--success);font-size:14px}.timer-controls{justify-content:center;gap:10px;margin-bottom:28px;display:flex}.primary-btn{font:inherit;color:var(--bg);background:var(--text);cursor:pointer;border:none;border-radius:12px;padding:12px 26px;font-weight:500}.secondary-btn{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;padding:12px 26px;font-weight:500}.break-offer{flex-direction:column;align-items:center;gap:12px;display:flex}.break-offer-label{color:var(--text-muted);margin:0;font-size:14px}.break-offer-choices{gap:8px;display:flex}.flame{width:20px;height:20px;color:var(--text-faint)}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:40px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-muted);margin:8px 0 0;font-size:14px}.chart-title{margin-top:32px}.chart-subtitle{color:var(--text-muted);margin:-8px 0 14px;font-size:13px}.period-switch{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.segment{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;padding:6px 16px;font-size:14px;font-weight:500}.segment.active{color:var(--bg);background:var(--text);border-color:var(--text)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 8px 4px}.quality-ask{flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;display:flex}.quality-choices{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.update-prompt{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:200;max-width:calc(100vw - 32px);color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px var(--shadow);border-radius:12px;align-items:center;gap:14px;padding:12px 12px 12px 18px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.update-prompt-text{color:var(--text-muted)}.update-prompt-btn{font:inherit;color:var(--bg);background:var(--accent);cursor:pointer;border:none;border-radius:9999px;padding:7px 16px;font-weight:500}.update-prompt-dismiss{font:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px}.update-prompt-dismiss:hover{color:var(--text)}@media (width<=768px){.app-header{justify-content:flex-end}.header-tools{position:static;transform:none}.tabs{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:100;background:var(--surface);gap:4px;padding:5px;display:flex;position:fixed}.tab{flex:1;padding:12px 4px;font-size:15px}.app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.update-prompt{max-width:none;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:none}}@media (width<=480px){.app{padding:20px 16px calc(88px + env(safe-area-inset-bottom,0px))}.task-row{flex-wrap:wrap;row-gap:8px}.task-row .task-label{flex:calc(100% - 24px)}.task-row .task-minutes{margin-left:auto}.app-content{padding-top:20px}.focus-question{margin:20px auto;font-size:13px}.task-select{flex-direction:column;gap:8px}.task-select select{max-width:100%}.timer-display{font-size:44px}.current-task{font-size:16px}.stat-value{font-size:32px}}.consent{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:300;background:var(--surface);border:1px solid var(--border);width:calc(100vw - 32px);max-width:460px;box-shadow:0 8px 32px var(--shadow);border-radius:14px;flex-direction:column;gap:16px;padding:18px 20px;display:flex;position:fixed;transform:translate(-50%)}.consent-corps{flex-direction:column;gap:6px;display:flex}.consent-titre{color:var(--text);margin:0;font-size:14px;font-weight:600}.consent-texte{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.55}.consent-texte a{color:var(--accent);text-underline-offset:2px}.consent-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.consent-btn{font:inherit;color:var(--text);border:1px solid var(--border-strong,var(--border));cursor:pointer;background:0 0;border-radius:9999px;padding:9px 16px;font-size:14px;font-weight:500;transition:border-color .15s,background-color .15s}.consent-btn:hover{background:var(--bg);border-color:var(--accent)}.consent-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.consent-reopen{width:34px;height:34px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.consent-reopen svg{width:17px;height:17px}.consent-reopen:hover{color:var(--text-muted)}.consent-reopen:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.consent-fermer{font:inherit;color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:center;padding:0;font-size:13px;text-decoration:underline}.consent-fermer:hover{color:var(--text)}.consent-fermer:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.habit-grid{--cell:11px;--gap:3px;--month-height:12px;min-width:0;padding:16px 14px 14px}.habit-grid-empty{color:var(--text-muted);text-align:center;margin:0;padding:18px 0;font-size:13px}.habit-grid-zone{gap:6px;min-width:0;display:flex}.habit-grid-initials{grid-template-rows:repeat(7, var(--cell));gap:var(--gap);padding-top:calc(var(--month-height) + var(--gap));flex-shrink:0;display:grid}.habit-grid-initial{height:var(--cell);color:var(--text-faint);align-items:center;font-size:9px;line-height:1;display:flex}.habit-grid-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ring-dim) transparent;flex:1;min-width:0;overflow:auto hidden}.habit-grid-scroll::-webkit-scrollbar{height:6px}.habit-grid-scroll::-webkit-scrollbar-thumb{background:var(--ring-dim);border-radius:3px}.habit-grid-track{width:max-content}.habit-grid-months{grid-template-columns:repeat(53, var(--cell));gap:var(--gap);height:var(--month-height);margin-bottom:var(--gap);display:grid}.habit-grid-month{font-size:9.5px;line-height:var(--month-height);color:var(--text-faint);white-space:nowrap}.habit-grid-cells{grid-template-rows:repeat(7, var(--cell));grid-auto-flow:column;grid-auto-columns:var(--cell);gap:var(--gap);display:grid}.habit-grid-cell{width:var(--cell);height:var(--cell);background:var(--habit-grid-empty);border-radius:2px}.habit-grid-cell.is-empty{background:var(--habit-grid-empty)}.habit-grid-cell.is-future{border:1px dashed var(--habit-grid-empty);background:0 0}.habit-grid-cell.lv0{background:var(--habit-grid-0)}.habit-grid-cell.lv1{background:var(--habit-grid-1)}.habit-grid-cell.lv2{background:var(--habit-grid-2)}.habit-grid-cell.lv3{background:var(--habit-grid-3)}.habit-grid-cell.lv4{background:var(--habit-grid-4)}.habit-grid-cells .habit-grid-cell{cursor:default}.habit-grid-cells .habit-grid-cell:hover{outline:1px solid var(--text-muted);outline-offset:1px}.habit-grid-foot{justify-content:space-between;align-items:center;gap:12px;min-height:16px;margin-top:10px;display:flex}.habit-grid-tip{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:1;margin:0;font-size:12px;overflow:hidden}.habit-grid-legend{flex-shrink:0;align-items:center;gap:3px;display:flex}.habit-grid-legend-text{color:var(--text-faint);font-size:11px}@media (width<=480px){.habit-grid{--cell:10px;--gap:2.5px;padding:14px 12px}}.chart-card.padded{min-width:0;padding:14px 14px 12px}.chart-caption{color:var(--text-muted);margin:10px 0 0;font-size:13px}.progress-hero{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 16px 16px;display:flex}.progress-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.progress-tiles>:last-child:nth-child(odd){grid-column:1/-1}.progress-tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.progress-tile .stat-value{font-size:24px}.progress-hero .stat-label,.progress-tile .stat-label{margin-top:6px;font-size:13px}.stat-delta{color:var(--text-muted);margin:4px 0 0;font-size:12px}.progress-trend{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.progress-trend-bars{align-items:flex-end;gap:3px;height:44px;display:flex}.progress-trend-bars span{background:var(--ring-dim);border-radius:2px 2px 0 0;width:6px}.progress-trend-bars span.now{background:var(--accent)}.progress-trend-label{color:var(--text-faint);font-size:11px}.chart-tooltip{background:var(--text);max-width:220px;color:var(--bg);border-radius:8px;padding:7px 10px;font-size:12px;line-height:1.35}.chart-tooltip strong{font-size:13px;font-weight:600;display:block}.bar-top-label{fill:var(--text);font-size:11px;font-weight:500}.focus-heatmap{grid-template-columns:34px repeat(7,minmax(0,1fr));align-items:center;gap:3px;display:grid}.heat-head{color:var(--text-faint);text-align:center;font-size:11px}.heat-row{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.heat-cell{background:var(--ring-track);border-radius:4px;height:24px}.heat-cell.lv1{background:var(--focus-1)}.heat-cell.lv2{background:var(--focus-2)}.heat-cell.lv3{background:var(--focus-3)}.heat-cell.lv4{background:var(--focus-4)}.focus-heatmap .heat-cell:hover{outline:1px solid var(--text-muted);outline-offset:1px}.heat-foot{justify-content:space-between;align-items:center;gap:12px;min-height:16px;margin-top:10px;display:flex}.heat-tip{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:1;margin:0;font-size:12px;overflow:hidden}.heat-scale{color:var(--text-faint);flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.heat-scale .heat-cell{border-radius:3px;width:12px;height:12px}.quality-stack{gap:2px;height:14px;display:flex}.quality-stack span{flex-basis:0;min-width:2px}.quality-stack span:first-child{border-radius:4px 0 0 4px}.quality-stack span:last-child{border-radius:0 4px 4px 0}.quality-stack span:only-child{border-radius:4px}.quality-stack .q4,.quality-legend .q4{background:var(--focus-4)}.quality-stack .q3,.quality-legend .q3{background:var(--focus-3)}.quality-stack .q2,.quality-legend .q2{background:var(--focus-2)}.quality-stack .q1,.quality-legend .q1{background:var(--focus-1)}.quality-stack .q0,.quality-legend .q0{background:var(--ring-track)}.quality-legend .q0{box-shadow:inset 0 0 0 1px var(--ring-dim)}.quality-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:14px 0 0;padding:0;list-style:none;display:grid}.quality-legend li{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.quality-legend i{border-radius:3px;flex:none;width:10px;height:10px}.quality-legend span{color:var(--text-muted);overflow-wrap:anywhere}.quality-legend b{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.habit-rates-head,.habit-rates li{grid-template-columns:minmax(0,1fr) minmax(70px,150px) 44px 50px;align-items:center;gap:10px;display:grid}.habit-rates-head{color:var(--text-faint);margin-bottom:10px;font-size:11px}.habit-rates-head span:nth-child(n+3){text-align:right}.habit-rates{flex-direction:column;gap:12px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.habit-rate-name{overflow-wrap:anywhere}.habit-meter{background:var(--habit-track);border-radius:4px;height:8px;overflow:hidden}.habit-meter span{background:var(--habit-grid-base);border-radius:4px 0 0 4px;height:100%;display:block}.habit-rate-value{text-align:right;font-variant-numeric:tabular-nums}.habit-rate-streak{text-align:right;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:13px}.progress-divider{border-top:1px solid var(--border);margin:44px 0 0;padding-top:28px}.progress-divider h2{margin-bottom:6px}.progress-divider p{color:var(--text-muted);margin:0;font-size:13px}.insights{margin:0;padding:0;list-style:none}.insights li{border-top:1px solid var(--border);padding:12px 0;font-size:15px}.insights li:first-child{border-top:none;padding-top:0}.insights small{color:var(--text-muted);margin-top:2px;font-size:12.5px;display:block}.records{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:0;display:grid}.records dt{color:var(--text-muted);font-size:12px}.records dd{font-family:var(--font-display);margin:2px 0 0;font-size:20px;font-weight:600}.records dd small{font-family:var(--font-body);color:var(--text-muted);font-size:12px;font-weight:400;display:block}@media (width<=480px){.progress-tile{padding:12px}.habit-rates-head,.habit-rates li{grid-template-columns:minmax(0,1fr) minmax(56px,96px) 40px 44px;gap:8px}.quality-legend{grid-template-columns:minmax(0,1fr)}}.chrono h2{text-align:left}.text-link{font:inherit;color:var(--text-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:underline}.text-link:hover{color:var(--text)}:root[data-focus=immersive] .tabs,:root[data-focus=immersive] .header-tools{display:none}.focus-bar{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;font-size:13px;display:flex}.focus-bar b{color:var(--text);font-weight:500}.focus-dot{background:var(--success);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.focus-dot.idle{background:var(--ring-dim)}.focus-task{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;margin-bottom:6px;padding:12px 14px;display:flex}.focus-task b{overflow-wrap:anywhere;font-weight:500}.focus-task small{color:var(--text-muted);overflow-wrap:anywhere;font-size:13px}.timer-step{width:46px;height:46px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;place-content:center;padding:0;font-size:22px;line-height:1;display:grid;position:absolute;bottom:0}.timer-step:hover{border-color:var(--ring-dim)}.timer-step.less{left:0}.timer-step.more{right:0}.focus-free{justify-content:center;display:flex}.focus-start{width:100%;margin-top:16px;padding:15px 26px;font-size:17px;display:block}.day-strip{border-top:1px solid var(--border);text-align:left;margin-top:36px;padding-top:20px}.day-strip-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.day-strip-head h3{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin:0;font-size:12px;font-weight:500}.day-strip-head span{color:var(--text-muted);font-size:13px}.day-strip-track{background:var(--ring-track);border-radius:5px;height:10px;position:relative}.day-strip-track i{background:var(--accent);border-radius:3px;min-width:4px;position:absolute;top:0;bottom:0}.day-strip-hours{color:var(--text-faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.focus-step{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;max-width:420px;margin:0 auto;padding:12px 14px;display:flex}.focus-step.is-done{color:var(--text-muted);justify-content:center;font-size:14px}.focus-step input{appearance:none;border:1.5px solid var(--ring-dim);cursor:pointer;border-radius:50%;flex:none;width:22px;height:22px;margin:0}.focus-step input:hover{border-color:var(--text-muted)}.focus-step input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.focus-step-text{flex:1;min-width:0}.focus-step-text small{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-faint);font-size:11px;display:block}.focus-step-text span{overflow-wrap:anywhere}.focus-step em{color:var(--text-muted);flex:none;font-size:13px;font-style:normal}.focus-context{color:var(--text-faint);margin:16px 0 0;font-size:13px}.focus-noted{margin:0 0 20px;font-size:14px;font-weight:500}.focus-next{border-top:1px solid var(--border);margin-top:2px;padding-top:20px}@media (width<=480px){.timer-ring-wrap{width:min(264px,70vw);margin:16px auto 12px}.timer-display{font-size:52px}.timer-display.is-compact{font-size:42px}.focus-bar{margin-bottom:18px}}
