:root{--paper:#f8f7f2;--card:#fffefa;--paper-2:#f1f0e8;--ink:#263b32;--ink-2:#68746d;--ink-3:#68746d;--line:#dde1d7;--line-2:#c3cabe;--orange:#be623e;--danger:#a3402e;--serif:"Gowun Batang","Noto Serif KR","Batang",serif;--sans:"IBM Plex Sans KR",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--shadow:0 1px 2px rgba(38,59,50,0.04),0 10px 30px -18px rgba(38,59,50,0.22);--radius:10px;--mode:#365b45;--mode-deep:#274632;--wash:#eaf0e7;--cover:#3d604b;--cover-ink:#f4ecd8;--accent:var(--mode);--accent-hover:var(--mode-deep);--accent-ink:#fffefa;--accent-soft:var(--wash);--surface:var(--card);--surface-2:var(--paper-2);--sun:#9a6408;--sun-tint:#fbefd6;--cloud:#5d6863;--cloud-tint:#ecece6;--rain:#2f5c9c;--rain-tint:#e4ebf3;--storm:#6a4ba8;--storm-tint:#ece5f3;color-scheme:light}[data-kind=solo]{--mode:#665d81;--mode-deep:#514a69;--wash:#eeebf3;--cover:#655d7d}[data-kind=couple]{--mode:#a25f55;--mode-deep:#864b43;--wash:#f4e9e3;--cover:#a56759}[data-kind=friends]{--mode:#486878;--mode-deep:#385463;--wash:#e8eff2;--cover:#476777}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}a{color:var(--mode);text-underline-offset:4px}a:hover{color:var(--mode-deep)}:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}::selection{background:var(--wash)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:600px;margin:0 auto;padding:20px 16px 64px;display:flex;flex-direction:column;gap:20px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--mode)}.eyebrow.rule:before{content:"";width:24px;height:1px;background:currentColor;flex:0 0 auto}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:700;line-height:1.4;letter-spacing:-.01em}h1{font-size:28px}h2{font-size:20px}h3{font-size:18px}p{margin:0}.muted{color:var(--ink-2);font-size:15px}.small{font-size:13px}.lead{font-family:var(--serif);font-size:19px;line-height:1.6}.accent{color:var(--orange)}.page-head{display:flex;flex-direction:column;gap:8px;padding:8px 2px 0}.page-head h1{font-size:28px}.page-head p{color:var(--ink-2);font-size:15px}.salute{font-family:var(--serif);font-size:26px;font-weight:700}.section-title{font-size:20px}.section-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.section-row h2{font-size:20px}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px;display:flex;flex-direction:column;gap:14px}.card h2{font-size:19px}.card.flat,.card.wash{box-shadow:none}.card.wash{background:var(--wash);border-color:transparent}.card.empty{align-items:flex-start}.today{background:var(--wash);border-radius:12px;padding:24px 20px;display:flex;flex-direction:column;gap:16px}.today .question{font-size:24px}.today-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.question{font-size:22px;line-height:1.6;font-weight:700;letter-spacing:-.01em;margin:0}.answer,.question{font-family:var(--serif)}.answer{font-size:17px;line-height:1.95;white-space:pre-line}.reply{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px}.reply .who-label{font-size:13px;font-weight:600;color:var(--mode)}.reply.mine{background:var(--paper)}.today .reply{border-color:transparent}.lock{text-align:center;border:1px dashed var(--line-2);border-radius:8px;padding:18px 16px;background:rgba(255,254,250,.7);display:flex;flex-direction:column;gap:6px}.lock strong{font-size:15px}.lock p{font-size:14px;color:var(--ink-2)}.people{display:flex;flex-wrap:wrap;gap:6px}.person-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--ink-2);background:var(--card)}.person-chip.done{background:var(--card);border-color:var(--mode);color:var(--mode);font-weight:600}.person-chip.done:before{content:"✓";font-size:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.stack{gap:10px}.stack,.stack-lg{display:flex;flex-direction:column}.stack-lg{gap:14px}.grow{flex:1 1;min-width:0;display:flex;flex-direction:column}.row-title{font-weight:600;color:var(--ink)}.topbar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.topbar,.topbar>a{align-items:center}.topbar>a{font-size:15px;color:var(--ink-2);text-decoration:none;min-height:44px;display:inline-flex}.topbar>a:hover{color:var(--mode)}.btn{min-height:48px;padding:0 20px;border-radius:8px;border:1px solid transparent;background:var(--mode);color:#fffefa;font-weight:600;font-size:15px;line-height:1.3;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;transition:background .15s}.btn:hover{color:#fffefa;background:var(--mode-deep)}.btn.ghost{background:transparent;color:var(--ink);border-color:#aebbad}.btn.ghost:hover{background:var(--wash);color:var(--ink)}.btn.light{background:var(--card);color:var(--mode);border-color:var(--line)}.btn.light:hover{background:var(--wash);color:var(--mode-deep)}.btn.naver{background:#03c75a;color:#04220f}.btn.naver:hover{background:#05b553;color:#04220f}.btn.naver .n{font-weight:900;font-size:17px}.btn.kakao{background:#fee500;color:rgba(0,0,0,.85)}.btn.kakao:hover{background:#f2d900;color:rgba(0,0,0,.85)}.btn.google{background:#fff;color:#1f1f1f;border-color:#747775}.btn.google:hover{background:#f8f8f8;color:#1f1f1f}.provider-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{background:#8a3424;color:#fff}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:default}.btn.block{width:100%}.btn.small{padding:0 14px}.btn.small,.text-link{min-height:44px;font-size:14px}.text-link{background:none;border:0;padding:10px 0;color:var(--mode);text-decoration:underline;text-underline-offset:4px;cursor:pointer;display:inline-flex;align-items:center}.text-link:hover{color:var(--mode-deep)}.weather-btn{min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:14px;color:var(--ink);cursor:pointer;width:100%}.weather-btn:hover{border-color:var(--ink-2)}.weather-btn[aria-pressed=true]{border-color:var(--w);background:var(--t);font-weight:700;color:var(--w)}.person{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;background:var(--t,var(--paper));text-align:center;min-width:0}.person .name{font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person .wlabel{font-size:12px;color:var(--ink-2)}label{font-weight:600;font-size:15px}input[type=text],select,textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid #a8b6a4;background:#fffefa;color:var(--ink);font-size:16px}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--mode);box-shadow:0 0 0 3px color-mix(in srgb,var(--mode) 18%,transparent)}textarea{resize:vertical;font-family:var(--serif);font-size:18px;line-height:1.85;min-height:140px}input::placeholder,textarea::placeholder{color:#879082}form.stack{display:flex;flex-direction:column;gap:10px}.input-meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}.helper{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.helper>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:15px;color:var(--ink-2);list-style:none}.helper>summary::-webkit-details-marker{display:none}.helper>summary:after{content:"＋";margin-left:auto;color:var(--mode)}.helper[open]>summary:after{content:"－"}.hints{display:flex;flex-direction:column;gap:8px;padding:4px 0 12px}.hint-btn{text-align:left;min-height:48px;padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper);font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--ink);cursor:pointer}.hint-btn:hover{border-color:var(--mode);background:var(--wash)}details.past{border-top:1px solid var(--line);padding-top:4px}details.past>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--mode);font-size:15px;list-style:none;text-decoration:underline;text-underline-offset:4px}details.past>summary::-webkit-details-marker{display:none}details.past .reply{margin-top:6px}.qpick{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.qpick>span:first-child{flex:1 1;font-family:var(--serif)}.qpick form,.qpick>span:last-child{flex:0 0 auto}.tag{display:inline-flex;align-items:center;background:var(--wash);color:var(--mode);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}details.card>summary{cursor:pointer;list-style:none;min-height:44px}details.card>summary::-webkit-details-marker{display:none}details.card>summary strong{font-family:var(--serif);font-size:18px}details.card:not([open]){gap:0}.notice{background:var(--wash);border-radius:8px;padding:14px 16px;font-size:14px;color:var(--ink);line-height:1.75}.notice.mode{color:var(--mode-deep)}.error{background:#f7e7e1;border:1px solid #e9c3b8;color:var(--danger);border-radius:8px;padding:12px 14px;font-size:14px}.code{font-size:24px;letter-spacing:4px;font-weight:700;text-align:center}.code,.linkbox{font-family:ui-monospace,monospace}.linkbox{font-size:12px;word-break:break-all;color:var(--ink-2);background:var(--paper);border:1px dashed var(--line-2);border-radius:6px;padding:8px 10px}.inset{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px;gap:10px}.inset,.steps{display:flex;flex-direction:column}.steps{gap:12px;counter-reset:step;margin:0;padding:0}.steps li{list-style:none;display:flex;gap:14px;align-items:flex-start}.steps li:before{counter-increment:step;content:"0" counter(step);flex:0 0 28px;font-family:var(--serif);font-size:22px;line-height:1.2;color:#8a9b83}.avatar{flex:0 0 auto;display:block;border-radius:999px}.avatar.letter{display:inline-flex;align-items:center;justify-content:center;background:var(--w,#e9dcc8);color:#5f4f3c;font-family:var(--serif);font-weight:700;box-shadow:inset 0 0 0 2px var(--card)}.who{display:flex;align-items:center;gap:10px}.who small{display:block;font-size:12px;color:var(--ink-2)}.member-row{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.member-row:first-of-type{border-top:none}.avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:4px}.avatar-btn{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;font-size:12px;color:var(--ink-2)}.avatar-btn:hover{border-color:var(--ink-2)}.avatar-btn[aria-pressed=true]{border:1.5px solid var(--mode);background:var(--wash);color:var(--ink);font-weight:700}.brand{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;letter-spacing:-.02em;text-decoration:none}.brand,a.brand:hover{color:var(--ink)}.mark{display:inline-grid;place-items:center;width:28px;height:34px;border-radius:2px 6px 6px 2px;box-shadow:inset 4px 0 rgba(255,255,255,.13);font-size:16px;font-weight:700}.cover,.mark{flex:0 0 auto;background:var(--cover);color:var(--cover-ink);font-family:var(--serif)}.cover{position:relative;width:112px;height:154px;padding:22px 12px 14px;border-radius:1px 7px 7px 1px;text-align:center;font-size:18px;line-height:1.6;white-space:pre-line;box-shadow:inset 6px 0 rgba(0,0,0,.13),5px 3px 0 #fffdf4,6px 3px 0 #ccd0c4,10px 12px 18px rgba(29,49,32,.12);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cover small{font-family:var(--sans);font-size:8px;letter-spacing:.14em;display:block;white-space:normal}.cover.tilt{transform:rotate(-5deg)}.book-scene{display:flex;align-items:center;gap:24px;background:var(--wash);border-radius:5px 48px 5px 5px;padding:22px 24px}.book-scene p{font-family:var(--serif);font-size:16px;line-height:1.85;white-space:pre-line}.book-scene p small{display:block;font-family:var(--sans);font-size:12px;color:var(--ink-2);margin-top:8px;white-space:normal}.site{max-width:1120px;margin:0 auto;padding:0 16px}.site-head{display:flex;justify-content:space-between;gap:12px;min-height:72px;border-bottom:1px solid var(--line)}.hero,.site-head{align-items:center}.hero{display:grid;grid-gap:28px;gap:28px;padding:36px 0 32px}.hero h1{font-size:36px;line-height:1.38;letter-spacing:-.03em;font-weight:700}.hero h1 em{font-style:normal;color:var(--orange)}.hero .intro{font-size:16px;line-height:1.9;color:var(--ink-2);max-width:30em}.hero .actions{display:flex;gap:10px;flex-wrap:wrap}.hero .actions .btn{flex:1 1 200px}.fine{font-size:12px;color:var(--ink-2)}.assure{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#586b5d}.assure span:before{content:"✓ "}.hero-art{position:relative;height:340px;display:flex;justify-content:center;align-items:center}.hero-art .sun{position:absolute;inset:12px 8px 6px;background:#eeede2;border-radius:50% 50% 10px 10px}.big-book{position:relative;width:204px;height:272px;transform:rotate(-8deg) translateX(-24px);background:var(--cover);color:#eee7cf;border-radius:2px 12px 12px 2px;text-align:center;padding:30px 18px 18px;box-shadow:inset 12px 0 14px rgba(32,60,61,.31),9px 5px 0 #e1dfcf,13px 7px 0 #f8f5e9,24px 29px 38px rgba(43,59,40,.17);display:flex;flex-direction:column;align-items:center}.big-book:before{content:"";position:absolute;inset:13px;border:1px solid rgba(227,223,198,.31);pointer-events:none}.big-book .kicker{font-size:8px;letter-spacing:.2em}.big-book .title{font-family:var(--serif);font-size:24px;line-height:1.6;margin:16px 0 8px;letter-spacing:.06em;white-space:pre-line}.big-book svg{width:64px;height:60px;margin-top:auto}.big-book .foot{font-size:8px;letter-spacing:.18em;margin-top:8px}.quote-card{position:absolute;bottom:0;right:0;width:236px;padding:16px 18px;background:var(--card);border:1px solid #e5e3d8;border-radius:6px;box-shadow:0 10px 35px rgba(41,59,41,.08);transform:rotate(3deg)}.quote-card .tiny{font-size:11px;color:var(--orange);margin-bottom:6px}.quote-card p{font-family:var(--serif);font-size:15px;line-height:1.8}.quote-card .from{font-size:11px;color:var(--ink-2);margin-top:6px}.value-strip{display:grid;grid-gap:20px;gap:20px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.value-item{display:flex;gap:16px;align-items:flex-start}.value-item .num{font-family:var(--serif);font-size:26px;color:#8a9b83;line-height:1.2;flex:0 0 30px}.value-item h3{font-family:var(--sans);font-size:15px;font-weight:600;margin-bottom:2px}.value-item p{font-size:13px;color:var(--ink-2);line-height:1.7}.modes-intro{padding:40px 0 8px;display:flex;flex-direction:column;gap:8px}.modes-intro h2{font-size:26px;letter-spacing:-.02em}.mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 24px}.mode-choice{position:relative;text-align:left;padding:14px 16px;min-height:80px;border:1px solid var(--line);border-radius:9px;background:#fffdf7;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px}.mode-choice strong{font-size:15px}.mode-choice small{font-size:12px;color:var(--ink-2);line-height:1.5}.mode-choice[aria-pressed=true]{border:2px solid var(--mode);padding:13px 15px;background:var(--wash)}.mode-choice[aria-pressed=true]:after{content:"✓";position:absolute;right:12px;top:12px;color:var(--mode)}.mode-stage{display:grid;grid-gap:24px;gap:24px;padding-bottom:40px}.mode-copy{display:flex;flex-direction:column;gap:14px}.mode-copy h2{font-size:30px;line-height:1.5;letter-spacing:-.03em;white-space:pre-line;color:var(--ink)}.mode-copy .desc{font-size:15px;color:var(--ink-2);line-height:1.95}.mode-rule{font-size:14px;line-height:1.85;color:var(--ink-2);border-top:1px solid var(--line);padding-top:14px}.mode-rule strong{display:block;color:var(--mode);font-size:14px;margin-bottom:4px}.mode-rule details{margin-top:6px}.mode-rule summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.surface{border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:0 12px 35px rgba(35,62,42,.04);overflow:hidden}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:14px}.surface-head small{font-size:12px;color:var(--ink-2)}.space-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--mode);margin-right:8px}.surface-body{padding:20px;display:flex;flex-direction:column;gap:12px}.sample-label{letter-spacing:.08em}.sample-label,.site-foot{font-size:12px;color:var(--ink-2)}.site-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:22px 0 32px;border-top:1px solid var(--line)}.onboarding{min-height:100dvh;padding-top:max(16px,env(safe-area-inset-top))}.progress-head{display:flex;flex-direction:column;gap:8px}.progress-head a{font-size:20px;color:var(--ink);text-decoration:none;min-width:44px;min-height:44px;display:inline-flex;align-items:center}.progress{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.progress>div{height:100%;background:var(--mode)}.onboarding-foot{margin-top:auto;padding-top:8px;position:-webkit-sticky;position:sticky;bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 30%)}.kind-pick{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;border:0;padding:0;margin:0;min-width:0}.kind-pick legend{padding:0 0 8px;font-size:14px;color:var(--ink-2)}.kind-pick label{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;font-weight:400}.kind-pick label:has(input:checked){border:2px solid var(--mode);padding:13px 15px;background:var(--wash)}.kind-pick label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}.kind-pick input{margin-top:5px;accent-color:var(--mode);width:18px;height:18px;flex:0 0 auto}.kind-pick strong{display:block;font-size:16px}.kind-pick .muted{font-size:14px}.kind-pick .swatch{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:1px}.app{min-height:100dvh}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(248,247,242,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:max(8px,env(safe-area-inset-top)) 16px 8px}.appbar-inner{max-width:600px;margin:0 auto;justify-content:space-between;gap:10px}.appbar-inner,.appbar-title{display:flex;align-items:center;min-height:44px}.appbar-title{gap:8px;max-width:70%;padding:4px 10px 4px 12px;background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--ink);font-size:14px}.appbar-title .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.appbar-title .kind{color:var(--mode);font-size:12px;white-space:nowrap}.app-body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.app-body .wrap{padding-top:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fdfcf8;border-top:1px solid var(--line);padding:0 8px env(safe-area-inset-bottom)}.tabbar,.tabbar a{display:flex;justify-content:center}.tabbar a{flex:1 1;max-width:150px;min-height:58px;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--ink-2);text-decoration:none}.tabbar a.on{color:var(--mode);font-weight:700;box-shadow:inset 0 2px var(--mode)}.list-title{font-size:13px;color:var(--ink-2);padding:0 4px 6px;margin-top:4px;letter-spacing:.04em}.list{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.list>:not(:first-child){border-top:1px solid var(--line)}.list form{margin:0}.list-row,.list-row-main{width:100%;min-height:56px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:none;border:0;font-size:16px;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}a.list-row:hover,button.list-row-main:hover,button.list-row:hover{background:var(--paper);color:var(--ink)}.list-row.split{padding:0 8px 0 0;gap:0}.list-row.split>.list-row-main{flex:1 1}.list-row.danger{color:var(--danger)}.list-row .muted,.list-row-main .muted{font-size:13px}.chev{color:var(--ink-2)}.chev,.plus{flex:0 0 auto}.plus{width:40px;height:40px;border-radius:999px;border:1px dashed var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:var(--mode);font-size:20px}.list-link{align-self:center;font-size:14px;color:var(--ink-2);padding:10px;min-height:44px}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:none;color:var(--mode);cursor:pointer;flex:0 0 auto}.icon-btn:hover{background:var(--wash)}dialog.sheet{margin:auto auto 0;width:100%;max-width:600px;max-height:88dvh;padding:0;border:0;border-radius:16px 16px 0 0;background:var(--card);color:var(--ink);overflow:auto;box-shadow:0 -12px 40px -12px rgba(35,59,48,.3)}dialog.sheet[open]{animation:sheet-up .22s ease-out}dialog.sheet::-webkit-backdrop{background:rgba(35,59,48,.4)}dialog.sheet::backdrop{background:rgba(35,59,48,.4)}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet-body{padding:8px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:2px auto 4px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{font-size:20px}.sheet-head .icon-btn{color:var(--ink-2)}.toaster{position:fixed;left:0;right:0;bottom:calc(86px + env(safe-area-inset-bottom));z-index:50;pointer-events:none;padding:0 16px}.toast-stack,.toaster{display:flex;flex-direction:column;align-items:center;gap:8px}.toast{max-width:520px;background:var(--ink);color:#fffefa;border-radius:8px;padding:12px 18px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.13);animation:toast-in .2s ease-out}.toast.error{background:var(--danger);color:#fff}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:14px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}.chip:hover{border-color:var(--mode);color:var(--mode)}.chip[aria-current=page],.chip[aria-pressed=true]{background:var(--mode);border-color:var(--mode);color:#fffefa}.thanks-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.thanks-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:14px;color:var(--ink-2);cursor:pointer}.thanks-btn.on{border-color:#e2b6a5;background:#fbece5;color:var(--orange);font-weight:700}.thanks-note{font-size:17px}.story{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:20px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:80px}.story h3{font-size:19px;font-weight:700;line-height:1.6}.story-q{font-family:var(--serif);font-weight:700;font-size:18px}.story-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.archive{display:grid;grid-gap:20px;gap:20px}.aside-card{border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--paper-2);display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.aside-card h3{font-family:var(--sans);font-size:15px;font-weight:600;align-self:stretch;text-align:left}.aside-card p{font-size:13px;color:var(--ink-2)}.reader{gap:18px}.book-cover-panel,.reader{display:flex;flex-direction:column}.book-cover-panel{background:var(--cover);color:var(--cover-ink);text-align:center;border-radius:4px 12px 12px 4px;padding:36px 24px;border-left:8px solid rgba(0,0,0,.18);align-items:center;gap:12px;box-shadow:0 4px 0 #dce0d1,0 15px 50px rgba(44,61,40,.07)}.book-cover-panel .tiny{font-size:11px;letter-spacing:.18em;opacity:.8}.book-cover-panel h2{font-size:30px;line-height:1.5;color:inherit}.book-cover-panel .span{font-size:13px;opacity:.85}.book-page{background:#fffdf6;border-radius:4px 10px 10px 4px;padding:32px 24px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:inset 12px 0 22px rgba(0,0,0,.03),0 4px 0 #e6e8dc,0 12px 36px rgba(44,61,40,.06);scroll-margin-top:80px}.book-page .chapter{font-size:11px;letter-spacing:.12em;color:var(--orange)}.book-page h3{font-size:22px;line-height:1.65;font-weight:700}.book-page .prose{font-family:var(--serif);font-size:17px;line-height:2.1;white-space:pre-line}.book-page .page-foot{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:10px}.big{font-size:18px}.big .muted{font-size:16px}.answer-intro{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.answer-intro h1{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-.02em}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--wash);color:var(--mode);padding:5px 12px;border-radius:999px;font-size:13px}.question-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 20px;display:flex;flex-direction:column;gap:16px}.q-meta{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--ink-2)}.question-box .question{font-size:26px;line-height:1.6}.big textarea{font-size:20px;line-height:1.8;min-height:200px}.big label{font-size:17px}.big .btn{min-height:56px;font-size:18px}.big .weather-btn{min-height:52px;font-size:17px}.done-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--wash);color:var(--mode);font-size:28px;margin:0 auto}.success{text-align:center;display:flex;flex-direction:column;gap:10px;padding:12px 0}.success h2{font-size:26px;line-height:1.5}@media (min-width:720px){.wrap{padding-left:24px;padding-right:24px}.site{padding:0 32px}.hero{grid-template-columns:1.02fr 1fr;padding:64px 0 56px;gap:40px}.hero h1{font-size:48px}.hero-art{height:420px}.big-book{width:250px;height:330px}.big-book .title{font-size:28px}.quote-card{width:270px;right:0}.value-strip{grid-template-columns:repeat(3,1fr);gap:32px}.mode-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mode-stage{grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.mode-copy h2{font-size:38px}.modes-intro h2{font-size:32px}.today{padding:28px}.today .question{font-size:26px}.question-box{padding:32px}.question-box .question{font-size:30px}.book-page{padding:44px 40px 26px}}@media (min-width:1000px){.archive.with-aside{grid-template-columns:minmax(0,1fr) 280px;align-items:start}.archive.with-aside>aside{position:-webkit-sticky;position:sticky;top:84px}.wrap.wide{max-width:960px}}@media (max-width:380px){.hero h1{font-size:32px}.mode-copy h2{font-size:26px}.book-scene{gap:16px;padding:18px}.cover{width:96px;height:132px;font-size:16px;padding:18px 10px 12px}.grid4{gap:6px}}.preview-bar{background:var(--wash,var(--paper-2));color:var(--ink-2);font-size:13px;text-align:center;padding:8px 16px;border-bottom:1px solid var(--line)}.answer-photo{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:8px;background:var(--paper-2)}.book-page .answer-photo{max-height:60vh}.photo-pick{display:flex;flex-direction:column;gap:8px;border:1px dashed var(--line-2);border-radius:8px;padding:12px}.photo-pick .row-btns{display:flex;gap:8px;flex-wrap:wrap}.photo-pick input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.photo-pick .answer-photo{max-height:240px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.appbar,.no-print,.tabbar,.toaster{display:none!important}.app-body,.wrap{padding:0}.wrap{max-width:none}.book-cover-panel{box-shadow:none;break-after:page;page-break-after:always;min-height:80vh;justify-content:center;border-radius:0}.book-page{box-shadow:none;break-inside:avoid;page-break-inside:avoid;padding:0 0 18px;background:#fff}.book-page .answer-photo{max-height:95mm;background:none}@page{size:A5;margin:18mm 16mm}}.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mode-tab{min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:16px;font-weight:600;cursor:pointer}.mode-tab[aria-pressed=true]{background:var(--mode);border-color:var(--mode);color:#fffefa}.hero-cta{min-height:56px;font-size:18px}.hero-sub{font-size:16px;color:var(--ink)}.text-link.inline{min-height:0;padding:0;font-size:inherit;display:inline}.hero-art .book-page.sample{position:absolute;right:0;bottom:0;width:250px;padding:18px 18px 12px;gap:8px;transform:rotate(3deg);border:1px solid #e5e3d8}.book-page.sample h3{font-size:16px;line-height:1.6}.book-page.sample .prose{font-size:15px;line-height:1.85}.book-page.sample .chapter{font-size:12px;letter-spacing:0}.book-page .prose.empty{color:#9aa294}.mode-rule-section{display:flex;flex-direction:column;gap:12px;padding:32px 0 40px;max-width:640px}.mode-rule-section h2{font-size:24px;color:var(--mode-deep)}.mode-rule-text{font-size:16px;color:var(--ink)}.try-grid{display:grid;grid-gap:28px;gap:28px;padding:24px 0 56px}.try-write{min-width:0}.try-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mode-pill{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--wash);color:var(--mode-deep);font-weight:600;font-size:15px}.try-question{font-size:28px;line-height:1.5}.big-label{font-size:17px;font-weight:600}.answer-box{font-size:18px;min-height:180px}.row-between{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.try-preview{display:flex;flex-direction:column;gap:10px;min-width:0}.choose{border:0;padding:0;margin:0}.choose legend{margin-bottom:8px;padding:0}.choice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;font-weight:400}.choice input{width:20px;height:20px;margin-top:3px;flex:0 0 auto;accent-color:var(--mode)}.choice strong{display:block;font-size:17px}.choice small{display:block;font-size:15px;color:var(--ink-2)}.choice:has(input:checked){border:2px solid var(--mode);padding:13px 15px;background:var(--wash)}.login-page h1{font-size:28px}@media (min-width:720px){.mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.hero .hero-cta{max-width:360px}.hero-art .book-page.sample{width:290px}.try-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;padding-top:40px}.try-preview{position:-webkit-sticky;position:sticky;top:24px}.try-question{font-size:32px}}@media (max-width:380px){.hero-art .book-page.sample{width:220px}.try-question{font-size:24px}}.big .badge,.big .input-meta{font-size:16px}.big .badge{padding:6px 14px}.big label{font-size:18px}.big .muted,.reader-note{color:var(--ink)}.reader-note{font-size:17px;text-align:center}.review-title{font-family:var(--sans);font-size:22px;font-weight:700}.big .book-page .prose{font-size:19px}.success p{font-size:18px}.recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.recent-list li+li{border-top:1px solid var(--line)}.recent-list a{display:flex;flex-direction:column;gap:2px;padding:12px 0;color:var(--ink);text-decoration:none;min-height:44px}.recent-list .q{font-family:var(--serif);font-size:17px;line-height:1.6}.recent-list .meta{font-size:14px;color:var(--ink-2)}.book-layout{display:grid;grid-gap:24px;gap:24px}.book-tools{display:flex;flex-direction:column;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.book-tools h2{font-size:20px}.book-tools legend{font-weight:600;font-size:15px;margin-bottom:6px;padding:0}fieldset.plain{border:0;padding:0;margin:0}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-weight:400;cursor:pointer;min-height:44px}.swatch:before{content:"";width:18px;height:18px;border-radius:50%;background:var(--sw);border:1px solid rgba(0,0,0,.15)}.swatch input{position:absolute;opacity:0;width:1px;height:1px}.swatch:has(input:checked){border:2px solid var(--mode);padding:7px 11px}.swatch:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-weight:400;min-height:44px;cursor:pointer}.seg label:has(input:checked){border:2px solid var(--mode);padding:7px 11px;background:var(--wash)}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;cursor:pointer}.check input{width:20px;height:20px;margin-top:3px;flex:0 0 auto;accent-color:var(--mode)}.pick-stories summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.pick-stories ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto}.pick-stories small{color:var(--ink-2);margin-left:4px}.pdf-box{border-top:1px solid var(--line);padding-top:20px}@media (min-width:1000px){.book-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}.book-tools{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 48px - 96px - env(safe-area-inset-bottom));overflow:auto}}