.focus-app{--bg: #0b0b0d;--bg-2: #111114;--line: rgba(255,255,255,.06);--line-2: rgba(255,255,255,.1);--fg: #ECEAE2;--fg-2: rgba(236,234,226,.62);--fg-3: rgba(236,234,226,.38);--fg-4: rgba(236,234,226,.22);--accent: #7dd3a0;--accent-2: rgba(125,211,160,.14);--warn: #d9a06b;--danger: #d97c7c;--pad: 40px;--maxw: 1180px;--num-size: clamp(120px, 18vw, 240px);position:fixed;inset:0;background:var(--bg);color:var(--fg);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;letter-spacing:.005em;overflow-x:hidden;overflow-y:auto;display:grid;grid-template-rows:auto 1fr auto;box-sizing:border-box}.focus-app *,.focus-app *:before,.focus-app *:after{box-sizing:border-box}.focus-app button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.focus-app input,.focus-app textarea{font:inherit;color:inherit;background:none;border:0;outline:0}.focus-app .mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-feature-settings:"tnum" 1,"ss01" 1}.focus-app .serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-.005em}.f-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);border-bottom:1px solid var(--line);flex-shrink:0}.f-brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}.f-brand-dot{width:6px;height:6px;border-radius:99px;background:var(--accent);box-shadow:0 0 0 4px var(--accent-2);flex-shrink:0}.f-nav{display:flex;gap:28px;font-size:15px;color:var(--fg-3)}.f-nav-link{color:inherit;text-decoration:none;padding:6px 0;letter-spacing:.01em;transition:color .15s}.f-nav-link:hover,.f-nav-link.active{color:var(--fg)}.f-top-right{display:flex;align-items:center;gap:18px;color:var(--fg-3);font-size:15px}.f-clock{font-variant-numeric:tabular-nums;color:var(--fg-2)}.f-avatar{width:26px;height:26px;border-radius:99px;background:#1c1c20;display:grid;place-items:center;color:var(--fg-2);font-size:11px;border:1px solid var(--line-2)}.f-main{display:grid;place-items:center;padding:48px var(--pad);position:relative;overflow-y:auto}.f-stage{width:100%;max-width:var(--maxw);position:relative}.f-footer{display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);border-top:1px solid var(--line);color:var(--fg-3);font-size:15px;flex-shrink:0}.focus-app kbd{display:inline-block;border:1px solid var(--line-2);border-radius:4px;padding:2px 6px;font-size:10.5px;color:var(--fg-2);font-family:JetBrains Mono,ui-monospace,monospace;background:#ffffff05}.f-idle{display:grid;gap:64px}.f-greeting{display:flex;flex-direction:column;gap:6px;color:var(--fg-2);font-size:13px;letter-spacing:.04em}.f-date{color:var(--fg-3);text-transform:uppercase;letter-spacing:.18em;font-size:13px}.f-prompt{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.015em;color:var(--fg);max-width:900px}.f-muted{color:var(--fg-3)}.f-intent{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.f-intent input{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(26px,2.6vw,34px);width:100%;letter-spacing:.005em;color:var(--fg)}.f-intent input::placeholder{color:var(--fg-4)}.f-start{display:flex;align-items:center;gap:14px;padding:15px 28px;border:1px solid var(--accent)!important;color:var(--accent);border-radius:99px;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:500;transition:all .18s ease;white-space:nowrap}.f-start:hover:not(.disabled):not(:disabled){background:var(--accent);color:#0b0b0d}.f-start.disabled,.f-start:disabled{opacity:.35;border-color:var(--line-2)!important;color:var(--fg-3);cursor:default}.f-arrow{font-family:JetBrains Mono,monospace}.f-hint-text{color:var(--fg-4);font-size:13px;margin-top:14px;letter-spacing:.04em}.f-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}.f-strip h4{margin:0 0 14px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);font-weight:500}.f-recent ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.f-recent li{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:baseline;font-size:15px;color:var(--fg-2)}.f-when{color:var(--fg-4);font-size:13px;font-family:JetBrains Mono,monospace}.f-what{color:var(--fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-dur{color:var(--fg-3);font-size:13px;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.f-empty{color:var(--fg-4);font-size:15px;font-style:italic}.f-streak{display:flex;flex-direction:column;gap:14px}.f-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.f-day{aspect-ratio:1/1;border:1px solid var(--line);border-radius:3px;position:relative;display:grid;place-items:end center;padding-bottom:4px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-4)}.f-day:before{content:"";position:absolute;inset:2px;border-radius:2px;background:var(--accent);opacity:0}.f-day.l1:before{opacity:.18}.f-day.l2:before{opacity:.38}.f-day.l3:before{opacity:.62}.f-day.l4:before{opacity:.92}.f-day.today{border-color:var(--accent)}.f-streak-meta{display:flex;justify-content:space-between;color:var(--fg-3);font-size:13px;font-family:JetBrains Mono,monospace}.f-streak-meta b{color:var(--fg);font-weight:500}.f-totals{display:flex;flex-direction:column;gap:14px}.f-total-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--line)}.f-total-row:last-child{border-bottom:0}.f-total-name{font-size:15px;color:var(--fg-2)}.f-total-v{font-size:15px;color:var(--fg);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.f-unit{color:var(--fg-3);font-size:13px;margin-left:3px}.f-timer-stage{display:grid;grid-template-rows:auto 1fr auto;gap:48px;min-height:60vh}.f-timer-head{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}.f-timer-what{display:flex;flex-direction:column;gap:6px}.f-timer-label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3)}.f-timer-crumbs{font-size:15px;color:var(--fg);display:flex;align-items:center;gap:8px}.f-timer-leaf{max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.f-timer-sub-hint{color:var(--fg-4);font-size:13px;margin-top:4px;letter-spacing:.04em}.f-timer-meta{justify-self:end;display:flex;gap:24px;font-size:13px;color:var(--fg-3);font-family:JetBrains Mono,monospace}.f-timer-meta b{color:var(--fg);font-weight:500}.f-mode-pill{justify-self:center;display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:99px;padding:6px 14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}.f-mode-dot{width:6px;height:6px;border-radius:99px;background:var(--accent);flex-shrink:0}.f-mode-pill.break .f-mode-dot{background:var(--warn)}.f-mode-pill.over .f-mode-dot{background:var(--danger);animation:f-pulse 1.2s ease-in-out infinite}.f-numerals-wrap{display:grid;place-items:center;text-align:center;padding:20px 0}.f-numerals{display:flex;flex-direction:column;align-items:center;gap:18px}.f-digits{font-weight:300;font-variant-numeric:tabular-nums;font-size:var(--num-size);line-height:.95;letter-spacing:-.04em;color:var(--fg);transition:color .3s ease}.f-numerals.over .f-digits{color:var(--warn)}.f-numerals.break .f-digits{color:var(--fg-2)}.f-sub{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);min-height:18px}.f-sub-warn{color:var(--warn)}.f-sub-accent{color:var(--accent)}.f-break-msg{text-align:center;font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(22px,2.2vw,28px);color:var(--fg-2);max-width:560px;margin:0 auto;line-height:1.3;letter-spacing:-.005em}.f-controls{display:flex;justify-content:center;gap:14px;align-items:center}.f-controls-start{justify-content:flex-start;margin-top:12px}.f-ctrl{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:99px;border:1px solid var(--line-2);background:#ffffff0a;color:var(--fg-2);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:all .15s ease;white-space:nowrap}.f-ctrl:hover{background:#ffffff14;border-color:var(--fg-3);color:var(--fg)}.f-ctrl-primary{border-color:var(--accent);color:var(--accent);background:transparent}.f-ctrl-primary:hover:not(:disabled){background:var(--accent);color:#0b0b0d;border-color:var(--accent)}.f-ctrl-primary:disabled{opacity:.4;cursor:default}.f-ctrl-ghost{border-color:transparent;background:transparent;color:var(--fg-3)}.f-ctrl-ghost:hover{color:var(--fg);border-color:transparent;background:transparent}.f-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start;padding:8px 0}.f-summary-left{display:flex;flex-direction:column;gap:28px}.f-summary-heading{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:10px}.f-check{width:14px;height:14px;border-radius:99px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-size:10px;flex-shrink:0}.f-summary-h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.015em;margin:0;color:var(--fg)}.f-summary-num{color:var(--accent)}.f-summary-sub{color:var(--fg-2);font-size:15px;line-height:1.6;max-width:480px;margin:0}.f-field{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.f-field-lbl{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:0}.f-ai-tag{color:var(--accent);margin-left:10px;font-size:11px;letter-spacing:.18em}.f-field-val{font-size:15px;color:var(--fg);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.f-skill-label{color:var(--fg);font-size:15px}.f-change-btn{margin-left:auto;color:var(--fg-3);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.f-change-btn:hover{color:var(--fg)}.f-assign-btn{color:var(--fg-3);font-size:15px}.f-assign-btn:hover{color:var(--fg)}.f-suggestion-loading{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--fg-3);padding:6px 0}.f-suggestion-pulse{width:6px;height:6px;border-radius:99px;background:var(--accent);flex-shrink:0;animation:f-pulse 1.4s ease-in-out infinite}.f-skill-matched{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.f-conf-badge{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:99px;border:1px solid}.f-conf-badge.f-conf-high{color:var(--accent);border-color:#7dd3a059;background:#7dd3a012}.f-conf-badge.f-conf-medium{color:var(--warn);border-color:#d9a06b59;background:#d9a06b12}.f-conf-badge.f-conf-low{color:var(--danger);border-color:#d97c7c59;background:#d97c7c12}.f-suggestion-reason{margin:4px 0 0;font-size:13px;color:var(--fg-3);line-height:1.5;max-width:420px}.f-skill-picker{display:flex;flex-direction:column;gap:0}.f-skill-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}.f-skill-row:hover{background:#ffffff04}.f-skill-row.selected{background:#7dd3a00a}.f-skill-name{font-size:15px;color:var(--fg-2)}.f-skill-row.selected .f-skill-name{color:var(--fg)}.f-check-small{color:var(--accent);font-size:12px;flex-shrink:0}.f-chips{display:flex;flex-wrap:wrap;gap:8px}.f-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:99px;padding:5px 11px;font-size:13px;color:var(--fg-2);font-family:JetBrains Mono,monospace;letter-spacing:.02em;cursor:pointer;transition:all .12s}.f-chip:hover{border-color:var(--fg-3);color:var(--fg)}.f-chip.on{border-color:var(--accent);color:var(--accent)}.f-textarea{width:100%;min-height:54px;resize:none;font-family:Inter,sans-serif;font-size:15px;color:var(--fg);line-height:1.5;background:none;border:0;outline:0}.f-textarea::placeholder{color:var(--fg-4)}.f-summary-right{border-left:1px solid var(--line);padding-left:48px;display:flex;flex-direction:column;gap:28px}.f-contrib{display:flex;flex-direction:column;gap:6px;padding-bottom:24px;border-bottom:1px solid var(--line)}.f-contrib-num{font-weight:300;font-size:64px;line-height:1;color:var(--accent);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.f-contrib-unit{font-size:18px;color:var(--accent);margin-left:8px;letter-spacing:.04em;opacity:.7}.f-contrib-sub{font-size:15px;color:var(--fg-3)}.f-contrib-skill{color:var(--fg)}.f-rail-head{display:flex;justify-content:space-between;align-items:baseline}.f-rail-lbl{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3)}.f-rail-val{font-size:13px;color:var(--fg-2)}.f-rail-val b{color:var(--fg);font-weight:500}.f-gain{color:var(--accent);margin-left:6px}.f-week-prog{display:flex;flex-direction:column;gap:14px}.f-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end}.f-bar-col{display:flex;flex-direction:column;align-items:center;gap:8px}.f-bar-stack{width:100%;display:flex;flex-direction:column;justify-content:flex-end;background:#ffffff05;border-radius:2px;overflow:hidden}.f-seg{width:100%;border-radius:2px}.f-seg-base{background:var(--fg-4)}.f-seg-base.today{background:var(--accent);opacity:.55}.f-seg-gain{background:var(--accent);box-shadow:0 0 0 1px #7dd3a04d;margin-bottom:1px}.f-bar-lbl{font-size:11px;color:var(--fg-4);letter-spacing:.06em;font-family:JetBrains Mono,monospace}.f-bar-lbl.today{color:var(--fg-2)}.f-milestone{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--line)}.f-milestone-cross{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-2)}.f-milestone-badge{color:var(--accent);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.f-milestone-sub{color:var(--fg-2);font-size:13px}.f-m-track{position:relative;height:6px;border-radius:99px;background:var(--line);overflow:visible;margin-top:6px}.f-m-fill{position:absolute;left:0;top:0;height:100%;border-radius:99px;transition:width .8s cubic-bezier(.4,0,.2,1)}.f-m-fill-before{background:var(--fg-4)}.f-m-fill-after{background:var(--accent);box-shadow:0 0 8px #7dd3a066}.f-m-tick{position:absolute;top:14px;font-size:11px;color:var(--fg-4);font-family:JetBrains Mono,monospace}.f-m-tick-start{left:0}.f-m-tick-end{right:0}.f-m-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--fg-3);margin-top:18px}.f-m-meta b{color:var(--fg);font-weight:500;font-variant-numeric:tabular-nums}.f-unit-dim{color:var(--fg-4)}.f-toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%);background:#141416eb;border:1px solid var(--line-2);border-radius:99px;padding:10px 18px;font-size:12px;color:var(--fg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:10px;z-index:50;animation:f-rise .3s ease;pointer-events:none}.f-toast-dot{width:6px;height:6px;border-radius:99px;background:var(--accent);flex-shrink:0}.f-toast.warn .f-toast-dot{background:var(--warn)}.f-halo{position:absolute;pointer-events:none;width:600px;height:600px;border-radius:50%;left:50%;top:60%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--accent-2) 0%,transparent 60%);opacity:.5;z-index:-1}@keyframes f-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes f-rise{0%{opacity:0;transform:translate(-50%) translateY(10px)}}.f-fade-in{animation:f-fade-in .35s ease both}@keyframes f-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:900px){.focus-app{--pad: 24px}.f-strip{grid-template-columns:1fr;gap:32px}.f-summary{grid-template-columns:1fr;gap:40px}.f-summary-right{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:32px}.f-timer-head{grid-template-columns:1fr;gap:16px}.f-mode-pill{justify-self:start}.f-nav{gap:16px}}@media(max-width:640px){.f-intent{grid-template-columns:1fr;gap:16px}.f-start{justify-content:center}.f-controls{flex-wrap:wrap}}.f-settings{display:flex;flex-direction:column;gap:48px;padding:8px 0}.f-settings-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:24px;border-bottom:1px solid var(--line)}.f-overline{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin-bottom:6px}.f-settings-title{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(40px,4.4vw,56px);margin:0;color:var(--fg);line-height:1;letter-spacing:-.005em}.f-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px}.f-set-sec{display:flex;flex-direction:column;gap:18px}.f-set-sec-head h3{font-family:"Instrument Serif",Georgia,serif;font-size:22px;font-weight:400;margin:0;color:var(--fg);letter-spacing:-.005em}.f-set-sec-head p{margin:6px 0 0;color:var(--fg-3);font-size:14px;line-height:1.5}.f-set-sec-body{display:flex;flex-direction:column}.f-set-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--fg-2);gap:24px}.f-set-row:last-child{border-bottom:0}.f-set-row-lbl{color:var(--fg)}.f-num-step{display:flex;align-items:center;gap:4px;border:1px solid var(--line-2);border-radius:99px;padding:3px;flex-shrink:0}.f-num-step button{width:28px;height:28px;border-radius:99px;color:var(--fg-2);font-size:16px;line-height:1;display:grid;place-items:center}.f-num-step button:hover{background:#ffffff0d;color:var(--fg)}.f-num-val{display:inline-flex;align-items:baseline;gap:3px;min-width:64px;justify-content:center;color:var(--fg);font-size:14px;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.f-num-unit{color:var(--fg-3);font-size:13px}.f-tog{position:relative;width:40px;height:22px;border-radius:99px;background:var(--line-2);transition:background .2s ease;flex-shrink:0}.f-tog.on{background:var(--accent)}.f-tog-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:99px;background:#0b0b0d;transition:left .2s ease;pointer-events:none}.f-tog.on .f-tog-knob{left:20px}.f-seg{display:flex;border:1px solid var(--line-2);border-radius:99px;padding:2px;flex-shrink:0}.f-seg-opt{padding:6px 14px;border-radius:99px;color:var(--fg-3);font-size:13px;text-transform:capitalize;transition:all .12s}.f-seg-opt.on{background:var(--accent-2);color:var(--accent)}.f-seg-opt:hover:not(.on){color:var(--fg-2)}@media(max-width:900px){.f-settings-grid{grid-template-columns:1fr}}.f-sk-editor{display:flex;flex-direction:column;gap:0}.f-sk-node{display:flex;flex-direction:column}.f-sk-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.f-sk-row.arc .f-sk-label{color:var(--fg-4);text-decoration:line-through}.f-sk-bullet{color:var(--fg-4);font-family:JetBrains Mono,monospace;font-size:12px;flex-shrink:0}.f-sk-label{flex:1;color:var(--fg)}.f-sk-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.f-sk-row:hover .f-sk-actions{opacity:1}.f-sk-actions button{font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.12em;padding:3px 8px;border-radius:4px}.f-sk-actions button:hover{color:var(--fg);background:#ffffff0d}.f-sk-add{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.f-sk-add input{flex:1;font-size:13px;color:var(--fg);padding:4px 0}.f-sk-add input::placeholder{color:var(--fg-4)}.f-sk-add-btn{padding:4px 10px;border:1px solid var(--line-2);border-radius:4px;color:var(--fg-2);font-size:11px;text-transform:uppercase;letter-spacing:.12em;flex-shrink:0}.f-sk-add-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.f-sk-add-btn:disabled{opacity:.3}.f-sk-root-add{padding:10px 0;color:var(--fg-3);font-size:13px;text-align:left}.f-sk-root-add:hover{color:var(--accent)}.f-types-editor{display:flex;flex-direction:column;gap:14px}.f-types-list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px}.f-type-x{margin-left:6px;color:var(--fg-4);font-size:14px;line-height:1}.f-type-x:hover{color:var(--danger)}.f-tasks{display:flex;flex-direction:column;gap:32px;padding:8px 0}.f-task-capture{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:#ffffff04}.f-task-capture input{font-size:15px;color:var(--fg)}.f-task-capture input::placeholder{color:var(--fg-4)}.f-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}.f-kcol{display:flex;flex-direction:column;gap:14px;min-height:300px}.f-kcol-head{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line)}.f-kcol-name{color:var(--fg);font-size:14px;font-weight:500}.f-kcol-count{color:var(--fg-3);margin-left:8px;font-size:12px;font-family:JetBrains Mono,monospace}.f-kcol-hint{color:var(--fg-4);font-size:12px}.f-kcol-body{display:flex;flex-direction:column;gap:10px}.f-kcol-empty{color:var(--fg-4);font-size:13px;padding:14px 0;text-align:center;border:1px dashed var(--line);border-radius:4px}.f-task-card{border:1px solid var(--line);border-radius:6px;padding:14px;background:#101013;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,transform .1s ease;position:relative;cursor:pointer}.f-task-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.f-task-card.draft{background:transparent;border-style:dashed}.f-task-title{color:var(--fg);font-size:14px;line-height:1.35;text-align:left}.f-task-desc{color:var(--fg-3);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.f-task-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:2px}.f-task-chip{display:inline-flex;padding:3px 8px;border:1px solid var(--line-2);border-radius:99px;font-size:12px;color:var(--fg-2)}.f-task-chip.on{border-color:var(--accent);color:var(--accent)}.f-task-checks{color:var(--fg-3);font-size:12px;margin-left:auto;font-family:JetBrains Mono,monospace}.f-task-needs{color:var(--warn);font-size:12px;font-style:italic;font-family:JetBrains Mono,monospace}.f-task-advance{margin-top:4px;padding:5px 10px;border-radius:4px;color:transparent;font-size:12px;text-align:left;border:1px solid transparent;transition:all .15s ease;background:none}.f-task-card:hover .f-task-advance{color:var(--fg-3);border-color:var(--line)}.f-task-advance:hover{color:var(--accent)!important;border-color:var(--accent)!important}.f-task-modal{position:fixed;inset:0;background:#0009;z-index:100;display:grid;place-items:center;padding:40px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.f-task-modal-inner{width:100%;max-width:820px;max-height:85vh;overflow:auto;background:#0e0e11;border:1px solid var(--line-2);border-radius:8px;padding:28px 32px;display:flex;flex-direction:column;gap:18px}.f-task-modal-head{display:flex;justify-content:space-between;align-items:center}.f-task-status-pill{padding:4px 10px;border-radius:99px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--fg-2);font-family:JetBrains Mono,monospace}.f-task-status-pill.draft{border-style:dashed;color:var(--fg-3)}.f-task-status-pill.in_progress{border-color:var(--accent);color:var(--accent)}.f-task-status-pill.done{color:var(--fg-3)}.f-task-x{color:var(--fg-3);width:28px;height:28px;border-radius:99px;font-size:14px;display:grid;place-items:center}.f-task-x:hover{background:#ffffff0d;color:var(--fg)}.f-task-detail-title{font-size:28px;color:var(--fg);width:100%;font-family:"Instrument Serif",serif;font-weight:400;line-height:1.2;letter-spacing:-.005em}.f-task-detail-grid{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start}.f-td-field{display:flex;flex-direction:column;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--line)}.f-td-lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);display:flex;justify-content:space-between;align-items:baseline}.f-td-mute{color:var(--fg-4);font-size:10px;letter-spacing:.14em}.f-td-textarea{width:100%;min-height:90px;resize:vertical;color:var(--fg);font-size:14px;line-height:1.6;padding:8px 0}.f-td-textarea::placeholder{color:var(--fg-4)}.f-td-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.f-td-checklist li{display:flex;align-items:center;gap:10px;font-size:14px}.f-td-check{width:18px;height:18px;border:1px solid var(--line-2);border-radius:4px;color:var(--accent);font-size:12px;display:grid;place-items:center;flex-shrink:0}.f-td-check.on{background:var(--accent-2);border-color:var(--accent)}.f-td-addcheck{margin-top:6px;color:var(--fg-3);font-size:13px;text-align:left}.f-td-addcheck:hover{color:var(--accent)}.f-td-link{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}.f-td-change{margin-left:auto;color:var(--fg-3);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.f-td-change:hover{color:var(--accent)}.f-td-suggestion{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line-2);border-radius:6px;padding:12px;background:#7dd3a00a}.f-sev-row{display:flex;align-items:center;gap:8px}.f-sev{font-size:10px;letter-spacing:.14em;font-family:JetBrains Mono,monospace;padding:2px 6px;border-radius:3px;font-weight:500}.f-sev.hi{background:#7dd3a02e;color:var(--accent)}.f-sev.med{background:#d9a06b2e;color:var(--warn)}.f-sev.lo{background:#d97c7c2e;color:var(--danger)}.f-sev-conf{color:var(--fg-3);font-size:12px;font-family:JetBrains Mono,monospace}.f-sev-skill{font-size:14px;color:var(--fg-2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.f-sev-why{color:var(--fg-3);font-size:12px;line-height:1.5}.f-td-accept{align-self:flex-start;margin-top:4px;color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.14em}.f-task-modal-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--line);margin-top:6px}.f-td-activity-chips{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:900px){.f-kanban{grid-template-columns:repeat(2,1fr)}.f-task-detail-grid{grid-template-columns:1fr}}:root{font-family:Iowan Old Style,Palatino Linotype,serif;color:#e7ecf3}:root,html,body,#root{min-height:100%}html,body,#root{background-color:#0b1020;background-image:radial-gradient(circle at top,rgba(65,106,255,.18),transparent 32%),radial-gradient(circle at bottom left,rgba(30,178,138,.12),transparent 28%),linear-gradient(180deg,#0b1020,#0f1728 48%,#111827);background-attachment:fixed}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}#root{min-height:100vh}.shell{min-height:100vh;padding:24px}.panel{max-width:1120px;margin:0 auto;padding:32px;border:1px solid rgba(154,169,196,.14);border-radius:28px;background:#0d1221c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 80px #0206177a}.app-header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:32px}.header-actions{display:grid;gap:14px;justify-items:end}.brand-block{display:grid;gap:6px}.brand-block h1{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.95}.menu{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.session-pill{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:18px;background:#141c30d1;border:1px solid rgba(154,169,196,.14)}.session-pill strong,.session-pill span{display:block}.session-pill span{font-size:.85rem;color:#cdd9ebad}.menu-link{padding:10px 16px;border-radius:999px;border:1px solid rgba(154,169,196,.16);background:#141c30b3;color:#e2e9f5d6;transition:background-color .16s ease,color .16s ease,transform .16s ease}.menu-link:hover{background:#253454e6;transform:translateY(-1px)}.menu-link-active{background:linear-gradient(135deg,#2954ff,#1eb28a);color:#f8fbff}.page-shell{display:grid;gap:20px}.auth-shell{display:grid;place-items:center}.auth-card{width:min(100%,460px);display:grid;gap:18px;padding:32px;border-radius:28px;background:radial-gradient(circle at top left,rgba(65,106,255,.26),transparent 38%),#0c1222f0;border:1px solid rgba(154,169,196,.14);box-shadow:0 24px 80px #02061785}.auth-card h1,.auth-card p{margin:0}.auth-form{display:grid;gap:14px}.auth-submit{justify-self:start}.hero{display:grid;gap:24px}.eyebrow{font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:#84a9ff}.hero h1{margin:0;font-size:clamp(2.5rem,5vw,5rem);line-height:.94}.hero p{max-width:44rem;margin:0;font-size:1.1rem;line-height:1.6}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:32px}.card{padding:20px;border-radius:22px;background:#111827eb;border:1px solid rgba(154,169,196,.12)}.card h2,.card h3{margin:0 0 8px;font-size:1.15rem}.card p{margin:0;color:#d7e0eec2;line-height:1.5}.skills-shell{display:grid;gap:20px;margin-top:24px}.activities-shell,.statistics-shell,.pomodoro-shell{display:grid;gap:20px;margin-top:12px}.stats-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.stats-meta span{padding:6px 10px;border-radius:999px;background:#202e4ce6;color:#d7e0ee;white-space:nowrap}.pomodoro-status{display:grid;gap:14px}.status-pill{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:#111827eb;border:1px solid rgba(154,169,196,.12)}.timer-hero{position:relative;display:grid;gap:8px;padding:20px 22px;border-radius:22px;background:radial-gradient(circle at top left,rgba(104,132,255,.5),transparent 42%),linear-gradient(135deg,#16213b,#12263c 52%,#13382e);color:#f8fbff;border:1px solid rgba(154,169,196,.14)}.timer-meta-corner{position:absolute;top:16px;right:16px;display:grid;gap:2px;justify-items:end;font-size:.82rem;color:#eaf0ffb8}.timer-meta-corner-left{left:16px;right:auto;justify-items:start}.timer-meta-corner strong{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.timer-hero-label{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#eaf0ffad}.timer-hero-value{font-size:clamp(2.8rem,7vw,5rem);line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:18px}.timer-hero-value-overrun{color:#ffd1b3}.type-selector{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid rgba(154,169,196,.14);border-radius:999px;padding:8px 12px;background:#141c30d1;color:#dfe7f5;cursor:pointer}.chip-active{background:linear-gradient(135deg,#2954ffe0,#1eb28ad1);color:#f8fbff}.skills-header{display:grid;gap:10px;align-items:end;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.skills-header h2,.form-card h3,.list-card h3{margin:0}.skills-header p{margin:0;max-width:none}.skills-grid{display:grid;gap:18px;grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.form-card,.list-card{padding:22px;border-radius:24px;background:#0f172af0;border:1px solid rgba(154,169,196,.12)}.form-card{display:grid;gap:16px;align-content:start}.field{display:grid;gap:8px}.field span{font-size:.9rem;color:#9fb2ce}.field-error{font-size:.85rem;color:#ff8f7a}.detail-error{margin-right:auto}.field input,.field select,.skill-edit input,.skill-edit select{width:100%;padding:11px 14px;border:1px solid rgba(154,169,196,.18);border-radius:14px;background:#080d19eb;color:#edf3ff}.muted-copy{margin:0;color:#c9d4e6b8;line-height:1.5}.timer-draft{display:grid;gap:14px}.draft-status{margin:0;color:#c9d4e6b8}.button-primary,.button-secondary,.button-ghost{border:0;border-radius:999px;padding:11px 16px;cursor:pointer}.button-primary{background:linear-gradient(135deg,#2954ff,#1eb28a);color:#f8fbff}.button-secondary{background:#213152eb;color:#ebf2ff}.button-danger{color:#ff8f7a}.button-ghost{background:transparent;color:#9fb2ce}.task-textarea{min-height:140px;padding:12px 14px;border:1px solid rgba(154,169,196,.18);border-radius:14px;background:#080d19eb;color:#edf3ff;resize:vertical;font:inherit}.drafts-card{display:grid;gap:16px;padding:22px;border-radius:24px;background:#0f172af0;border:1px solid rgba(154,169,196,.12);align-content:start}.drafts-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.drafts-compose input{width:100%;padding:12px 14px;border:1px solid rgba(154,169,196,.18);border-radius:16px;background:#080d19eb;color:#edf3ff}.drafts-list{display:grid;gap:8px}.draft-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:0;background:#111827eb;border-radius:16px;padding:12px 14px;text-align:left;cursor:pointer}.draft-row-bullet{width:14px;height:14px;border-radius:999px;border:1.5px solid rgba(162,180,208,.5)}.draft-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#edf3ff}.draft-row-meta,.task-card-meta{display:flex;gap:8px;flex-wrap:wrap}.task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px;border-radius:999px;background:#213152eb;color:#dfe7f5;font-size:.8rem}.board-shell{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.board-column{display:grid;gap:14px;padding:18px;border-radius:24px;background:#0f172ad1;border:1px solid rgba(154,169,196,.12);align-content:start;min-height:440px}.board-column-header{display:flex;justify-content:space-between;align-items:center}.board-column-header h3{margin:0}.board-column-header span{min-width:2rem;padding:6px 10px;border-radius:999px;background:#213152eb;text-align:center}.board-column-list{display:grid;gap:10px}.task-card{display:grid;gap:10px;border:0;border-radius:18px;padding:14px;background:#111827f0;text-align:left;cursor:grab;box-shadow:0 14px 28px #02061747}.task-card strong{font-size:.98rem;line-height:1.35}.task-detail-backdrop{position:fixed;inset:0;background:#020617ad;display:flex;justify-content:flex-end;padding:24px;z-index:20}.task-detail{width:min(520px,100%);height:100%;overflow:auto;border-radius:28px;background:#0f172a;box-shadow:0 24px 72px #02061794;padding:24px;display:grid;gap:18px}.task-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.task-detail-header h3{margin:0}.task-detail-form{display:grid;gap:16px}.checklist-editor{display:grid;gap:12px;padding:18px;border-radius:20px;background:#152038c7}.checklist-list{display:grid;gap:10px}.checklist-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.checklist-row input[type=text],.checklist-row input:not([type]){width:100%}.task-ai-box{display:grid;gap:10px;padding:18px;border-radius:20px;background:#1d2f4d8f}.delete-confirm-box{display:grid;gap:10px;padding:16px 18px;border-radius:18px;background:#7f2b2b2e;border:1px solid rgba(255,143,122,.24)}.suggestion-summary{display:grid;gap:8px}.suggestion-confidence{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:600}.suggestion-confidence-low{background:#7f2b2b47;color:#ff9e8d}.suggestion-confidence-medium{background:#6d592157;color:#ffd789}.suggestion-confidence-high{background:#1863544d;color:#7ee7c6}.list-card{display:grid;gap:14px}.list-card-header{display:flex;justify-content:space-between;align-items:center}.list-card-header span{min-width:2rem;padding:6px 10px;border-radius:999px;background:#213152eb;text-align:center}.skill-list{display:grid;gap:12px}.skill-row{display:flex;justify-content:space-between;gap:16px;padding:16px;border-radius:18px;border:1px solid rgba(154,169,196,.12);background:#111827f0}.skill-row p{margin:4px 0 0;font-size:.95rem}.skill-edit{display:grid;gap:10px;width:100%}.row-actions{display:flex;gap:8px;align-items:start;justify-content:flex-end;flex-wrap:wrap}.archive-strip{padding:14px 18px;border-radius:18px;background:#213152d1;color:#dfe7f5}@media(max-width:640px){.shell{padding:14px}.panel{padding:22px;border-radius:22px}}@media(max-width:860px){.app-header{align-items:start;flex-direction:column}.header-actions{width:100%;justify-items:start}.menu{justify-content:start}.session-pill{justify-content:space-between}.skills-header,.skills-grid,.board-shell,.skill-row{grid-template-columns:1fr;display:grid}.skill-row{justify-content:stretch}.timer-meta-corner{position:static;justify-items:start;margin-bottom:10px}.timer-meta-corner-left{justify-items:start}.task-detail-backdrop{padding:12px}}@media(max-width:640px){.session-pill{width:100%;flex-direction:column;align-items:start}}
