@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_4ba4aa{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_4ba4aa{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:Hanken Grotesk Fallback;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_c8454b{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.__variable_c8454b{--font-body:"Hanken Grotesk","Hanken Grotesk Fallback"}:root{--cream:#f6f4ec;--paper:#ffffff;--ink:#17212b;--muted:#6b7680;--line:#e6e3d8;--red:#e84a5f;--red-deep:#c4324a;--red-soft:#ffe7ea;--teal:#0e9384;--teal-soft:#dff5ef;--blue:#2f6fed;--blue-soft:#e1ecff;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body),system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-display),Georgia,serif;font-weight:600;letter-spacing:-.02em}code{background:var(--line);padding:1px 6px;border-radius:6px;font-size:.9em}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--red);color:#fff}.btn-primary:not(:disabled):hover{background:var(--red-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:not(:disabled):hover{border-color:var(--ink)}.btn-danger{background:var(--red-soft);color:var(--red-deep)}.link-btn{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:2px;margin-top:14px}.link-btn:hover{color:var(--red)}.auth-wrap,.center-screen{min-height:100vh;display:grid;place-items:center}.auth-wrap{padding:24px;background-image:radial-gradient(700px 380px at 88% -10%,rgba(232,74,95,.1),transparent 60%),radial-gradient(620px 380px at -6% 6%,rgba(14,147,132,.08),transparent 55%)}.auth-card{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:36px 32px;box-shadow:0 30px 60px -28px rgba(23,33,43,.28)}.auth-head{text-align:center;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:10px}.auth-head h1{font-size:26px}.auth-head p{font-size:15px}.auth-form{gap:14px}.auth-form,.field{display:flex;flex-direction:column}.field{gap:6px;flex:1 1}.field>span{font-size:13px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.field-row{display:flex;gap:12px;flex-wrap:wrap}.error{color:var(--red-deep)}.error,.notice{font-size:14px;font-weight:600}.notice{color:var(--teal)}.app{min-height:100vh}.topbar{justify-content:space-between;padding:16px 28px;background:rgba(246,244,236,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar,.topbar-right{display:flex;align-items:center}.topbar-right{gap:16px}.content{max-width:980px;margin:0 auto;padding:28px;display:flex;flex-direction:column;gap:36px}.section-title{font-size:22px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.banner{padding:12px 16px;border-radius:10px;font-weight:600}.banner.error{background:var(--red-soft);color:var(--red-deep)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:600}.stat-label{font-size:13px;color:var(--muted);font-weight:600}.goal-card{display:flex;flex-direction:column;gap:8px;justify-content:center}.goal-bar{height:8px;background:var(--line);border-radius:999px;overflow:hidden}.goal-bar span{display:block;height:100%;background:var(--teal);border-radius:999px}.empty{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}.session-list,.task-list{list-style:none;display:flex;flex-direction:column;gap:10px}.task-row{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.check,.task-row{background:var(--paper)}.check{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--line);cursor:pointer;color:#fff;font-weight:800}.check.checked{background:var(--teal);border-color:var(--teal)}.task-main{flex:1 1;display:flex;flex-direction:column;gap:5px;background:none;border:none;text-align:left;cursor:pointer;font:inherit}.task-title{font-size:16px;font-weight:700;color:var(--ink)}.task-title.done{text-decoration:line-through;color:var(--muted)}.task-desc{font-size:14px;color:var(--muted)}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.tone-red{background:var(--red-soft);color:var(--red-deep)}.tone-amber{background:#fcefd6;color:#b7791f}.tone-neutral{background:var(--cream);color:var(--muted)}.tone-blue{background:var(--blue-soft);color:var(--blue)}.session-row{display:flex;justify-content:space-between;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px}.modal-overlay{position:fixed;inset:0;background:rgba(23,33,43,.45);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:100%;max-width:520px;background:var(--paper);border-radius:18px;padding:28px;box-shadow:0 40px 80px -30px rgba(23,33,43,.5)}.modal h2{font-size:22px;margin-bottom:18px}.modal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.modal-actions-right{display:flex;gap:10px}@media (max-width:560px){.content,.topbar{padding-left:16px;padding-right:16px}.field-row{flex-direction:column}}