:root{
  --bg:#f7f3ec;--card:#fffdfa;--ink:#2f3130;--muted:#77766f;--line:#e8e0d5;
  --critic:#6e7683;--hurt:#87a9c5;--angry:#ca7c66;--adult:#7fa785;--adult-dark:#56785c;
  --accent:#58655d;--shadow:0 14px 36px rgba(53,45,36,.08);--radius:24px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100dvh}.app-shell{width:min(100%,760px);margin:0 auto;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(36px + env(safe-area-inset-bottom))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.brand{font-weight:780;letter-spacing:-.03em;font-size:22px}.iconbtn{border:0;background:#eee8df;border-radius:999px;width:42px;height:42px;font-size:18px;cursor:pointer;color:var(--ink)}
.hero,.panel,.summary-card,.saved-item{background:rgba(255,253,250,.94);border:1px solid rgba(232,224,213,.9);box-shadow:var(--shadow);border-radius:var(--radius)}
.hero{padding:28px 22px;text-align:center}.hero h1{font-size:30px;line-height:1.07;margin:10px 0 10px;letter-spacing:-.045em}.hero p{margin:0 auto 22px;max-width:560px;color:var(--muted);line-height:1.5}
.chairs{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:24px 0}.chair{min-height:92px;border-radius:18px;padding:13px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;line-height:1.18}.chair .emoji{font-size:30px;margin-bottom:7px}.critic{background:#eef0f2;color:#505762}.hurt{background:#eaf2f8;color:#527490}.angry{background:#faeee9;color:#9d5543}.adult{background:#edf4ec;color:#54755a}
.btn{appearance:none;border:0;border-radius:16px;padding:15px 18px;font-size:16px;font-weight:760;cursor:pointer;width:100%;transition:.15s transform,.15s opacity;background:var(--accent);color:white}.btn:active{transform:scale(.985)}.btn.secondary{background:#eee8df;color:var(--ink)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.adult{background:var(--adult-dark);color:white}.btn.danger{background:#8d5d57}.btn.small{padding:11px 14px;font-size:14px;width:auto}.btn[disabled]{opacity:.45;cursor:not-allowed}
.progress-wrap{margin:6px 0 18px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:7px}.progress{height:8px;background:#e9e2d9;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .2s}
.panel{padding:22px}.mode-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.mode-dot{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:25px}.mode-head h2{font-size:26px;line-height:1.05;letter-spacing:-.04em;margin:0}.eyebrow{font-size:12px;color:var(--muted);font-weight:760;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.intro{color:#5f605c;line-height:1.55;margin:10px 0 18px}.prompt{font-size:19px;line-height:1.35;font-weight:760;margin:18px 0 10px;letter-spacing:-.02em}
textarea,input[type=text]{width:100%;border:1px solid var(--line);background:white;border-radius:17px;padding:15px 16px;font:inherit;color:var(--ink);outline:none;box-shadow:inset 0 1px 0 rgba(0,0,0,.02)}textarea{min-height:132px;resize:vertical;line-height:1.45}textarea:focus,input:focus{border-color:#b3b5ae;box-shadow:0 0 0 3px rgba(88,101,93,.08)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.chip{border:1px solid var(--line);background:#faf7f2;color:#50514e;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:650;cursor:pointer}.chip:hover{background:#f0ebe4}.chip.selected{background:#e9efe9;border-color:#c7d8c9;color:#52705a}
.ai-box{margin-top:16px;background:#f4f0e9;border-radius:18px;padding:15px;border:1px solid var(--line)}.ai-box strong{display:block;margin-bottom:6px}.ai-output{white-space:pre-wrap;line-height:1.48;color:#4f504d}.ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.spark{font-size:15px}
.ai-reminder{font-size:13px;color:var(--muted);margin:10px 0 0;font-style:italic}.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-chip{background:white;border-color:#cbd8ce;color:#3f5e48;text-align:left}.ai-chip:active{background:#dfeadf}.pause-box{display:grid;grid-template-columns:36px 1fr;gap:11px;margin-top:18px;padding:17px;background:#f0eee8;border:1px solid #dfd9cf;border-radius:20px}.pause-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:white;color:#718077;font-size:23px}.pause-box h3,.activation h3,.recheck h3{margin:0 0 7px}.pause-box p,.activation p,.recheck p{margin:0 0 12px;color:var(--muted);line-height:1.5}.mini-label{display:block;font-size:13px;font-weight:700;margin:12px 0 7px}.compact{min-height:88px}.check{display:flex;align-items:flex-start;gap:9px;margin-top:13px;font-size:13px;line-height:1.42;color:#565a55;cursor:pointer}.check input{width:20px;height:20px;flex:0 0 auto;margin:0;accent-color:var(--adult-dark)}
.ai-lead{margin:8px 0 12px;color:#4d514d;line-height:1.5}.ai-questions{display:grid;gap:7px;margin:10px 0}.ai-questions>div{padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.72);color:#505450;line-height:1.42}.ai-refresh{appearance:none;border:0;background:transparent;color:#66756a;text-decoration:underline;font:inherit;font-size:12px;padding:10px 0 0;cursor:pointer}.ai-working{background:#eef3ed;border-color:#d6e2d6}.ai-error{background:#f8eeee;border-color:#ead2d2}.crisis{background:#fff2e8;border-color:#efcdb5}.thinking-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--adult-dark);animation:pulse-dot 1.1s ease-in-out infinite}@keyframes pulse-dot{50%{opacity:.25;transform:scale(.75)}}
.context-note{margin-top:12px;padding:12px 14px;border-radius:14px;background:#f1f5ef;color:#5d695f;font-size:13px;line-height:1.4}.selected-needs{margin-top:14px}.selected-needs>span{font-size:12px;font-weight:760;color:var(--muted)}
.navrow{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:16px}.solo{grid-template-columns:1fr}.quote{padding:15px;border-left:4px solid #c7d2c8;background:#f4f7f3;border-radius:12px;margin:12px 0;color:#4c554d;line-height:1.5}.perspective{background:linear-gradient(180deg,#eef4ec,#f8f5ee);border:1px solid #dce7dc;border-radius:20px;padding:18px;margin:16px 0}.perspective h3{margin:0 0 8px}.perspective p{margin:0;color:#58615a;line-height:1.5}
.third-person{display:grid;gap:12px}.person-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:white}.person-card h3{margin:0 0 6px;font-size:16px}.person-card p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.45}
.adult-panel{border-color:#d9e4d9}.activation,.recheck{background:#f8f6f1;border:1px solid var(--line);border-radius:20px;padding:17px;margin:16px 0}.rating-row{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #ebe5dc;font-size:14px;font-weight:680}.rating-row select{width:100%;padding:9px;border:1px solid var(--line);border-radius:11px;background:white;font:inherit}.focus-card{border-left:4px solid #a9c1ab}.round{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--adult-dark);font-weight:800;margin-bottom:7px}.together{background:#eef4ec;border-color:#d6e3d6}.recheck{background:#f1f5ef;border-color:#d6e3d6}.recheck.is-deep{box-shadow:0 8px 24px rgba(72,100,77,.08)}.integration{background:#eef4ec;border-color:#d6e3d6}
.round-again{margin-top:12px}
.guided-progress{display:flex;flex-direction:column;gap:4px;margin:-2px 0 16px;padding:13px 15px;border-radius:16px;background:#edf4ec;color:var(--adult-dark)}.guided-progress span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.guided-progress strong{font-size:17px}.guided-focus{min-height:390px;display:flex;flex-direction:column;justify-content:center}.guided-focus .activation{width:100%;background:rgba(255,255,255,.55)}
.summary-grid{display:grid;gap:11px}.summary-card{padding:17px}.summary-card h3{font-size:14px;margin:0 0 8px}.summary-card p{margin:0;line-height:1.47;white-space:pre-wrap}.takeaway{font-size:20px;font-weight:760;line-height:1.4;color:#405444}
.saved-list{display:grid;gap:10px;margin-top:14px}.saved-item{padding:16px;cursor:pointer}.saved-item .date{font-size:12px;color:var(--muted);margin-bottom:4px}.saved-item strong{display:block;margin-bottom:5px}.saved-item p{margin:0;color:#64645f;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.footer-note{font-size:11px;line-height:1.45;color:#8b8982;text-align:center;margin:18px 12px 0}.empty{text-align:center;padding:36px 12px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#30332f;color:white;border-radius:999px;padding:10px 15px;font-size:13px;box-shadow:var(--shadow);z-index:20}
.loading::after{content:"";display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite;margin-left:7px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}
.start-choice .intro{margin-bottom:20px}.choice-card{width:100%;display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);padding:17px;margin:10px 0;cursor:pointer;box-shadow:0 8px 20px rgba(53,45,36,.04)}.choice-card:active{transform:scale(.99)}.choice-card strong{display:block;font-size:16px;line-height:1.3;margin-bottom:4px}.choice-card small{display:block;color:var(--muted);font-size:13px;line-height:1.4}.choice-icon{width:46px;height:46px;border-radius:15px;background:#f3eee6;display:grid;place-items:center;font-size:23px}.calm-note{margin-top:18px;padding:15px;border-radius:17px;background:#f1f4ef;border:1px solid #dce5da}.calm-note p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.orientation-panel .guided-progress{background:#f0eee8;color:#5d625e}.reflection-questions{display:grid;gap:8px;margin:12px 0 14px}.reflection-questions span{display:block;padding:10px 12px;border-radius:13px;background:#f5f1eb;color:#5f605c;font-size:14px}.field-help{font-size:13px;color:var(--muted);margin:-3px 0 9px}.selected-theme{display:flex;flex-direction:column;gap:4px;padding:15px;border-radius:16px;background:#eaf2e9;border:1px solid #cfdfcf;margin-bottom:15px}.selected-theme small{color:var(--muted)}.selected-theme strong{color:#47644d}
.keyword-box{margin:14px 0;padding:13px 14px;border:1px solid #dbe5da;background:#f2f6f0;border-radius:16px}.keyword-box>span{font-size:12px;font-weight:760;color:#657267}.keyword-chips{margin-top:8px}.static-chip{cursor:default;background:white;border-color:#d6e1d5;color:#526857}
.speech-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 2px}.speech-btn{appearance:none;border:1px solid #d9d2c8;background:#f7f3ec;color:#4e5650;border-radius:999px;padding:9px 13px;font:inherit;font-size:13px;font-weight:740;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.speech-btn.recording{background:#9d5543;color:white;border-color:#9d5543;animation:pulse 1.4s ease-in-out infinite}.speech-status{font-size:11px;color:var(--muted);line-height:1.35;flex:1;min-width:180px}.mic{font-size:15px}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(157,85,67,.12)}}
@media(min-width:700px){.app-shell{padding-left:24px;padding-right:24px}.panel{padding:28px}.hero{padding:38px}.hero h1{font-size:38px}}
