@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_3a6cb3{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_3a6cb3{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_37ef13{font-family:Inter,Inter Fallback;font-style:normal}.__variable_37ef13{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;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;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;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;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;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;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;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;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;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;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;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;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;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,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:light;--ink:#141b22;--ink-soft:#3c4a56;--mute:#7d8b97;--line:#e4e7e9;--paper:#fbfaf7;--card:#ffffff;--live:#1a9f6b;--live-bg:#e6f6ee;--work:#e08a2b;--work-bg:#fdf1e1;--stop:#c8503f;--stop-bg:#fbeae6;--accent:#2b5cff;--radius:14px;--shadow:0 1px 2px rgba(20,27,34,.04),0 8px 24px rgba(20,27,34,.06);--fill-strong:#141b22;--on-fill-strong:#fff;--fill-strong-hover:#000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{background:var(--paper)}body{font-family:var(--font-inter),system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh}::selection{background:var(--live-bg)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav{height:60px;gap:28px;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(251,250,247,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:40}.brand,.nav{display:flex;align-items:center}.brand{gap:9px;font-weight:600;font-size:16px;letter-spacing:-.02em}.brand-logo{width:22px;height:22px}@keyframes beat{0%{box-shadow:0 0 0 0 rgba(26,159,107,.45)}60%{box-shadow:0 0 0 7px rgba(26,159,107,0)}to{box-shadow:0 0 0 0 rgba(26,159,107,0)}}.nav .spacer{flex:1 1}.nav .tab{color:var(--mute);text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;background:none;border:none;font-family:inherit}.nav .tab.on{color:var(--ink)}.nav .tab[aria-disabled=true]{cursor:not-allowed}.theme-toggle{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--mute);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.15s}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-soft)}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#2b5cff,#1a9f6b);border:none;cursor:pointer}.wrap{max-width:1120px;margin:0 auto;padding:34px 26px 80px}@media (max-width:480px){.wrap{padding:20px 16px 60px}.dash-head{flex-direction:column;align-items:flex-start}}.page-enter{animation:fade .4s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:20px;flex-wrap:wrap}h1{font-family:var(--font-fraunces),serif;font-weight:500;font-size:34px;letter-spacing:-.02em;line-height:1.05}.dash-head p{color:var(--mute);font-size:14.5px;margin-top:6px}.btn{border:none;cursor:pointer;font-family:inherit;font-weight:500;font-size:14px;padding:11px 18px;border-radius:10px;transition:.15s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--fill-strong);color:var(--on-fill-strong)}.btn-primary:hover{background:var(--fill-strong-hover);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:16px;gap:16px}.proj{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;cursor:pointer;transition:.18s;position:relative;overflow:hidden;text-align:left;width:100%;font-family:inherit;display:block}.proj:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d4d8db}.proj .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pname{font-size:16px;letter-spacing:-.01em}.badge,.pname{font-weight:600}.badge{font-size:11.5px;padding:4px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;letter-spacing:.01em}.badge .bd{width:6px;height:6px;border-radius:50%}.b-live{background:var(--live-bg);color:var(--live)}.b-live .bd{background:var(--live);animation:beat 2.4s infinite}.b-work{background:var(--work-bg);color:var(--work)}.b-work .bd{background:var(--work)}.b-stop{background:var(--stop-bg);color:var(--stop)}.b-stop .bd{background:var(--stop)}.b-sleep{background:#f0f1f2;color:var(--mute)}.b-sleep .bd{background:var(--mute)}.purl{font-family:var(--font-jetbrains-mono),monospace;font-size:12.5px;color:var(--accent);margin-bottom:16px;word-break:break-all}.purl.none{color:var(--mute)}.pmeta{font-size:12.5px;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.newcard,.pmeta{color:var(--mute);display:flex}.newcard{border:1.5px dashed #cdd3d8;background:transparent;border-radius:var(--radius);flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;cursor:pointer;transition:.18s;min-height:150px;text-align:center;width:100%;font-family:inherit}.newcard.dragover,.newcard:hover{border-color:var(--accent);color:var(--accent);background:#f7f9ff}.newcard .plus{font-size:26px;font-weight:300;line-height:1}.back,.newcard span{font-size:13.5px;font-weight:500}.back{display:inline-flex;align-items:center;gap:7px;color:var(--mute);cursor:pointer;margin-bottom:18px;text-decoration:none}.back:hover{color:var(--ink)}.proj-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:22px;gap:22px;align-items:start}@media(max-width:860px){.proj-layout{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:-webkit-sticky;position:sticky;top:82px}.panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);font-weight:600;margin-bottom:14px}.status-hero{margin-bottom:20px}.status-line{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;margin-bottom:12px}.status-line .bd{width:9px;height:9px;border-radius:50%}.status-line .bd.live{background:var(--live);box-shadow:0 0 0 0 rgba(26,159,107,.5);animation:beat 2.4s infinite}.status-line .bd.work{background:var(--work)}.status-line .bd.stop{background:var(--stop)}.status-line .bd.sleep{background:var(--mute)}.live-url{display:block;font-family:var(--font-jetbrains-mono),monospace;font-size:13px;color:var(--accent);background:#f5f8ff;border:1px solid #e2ebff;border-radius:9px;padding:11px 12px;text-decoration:none;word-break:break-all;transition:.15s;margin-bottom:8px;cursor:pointer}.live-url:hover{background:#eef4ff;border-color:var(--accent)}.copy-hint{font-size:11.5px;color:var(--mute)}.panel .divide{height:1px;background:var(--line);margin:18px 0}.version-note{font-size:12.5px;color:var(--mute);padding:8px 0}.rollback{width:100%;margin-top:10px;justify-content:center;font-size:13px;padding:9px}.advanced{margin-top:16px;font-size:12.5px;color:var(--mute);cursor:pointer;display:flex;align-items:center;gap:6px;background:none;border:none;font-family:inherit;width:100%;text-align:left}.advanced-panel,.advanced:hover{color:var(--ink-soft)}.advanced-panel{margin-top:12px;padding:12px;background:#f7f8f9;border:1px solid var(--line);border-radius:9px;font-size:12px}.advanced-panel dt{font-weight:600;color:var(--ink-soft);margin-top:8px}.advanced-panel dd{margin:0 0 4px;color:var(--mute)}.advanced-panel pre{white-space:pre-wrap;font-family:var(--font-jetbrains-mono),monospace;font-size:11.5px;max-height:220px;overflow-y:auto;margin-top:8px;color:var(--ink-soft)}.chat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:520px;overflow:hidden}.chat-head{padding:16px 20px;border-bottom:1px solid var(--line);gap:11px}.chat-head,.chat-head .ag{display:flex;align-items:center}.chat-head .ag{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#141b22,#3c4a56);justify-content:center;color:#fff;font-size:13px;font-weight:600;font-family:var(--font-fraunces),serif}.chat-head .who{font-weight:600;font-size:14.5px}.chat-head .st{font-size:12px;color:var(--mute)}.chat-head .st.working{color:var(--work);font-weight:500}.chat-body{flex:1 1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;max-height:440px}.msg{max-width:82%;font-size:14px;line-height:1.55;animation:fade .35s ease}.msg.ag{align-self:flex-start}.msg.u{align-self:flex-end}.bubble{padding:11px 14px;border-radius:13px}.msg.ag .bubble{background:#f4f5f6;border-bottom-left-radius:4px}.msg.u .bubble{background:var(--fill-strong);color:var(--on-fill-strong);border-bottom-right-radius:4px}.msg .stamp{font-size:11px;color:var(--mute);margin-top:5px;padding:0 4px}.msg.u .stamp{text-align:right}.doing{display:flex;align-items:center;gap:9px;color:var(--ink-soft);font-size:13.5px;align-self:flex-start;font-style:normal}.spin{width:13px;height:13px;border:2px solid #d9dde0;border-top:2px solid var(--work);border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}.done-check{color:var(--live);font-weight:600}.chips{display:flex;gap:8px;flex-wrap:wrap;align-self:flex-start;margin-top:2px}.chip{font-size:13px;font-weight:500;padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:var(--card);cursor:pointer;transition:.15s;font-family:inherit}.chip:hover{border-color:var(--ink);transform:translateY(-1px)}.chip.go{background:var(--fill-strong);color:var(--on-fill-strong);border-color:var(--fill-strong)}.chat-foot{padding:14px 16px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center}.chat-foot input{flex:1 1;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;outline:none;transition:.15s}.chat-foot input:focus{border-color:var(--accent)}.send{background:var(--fill-strong);color:var(--on-fill-strong);border:none;width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:16px;flex-shrink:0}.send:disabled{background:var(--line);cursor:not-allowed}.chat-foot.quiet{opacity:.9}.quiet-note{font-size:12px;color:var(--mute);padding:0 4px}.giveup-actions{margin-top:14px}.flash{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--fill-strong);color:var(--on-fill-strong);padding:11px 18px;border-radius:10px;font-size:13.5px;opacity:0;transition:.25s;z-index:60;box-shadow:var(--shadow);pointer-events:none}.flash.show{opacity:1;transform:translateX(-50%) translateY(0)}.mode-tag{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:8px}.delete-trigger{width:100%;margin-top:16px;justify-content:center;font-size:13px;padding:9px;color:var(--stop);border:1px solid var(--stop-bg);background:transparent}.delete-trigger:hover{background:var(--stop-bg)}.delete-trigger:disabled{color:var(--mute);border-color:var(--line);cursor:not-allowed;background:transparent}.dialog-overlay{position:fixed;inset:0;background:rgba(20,27,34,.45);display:flex;align-items:center;justify-content:center;z-index:80;padding:20px}.dialog-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;max-width:380px;width:100%}.dialog-card h3{font-family:var(--font-fraunces),serif;font-size:19px;font-weight:500;letter-spacing:-.01em;margin-bottom:10px}.dialog-card p{font-size:14px;color:var(--ink-soft);line-height:1.5}.dialog-error{color:var(--stop);font-size:13px;margin-top:10px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-danger{background:var(--stop);color:#fff}.btn-danger:hover{background:#b8442f}.btn-danger:disabled{background:var(--stop-bg);color:var(--mute);cursor:not-allowed}.state-panel{max-width:420px;margin:80px auto;text-align:center;padding:0 20px}.state-panel h1{font-family:var(--font-fraunces),serif;font-weight:500;font-size:26px;letter-spacing:-.02em;margin-bottom:10px}.state-panel p{color:var(--ink-soft);font-size:14.5px;line-height:1.5;margin-bottom:20px}.skeleton{background:linear-gradient(90deg,#eceeef 25%,#f4f5f6 37%,#eceeef 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-card{cursor:default}.skeleton-card:hover{transform:none;box-shadow:none;border-color:var(--line)}:root[data-theme=dark]{color-scheme:dark;--ink:#eef1f4;--ink-soft:#b8c2cb;--mute:#8b96a0;--line:#2a3138;--paper:#12161b;--card:#1a1f26;--live:#3ddb96;--live-bg:rgba(61,219,150,.14);--work:#f0a94a;--work-bg:rgba(240,169,74,.14);--stop:#e2685a;--stop-bg:rgba(226,104,90,.14);--accent:#5b83ff;--shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.45);--fill-strong:#eef1f4;--on-fill-strong:#12161b;--fill-strong-hover:#ffffff}:root[data-theme=dark] .nav{background:rgba(18,22,27,.85)}:root[data-theme=dark] .proj:hover{border-color:#39424b}:root[data-theme=dark] .b-sleep{background:#242a31}:root[data-theme=dark] .newcard{border-color:#39424b}:root[data-theme=dark] .newcard.dragover,:root[data-theme=dark] .newcard:hover{background:#1a2233;border-color:var(--accent)}:root[data-theme=dark] .live-url{background:#182238;border-color:#26355c}:root[data-theme=dark] .live-url:hover{background:#1e2c4a;border-color:var(--accent)}:root[data-theme=dark] .advanced-panel{background:#1c2128}:root[data-theme=dark] .msg.ag .bubble{background:#242a31}:root[data-theme=dark] .spin{border-color:#39424b;border-top-color:var(--work)}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1c2128 25%,#262c34 37%,#1c2128 63%);background-size:400% 100%}:root[data-theme=dark] .dialog-overlay{background:rgba(0,0,0,.6)}.legal{max-width:640px}.legal h1{margin-top:8px}.legal-updated{color:var(--mute);font-size:13px;margin-bottom:28px}.legal section{margin-bottom:24px}.legal h2{font-family:var(--font-fraunces),serif;font-weight:500;font-size:18px;letter-spacing:-.01em;margin-bottom:8px}.legal p{color:var(--ink-soft);font-size:14.5px;line-height:1.6}.app-footer{max-width:1120px;margin:40px auto 0;padding:20px 26px 0;border-top:1px solid var(--line);display:flex;gap:20px;font-size:12.5px}.app-footer a{color:var(--mute);text-decoration:none}.app-footer a:hover{color:var(--ink-soft)}@media (max-width:480px){.app-footer{padding:20px 16px 0}}.grad-char{display:inline;background-image:linear-gradient(90deg,#ff8a3d 0,#ff2f8f 45%,var(--ink) 75%,var(--ink) 100%);background-size:480% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;background-position:0 0;transition:background-position .65s ease}.grad-char.settled{background-position:100% 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;max-width:380px;width:100%}.auth-card h1{font-family:var(--font-fraunces),serif;font-weight:500;font-size:22px;letter-spacing:-.01em;margin-bottom:6px}.auth-sub{color:var(--mute);font-size:13.5px;margin-bottom:22px;line-height:1.5}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;color:var(--ink-soft);margin-bottom:6px}.field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;outline:none;transition:.15s;background:var(--paper);color:var(--ink)}.field input:focus{border-color:var(--accent)}.auth-submit{width:100%;justify-content:center;margin-top:4px}.auth-error{color:var(--stop);font-size:13px;margin:-6px 0 16px}.auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:13px}.auth-links a{color:var(--mute);text-decoration:none}.auth-links a:hover{color:var(--ink-soft)}.auth-loading-glow{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.auth-loading-glow:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,61,.35) 0,rgba(139,61,255,.25) 55%,transparent 75%);animation:breathe 2.2s ease-in-out infinite}.auth-loading-glow img{width:64px;height:64px;position:relative;z-index:1;animation:breathe-logo 2.2s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes breathe-logo{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}