@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Franklin:ital,wght@0,500;0,600;1,500&display=swap";:root{--accent:#7A9B76;--ink:#252a26;--muted:#707771;--paper:#f8f8f4;--line:#e2e5df;--white:#fff;--danger:#a6534c;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2{font-family:Libre Franklin,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin-bottom:.7rem}h2{font-size:1.28rem}.app-shell{min-height:100vh}.brand{display:flex;align-items:center;gap:10px;font:600 1.15rem Libre Franklin}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff}.eyebrow{display:block;color:var(--accent);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-story{padding:48px clamp(48px,7vw,110px);background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 16%,#f7f6ef),#edf0e9);display:flex;flex-direction:column;justify-content:space-between}.story-copy{max-width:670px}.story-copy h1{font-size:clamp(3rem,6vw,6.5rem)}.story-copy h1 em{color:var(--accent);font-weight:500}.story-copy p{max-width:540px;color:var(--muted);font-size:1.12rem;line-height:1.8}.auth-story>blockquote{margin:0;max-width:530px;font:italic 500 1.1rem/1.6 Libre Franklin;border-left:2px solid var(--accent);padding-left:24px}.auth-story cite,.quote-card cite,.entry-card cite{display:block;font:500 .77rem DM Sans;font-style:normal;color:var(--muted);margin-top:9px}.auth-panel{background:#fff;display:grid;place-items:center;padding:32px}.auth-card{width:min(420px,100%)}.auth-card h2{font-size:2rem;margin-bottom:.5rem}.auth-card>p{color:var(--muted);margin-bottom:2rem}.auth-card label,.supabase-fields label{display:grid;gap:8px;font-size:.84rem;font-weight:600;margin:16px 0}.auth-card input,.field input,.field textarea,.supabase-fields input{border:1px solid var(--line);border-radius:8px;padding:13px 14px;background:#fff;outline:none;transition:.2s}.auth-card input:focus,.field input:focus,.field textarea:focus,.supabase-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.primary,.secondary,.danger{border:0;border-radius:8px;padding:12px 18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--accent);color:#fff}.primary:hover{filter:brightness(.94)}.full{width:100%;margin-top:10px}.text-button{width:100%;border:0;background:none;color:var(--accent);padding:16px}.notice{border-radius:8px;padding:12px 14px;margin:14px 0;font-size:.86rem}.notice.error{background:#fbefed;color:#8e423c}.notice.success{background:color-mix(in srgb,var(--accent) 14%,#fff);color:color-mix(in srgb,var(--accent) 70%,#223)}.mobile-brand,.mobile-nav{display:none}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#fff;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;z-index:10}.sidebar nav{display:grid;gap:5px;margin-top:55px}.sidebar nav button,.menu-modal nav button{border:0;background:none;color:var(--muted);border-radius:8px;padding:12px 14px;text-align:left;display:flex;align-items:center;gap:12px}.sidebar nav button.active{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-weight:600}.profile{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:10px;min-width:0}.profile .avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,#fff);display:grid;place-items:center;color:var(--accent);font-weight:600}.profile>span:nth-child(2){display:grid;min-width:0;flex:1}.profile small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.68rem}.profile button,.entry-date button,.mobile-nav button,.modal-close{border:0;background:none;color:var(--muted);padding:5px}.content{margin-left:255px;min-height:100vh}.page{max-width:1220px;margin:auto;padding:65px clamp(30px,5vw,75px)}.page.narrow{max-width:920px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:32px}.page-header p{color:var(--muted)}.header-icon{color:var(--accent);margin-top:15px}.quote-card{display:flex;gap:18px;background:color-mix(in srgb,var(--accent) 10%,#fff);padding:24px;border-radius:10px;border-left:3px solid var(--accent);color:var(--accent)}.quote-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.quote-card blockquote{margin:8px 0 0;color:var(--ink);font:italic 500 1rem/1.5 Libre Franklin}.journal-form{display:grid;gap:34px}.field{display:grid;gap:9px;font-weight:600}.field>span{font-weight:400;color:var(--muted);font-size:.75rem}.field textarea{resize:vertical}.journal-form fieldset{border:0;padding:0;margin:0}.journal-form legend{font:600 1.1rem Libre Franklin;margin-bottom:5px}.journal-form fieldset>p{color:var(--muted);font-size:.85rem}.numbered{display:flex;align-items:center;gap:14px;margin:12px 0}.numbered>span{width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,#fff);color:var(--accent);display:grid;place-items:center;font-weight:600}.numbered input{flex:1;border:0;border-bottom:1px solid var(--line);padding:12px 4px;outline:none;background:transparent}.numbered input:focus{border-color:var(--accent)}.mood-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mood-grid button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);padding:14px 6px}.mood-grid button span{display:block;font-size:1.35rem;color:var(--accent);margin-bottom:5px}.mood-grid button.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,#fff);color:var(--ink)}.habit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.habit-grid label{display:flex;align-items:center;gap:10px;padding:8px 0}.habit-grid input{position:absolute;opacity:0}.check{width:21px;height:21px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;color:transparent}.habit-grid input:checked+.check{background:var(--accent);border-color:var(--accent);color:#fff}.save{justify-self:start}.entries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.entry-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:10px}.entry-date{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.entry-date button{margin-left:auto}.entry-card h2{margin:18px 0}.entry-card blockquote{background:var(--paper);margin:0;padding:17px;border-radius:7px;font:italic .87rem/1.55 Libre Franklin}.entry-card ol{padding-left:25px;line-height:1.8;color:var(--muted)}.mood-pill{display:inline-block;background:color-mix(in srgb,var(--accent) 11%,#fff);color:var(--accent);padding:6px 10px;border-radius:20px;font-size:.75rem}.empty{text-align:center;padding:100px 20px;color:var(--muted)}.empty svg{color:var(--accent)}.empty h2{color:var(--ink);margin:18px 0 8px}.settings-page form{display:grid;gap:20px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px}.settings-card>p{color:var(--muted);font-size:.9rem}.color-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.color-row>label:not(.custom-color) input{position:absolute;opacity:0}.color-row>label span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:transparent}.color-row>label.selected span{color:#fff;outline:2px solid var(--ink);outline-offset:3px}.custom-color{position:relative;border-left:1px solid var(--line);padding-left:20px;color:var(--muted);font-size:.8rem}.custom-color input{width:38px;height:38px;border:0;padding:0;vertical-align:middle;margin-right:8px}.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.provider-grid label{border:1px solid var(--line);border-radius:8px;padding:17px;display:flex;align-items:flex-start;gap:12px}.provider-grid label.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,#fff)}.provider-grid label span{display:grid}.provider-grid small,.helper{color:var(--muted);font-size:.76rem;margin-top:4px}.supabase-fields{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20252099;display:grid;place-items:center;padding:20px;z-index:50}.modal{position:relative;background:#fff;width:min(430px,100%);border-radius:12px;padding:35px;text-align:center;box-shadow:0 25px 70px #0002}.modal-close{position:absolute;right:14px;top:14px}.modal-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#faecea;color:var(--danger);margin:0 auto 18px}.modal p{color:var(--muted)}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:25px}.secondary{background:var(--paper);border:1px solid var(--line)}.danger{background:var(--danger);color:#fff}.menu-modal nav{display:grid}.menu-modal nav button{font-size:1rem}.menu-modal nav svg{width:20px}.menu-modal{text-align:left}@media (max-width:800px){.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh}.mobile-brand{display:flex;margin-bottom:55px}.sidebar{display:none}.mobile-nav{height:67px;display:flex;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 18px;align-items:center;justify-content:space-between;z-index:20}.content{margin-left:0}.page{padding:35px 20px}.page-header{gap:20px}.page-header .primary{font-size:0;padding:11px}.page-header .primary svg{margin:0}.mood-grid{grid-template-columns:repeat(5,1fr);gap:5px}.mood-grid button{font-size:.65rem}.habit-grid,.entries-grid,.provider-grid{grid-template-columns:1fr}.quote-card{padding:19px}.settings-card{padding:20px}}@media (prefers-color-scheme:dark){:root{--ink:#edf0ec;--muted:#9fa7a0;--paper:#161916;--line:#303530;--white:#202420}.auth-panel,.sidebar,.mobile-nav,.entry-card,.settings-card,.mood-grid button,.auth-card input,.field input,.field textarea,.supabase-fields input,.modal{background:#202420}.auth-story{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 17%,#151815),#191d19)}.numbered input,.secondary,.auth-card input,.field input,.field textarea,.supabase-fields input{color:var(--ink)}}.storage-status{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,#fff);border-radius:8px;padding:17px;display:flex;align-items:center;gap:12px}.storage-status>span:last-child{display:grid}.storage-status small{color:var(--muted);font-size:.76rem;margin-top:3px}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mode-grid label{border:1px solid var(--line);border-radius:8px;padding:17px;display:flex;align-items:center;gap:10px;cursor:pointer}.mode-grid label.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}.mode-grid input{position:absolute;opacity:0}.mode-symbol{font-size:1.35rem;color:var(--accent)}:root[data-theme=dark]{--ink:#edf0ec;--muted:#9fa7a0;--paper:#161916;--line:#303530;--white:#202420}.dark-placeholder{display:none}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .sidebar,:root[data-theme=dark] .mobile-nav,:root[data-theme=dark] .entry-card,:root[data-theme=dark] .settings-card,:root[data-theme=dark] .mood-grid button,:root[data-theme=dark] .auth-card input,:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .modal{background:#202420}:root[data-theme=dark] .auth-story{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 17%,#151815),#191d19)}:root[data-theme=dark] .numbered input,:root[data-theme=dark] .auth-card input,:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea{color:var(--ink)}:root[data-theme=dark] .secondary{color:var(--ink)}@media (prefers-color-scheme:dark){:root[data-theme=light]{--ink:#252a26;--muted:#707771;--paper:#f8f8f4;--line:#e2e5df;--white:#fff}:root[data-theme=light] .auth-panel,:root[data-theme=light] .sidebar,:root[data-theme=light] .mobile-nav,:root[data-theme=light] .entry-card,:root[data-theme=light] .settings-card,:root[data-theme=light] .mood-grid button,:root[data-theme=light] .auth-card input,:root[data-theme=light] .field input,:root[data-theme=light] .field textarea,:root[data-theme=light] .modal{background:#fff}:root[data-theme=light] .auth-story{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 16%,#f7f6ef),#edf0e9)}:root[data-theme=light] .numbered input,:root[data-theme=light] .auth-card input,:root[data-theme=light] .field input,:root[data-theme=light] .field textarea{color:var(--ink)}}@media (max-width:800px){.mode-grid{grid-template-columns:1fr}}:root[data-theme=dark] .mode-grid label.selected,:root[data-theme=dark] .storage-status,:root[data-theme=dark] .provider-grid label.selected{background:color-mix(in srgb,var(--accent) 20%,#202420);color:var(--ink)}:root[data-theme=dark] .mode-grid label.selected strong,:root[data-theme=dark] .storage-status strong,:root[data-theme=dark] .storage-status small{color:var(--ink)}:root[data-theme=dark] .notice.success{background:color-mix(in srgb,var(--accent) 18%,#202420);color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .mode-grid label.selected,:root:not([data-theme]) .storage-status,:root:not([data-theme]) .provider-grid label.selected{background:color-mix(in srgb,var(--accent) 20%,#202420);color:var(--ink)}:root:not([data-theme]) .mode-grid label.selected strong,:root:not([data-theme]) .storage-status strong,:root:not([data-theme]) .storage-status small{color:var(--ink)}:root:not([data-theme]) .notice.success{background:color-mix(in srgb,var(--accent) 18%,#202420);color:var(--ink)}}
