:root{--bg:#edf1ea;--surface:#fafbf8;--fg:#27302a;--mute:#6f7b73;--faint:#b4beb5;--line:#dce4da;--accent:#5b7a64;--accent-soft:#e3ebe1;--sage:#86a28c;--sand:#bcae86;--low:#a5aea7;--danger:#a4594f;--shadow:0 1px 2px rgba(39,48,42,.04),0 10px 30px rgba(39,48,42,.05);--serif:"Newsreader",Georgia,serif;--sans:"Inter",-apple-system,"Segoe UI",sans-serif;--gx:max(16px,env(safe-area-inset-left));color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141916;--surface:#1a201c;--fg:#e2e8e1;--mute:#93a096;--faint:#55605a;--line:#29322c;--accent:#a2bfa8;--accent-soft:#202a23;--sage:#97b39d;--sand:#cdbf98;--low:#69736c;--danger:#d99a90;--shadow:0 1px 2px rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.2);color-scheme:dark}}:root[data-theme=dark]{--bg:#141916;--surface:#1a201c;--fg:#e2e8e1;--mute:#93a096;--faint:#55605a;--line:#29322c;--accent:#a2bfa8;--accent-soft:#202a23;--sage:#97b39d;--sand:#cdbf98;--low:#69736c;--danger:#d99a90;--shadow:0 1px 2px rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.2);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font:300 15px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.muted{color:var(--mute)}.it{font-family:var(--serif);font-style:italic;font-weight:300}[hidden]{display:none!important}.top{max-width:1040px;margin:0 auto;padding:20px var(--gx);gap:24px}.logo,.top{display:flex;align-items:center}.logo{font:400 20px/1 var(--serif);letter-spacing:.05em;color:var(--fg);text-decoration:none;gap:8px}.logo svg{flex:none}.top .sp{flex:1 1}.top nav{display:flex;gap:4px}.top nav a{color:var(--mute);text-decoration:none;padding:6px 12px;border-radius:999px;font-size:14px}.top nav a.on{color:var(--fg);background:var(--accent-soft)}.avatar{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;font:400 15px var(--serif)}.avatar,.ghost{text-decoration:none;color:var(--fg)}.ghost{padding:8px 12px}.btn,.ghost{font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--fg);color:var(--bg);border-radius:12px;padding:11px 20px;font-weight:400;text-decoration:none}.btn.sm{padding:8px 14px;border-radius:10px}.btn.line{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.block{width:100%}.btn.danger{background:var(--danger);color:var(--surface)}.textbtn{border:0;background:none;color:var(--accent);padding:6px 0;font-size:14px}.field{display:block;margin:0 0 16px}.field>span{display:block;font-size:13px;color:var(--mute);margin-bottom:6px}.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;outline:none}.input:focus{border-color:var(--accent)}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.check{display:flex;gap:10px;align-items:center;font-size:14px;margin:4px 0 16px;cursor:pointer}.check input{accent-color:var(--accent);width:16px;height:16px}.err{color:var(--danger);font-size:13px;margin:-6px 0 12px}.or{display:flex;align-items:center;gap:12px;color:var(--mute);font-size:12px;margin:18px 0}.or:after,.or:before{content:"";flex:1 1;height:1px;background:var(--line)}.sso{grid-gap:10px;gap:10px}.auth,.sso{display:grid}.auth{min-height:calc(100vh - 80px);place-items:center;padding:24px var(--gx) 64px}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.auth .card{width:100%;max-width:420px;padding:36px 32px}.auth h1{font:400 30px/1.25 var(--serif);margin:0 0 6px}.auth .sub{color:var(--mute);margin:0 0 24px}.auth .foot{text-align:center;font-size:14px;color:var(--mute);margin:20px 0 0}.steps{display:flex;gap:6px;margin:0 0 22px}.steps i{height:3px;flex:1 1;border-radius:3px;background:var(--line)}.steps i.on{background:var(--accent)}.opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 10px;cursor:pointer}.opt input{accent-color:var(--accent);margin-top:5px}.opt b{font-weight:500;display:block}.opt small{color:var(--mute);font-size:13px}.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.chipset{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.chipset label{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;cursor:pointer}.chipset input{position:absolute;opacity:0;pointer-events:none}.chipset label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.price{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.price em{font-style:normal;font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 8px}.sent{text-align:center}.sent svg{margin:0 auto 12px;display:block}.hero{max-width:1040px;margin:0 auto;padding:56px var(--gx) 40px;display:grid;grid-template-columns:1.05fr .95fr;grid-gap:56px;gap:56px;align-items:center}.hero h1{font:300 clamp(40px,6vw,64px)/1.05 var(--serif);margin:0 0 20px;letter-spacing:-.01em}.hero h1 i{font-style:italic;color:var(--accent)}.hero p{font-size:17px;color:var(--mute);max-width:440px;margin:0 0 28px}.hero .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero .note{font-size:13px;color:var(--mute);margin-top:14px}.preview{padding:32px 30px;transform:rotate(1.2deg)}.preview .ld{font-size:12px;color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:10px;display:flex;justify-content:space-between}.preview h3{font:300 28px/1.2 var(--serif);margin:20px 0 12px}.preview p{font:300 16px/1.75 var(--serif);margin:0 0 12px}.band{max-width:1040px;margin:0 auto;padding:48px var(--gx)}.band>h2{font:300 34px/1.2 var(--serif);margin:0 0 8px}.band>.lead{color:var(--mute);margin:0 0 32px;max-width:560px}.three{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.three .card{padding:24px}.three .n{font:italic 300 32px/1 var(--serif);color:var(--accent)}.three h4{font:400 20px/1.3 var(--serif);margin:12px 0 6px}.three p{margin:0;color:var(--mute);font-size:14px}.plans{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;max-width:720px}.plans .card{padding:28px}.plans h4{font:400 18px var(--serif);margin:0}.plans .amt{font:300 40px/1.1 var(--serif);margin:10px 0 4px}.plans .amt small{font:300 14px var(--sans);color:var(--mute)}.plans ul{padding:0;margin:16px 0 22px;list-style:none;font-size:14px}.plans li{padding:5px 0 5px 22px;position:relative}.plans li:before{content:"";position:absolute;left:2px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--sage)}.plans .card.feat{border-color:var(--accent)}.quote{font:italic 300 26px/1.5 var(--serif);max-width:720px;margin:0}.quote+p{color:var(--mute);margin:12px 0 0;font-size:14px}footer.site{max-width:1040px;margin:0 auto;padding:32px var(--gx) 48px;border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap;color:var(--mute);font-size:13px}footer.site .sp{flex:1 1}.page{max-width:760px;margin:8px auto 64px;padding:0 var(--gx)}.ph{margin:24px 0}.ph h1{font:300 36px/1.15 var(--serif);margin:0}.ph p{color:var(--mute);margin:6px 0 0}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.letter{max-width:600px;margin:0 auto;padding:52px 28px 44px;animation:in .45s ease}@keyframes in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.letter{animation:none}}.l-date{display:flex;justify-content:space-between;gap:12px;color:var(--mute);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:12px}.l-date .mm{display:inline-flex;align-items:center;gap:8px}.l-hi{font:300 42px/1.15 var(--serif);margin:34px 0 22px}.l-hi .it{display:block;font-size:16px;color:var(--mute);margin-bottom:8px}.letter p.body{font:300 19px/1.8 var(--serif);margin:0 0 20px}.term{border:0;background:none;padding:0;font:inherit;color:var(--accent);border-bottom:1px dashed;border-radius:0}.pop{margin:-8px 0 20px;padding:14px 16px;background:var(--accent-soft);border-radius:12px;font-size:14px;line-height:1.7}.pop b{font-weight:500}.l-sec{margin:40px 0 0}.l-sec h3{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 14px;display:flex;align-items:center;gap:10px}.l-sec h3:after{content:"";flex:1 1;height:1px;background:var(--line)}.todo{display:flex;gap:14px;align-items:flex-start;padding:9px 0;cursor:pointer}.todo input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1px solid var(--faint);border-radius:50%;margin:5px 0 0;flex:none;display:grid;place-items:center;cursor:pointer}.todo input:checked{background:var(--sage);border-color:var(--sage)}.todo input:checked:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--surface)}.todo input:checked+span{color:var(--mute);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.todo span{font:300 17px/1.6 var(--serif)}.j-q{font:300 21px/1.5 var(--serif);margin:0 0 10px}.moods{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.moods button{border:1px solid var(--line);background:none;border-radius:999px;padding:4px 14px;font-size:13px;color:var(--mute);display:inline-flex;align-items:center;gap:6px}.moods button i{width:7px;height:7px;border-radius:50%}.moods button[aria-pressed=true]{border-color:var(--fg);color:var(--fg)}.j-box{width:100%;min-height:84px;border:0;border-bottom:1px solid var(--line);background:transparent;resize:vertical;padding:8px 0;font:300 17px/1.7 var(--serif);outline:none}.j-box:focus{border-bottom-color:var(--accent)}.saved{font:300 16px/1.7 var(--serif);color:var(--mute);border-left:2px solid var(--sage);padding-left:12px;margin:12px 0 0}.natal{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.natal div{border-top:1px solid var(--line);padding-top:10px}.natal small{display:block;color:var(--mute);font-size:12px}.natal b{font:400 17px/1.5 var(--serif)}.sign{margin:44px 0 0;text-align:right;font:italic 300 17px/1.7 var(--serif);color:var(--mute)}.replyf{margin:36px 0 0;display:flex;gap:10px;border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 16px;align-items:center}.replyf input{flex:1 1;border:0;background:none;outline:none;min-width:0;padding:8px 0}.answer{font:300 17px/1.75 var(--serif);margin:16px 0 0;padding:16px 18px;border-radius:12px;background:var(--bg)}.answer small{display:block;font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}.welcome{background:var(--accent-soft);border-radius:14px;padding:14px 18px;margin:0 0 16px;font-size:14px;gap:12px;align-items:center}.list .it-row,.list a,.welcome{display:flex;justify-content:space-between}.list .it-row,.list a{align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.list a b{font:400 19px/1.4 var(--serif)}.list a small{display:block;margin-top:2px}.list a small,.list a span{color:var(--mute);font-size:13px}.list a span{flex:none}.list a:hover b{color:var(--accent)}.month{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:28px 0 0}.insight{padding:20px 22px;margin:0 0 20px}.insight small{font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.insight p{font:300 18px/1.6 var(--serif);margin:6px 0 0}.compose{padding:22px 24px;margin:0 0 28px}.entry{display:grid;grid-template-columns:64px 1fr;grid-gap:16px;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.entry time{font-size:13px;color:var(--mute);line-height:1.5}.entry time b{display:block;font:300 24px/1 var(--serif);color:var(--fg)}.entry p{margin:0;font:300 17px/1.6 var(--serif)}.entry .tag{font-size:12px;color:var(--mute);display:inline-flex;align-items:center;gap:6px;margin-top:4px}.entry .tag i{width:7px;height:7px;border-radius:50%}.chartwrap{display:grid;grid-template-columns:300px 1fr;grid-gap:32px;gap:32px;padding:28px;align-items:center}.chartwrap svg{width:100%;height:auto;display:block}.big3 div{padding:12px 0;border-bottom:1px solid var(--line)}.big3 small{color:var(--mute);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.big3 b{display:block;font:400 22px/1.3 var(--serif)}.big3 p{margin:2px 0 0;color:var(--mute)}.big3 p,.tbl{font-size:14px}.tbl{width:100%;border-collapse:collapse}.tbl td,.tbl th{text-align:left;padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{font-weight:400;color:var(--mute);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.tbl td:first-child{font:400 16px var(--serif);white-space:nowrap}.chap{border-bottom:1px solid var(--line)}.chap button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:16px;border:0;background:none;padding:16px 0;text-align:left}.chap b{font:400 20px var(--serif)}.chap b i{font-style:italic;color:var(--mute);font-weight:300;margin-right:10px}.chap span{color:var(--mute);font-size:13px}.chap .bd{padding:0 0 18px;font:300 17px/1.75 var(--serif)}.set{padding:24px 26px;margin:0 0 16px}.set h2{font:400 20px var(--serif);margin:0 0 4px}.set>p{color:var(--mute);margin:0 0 18px}.kv,.set>p{font-size:14px}.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.kv span{color:var(--mute)}.toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .2s;flex:none}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:left .2s}.toggle:checked{background:var(--accent)}.toggle:checked:after{left:19px}.plan-pill{display:inline-block;font-size:12px;border-radius:999px;padding:2px 10px;background:var(--accent-soft);color:var(--accent)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 18px;border-radius:12px;font-size:14px;z-index:20}@media (max-width:820px){.hero{grid-template-columns:1fr;gap:36px;padding-top:28px}.preview{transform:none}.chartwrap,.plans,.three{grid-template-columns:1fr}.chartwrap{padding:20px}.chartwrap svg{max-width:300px;margin:0 auto}.top{flex-wrap:wrap;gap:12px}.top nav{order:3;width:100%;overflow-x:auto}}@media (max-width:560px){.letter{padding:34px 20px 32px}.l-hi{font-size:34px}.natal{grid-template-columns:1fr}.auth .card{padding:28px 22px}.row2{grid-template-columns:1fr}.tblw{overflow-x:auto}.tbl{min-width:480px}.entry{grid-template-columns:52px 1fr}}a.textbtn{display:inline-block;text-decoration:none}.textbtn:disabled{color:var(--faint);cursor:default}.btn:disabled{opacity:.55;cursor:default}.sp{flex:1 1}.top nav a:hover{color:var(--fg)}footer.site a{color:var(--mute);text-decoration:none}footer.site a:hover{color:var(--fg)}.demo-note{font-size:12px;color:var(--mute);text-align:center;margin:14px 0 0}.skel{display:block;height:14px;border-radius:6px;background:var(--accent-soft);margin:14px 0;animation:pulse 1.4s ease-in-out infinite}.skel.h{height:34px;width:70%;margin:34px 0 26px}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.l-wait{color:var(--mute);font:italic 300 17px/1.7 var(--serif);margin:10px 0 0}.answer.mine{background:none;border:1px solid var(--line)}.answer p{margin:0 0 10px}.answer p:last-child{margin:0}.empty{padding:28px 0;color:var(--mute);font:300 17px/1.7 var(--serif)}.chap .bd p{margin:0 0 14px}.chap .bd h4{font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:18px 0 8px}.chap .bd ul{margin:0;padding:0 0 0 18px;font:300 16px/1.7 var(--serif)}.chap .bd .basis{font:300 13px/1.6 var(--sans);color:var(--mute)}.insight+.insight{margin-top:-8px}.chipset.sm label{font-size:13px;padding:4px 12px}.page-foot{display:flex;justify-content:space-between;margin-top:18px;font-size:14px}.page-foot a{text-decoration:none}.kv select.input{width:auto;padding:6px 10px}.kv b{font-weight:400}.notice{font-size:13px;color:var(--mute);margin:12px 0 0}.legal{max-width:640px}.legal h2{font:400 22px var(--serif);margin:28px 0 8px}.legal p{color:var(--fg)}