:root{color:#3f302a;font-synthesis:none;text-rendering:optimizelegibility;--ink:#3f302a;--muted:#826e62;--cream:#f8f1e7;--paper:#fffaf3;--warm:#f1decb;--brick:#a94f3e;--brick-dark:#873d31;--line:#66483a24;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", serif;background:#f8f1e7;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{background:radial-gradient(circle at 50% -12%, #fff9ef 0, var(--cream) 52%, #f1e4d5 100%);min-width:320px;min-height:100vh;margin:0}button{color:inherit;font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #a94f3e66}.page-shell{width:min(100%,540px);min-height:100dvh;margin:0 auto;padding:0 24px;overflow:hidden}.mode-parent-child{--brick:#39796f;--brick-dark:#2e625a;--warm:#dcebe1}.topbar,.session-header,.subpage-header{justify-content:space-between;align-items:center;min-height:72px;display:flex}.wordmark{font-family:var(--serif);letter-spacing:.12em;font-size:15px;font-weight:700}.icon-button,.back-button{cursor:pointer;background:#ffffff8f;border:0;border-radius:50%;width:44px;height:44px;font-size:22px}.relationship-switch{border:1px solid var(--line);background:#ffffff6b;border-radius:16px;grid-template-columns:1fr 1fr;width:min(100%,260px);margin:0 auto 14px;padding:4px;display:grid}.relationship-switch button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;font-size:14px;font-weight:600}.relationship-switch button[aria-pressed=true]{color:var(--brick);background:var(--paper);box-shadow:0 4px 14px #5f41301a}.hero{text-align:center;padding:4px 0 30px}.room-scene{background:linear-gradient(#ecd2b6 0 67%,#c99879 67% 70%,#ead8c6 70%);border-radius:50% 50% 44% 44%;width:230px;height:182px;margin:0 auto 24px;position:relative;box-shadow:inset 0 0 60px #ffffff7a,0 24px 55px #6a463214}.mode-parent-child .room-scene{background:linear-gradient(#dcebdc 0 67%,#c5a27e 67% 70%,#ead8c6 70%)}.room-scene:before{content:"";background:#f7e8d7;border:5px solid #7c533d52;width:46px;height:58px;position:absolute;top:33px;left:28px}.moon{color:#a94f3e;font-size:29px;position:absolute;top:23px;right:39px;transform:rotate(-18deg)}.mode-parent-child .moon{color:#e4a84e;transform:none}.lamp{background:#6f4d3f;width:3px;height:58px;position:absolute;bottom:31px;right:41px}.lamp:before{content:"";border-bottom:29px solid #d68a63;border-left:20px solid #0000;border-right:20px solid #0000;position:absolute;top:-18px;left:-19px;transform:rotate(180deg)}.lamp:after{content:"";background:#6f4d3f;border-radius:50%;width:35px;height:4px;position:absolute;bottom:-3px;left:-16px}.sofa{background:#a65343;border-radius:16px 16px 7px 7px;width:107px;height:52px;position:absolute;bottom:30px;left:55px;box-shadow:0 8px #824338}.sofa:before,.sofa:after{content:"";background:#985044;border-radius:9px;width:15px;height:46px;position:absolute;top:-2px}.sofa:before{left:-9px}.sofa:after{right:-9px}.sofa i{background:#b86450;border-radius:8px;width:45px;height:31px;position:absolute;top:5px}.sofa i:first-child{left:7px}.sofa i:last-child{right:7px}.plant{color:#71806b;font-size:42px;position:absolute;bottom:31px;left:28px;transform:rotate(-20deg)}.eyebrow{color:var(--brick);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}h1,h2{font-family:var(--serif)}.hero h1{letter-spacing:.04em;margin:14px auto 13px;font-size:clamp(31px,8vw,43px);line-height:1.28}.lead{max-width:340px;color:var(--muted);margin:0 auto 28px;font-size:15px;line-height:1.9}.primary-button{color:#fffaf4;background:var(--brick);letter-spacing:.05em;cursor:pointer;border:0;border-radius:18px;width:min(100%,350px);min-height:56px;padding:14px 24px;font-weight:700;transition:transform .2s,background .2s;box-shadow:0 12px 24px #91423433}.primary-button:hover{background:var(--brick-dark);transform:translateY(-1px)}.primary-button span{float:right}.secondary-actions{color:#9b8173;justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.secondary-actions button,.card-tools button,.text-button{color:#725e53;cursor:pointer;background:0 0;border:0;min-height:44px;padding:6px}.privacy-note{border-top:1px solid var(--line);text-align:center;color:#9a8679;padding:24px 0 28px;font-size:12px}.session-page{flex-direction:column;padding-bottom:24px;display:flex}.session-header{flex:none}.stage-heading{flex-direction:column;align-items:center;gap:4px;display:flex}.stage-heading strong{font-family:var(--serif);font-size:16px}.stage-heading span{color:var(--muted);font-size:12px}.header-spacer{width:44px}.progress{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.progress span{background:#e5d7c9;border-radius:9px;height:4px}.progress span.active{background:var(--brick)}.stage-hint{text-align:center;color:var(--muted);margin:20px 0 16px;font-size:13px}.conversation-card{background:linear-gradient(150deg,#fffdf8fa,#faeee0f5);border:1px solid #825b481f;border-radius:28px;flex-direction:column;flex:auto;justify-content:center;min-height:360px;padding:38px 28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #6948361c}.conversation-card:before{content:"“";color:#a94f3e1a;font-family:Georgia,serif;font-size:100px;position:absolute;top:5px;right:24px}.card-action:before{content:"✦";font-size:58px;top:18px}.card-theme{color:var(--brick);letter-spacing:.14em;margin:0 0 24px;font-size:12px;font-weight:700}.conversation-card h2{letter-spacing:.025em;margin:0;font-size:clamp(24px,6.8vw,32px);font-weight:600;line-height:1.65;position:relative}.follow-up{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.follow-up span{color:#a78a79;letter-spacing:.12em;font-size:11px}.follow-up p,.alternative{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.7}.session-actions{text-align:center;flex:none;padding-top:22px}.card-tools{justify-content:center;gap:36px;margin-top:10px;display:flex}.card-tools button[aria-pressed=true]{color:var(--brick);font-weight:700}.subpage{padding-bottom:40px}.subpage-header{font-family:var(--serif);font-weight:700}.subpage-header i{width:44px}.subpage-intro{padding:24px 2px 20px}.subpage-intro h1{margin:10px 0;font-size:30px}.subpage-intro>p:last-child{color:var(--muted);line-height:1.7}.theme-grid{gap:12px;display:grid}.theme-grid>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fffaf3c7;border-radius:20px;grid-template-rows:auto auto;grid-template-columns:48px 1fr 20px;min-height:86px;padding:15px 18px;display:grid;position:relative}.theme-icon{width:38px;height:38px;color:var(--brick);text-align:center;background:#f2dfcf;border-radius:50%;grid-row:1/3;align-self:center;font-size:20px;line-height:38px}.theme-grid strong{font-family:var(--serif);align-self:end}.theme-grid small{color:var(--muted);align-self:start;margin-top:5px;line-height:1.35}.theme-grid b{color:#b49b8c;grid-area:1/3/3;align-self:center}.safety-copy{color:#9a8679;text-align:center;margin:24px auto;font-size:12px;line-height:1.7}.empty-state{text-align:center;background:#fffaf3b3;border-radius:24px;margin-top:50px;padding:44px 26px}.empty-state>span{color:var(--brick);font-size:40px}.empty-state h2{margin-bottom:8px}.empty-state p{color:var(--muted);line-height:1.7}.favorite-list{gap:12px;display:grid}.favorite-list article{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:20px}.favorite-list small{color:var(--brick)}.favorite-list p{font-family:var(--serif);line-height:1.7}.favorite-list article div{gap:12px;display:flex}.favorite-list button{cursor:pointer;background:#f0dfd0;border:0;border-radius:12px;min-height:42px;padding:8px 14px}.favorite-list button:last-child{color:var(--muted);background:0 0}.completion-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.completion-mark{width:110px;height:110px;color:var(--brick);background:#f0d7c3;border-radius:50%;margin-bottom:24px;font-size:58px;line-height:110px}.completion-page h1{margin:10px 0;font-size:38px}.completion-page>p:not(.eyebrow){max-width:330px;color:var(--muted);margin:4px 0 34px;line-height:1.8}.completion-page .text-button{margin-top:10px}@media (width>=700px){.page-shell{padding-inline:32px}.conversation-card{min-height:400px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
