@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f2f5f9;--surface: #ffffff;--raised: #f7f9fc;--fg: #0a0f16;--muted: #5b6677;--line: #dce3ec;--ui: #0077a8;--signal: #5be7ff;--signal-ink: #031017;--good: #13805a;--danger: #c62f3b;--warn: #9a6400;--heat-0: #e8edf3;--heat-1: #c4e7f2;--heat-2: #7fcde6;--heat-3: #2fa9d3;--heat-4: #00739f;--font: "Geist Variable", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", monospace;--text-xs: .72rem;--text-s: .86rem;--text-m: .98rem;--text-l: 1.25rem;--text-xl: clamp(1.6rem, 1.1rem + 1.6vw, 2.4rem);--text-hero: clamp(2rem, 1.2rem + 2.6vw, 3.4rem);--gutter: clamp(16px, 2.6vw, 40px);--radius: 14px;--ease: cubic-bezier(.16, 1, .3, 1);--fast: .14s}@media(prefers-color-scheme:dark){:root{--bg: #05070b;--surface: #0c1117;--raised: #111821;--fg: #e8eef6;--muted: #7f8b9d;--line: #1a2330;--ui: #4fd8ff;--good: #4ae3a4;--danger: #ff6b7a;--warn: #ffc457;--heat-0: #0f151d;--heat-1: #0f3442;--heat-2: #136079;--heat-3: #1d97b9;--heat-4: #5be7ff}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:400 var(--text-m) / 1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}a{color:var(--ui)}:focus-visible{outline:2px solid var(--ui);outline-offset:2px;border-radius:6px}.label{font:500 var(--text-xs) / 1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.danger{color:var(--danger)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:28px 18px;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.15rem;letter-spacing:-.01em}.mark{width:11px;height:11px;border-radius:50%;background:var(--signal);box-shadow:0 0 14px 2px color-mix(in srgb,var(--signal) 70%,transparent)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:10px;color:var(--muted);text-decoration:none;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.nav a:hover{background:var(--raised);color:var(--fg)}.nav a[aria-current=page]{background:var(--surface);color:var(--fg);box-shadow:inset 2px 0 0 var(--signal)}.count{font:500 var(--text-xs) var(--mono);padding:1px 7px;border-radius:999px;background:var(--signal);color:var(--signal-ink)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px}.linkish{background:none;border:0;padding:0;color:var(--muted);cursor:pointer;text-align:left;font-size:var(--text-s)}.linkish:hover{color:var(--fg)}main{padding:36px var(--gutter) 64px;max-width:1240px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}.page-head h1{margin:6px 0 0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;line-height:1.1}.hero{padding:28px 0 30px;border-bottom:1px solid var(--line)}.hero h2{font-size:var(--text-hero);line-height:1.04;letter-spacing:-.03em;font-weight:600;margin:10px 0 0;max-width:18ch}.today-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;margin-top:30px}.focus{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:4px}.focus li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.focus .n{font:600 .95rem var(--mono);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--fg);color:var(--bg)}.focus h3{margin:0 0 4px;font-size:1.08rem;font-weight:600;letter-spacing:-.01em}.focus p{margin:2px 0;color:var(--muted)}.focus .step{color:var(--fg)}.sharpen{background:var(--signal);color:var(--signal-ink);border-radius:18px;padding:22px;display:grid;gap:8px}.sharpen .label{color:var(--signal-ink);opacity:.75}.sharpen q{font-size:var(--text-l);font-weight:600;line-height:1.25;quotes:none}.side{display:grid;gap:28px;align-content:start}.line-list{list-style:none;margin:10px 0 0;padding:0}.line-list li{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--text-s)}.due-pill{font:500 var(--text-xs) var(--mono);color:var(--muted)}.due-pill.overdue{color:var(--danger)}.capture{display:grid;gap:8px;margin-top:10px}textarea{width:100%;min-height:84px;resize:vertical;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}textarea:focus{border-color:var(--ui);outline:none}.btn{border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:500;font-size:var(--text-s);transition:transform var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.btn:hover{border-color:var(--muted)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.5;cursor:default}.btn.primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn.primary:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 35%,transparent)}.btn.quiet{border-color:transparent;background:none;color:var(--muted)}.btn.quiet:hover{color:var(--fg)}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:none;cursor:pointer;font-size:var(--text-s);color:var(--muted)}.chip[aria-pressed=true]{color:var(--fg);border-color:var(--fg)}.group{margin-top:30px}.group>h2{font-size:var(--text-l);margin:0 0 4px;letter-spacing:-.01em;display:flex;gap:10px;align-items:baseline}.ask{position:relative;display:grid;gap:12px;padding:20px 22px;margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:opacity .26s var(--ease),transform .26s var(--ease)}.ask.leaving{opacity:0;transform:translate(12px)}.ask h3{margin:0;font-size:1.12rem;line-height:1.3;font-weight:600;letter-spacing:-.01em;max-width:70ch}.ask .context{margin:0;color:var(--muted);max-width:78ch}.ask-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tag{font:500 var(--text-xs) var(--mono);letter-spacing:.04em;padding:2px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}.tag.stale{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.options{display:flex;flex-wrap:wrap;gap:8px}.why{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--raised)}.ask-foot{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.done-note{font-size:var(--text-s);color:var(--good)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.stat{padding:18px 20px 18px 0}.stat+.stat{padding-left:20px;border-left:1px solid var(--line)}.stat b{display:block;font:600 var(--text-xl) var(--mono);letter-spacing:-.03em;margin-top:4px}.heat{overflow-x:auto}.heat table{border-collapse:separate;border-spacing:3px}.heat th{font-weight:400;text-align:left;padding-right:14px;white-space:nowrap;font-size:var(--text-s);max-width:220px;overflow:hidden;text-overflow:ellipsis}.heat thead th{font:500 .66rem var(--mono);color:var(--muted);text-align:center;padding:0 0 4px}.heat thead th.today{color:var(--fg)}.cell{width:26px;height:26px;border-radius:5px;padding:0;border:0;cursor:pointer;display:block;transition:transform var(--fast) var(--ease)}.cell:hover{transform:scale(1.18)}.cell[aria-pressed=true]{outline:2px solid var(--fg);outline-offset:1px}.l0{background:var(--heat-0);cursor:default}.l1{background:var(--heat-1)}.l2{background:var(--heat-2)}.l3{background:var(--heat-3)}.l4{background:var(--heat-4)}.heat .total{font:500 var(--text-xs) var(--mono);color:var(--muted);padding-left:10px}.legend{display:flex;gap:4px;align-items:center;margin-top:10px;font-size:var(--text-xs);color:var(--muted)}.legend span.cell{width:12px;height:12px;cursor:default}.day-detail{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.digest{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:grid;gap:8px;align-content:start}.digest h3{margin:0;font-size:1.05rem;display:flex;justify-content:space-between;gap:12px}.digest p{margin:0;color:var(--muted)}.digest ul{margin:2px 0 0;padding-left:18px;font-size:var(--text-s)}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.project{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:10px;align-content:start}.project.focus-card{border-color:color-mix(in srgb,var(--ui) 45%,var(--line))}.project h3{margin:0;font-size:1.15rem;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:10px;align-items:baseline}.meter{height:4px;background:var(--heat-0);border-radius:2px;overflow:hidden}.meter i{display:block;height:100%;background:var(--ui);border-radius:2px}.pulse-line{font-size:var(--text-s);display:flex;gap:8px;align-items:baseline}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--muted);flex:none;transform:translateY(-1px)}.dot.ok{background:var(--good)}.dot.degraded{background:var(--warn)}.dot.down{background:var(--danger)}.pipeline{margin-top:36px}.pipeline table{width:100%;border-collapse:collapse;font-size:var(--text-s)}.pipeline th{text-align:left;font:500 var(--text-xs) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px 8px 0;border-bottom:1px solid var(--line)}.pipeline td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}.fit{font-family:var(--mono)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--gutter)}.login form{width:min(380px,100%);display:grid;gap:14px}.login h1{font-size:var(--text-hero);line-height:1;letter-spacing:-.03em;margin:8px 0 4px}.login input{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.login input:focus{outline:none;border-color:var(--ui)}.state{padding:40px 0;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:var(--text-s);animation:rise .22s var(--ease)}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@media(max-width:860px){.shell{grid-template-columns:1fr}.rail{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px;border-right:0;border-bottom:1px solid var(--line)}.nav{flex-direction:row;flex-wrap:wrap}.rail-foot{margin:0 0 0 auto;flex-direction:row;gap:12px}main{padding:24px 16px 48px}.today-grid{grid-template-columns:1fr;gap:28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
