@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.40v7iydlhc_yt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.438h7bwt6ldsi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0rg7ym60g9xsl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:115.45%}.fraunces_3550b81b-module__3muwCG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_3550b81b-module__3muwCG__variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Karla;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/ba35eb811246f14c-s.2biofe0x0j860.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Karla;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/680aa1e827d679d2-s.p.0rq9z_euyk5n0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla Fallback;src:local(Arial);ascent-override:89.55%;descent-override:24.61%;line-gap-override:0.0%;size-adjust:102.4%}.karla_f83cdf1d-module__SwfNwG__className{font-family:Karla,Karla Fallback;font-style:normal}.karla_f83cdf1d-module__SwfNwG__variable{--font-sans:"Karla", "Karla Fallback"}
:root{--bg:#eeeae3;--card:#f8f6f1;--ink:#3a372f;--soft:#97907f;--line:#ddd7cb;--sage:#7d8b74;--clay:#b4826a;--serif:var(--font-serif), "Fraunces", serif;--sans:var(--font-sans), "Karla", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);min-height:100vh}button{font-family:var(--sans)}.page{grid-template-columns:1fr 252px;gap:44px;max-width:960px;margin:0 auto;padding:44px 26px 150px;display:grid}.header-date{letter-spacing:.28em;text-transform:uppercase;color:var(--soft);font-size:12px}.header-title{font-family:var(--serif);margin-top:10px;font-size:36px;font-weight:340}.header-title em{color:var(--sage);font-style:italic}.header-sub{color:var(--soft);margin-top:9px;font-size:14px}.header-sub b{color:var(--clay);font-weight:600}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:22px;display:flex}.views{background:var(--card);border:1px solid var(--line);border-radius:999px;gap:5px;width:fit-content;padding:5px;display:flex}.views button{color:var(--soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:13px}.views button.active{background:var(--ink);color:var(--card);font-weight:500}.btn{cursor:pointer;border:none;border-radius:12px;padding:10px 18px;font-size:13px;font-weight:600}.btn-sage{background:var(--sage);color:var(--card)}.btn-ghost{border:1px solid var(--line);color:var(--soft);background:0 0}.btn-clay{background:var(--clay);color:var(--card)}.new-event-btn{border-radius:999px;padding:11px 20px}.grouplabel{font-family:var(--serif);color:var(--soft);align-items:center;gap:16px;margin:30px 0 14px;font-size:19px;font-style:italic;display:flex}.grouplabel.urgent{color:var(--clay)}.grouplabel:after{content:"";background:var(--line);flex:1;height:1px}.card{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:18px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:18px 20px;display:flex}.card:hover{border-color:#c9c1b0}.card.urgent{border-left:4px solid var(--clay)}.card.past{opacity:.5}.card .time{flex-shrink:0;width:74px}.card .time b{font-size:16px;font-weight:600;display:block}.card .time span{color:var(--soft);font-size:11px}.card h3{margin-bottom:4px;font-size:16px;font-weight:600}.card h3.done{color:var(--soft);text-decoration:line-through}.card .meta{color:var(--soft);font-size:13px}.card .meta b{color:var(--sage);font-weight:600}.card.urgent .meta b{color:var(--clay)}.card .body{flex:1;min-width:0}.toggle{background:var(--line);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:44px;height:26px;position:relative}.toggle:after{content:"";background:var(--card);border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--sage)}.toggle.on:after{left:21px}.empty-note{font-family:var(--serif);color:var(--soft);padding:26px 4px;font-size:16px;font-style:italic}.week-day-label{letter-spacing:.22em;text-transform:uppercase;color:var(--soft);align-items:center;gap:14px;margin:28px 0 12px;font-size:12px;display:flex}.week-day-label.today{color:var(--clay);font-weight:600}.week-day-label:after{content:"";background:var(--line);flex:1;height:1px}.month-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:26px;display:grid}.month-grid .dow{text-align:center;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);padding-bottom:6px;font-size:10px}.month-cell{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;min-height:86px;font-family:var(--sans);border-radius:12px;padding:8px 9px}.month-cell:hover{border-color:#c9c1b0}.month-cell.other{opacity:.4}.month-cell.today{border-color:var(--clay);border-width:2px}.month-cell .num{color:var(--soft);font-size:12px;font-weight:600}.month-cell.today .num{color:var(--clay)}.month-cell .pip{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10.5px;display:block;overflow:hidden}.month-cell .pip:before{content:"·";color:var(--sage);margin-right:4px;font-weight:700}.month-cell .more{color:var(--soft);margin-top:3px;font-size:10px;display:block}.year-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;display:grid}.year-month{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;font-family:var(--sans);border-radius:16px;padding:16px 18px}.year-month:hover{border-color:#c9c1b0}.year-month.now{border-color:var(--sage);border-width:2px}.year-month .name{font-family:var(--serif);font-size:18px}.year-month .count{color:var(--soft);margin-top:3px;font-size:12px}.year-month .bar{background:var(--line);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.year-month .bar i{background:var(--sage);border-radius:3px;height:100%;display:block}aside.side{padding-top:8px}.mini{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:15px;padding:18px}.mini .t{letter-spacing:.24em;text-transform:uppercase;color:var(--soft);justify-content:space-between;align-items:baseline;margin-bottom:13px;font-size:11px;display:flex}.mini .t button{color:var(--sage);cursor:pointer;text-transform:none;letter-spacing:.02em;background:0 0;border:none;font-size:11px}.cal{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;font-size:12px;display:grid}.cal .dow{color:var(--soft);padding:3px 0 7px;font-size:10px}.cal button{color:var(--soft);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 0;font-size:12px;position:relative}.cal button.has{color:var(--ink);font-weight:500}.cal button.has:after{content:"";background:var(--sage);border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.cal button.now{background:var(--clay);color:var(--card);font-weight:600}.cal button.now:after{display:none}.cal button.sel{outline:1.5px solid var(--sage)}.yearline{align-items:flex-end;gap:4px;height:44px;display:flex}.yearline button{background:var(--line);cursor:pointer;border:none;border-radius:3px 3px 0 0;flex:1;min-height:4px}.yearline button.q{background:#c6bfae}.yearline button.now{background:var(--sage)}.ylabels{gap:4px;margin-top:6px;display:flex}.ylabels span{text-align:center;color:var(--soft);text-transform:uppercase;flex:1;font-size:8.5px}.goalrow{margin-bottom:12px}.goalrow:last-child{margin-bottom:0}.goalrow .k{justify-content:space-between;font-size:12px;font-weight:500;display:flex}.goalrow .k em{color:var(--soft);font-style:normal;font-weight:400}.goalrow .bar{background:var(--line);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.goalrow .bar i{background:var(--sage);border-radius:3px;height:100%;display:block}.ai-dock{background:var(--card);border:1px solid var(--line);z-index:40;border-radius:20px;width:min(580px,100% - 40px);position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #3a372f24}.ai-inner{padding:14px 16px}.ai-label{letter-spacing:.22em;text-transform:uppercase;color:var(--soft);justify-content:space-between;margin-bottom:8px;font-size:10px;display:flex}.ai-label button{color:var(--sage);cursor:pointer;letter-spacing:.06em;background:0 0;border:none;font-size:10px}.ai-row{align-items:center;gap:12px;display:flex}.btn-mic{border:1px solid var(--line);width:36px;height:36px;color:var(--soft);cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex}.btn-mic:hover{color:var(--ink);border-color:var(--soft)}.btn-mic.listening{color:var(--clay);border-color:var(--clay);animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 #b4826a66}50%{box-shadow:0 0 0 7px #b4826a00}}.ai-row input{font-family:var(--serif);color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px;font-style:italic}.ai-row input::placeholder{color:var(--soft)}.ai-thread{border-bottom:1px solid var(--line);max-height:260px;padding:14px 16px 4px;overflow-y:auto}.ai-msg{margin-bottom:12px;font-size:13.5px;line-height:1.55}.ai-msg .who{letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:2px;font-size:9.5px;display:block}.ai-msg.assistant{color:var(--ink)}.ai-msg.assistant .who{color:var(--sage)}.ai-msg.error{color:var(--clay)}.ai-thinking{font-family:var(--serif);color:var(--soft);margin-bottom:12px;font-size:13.5px;font-style:italic}.overlay{z-index:50;background:#3a372f59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);border-radius:20px;width:min(460px,100%);max-height:90vh;padding:26px;overflow-y:auto}.modal h2{font-family:var(--serif);margin-bottom:20px;font-size:24px;font-weight:500}.field{margin-bottom:15px}.field label{letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;font-size:10.5px;display:block}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);width:100%;font-family:var(--sans);color:var(--ink);border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage)}.field-row{gap:12px;display:flex}.field-row .field{flex:1}.check-row{align-items:center;gap:10px;margin-bottom:15px;display:flex}.check-row label{cursor:pointer;font-size:13.5px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal-actions .spacer{flex:1}.hint{color:var(--soft);margin-bottom:16px;font-size:12px;line-height:1.55}.landing{justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.landing-inner{text-align:center;max-width:420px}.landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.header-top{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:880px){.page{grid-template-columns:1fr;gap:8px;padding-top:30px}aside.side{order:2}.year-grid{grid-template-columns:repeat(2,1fr)}.month-cell{min-height:62px}.month-cell .pip{display:none}.month-cell .dots{color:var(--sage);letter-spacing:2px;margin-top:2px;font-size:10px;display:block}}
