@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Plus_Jakarta_Sans_Fallback_a11773;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a11773{font-family:__Plus_Jakarta_Sans_a11773,__Plus_Jakarta_Sans_Fallback_a11773;font-style:normal}.__variable_a11773{--font-sans:"__Plus_Jakarta_Sans_a11773","__Plus_Jakarta_Sans_Fallback_a11773"}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:__JetBrains_Mono_Fallback_6d24ac;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:__JetBrains_Mono_6d24ac,__JetBrains_Mono_Fallback_6d24ac;font-style:normal}.__variable_6d24ac{--font-mono:"__JetBrains_Mono_6d24ac","__JetBrains_Mono_Fallback_6d24ac"}:root{--surface:#fff;--canvas:#f6f4ec;--grid:rgba(26,26,24,.045);--border:#eceae1;--ink:#1b1a17;--ink-soft:#5e5c54;--ink-mute:#97948a;--accent:#ffd43b;--accent-hover:#fbc92a;--accent-soft:#fff3c9;--on-accent:#1b1a17;--green:#4bae6a;--green-soft:#dcefcb;--green-ink:#356b2e;--danger:#e5484d;--danger-soft:#fbe2e3;--shadow-sm:0 1px 2px rgba(26,26,24,.05),0 2px 6px rgba(26,26,24,.05);--shadow:0 2px 4px rgba(26,26,24,.05),0 8px 20px rgba(26,26,24,.07);--shadow-lg:0 6px 12px rgba(26,26,24,.07),0 16px 34px rgba(26,26,24,.11);--radius:22px;--radius-sm:16px;--radius-xs:11px;--display:var(--font-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--sans:var(--font-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,"SF Mono",monospace;--ease:cubic-bezier(0.16,1,0.3,1);--col-todo:#e4e3fb;--col-todo-dot:#5b5be6;--col-prog:#fcebae;--col-prog-dot:#f2982b;--col-done:#d8eebd;--col-done-dot:#5dae54}*{box-sizing:border-box}body,html{margin:0;height:100%}body{color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;background-position:top;background-attachment:fixed}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:22px;padding:14px 28px;background:var(--canvas);border-bottom:1px solid rgba(26,26,24,.06)}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px;flex-shrink:0;text-decoration:none;cursor:pointer}.brand-logo{display:block;flex-shrink:0}.brand-logo-full{display:block;color:var(--ink);overflow:hidden}.brand:hover,.brand:hover .brand-logo-full{cursor:pointer}.brand-logo-full .bar{transform-box:fill-box;transform-origin:right center}.brand-logo-full .bar-1{--full:1}.brand-logo-full .bar-2{--full:1.364}.brand-logo-full .bar-3{--full:1.875}@keyframes barWave{0%{transform:scaleX(1)}40%{transform:scaleX(0)}55%{transform:scaleX(0)}80%{transform:scaleX(var(--full,1))}to{transform:scaleX(1)}}.brand:hover .brand-logo-full .bar{animation:barWave 1.6s var(--ease) both}.brand:hover .brand-logo-full .bar-1{animation-delay:0s}.brand:hover .brand-logo-full .bar-2{animation-delay:.18s}.brand:hover .brand-logo-full .bar-3{animation-delay:.36s}@media (prefers-reduced-motion:reduce){.brand:hover .brand-logo-full .bar{animation:none}}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);position:relative;box-shadow:var(--shadow-sm)}.brand-mark:after{content:"";position:absolute;inset:8px 8px auto 8px;height:2.5px;background:var(--ink);border-radius:2px;box-shadow:0 5px 0 var(--ink)}.brand-text h1{margin:0;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.05}.brand-sub{margin:2px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--ink-mute)}.projects{display:flex;align-items:center;gap:6px;flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none}.projects::-webkit-scrollbar{display:none}.tab{flex-shrink:0;border:none;background:transparent;color:var(--ink-soft);padding:8px 15px;border-radius:9999px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.tab:hover{background:rgba(26,26,24,.05);color:var(--ink)}.tab.active{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.tab .count{font-family:var(--mono);font-size:10px;opacity:.7;margin-left:6px}.tab.active .count{opacity:.85}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--surface);color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:700;padding:9px 15px;border-radius:9999px;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .14s var(--ease),transform .1s var(--ease),box-shadow .14s var(--ease)}.btn:hover{box-shadow:var(--shadow)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;box-shadow:none}.btn.ghost:hover{background:rgba(26,26,24,.05);box-shadow:none}.btn.solid{background:var(--accent);color:var(--on-accent)}.btn.solid:hover{background:var(--accent-hover)}.btn.signout{background:var(--danger-soft);color:#c0282c;border-radius:9px;box-shadow:none}.btn.signout:hover{background:#f6cfd0;box-shadow:none}.btn.bug-btn{background:var(--danger-soft);color:#c0282c}.btn.bug-btn:hover{background:#f8d2d3}.btn.bug-btn .ic{stroke-width:1.9}.ic{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.view-toggle{display:inline-flex;gap:3px;background:var(--surface);padding:3px;border-radius:9999px;box-shadow:var(--shadow-sm)}.view-opt{border:none;background:transparent;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink-soft);padding:6px 13px;border-radius:9999px;display:inline-flex;align-items:center;gap:6px;transition:background .13s var(--ease),color .13s var(--ease)}.view-opt:hover{color:var(--ink)}.view-opt.active{background:var(--ink);color:#fff}.view-opt svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.save-state,.user-email{font-family:var(--mono);font-size:10.5px;color:var(--ink-mute)}.save-state{letter-spacing:.04em;min-width:52px;text-align:right}.save-state.saving{color:#c25a12}.save-state.error{color:var(--danger)}.project-meta{display:flex;align-items:center;gap:12px;padding:26px 28px 10px}.project-name{font-family:var(--display);font-size:42px;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink);border:none;background:transparent;padding:4px 10px;margin:-4px -10px;border-radius:var(--radius-xs);min-width:200px;outline:none}.project-name:hover{background:hsla(0,0%,100%,.7)}.project-name:focus{background:var(--surface);box-shadow:var(--shadow-sm)}.meta-spacer{flex:1 1}.version-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 28px 2px}.vchip{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--surface);color:var(--ink-soft);font-family:var(--mono);font-size:11.5px;font-weight:500;padding:7px 13px;border-radius:9999px;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.vchip:hover{box-shadow:var(--shadow);color:var(--ink)}.vchip.active{background:var(--accent);color:var(--on-accent)}.vchip .vcount{font-size:10px;opacity:.6}.vchip.active .vcount{opacity:.8}.vchip.add{background:transparent;box-shadow:none;color:var(--ink-soft);border:1.5px dashed rgba(26,26,24,.2)}.vchip.add:hover{background:hsla(0,0%,100%,.7)}.vchip.add .ic{width:11px;height:11px}.vchip.completed{opacity:.6}.vchip.completed .vlabel{text-decoration:line-through;-webkit-text-decoration-color:rgba(26,26,24,.4);text-decoration-color:rgba(26,26,24,.4)}.vcheck{display:inline-flex;color:var(--green-ink)}.vcheck svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.vchip.reveal{background:transparent;box-shadow:none;color:var(--green-ink);font-weight:700;border:1.5px solid rgba(31,174,121,.4)}.vchip.reveal:hover{background:rgba(31,174,121,.1)}.vchip.reveal .ic{width:12px;height:12px}.vremove{margin-left:1px;font-size:14px;line-height:1;opacity:.5;transition:opacity .14s var(--ease)}.vremove:hover{opacity:1}.type-filter{margin-left:auto;display:inline-flex;gap:3px;background:var(--surface);padding:3px;border-radius:9999px;box-shadow:var(--shadow-sm)}.tf-opt{border:none;background:transparent;cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--ink-soft);padding:5px 13px;border-radius:9999px;white-space:nowrap;transition:background .13s var(--ease),color .13s var(--ease)}.tf-opt:hover{color:var(--ink)}.tf-opt.active{background:var(--ink);color:#fff}.tf-opt.bug.active{background:#e5484d;color:#fff}.vswatch{width:12px;height:12px;border-radius:9999px;flex-shrink:0;display:inline-block;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14);cursor:pointer;transition:transform .12s var(--ease)}.vswatch:hover{transform:scale(1.2)}.color-pop{position:absolute;z-index:60;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;min-width:168px;background:var(--surface);box-shadow:var(--shadow-lg);animation:rise .16s var(--ease) both}.color-row{display:flex;gap:7px}.color-opt{width:24px;height:24px;border-radius:9999px;border:2.5px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);transition:transform .12s var(--ease)}.color-opt:hover{transform:scale(1.14)}.color-opt.sel{border-color:var(--ink)}.pop-div{height:1px;background:var(--border);margin:0 -2px}.pop-action{display:flex;align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--ink);padding:8px 9px;border-radius:10px;transition:background .13s var(--ease)}.pop-action:hover{background:var(--canvas)}.pop-action.done{color:var(--green-ink)}.pop-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.danger-link{border:none;background:transparent;color:var(--ink-mute);font-size:12px;font-weight:700;cursor:pointer;padding:8px 13px;border-radius:9999px;transition:color .14s var(--ease),background .14s var(--ease)}.danger-link:hover{color:var(--danger);background:var(--danger-soft)}.board{flex:1 1;display:grid;grid-template-columns:repeat(3,minmax(290px,1fr));grid-gap:20px;gap:20px;padding:16px 28px 48px;align-items:start}.column{border:none;border-radius:var(--radius);padding:16px 14px 14px;display:flex;flex-direction:column;gap:12px;min-height:200px;transition:background .14s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.column[data-status=todo]{background:var(--col-todo)}.column[data-status=inprogress]{background:var(--col-prog)}.column[data-status=done]{background:var(--col-done)}.column.drop-target{box-shadow:inset 0 0 0 2.5px rgba(26,26,24,.28);transform:scale(1.012)}.column-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 4px}.column-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.dot{width:10px;height:10px;border-radius:9999px}.dot.todo{background:var(--col-todo-dot)}.dot.inprogress{background:var(--col-prog-dot)}.dot.done{background:var(--col-done-dot)}.column-count{font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 10px;border-radius:9999px;color:var(--ink);background:hsla(0,0%,100%,.72)}.cards{display:flex;flex-direction:column;gap:12px;min-height:8px}.card-theme-0{--p-bg:#dcefcb;--p-ink:#356b2e}.card-theme-1{--p-bg:#fcebb4;--p-ink:#8a6300}.card-theme-2{--p-bg:#e6defb;--p-ink:#5b43b5}.card-theme-3{--p-bg:#cfede2;--p-ink:#16785c}.card-theme-4{--p-bg:#d8e8fd;--p-ink:#1e5fa8}.card-theme-5{--p-bg:#fbdcea;--p-ink:#b23a6e}.card{position:relative;background:var(--surface);border:none;border-radius:var(--radius-sm);padding:15px 15px 14px;color:var(--ink);cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow);transition:transform .13s var(--ease),box-shadow .16s var(--ease),opacity .16s var(--ease);animation:rise .34s var(--ease) both}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.card.dragging{background:transparent;box-shadow:inset 0 0 0 2px rgba(26,26,24,.16);cursor:-webkit-grabbing;cursor:grabbing;animation:none}.card.dragging>*{opacity:0}.card.dropped{animation:dropPop .36s var(--ease) both}.card.is-bug{background:#fac9cb}.card.is-bug.done{background:#efb9bb}.card.done{background:#fafbf6}.card.done .card-title{color:var(--ink-mute);text-decoration:line-through;-webkit-text-decoration-color:rgba(26,26,24,.35);text-decoration-color:rgba(26,26,24,.35)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropPop{0%{opacity:.4;transform:scale(1.06) translateY(-2px)}55%{opacity:1;transform:scale(.98) translateY(0)}to{opacity:1;transform:scale(1)}}.card-top{display:flex;align-items:flex-start;gap:11px}.checkbox{flex-shrink:0;margin-top:1px;width:21px;height:21px;border:2px solid #dcd8cc;border-radius:7px;background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .14s var(--ease),border-color .14s var(--ease)}.checkbox.checked,.checkbox:hover{border-color:var(--green)}.checkbox.checked{background:var(--green)}.checkbox svg{width:14px;height:14px;display:block;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.5);transition:opacity .14s var(--ease),transform .18s var(--ease)}.checkbox.checked svg{opacity:1;transform:scale(1)}.card-title{flex:1 1;font-size:14.5px;font-weight:700;line-height:1.4;color:var(--ink);word-break:break-word}.card-menu{flex-shrink:0;display:flex;gap:2px;opacity:0;transition:opacity .14s var(--ease)}.card:hover .card-menu{opacity:1}.icon-btn{border:none;background:transparent;color:var(--ink-mute);width:27px;height:27px;border-radius:8px;cursor:pointer;display:grid;place-items:center;transition:background .13s var(--ease),color .13s var(--ease)}.icon-btn:hover{background:rgba(26,26,24,.06);color:var(--ink)}.icon-btn.del:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.card-meta{display:flex;align-items:center;gap:8px;margin-top:13px;padding-left:32px;flex-wrap:wrap}.chip{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.01em;padding:4px 10px;border-radius:9999px}.chip.version{background:var(--p-bg,var(--green-soft));color:var(--p-ink,var(--green-ink))}.chip.bug{display:inline-flex;align-items:center;gap:4px;background:#e5484d;color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:9.5px}.chip.bug svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:500;padding:4px 10px;border-radius:9999px;background:#f1f0ea;color:var(--ink-soft)}.date svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.7}.date.overdue{background:var(--danger-soft);color:#c0282c;font-weight:600}.date.overdue .pill-overdue{margin-left:2px;text-transform:uppercase;letter-spacing:.05em;font-size:8.5px;background:var(--danger);color:#fff;padding:2px 6px;border-radius:9999px}.date.soon{background:var(--accent-soft);color:#8a6300;font-weight:600}.date.none{color:var(--ink-mute)}.card-edit-wrap{cursor:default;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}.card-edit{display:flex;flex-direction:column;gap:9px}.type-toggle{display:inline-flex;gap:3px;align-self:flex-start;background:#f1f0ea;padding:3px;border-radius:9999px}.type-opt{border:none;background:transparent;cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--ink-soft);padding:5px 15px;border-radius:9999px;transition:background .13s var(--ease),color .13s var(--ease),box-shadow .13s var(--ease)}.type-opt.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.type-opt.bug-active{color:#c0282c}.card-edit input,.card-edit textarea{font-family:var(--sans);font-size:13.5px;color:var(--ink);border:1.5px solid var(--border);background:#fbfaf6;border-radius:var(--radius-xs);padding:10px 12px;outline:none;width:100%;transition:border-color .13s var(--ease),background .13s var(--ease)}.card-edit textarea{resize:vertical;min-height:42px;line-height:1.4}.card-edit .title{font-weight:600;font-size:14.5px}.card-edit input:focus,.card-edit textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.edit-row{display:flex;gap:8px}.edit-row input{flex:1 1}.card-edit input.date,.card-edit input.version{font-family:var(--mono);font-size:12px}.card-edit input.date{color:var(--ink-soft)}.ver-label{font-family:var(--display);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);margin:2px 0 -2px}.ver-quick{display:flex;flex-wrap:wrap;gap:6px}.ver-pick{border:2px solid transparent;background:var(--p-bg,#f1f0ea);color:var(--p-ink,var(--ink-soft));font-family:var(--mono);font-size:11px;font-weight:600;padding:5px 11px;border-radius:9999px;cursor:pointer;transition:border-color .13s var(--ease),transform .1s var(--ease)}.ver-pick:hover{transform:translateY(-1px)}.ver-pick.active{border-color:var(--ink)}.edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.edit-actions .btn{padding:8px 16px;font-size:12px}.add-card{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;border:1.5px dashed rgba(26,26,24,.18);background:hsla(0,0%,100%,.45);color:var(--ink-soft);font-size:12.5px;font-weight:700;padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.add-card:hover{background:var(--surface);border-color:transparent;color:var(--ink);box-shadow:var(--shadow-sm)}.add-card svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}.add-card.add-bug{border-color:rgba(229,72,77,.45);color:#c0282c}.add-card.add-bug:hover{background:var(--danger-soft);color:#c0282c}.empty-hint{text-align:center;font-size:12.5px;color:var(--ink-soft);padding:16px 0 10px;font-family:var(--display);font-weight:600;opacity:.7}.calendar-h{flex:1 1;display:flex;flex-direction:column;min-height:0}.cal-head2{display:flex;align-items:center;gap:10px;padding:10px 28px 8px}.cal-title{font-size:22px;letter-spacing:-.02em}.cal-head2 .ic{width:13px;height:13px}.cal-newcard{max-width:380px;margin:4px 28px 12px}.cal-h{flex:1 1;display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding:10px 28px 36px;scroll-padding-left:28px}.cal-h::-webkit-scrollbar{height:10px}.cal-h::-webkit-scrollbar-thumb{background:rgba(26,26,24,.16);border-radius:9999px}.cal-col{flex:0 0 230px;width:230px;display:flex;flex-direction:column;gap:10px}.cal-col.past{opacity:.78}.cal-col-head{display:flex;align-items:baseline;gap:8px;padding:2px 4px 8px;border-bottom:2px solid var(--border)}.cal-dow2{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute)}.cal-dnum,.cal-dow2{font-family:var(--display);font-weight:800}.cal-dnum{font-size:18px;color:var(--ink)}.cal-mon{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);margin-left:auto}.cal-col.today .cal-col-head{border-bottom-color:var(--accent)}.cal-col.today .cal-dnum{background:var(--accent);border-radius:8px;padding:0 7px}.cal-col.nodate .cal-col-head{border-bottom-color:var(--ink-mute)}.cal-col-body{display:flex;flex-direction:column;gap:10px;min-height:14px}.cal-event{background:var(--surface);border-radius:12px;padding:11px 12px;box-shadow:var(--shadow-sm);transition:box-shadow .14s var(--ease)}.cal-event:hover{box-shadow:var(--shadow)}.cal-event.is-bug{background:#fac9cb}.cal-ev-top{display:flex;align-items:flex-start;gap:9px}.cal-ev-title{flex:1 1;border:none;background:transparent;text-align:left;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink);line-height:1.35;padding:0;word-break:break-word}.cal-event.done .cal-ev-title{color:var(--ink-mute);text-decoration:line-through}.cal-ev-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-left:30px}.tl-status{display:inline-flex;gap:5px;font-size:10px;font-weight:600;font-family:var(--mono)}.cal-add,.tl-status{align-items:center;color:var(--ink-soft)}.cal-add{display:flex;justify-content:center;gap:6px;border:1.5px dashed rgba(26,26,24,.18);background:hsla(0,0%,100%,.45);font-size:12px;font-weight:700;padding:9px;border-radius:12px;cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease)}.cal-add:hover{background:var(--surface);color:var(--ink);border-color:transparent;box-shadow:var(--shadow-sm)}.cal-add svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.calendar{flex:1 1;padding:10px 28px 48px}.cal-head{display:flex;align-items:center;gap:14px;padding:4px 2px 18px}.cal-title{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.03em;min-width:230px}.cal-nav{display:flex;gap:6px}.cal-nav .btn{padding:8px 10px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.cal-dow{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);padding:0 6px 2px}.cal-cell{background:var(--surface);border-radius:14px;min-height:118px;padding:9px 9px 10px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:5px}.cal-cell.out{background:transparent;box-shadow:none}.cal-cell.today{box-shadow:0 0 0 2px var(--accent),var(--shadow-sm)}.cal-date{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink-soft)}.cal-cell.out .cal-date{opacity:.4}.cal-event{display:flex;align-items:center;gap:6px;width:100%;text-align:left;font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px;border:none;cursor:pointer;background:var(--p-bg,#eeeae0);color:var(--p-ink,var(--ink));transition:transform .11s var(--ease)}.cal-event:hover{transform:translateY(-1px)}.cal-event .ev-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event.done{opacity:.55;text-decoration:line-through}.cal-event.is-bug{box-shadow:inset 0 0 0 1.5px var(--danger)}.cal-event .ev-bug{width:6px;height:6px;border-radius:9999px;background:var(--danger);flex-shrink:0}.cal-undated{margin-top:22px}.cal-undated h3{font-family:var(--display);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin:0 0 10px}.cal-undated-list{display:flex;flex-wrap:wrap;gap:8px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(8px);background:var(--ink);color:#fbfaf6;font-size:12.5px;font-weight:600;padding:12px 20px;border-radius:9999px;box-shadow:var(--shadow-lg);z-index:50;opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:var(--danger);color:#fff}.banner{margin:0 28px 8px;background:var(--danger-soft);border:none;color:#b4282c;font-size:12.5px;padding:12px 16px;border-radius:var(--radius-sm);font-family:var(--mono);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:rgba(26,26,24,.28);z-index:100}.modal{position:fixed;top:96px;left:50%;transform:translateX(-50%);width:384px;max-width:calc(100vw - 32px);background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:rise .2s var(--ease) both}.modal.moved{transform:none}.modal-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 16px;cursor:-webkit-grab;cursor:grab;border-bottom:1px solid var(--border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.modal-title{font-family:var(--display);font-weight:800;font-size:13px;color:var(--ink)}.modal-close{border:none;background:transparent;cursor:pointer;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-mute)}.modal-close:hover{background:rgba(26,26,24,.06);color:var(--ink)}.modal-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.modal-body{padding:14px 16px 16px}.home{min-height:100%;display:flex;flex-direction:column}.home-top{gap:12px;padding:16px 28px;background:var(--canvas);border-bottom:1px solid rgba(26,26,24,.06);position:-webkit-sticky;position:sticky;top:0;z-index:20}.home-head,.home-top{display:flex;align-items:center}.home-head{gap:16px;padding:32px 28px 18px}.home-title{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.03em;margin:0}.home-head .ic{width:13px;height:13px}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));grid-gap:16px;gap:16px;padding:6px 28px 48px;align-items:start}.proj-card{position:relative;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:box-shadow .16s var(--ease),transform .13s var(--ease)}.proj-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.proj-open{display:block;padding:20px 20px 22px;text-decoration:none}.proj-mark{display:inline-flex;flex-direction:column;gap:3px;margin-bottom:14px}.proj-mark span{height:5px;border-radius:2px}.proj-mark span:first-child{width:26px;background:#e58e36}.proj-mark span:nth-child(2){width:19px;margin-left:7px;background:#4b73f5}.proj-mark span:nth-child(3){width:14px;margin-left:12px;background:#2cbe3d}.proj-name{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;word-break:break-word}.proj-meta{font-family:var(--mono);font-size:11.5px;margin:0}.proj-del,.proj-meta{color:var(--ink-mute)}.proj-del{position:absolute;top:12px;right:12px;border:none;background:transparent;width:30px;height:30px;border-radius:8px;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.proj-card:hover .proj-del{opacity:1}.proj-del:hover{background:var(--danger-soft);color:var(--danger)}.proj-del svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.auth-screen{min-height:100%;display:grid;place-items:center;padding:40px 20px}.auth-card{width:100%;max-width:392px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:40px 38px 44px}.auth-brand{gap:12px;margin-bottom:4px}.auth-brand h1{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;margin:0}.auth-logo{color:var(--ink);display:block;margin-bottom:10px}.auth-sub{color:var(--ink-soft);font-size:13.5px;line-height:1.55;margin:6px 0 30px}.auth-form{gap:18px}.auth-form,.auth-form form{display:flex;flex-direction:column}.auth-form form{gap:14px;margin:0}.btn.google{background:var(--surface);box-shadow:var(--shadow-sm);justify-content:center;padding:11px;font-weight:700;width:100%}.btn.google:hover{box-shadow:var(--shadow)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--ink-mute);font-size:11px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-input{font-family:var(--sans);font-size:14px;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:#fbfaf6;outline:none;width:100%}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{justify-content:center;width:100%;padding:11px}.auth-error{color:var(--danger);font-size:12.5px;margin:4px 0 0}.auth-sent{text-align:center;color:var(--ink-soft);font-size:14px;display:flex;flex-direction:column;gap:14px;align-items:center}.lp{min-height:100%}.lp-nav{display:flex;align-items:center;gap:10px;padding:18px 28px;max-width:1080px;margin:0 auto}.lp-hero{max-width:880px;margin:0 auto;padding:44px 28px 16px;text-align:center}.lp-tag{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface);padding:6px 13px;border-radius:9999px;box-shadow:var(--shadow-sm)}.lp-h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,6vw,58px);line-height:1.04;letter-spacing:-.035em;margin:22px 0 0;color:var(--ink)}.lp-sub{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:620px;margin:18px auto 0}.lp-cta{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:12px}.lp-big{font-size:15px;padding:14px 28px}.lp-note{font-size:12.5px;color:var(--ink-mute)}.lp-mock{max-width:740px;margin:48px auto 0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:18px;text-align:left}.lp-mock-bar{display:flex;gap:7px;padding:2px 4px 14px}.lp-mock-bar span{width:11px;height:11px;border-radius:9999px;background:#e6e3da}.lp-mock-cols{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.lp-mc{border-radius:14px;padding:12px}.lp-mc.todo{background:var(--col-todo)}.lp-mc.prog{background:var(--col-prog)}.lp-mc.done{background:var(--col-done)}.lp-mc b{font-family:var(--display);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);display:block;margin-bottom:10px}.lp-mcard{background:#fff;border-radius:10px;padding:10px 11px;font-size:12px;font-weight:700;color:var(--ink);box-shadow:var(--shadow-sm);margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.lp-mcard.bug{background:#fac9cb}.lp-pill{align-self:flex-start;font-family:var(--mono);font-size:9.5px;font-weight:600;padding:3px 8px;border-radius:9999px;background:#d8e8fd;color:#1e5fa8;font-style:normal}.lp-pill.g{background:#dcefcb;color:#356b2e}.lp-pill.bug{background:#e5484d;color:#fff}.lp-features{max-width:1000px;margin:64px auto 0;padding:0 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(278px,1fr));grid-gap:18px;gap:18px}.lp-feature{background:var(--surface);border-radius:var(--radius-sm);padding:24px;box-shadow:var(--shadow-sm)}.lp-fbar{display:block;width:34px;height:6px;border-radius:3px;margin-bottom:16px}.lp-feature h3{font-family:var(--display);font-weight:800;font-size:16.5px;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}.lp-feature p{font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin:0}.lp-final{max-width:680px;margin:72px auto 0;padding:48px 28px;text-align:center}.lp-h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,4vw,38px);letter-spacing:-.03em;margin:0 0 10px;color:var(--ink)}.lp-final .lp-big{margin-top:22px}.nowrap{white-space:nowrap}.lp-footer{margin-top:84px;border-top:1px solid rgba(26,26,24,.08);padding:40px 28px 60px}.lp-footer-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap}.lp-footer-brand{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:13px}.lp-footer-brand .brand-logo-full{color:var(--ink)}.lp-footer-made{color:var(--ink-soft);font-size:13px;text-decoration:none}.lp-footer-made strong{color:var(--ink);font-weight:700}.lp-footer-made:hover{color:var(--ink)}.lp-footer-made:hover strong{text-decoration:underline}@media (max-width:920px){.board{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:14px}.projects{order:3;width:100%}.lp-mock-cols{grid-template-columns:1fr}}