:root{--bg:#f4eee5;--bg-accent:#dcc6ab;--text:#231a15;--muted:#756457;--muted-strong:#4e4035;--card-bg:#fffbf3d1;--card-border:#66513f29;--accent:#be7a46;--accent-strong:#96603a;color:var(--text);background:radial-gradient(circle at top, #fff7e7f5, transparent 38%), linear-gradient(160deg, var(--bg) 0%, var(--bg-accent) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}#root{height:100vh;min-height:100vh;overflow:hidden}h1{letter-spacing:-.06em;margin:0;font-size:clamp(1.7rem,6.5vw,2.3rem);line-height:1}h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.2rem,4.8vw,1.55rem);line-height:1.05}p{margin:0}button,input,textarea{font:inherit}.app-shell{height:var(--app-height,100dvh);min-height:var(--app-height,100dvh);padding:max(10px, var(--saturn-effective-inset-top,env(safe-area-inset-top))) max(10px, var(--saturn-effective-inset-right,env(safe-area-inset-right))) max(10px, var(--saturn-effective-inset-bottom,env(safe-area-inset-bottom))) max(10px, var(--saturn-effective-inset-left,env(safe-area-inset-left)));overflow:hidden}.app-frame{width:min(100%,480px);height:100%;margin:0 auto;position:relative}.app-frame--follow-up .main-stage{visibility:hidden}.main-stage,.onboarding-gate{border:1px solid var(--card-border);background:linear-gradient(#fffcf6f7,#f7f0e6f2);border-radius:28px;height:100%;box-shadow:0 20px 52px #3022181f}.main-stage{flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex;overflow:hidden}.onboarding-gate{align-content:center;gap:18px;padding:24px;display:grid}.onboarding-form{gap:10px;display:grid}.onboarding-form label{font-size:1.15rem;font-weight:700}.onboarding-form input{width:100%;min-height:54px;color:var(--text);background:#ffffffd1;border:1px solid #8268522e;border-radius:18px;padding:0 16px}.form-error{color:#a74739}.topbar{flex:none;gap:3px;display:grid}.brand-mark{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.tab-body{flex:auto;min-height:0;overflow:hidden}.today-layout{grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;display:grid}.today-action,.submit-button{background:linear-gradient(180deg, var(--accent), var(--accent-strong));color:#fffaf3;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:18px;padding:12px 16px;font-weight:700;box-shadow:0 12px 22px #915d3333}.daily-card,.story-card,.story-note,.profile-section{background:#ffffffa6;border:1px solid #82685221;border-radius:22px;padding:14px}.daily-card{background:radial-gradient(circle at 100% 0,#d4955c47,#0000 46%),linear-gradient(#fff7ebfa,#f7e3c6d1);gap:5px;display:grid}.story-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;align-content:start;gap:6px;display:grid;overflow:hidden}.story-card p,.daily-card p,.story-note p,.profile-empty{color:var(--muted)}.card-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.stories-screen,.profile-screen{align-content:start;gap:12px;height:100%;display:grid}.stories-screen{grid-template-rows:auto auto auto auto}.story-note{gap:6px;display:grid}.profile-screen{grid-template-rows:auto auto auto auto}.profile-section{gap:10px;display:grid}.profile-meta{gap:7px;margin:0;display:grid}.profile-meta div{border-bottom:1px solid #8268521a;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.profile-meta div:last-child{border-bottom:0;padding-bottom:0}.profile-meta dt,.profile-meta dd{margin:0}.profile-meta dt{color:var(--muted)}.profile-meta dd{text-align:right}.profile-action{color:var(--accent-strong);font-weight:700}.profile-edit,.story-history{width:100%;min-height:44px;color:var(--accent-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;font-weight:700;display:flex}.story-history{color:var(--muted);justify-content:center}.story-history:disabled{opacity:.7;cursor:default}.bottom-nav{background:#fdf9f3f5;border:1px solid #82685224;border-radius:22px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;display:grid}.nav-item{min-height:52px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;font-size:.88rem;font-weight:700}.nav-item--active{color:var(--text);background:#a6784e1f}.overlay-screen{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c15102e;display:grid;position:absolute;inset:0}.overlay-screen--follow-up{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#fffcf7fa,#f8f0e5fa);border-radius:28px;overflow:hidden}.overlay-panel{background:linear-gradient(#fffcf7fa,#f8f0e5fa);border:1px solid #82685224;border-radius:28px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0;padding:14px;display:grid}.overlay-panel--story{grid-template-rows:auto auto 1fr}.overlay-panel--birth,.overlay-panel--analysis,.overlay-panel--follow-up{grid-template-rows:auto auto minmax(0,1fr)}.overlay-screen--follow-up .overlay-panel--follow-up{box-shadow:none;background:0 0;border:0;border-radius:0}.overlay-close{min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0 8px;font-weight:700}.overlay-header{gap:5px;display:grid}.context-chip{color:var(--accent-strong);background:#a6784e21;border-radius:999px;justify-self:start;padding:5px 9px;font-size:.78rem;font-weight:700}.story-title{gap:4px;display:grid}.story-title p{color:var(--muted)}.story-details{align-content:start;gap:5px;display:grid}.story-details .card-kicker:not(:first-child){margin-top:8px}.analyze-form{grid-template-rows:minmax(0,1fr) auto auto;gap:10px;min-height:0;display:grid}.analyze-field{min-height:0}.analyze-field textarea{resize:none;width:100%;height:100%;min-height:148px;color:var(--text);background:#ffffffd1;border:1px solid #8268522e;border-radius:20px;padding:14px;line-height:1.45;overflow:auto}.analyze-field textarea:focus{outline-offset:1px;border-color:#a6784e66;outline:2px solid #a6784e38}.analysis-processing{align-content:center;gap:12px;min-height:0;display:grid}.analysis-processing ol{color:var(--muted);gap:8px;margin:0;padding:0;list-style:none;display:grid}.analysis-processing li{padding-left:18px;position:relative}.analysis-processing li:before{color:var(--accent-strong);content:"•";position:absolute;left:0}.analysis-content{align-content:start;gap:16px;min-height:0;padding:2px 4px 4px 0;display:grid;overflow:auto}.analysis-content h2{font-size:clamp(1.45rem,6vw,2rem);line-height:1.08}.analysis-content section{gap:5px;display:grid}.analysis-content h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.82rem}.analysis-content p{color:var(--text);line-height:1.48}.follow-up-content{overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding:2px 3px 4px 0;display:grid;overflow-y:auto}.saturn-message{color:var(--text);background:#ffffffb8;border:1px solid #8268521f;border-radius:18px 18px 18px 5px;margin:0;padding:12px 14px;line-height:1.45}.user-message{max-width:92%;color:var(--text);background:#a6784e24;border-radius:18px 18px 5px;justify-self:end;margin:0;padding:11px 13px;line-height:1.45}.follow-up-form{gap:8px;padding-top:2px;display:grid}.follow-up-form textarea{resize:vertical;width:100%;height:104px;min-height:104px;color:var(--text);font:inherit;background:#ffffffd1;border:1px solid #8268522e;border-radius:16px;padding:12px;line-height:1.4}.follow-up-form textarea:focus{outline-offset:1px;border-color:#a6784e66;outline:2px solid #a6784e38}.mock-result,.story-preview{background:#ffffffb8;border:1px solid #8268521f;border-radius:18px;gap:8px;padding:12px;display:grid}.submit-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.birth-form{align-content:start;gap:14px;min-height:0;padding-right:2px;display:grid;overflow:auto}.birth-form>label{gap:6px;font-weight:700;display:grid}.birth-form input:not([type=radio]){width:100%;min-height:48px;color:var(--text);background:#ffffffd1;border:1px solid #8268522e;border-radius:14px;padding:0 12px}.birth-form fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.birth-form legend{margin-bottom:8px;font-weight:700}.birth-form fieldset label{align-items:center;gap:8px;min-height:28px;display:flex}.app-shell--keyboard-open .overlay-panel{gap:8px;padding:10px}.app-shell--keyboard-open .overlay-header,.app-shell--keyboard-open .analyze-form{gap:5px}.app-shell--keyboard-open .analyze-field textarea{min-height:64px;padding:10px 12px}.app-shell--keyboard-open .overlay-panel--follow-up{grid-template-rows:auto auto minmax(0,1fr)}.app-shell--keyboard-open .follow-up-content{gap:10px}.app-shell--keyboard-open .follow-up-form textarea{height:88px;min-height:88px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=390px),(height<=700px){.app-shell{padding:max(8px, var(--saturn-effective-inset-top,env(safe-area-inset-top))) max(8px, var(--saturn-effective-inset-right,env(safe-area-inset-right))) max(8px, var(--saturn-effective-inset-bottom,env(safe-area-inset-bottom))) max(8px, var(--saturn-effective-inset-left,env(safe-area-inset-left)))}.main-stage{border-radius:24px;gap:8px;padding:12px}.today-layout{gap:8px}.daily-card,.story-card,.story-note,.profile-section{border-radius:18px;padding:12px}.bottom-nav{padding:5px}.nav-item{min-height:48px;font-size:.82rem}.onboarding-gate{border-radius:24px;padding:20px}}
