:root{--bg:#fafbf7;--surface:#fff;--ink:#19372d;--muted:#737b7a;--line:#e1e6de;--sage:#e4ebd9;--soft:#edf1e7;--primary:#284738;--radius:12px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:9px 22px;transition:background .18s;display:inline-flex}button:hover{background:#dce5d5}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #749879}a{color:inherit;text-decoration:none}.app{grid-template-columns:230px minmax(0,1fr) 306px;min-height:100vh;display:grid}.sidebar{background:#eef2e7;flex-direction:column;height:100vh;padding:27px 15px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1.2px;align-items:center;gap:14px;padding:0 14px 36px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:600;display:flex}.brand svg{color:#958250;stroke-width:1.2px}nav{flex-direction:column;gap:12px;display:flex}nav button{border-radius:10px;justify-content:flex-start;gap:22px;min-height:49px;padding:13px 22px;font-size:16px}nav button.selected{background:#d7e1cd}.privacy-nav{border-top:1px solid #d6ddd0;border-radius:0;justify-content:flex-start;gap:20px;margin-top:auto;padding:22px 18px 8px}.logout{color:var(--muted);justify-content:flex-start;padding-left:18px;font-size:13px}main{min-width:0;padding:28px 22px 36px}.date{color:#58635e;margin:0 0 8px 18px;font-size:16px}h1{letter-spacing:-1.5px;margin:12px 0 28px 18px;font:500 clamp(30px,3.2vw,46px)/1.2 Georgia,Times New Roman,serif}h2,h3,p{margin-top:0}.hero{background:var(--sage);border-radius:var(--radius);align-items:center;min-height:225px;margin-bottom:20px;padding:28px 40px;display:flex;position:relative;overflow:hidden}.hero h2{letter-spacing:-.8px;margin-bottom:16px;font:400 32px/1.3 Georgia,Times New Roman,serif}.hero p{max-width:570px;margin-bottom:20px;padding-right:100px;font-size:17px;line-height:1.65}.hero>div{z-index:1}.hero-sun{color:#ab9b68;opacity:.75;width:155px;height:155px;position:absolute;bottom:28px;right:22px}.primary{background:var(--primary);color:#fff;padding:10px 24px}.primary:hover{background:#365c48}.soft{background:var(--soft);padding:9px 28px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}.two-column{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.section-heading{align-items:center;gap:16px;display:flex}.section-heading svg{stroke-width:1.7px;flex-shrink:0;width:25px;height:25px}.section-heading h2{margin:0;font:600 18px/1.4 Arial,sans-serif}.empty{text-align:center;padding:18px 0 0}.empty-icon{background:var(--soft);border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;margin:0 0 12px;display:inline-flex}.empty-icon svg{stroke-width:1.5px}.empty h3{margin-bottom:6px;font-size:17px;font-weight:500}.empty p{color:var(--muted);margin-bottom:15px;font-size:14px;line-height:1.6}.journal-today .empty{padding-top:10px}.journal-today .empty-icon{width:76px;height:76px}.right-rail{padding:23px 18px 30px 12px}.calendar{min-height:643px;padding:24px}.day-number{letter-spacing:-6px;margin-top:15px;font:400 110px/1.15 Georgia,serif;display:block}.month{letter-spacing:3px;margin:0 0 26px;font-size:16px}.hours{border-top:1px solid var(--line);padding-top:16px}.hours>div{align-items:center;gap:18px;height:27px;display:flex}.hours span{color:var(--muted);font-size:11px}.hours i{border-top:1px dashed var(--line);flex:1}.privacy-card{background:#f7f9f3;min-height:268px;margin-top:16px}.privacy-card h2{font-size:16px}.privacy-card p{color:#58615b;margin-top:30px;font-size:14px;line-height:1.65}.login{max-width:490px;margin:50px auto;padding:34px}.login h2{margin-top:16px;font:400 28px Georgia,serif}.login p{color:var(--muted)}label{flex-direction:column;gap:6px;margin:16px 0;font-size:14px;font-weight:500;display:flex}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #cdd6cd;border-radius:8px;width:100%;min-height:44px;padding:12px;font-size:15px}textarea{resize:vertical;min-height:105px}.journal-editor{min-height:290px;line-height:1.8}.toolbar{justify-content:space-between;align-items:center;gap:18px;display:flex}.toolbar h2{margin:0;font-size:20px}.toolbar label{flex:1}.toolbar .search{border:1px solid var(--line);border-radius:8px;flex-direction:row;align-items:center;max-width:450px;padding-left:12px;display:flex}.search input{border:0}.list{padding:16px 0}.reminder{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.check{border:1px solid #b2bfb1;border-radius:50%;flex-shrink:0;width:24px;height:24px;min-height:24px;padding:0}.checked{background:var(--primary);color:#fff}.done{color:var(--muted);text-decoration:line-through}small{color:var(--muted);font-size:12px;display:block}.person-row{text-align:left;border-bottom:1px solid var(--line);border-radius:0;justify-content:flex-start;gap:12px;width:100%;padding:13px 4px;display:flex}.person-row>svg:last-child{margin-left:auto}.person-row strong,.reminder strong{font-size:15px;font-weight:500}.avatar{background:var(--soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font:20px Georgia,serif;display:inline-flex}.people-list{margin-top:14px}.journal-preview{padding:26px 0}.journal-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.journal-history{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.journal-history h2{font-size:18px}.alert{color:#933c2c;background:#fff0ed;border:1px solid #e9c8bf;border-radius:8px;margin-bottom:16px;padding:12px 16px}.alert button{min-height:32px;padding:3px 14px;font-size:13px}.notice{color:#355c3b;background:var(--soft);border-radius:8px;padding:12px}.footnote{text-align:center;color:var(--muted);font-size:13px}.privacy-content p{max-width:640px}.privacy-content h2{margin-top:20px;font:28px Georgia,serif}.modal-backdrop{z-index:10;background:#14241a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:500px;max-height:90vh;overflow:auto;box-shadow:0 20px 70px #17271e33}.icon-button{min-width:44px;padding:6px}.danger{color:#a54838}.loading{color:var(--muted);padding:60px}@media (min-width:1600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:1600px;margin:auto}.hero p{padding-right:40px}}@media (max-width:1200px){.app{grid-template-columns:195px minmax(0,1fr)}.right-rail{display:none}.brand{padding-left:6px;font-size:30px}nav button{gap:15px;padding-left:15px}.hero p{padding-right:80px}}@media (max-width:760px){body{font-size:14px}.app{padding-bottom:88px;display:block}.sidebar{z-index:5;border-top:1px solid var(--line);background:#eef2e7f5;width:100%;height:auto;padding:8px;position:fixed;top:auto;bottom:0}.brand,.privacy-nav,.logout{display:none}nav{flex-direction:row;justify-content:space-around;gap:2px}nav button{flex-direction:column;gap:3px;min-width:54px;min-height:55px;padding:5px;font-size:10px}.date{margin-left:0;font-size:13px}main{padding:24px 16px}h1{letter-spacing:-.7px;margin-bottom:22px;margin-left:0;font-size:32px}.hero{min-height:245px;padding:24px}.hero h2{font-size:27px}.hero p{margin-right:0;padding:0;font-size:14px}.hero-sun{display:none}.two-column{grid-template-columns:1fr;gap:16px}.panel{padding:20px}.empty{padding-top:16px}.toolbar{flex-wrap:wrap}.toolbar .search{width:100%;max-width:none}.toolbar label{min-width:130px}.desktop-break{display:none}.login{margin:20px auto}.modal-backdrop{padding:12px}.modal{padding:20px}.journal-editor{min-height:260px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.preview-note{color:#66735f;margin:0 0 18px 18px;font-size:12px}.preview-note a{text-decoration:underline}.hero p{max-width:100%;padding-right:130px}.hero h2{padding-right:90px}.hero>div{width:100%}@media (max-width:760px){.hero p,.hero h2{padding-right:0}.preview-note{margin-left:0}}@media (min-width:1201px){.app{grid-template-columns:240px minmax(0,1fr) 336px}h1{font-size:50px}.hero h2{font-size:34px}.hero p{font-size:18px}.two-column>.panel{min-height:324px}.section-heading h2{font-size:19px}.empty h3{font-size:18px}.empty p{font-size:15px}.calendar{min-height:670px}.privacy-card h2{font-size:16px}}.preview-note{z-index:6;border:1px solid var(--line);background:#fafbf7ee;border-radius:6px;margin:0;padding:5px 10px;font-size:11px;position:fixed;bottom:10px;right:12px}@media (max-width:760px){.preview-note{bottom:78px}.mobile-account{justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.mobile-account button{min-height:44px;padding:6px;font-size:12px}.hero h2{padding-right:0}}@media (min-width:761px){.mobile-account{display:none}}@media (max-width:760px){.preview-note{margin:0 0 12px;padding:6px 8px;font-size:10px;display:block;position:static}}.marketing{color:var(--ink);background:#fafbf7}.marketing header{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:30px 36px;display:flex}.marketing-brand{align-items:center;gap:12px;font:34px Georgia,serif;display:inline-flex}.marketing-brand svg{color:#948553;stroke-width:1.3px;width:30px;height:30px}.marketing header nav{flex-direction:row;gap:30px;display:flex}.marketing header nav a{font-size:14px}.marketing-main{max-width:1200px;margin:auto;padding:0 36px}.marketing-hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:45px 0 80px;display:grid}.marketing-hero h1{letter-spacing:-2px;max-width:550px;margin:0 0 30px;font:500 clamp(48px,6vw,76px)/1.06 Georgia,serif}.marketing-hero p{color:#68766c;max-width:530px;font-size:20px;line-height:1.7}.marketing-cta{background:var(--primary);color:#fff;border-radius:10px;align-items:center;gap:25px;margin:6px 0 20px;padding:15px 24px;display:inline-flex}.marketing-hero .marketing-platform{font-size:13px}.phone-preview{background:#e4ebd9;border-radius:180px 180px 28px 28px;justify-self:center;max-width:420px;padding:40px 46px 0}.phone-preview img{border:7px solid #20352a;border-bottom:0;border-radius:36px 36px 0 0;width:100%;height:auto;display:block;box-shadow:0 18px 55px #19372d22}.marketing-features{border-top:1px solid var(--line);padding:65px 0 75px}.marketing h2{letter-spacing:-1px;margin-bottom:40px;font:400 44px/1.2 Georgia,serif}.feature-columns{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}.feature-columns svg{color:#648368;stroke-width:1.5px;width:28px;height:28px}.feature-columns h3{margin:22px 0 14px;font:24px Georgia,serif}.feature-columns p{color:#68766c;font-size:16px;line-height:1.7}.marketing-privacy{background:#e4ebd9;border-radius:24px;grid-template-columns:90px 1fr;gap:24px;margin-bottom:80px;padding:50px 60px;display:grid}.marketing-privacy h2{margin-bottom:22px}.marketing-privacy p{max-width:730px;font-size:18px;line-height:1.8}.marketing-privacy small{color:#667361}.marketing footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:auto;padding:28px 36px;display:flex}.marketing footer span{color:#68766c;font-size:12px}@media (max-width:760px){.marketing header{padding:22px}.marketing header nav{gap:18px;position:static}.marketing header nav a{font-size:12px}.marketing-brand{font-size:28px}.marketing-main{padding:0 22px}.marketing-hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.marketing-hero h1{font-size:52px}.marketing-hero p{font-size:18px}.phone-preview{max-width:310px;padding:30px 30px 0}.marketing h2{font-size:34px}.feature-columns{grid-template-columns:1fr;gap:20px}.marketing-privacy{grid-template-columns:1fr;padding:30px 26px}.marketing-privacy p{font-size:16px}.marketing footer{flex-wrap:wrap;padding:22px}.marketing{padding-bottom:0}}.legal-main{max-width:760px;margin:0 auto;padding:32px 20px 64px}.legal-main h1{margin:8px 0 12px;font-size:34px;line-height:1.2}.legal-lead{color:var(--muted);font-size:17px}.legal-main section{margin-top:28px}.legal-main h2{margin:0 0 8px;font-size:20px}.legal-main li{margin:6px 0}.legal-main details{border-top:1px solid var(--line);padding:12px 0}.legal-main summary{cursor:pointer;font-weight:600}.legal-main a{color:var(--primary)}
