@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{color-scheme:light;--paper: #f8f3ea;--surface: #fffdf9;--surface-muted: #f3ede3;--ink: #252a33;--muted: #5d6269;--muted-soft: #7b7d80;--border: #d9d0c3;--border-strong: #bdb3a5;--primary: #b44836;--primary-hover: #913524;--focus: #246a82;--accent: #1b7470;--sun: #e6c46a;--danger: #9f1239}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.area-card:focus-visible,audio:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-root{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(32px,6vw,84px) clamp(20px,4vw,64px);background-color:var(--paper);background-image:linear-gradient(to bottom,rgba(37,42,51,.035) 1px,transparent 1px);background-size:100% 48px}.app-root--home,.app-root--area,.app-root--prompt,.app-root--admin,.app-root--welcome,.app-root--profile{justify-content:flex-start}.card{position:relative;width:min(100%,960px);max-width:960px;padding:clamp(28px,5vw,48px);background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:20px;box-shadow:0 16px 36px #1c191714}.card--wide{max-width:1120px}.card--narrow{max-width:680px}.card--auth{max-width:1080px;padding:0;overflow:hidden}.auth-layout{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);min-height:590px}.auth-rail{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow:hidden;padding:clamp(28px,4vw,52px);background-color:var(--ink);background-image:linear-gradient(to bottom,rgba(255,253,248,.08) 1px,transparent 1px);background-size:100% 42px;color:var(--surface)}.auth-rail:before{position:absolute;top:0;bottom:0;left:0;width:8px;background:var(--primary);content:""}.auth-rail-topline,.brand-lockup{display:flex;align-items:center}.auth-rail-topline{justify-content:space-between;gap:20px}.brand-lockup{gap:12px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,253,248,.55);border-radius:50%;color:var(--surface);font-size:.8rem;font-weight:800;letter-spacing:.08em}.brand-name{color:var(--surface);font-size:1.05rem;font-weight:700;letter-spacing:.01em}.auth-rail-index{color:var(--border);font-size:.9rem;font-weight:700;letter-spacing:.16em}.auth-rail-copy{position:relative;max-width:27rem;z-index:1}.auth-rail-kicker{margin:0 0 18px;color:var(--border);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.auth-rail-title{margin:0;color:var(--surface);font-size:clamp(2.25rem,4vw,3.6rem);font-weight:750;letter-spacing:-.045em;line-height:1.02}.auth-rail-note{max-width:30ch;margin:24px 0 0;color:var(--border);font-size:1rem;line-height:1.6}.auth-rail-baseline{width:100%;height:1px;background:#fffdf852}.auth-form-panel{min-width:0;padding:clamp(32px,5vw,68px);background:var(--surface)}.auth-form-panel .card-header{margin-bottom:42px}.auth-form-panel .card-title{font-size:clamp(2.3rem,4vw,3.4rem)}.auth-form{max-width:480px}.auth-form .button-row{gap:12px}.auth-form .button-primary{flex:1 1 100%}.auth-form-panel .auth-switch-text{max-width:480px;text-align:left}.auth-form-panel .auth-switch-text--action{margin-top:26px}.card-header{margin-bottom:32px}.screen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.screen-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.card-title{margin:0 0 8px;color:var(--ink);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.08;letter-spacing:-.025em}.card-subtitle{max-width:62ch;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.button-row--spaced{margin-top:24px}.button-row--tight{margin-top:16px}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:10px;padding:12px 20px;font-size:1rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.button-primary{border:1px solid var(--primary);background:var(--primary);color:#fffdf8;box-shadow:0 4px #165a3d38}.button-primary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover);box-shadow:0 5px #165a3d40;transform:translateY(-1px)}.button-secondary{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}.button-secondary:hover:not(:disabled){border-color:var(--primary);background:#f3f7f4;color:var(--primary-hover)}.button-secondary.outline{background:transparent}.button-secondary.outline:hover:not(:disabled){background:#f3f7f4}.button-small{min-height:48px;padding:10px 14px;font-size:.92rem}.button-primary:disabled,.button-secondary:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.auth-form-panel .button-secondary{background:var(--surface-muted)}.text-button{color:var(--primary)}.text-button:hover{color:var(--primary-hover)}.auth-switch-text{margin-top:20px;color:var(--muted);font-size:.95rem;text-align:center}.auth-switch-text--action{margin-top:18px}.input-row{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.input-label{color:var(--ink);font-size:1rem;font-weight:600}.input-field{width:100%;min-height:58px;border:1px solid var(--border-strong);border-radius:10px;padding:14px 16px;background:var(--surface-muted);color:var(--ink);line-height:1.35;transition:border-color .15s ease,box-shadow .15s ease}.input-field:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px #1d6b4a24}.input-field::placeholder{color:var(--muted-soft)}.input-field:disabled{background:var(--surface-muted);cursor:not-allowed}.field-hint{margin:8px 0 0;color:var(--muted)}.language-switcher{display:flex;align-items:center;gap:6px}.language-option--active{border-color:var(--primary);background:#e8f1ec;color:var(--primary-hover)}.account-meta,.tagline{color:var(--muted);font-size:.9rem}.account-meta{margin:10px 0 0}.notice{margin-bottom:20px;border:1px solid transparent;border-radius:12px;padding:15px 17px;line-height:1.45}.notice-success{border-color:#a8cfb2;background:#e7f3ea;color:#1d4d32}.notice-warning{border-color:#e4c878;background:#fff4d6;color:#684c00}.notice-error{border-color:#e4aeae;background:#fbe8e7;color:#7f1d1d}.notice-info{border-color:#b6cbd4;background:#e8f0f3;color:#24434f}.notice-detail{margin-top:8px;color:inherit;font-size:.95rem;opacity:.9}.notice-action{margin-top:12px}.journey-progress,.area-progress{margin-bottom:30px}.journey-progress{border:1px solid var(--border);border-top:5px solid var(--primary);border-radius:16px;padding:20px 22px;background:var(--surface-muted)}.progress-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.progress-heading{margin-bottom:10px}.progress-label,.section-title{color:var(--ink);font-weight:600}.progress-value,.section-hint,.area-card-count{color:var(--muted);font-size:.9rem}.progress-bar-shell{height:12px;border:0;border-radius:999px;background:#e4dfd5;overflow:hidden}.progress-bar-fill{height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease-out}.today-question{margin-top:28px;border:1px solid var(--ink);border-left:5px solid var(--accent);border-radius:16px;padding:22px 24px;background:var(--ink);box-shadow:0 14px 28px #1c19171f}.today-question-label{margin-bottom:8px;color:var(--border);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.today-question-text{margin-bottom:10px;color:var(--surface);font-size:1.35rem;line-height:1.35}.today-question-hint{margin-bottom:16px;color:var(--border);font-size:.95rem}.today-question .button-secondary{border-color:var(--surface);background:var(--surface);color:var(--ink)}.today-question .button-secondary:hover:not(:disabled){border-color:var(--surface);background:var(--paper);color:var(--primary-hover)}.areas-section{margin-top:36px;padding-top:30px;border-top:1px solid var(--border)}.section-title{font-size:1.15rem}.section-title--small{margin-bottom:10px;font-size:1rem}.grid-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;counter-reset:area-card}.area-card{position:relative;display:flex;flex-direction:column;min-height:218px;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:14px;padding:22px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;counter-increment:area-card;box-shadow:0 4px 12px #1c19170a;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.area-card:before{color:var(--muted-soft);content:counter(area-card,decimal-leading-zero);font-size:.82rem;font-weight:700;letter-spacing:.12em}.area-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 10px 22px #1c191717}.area-name{color:var(--ink);font-size:1.22rem;font-weight:700;line-height:1.2}.area-description{margin-top:7px;color:var(--muted);font-size:.95rem;line-height:1.45}.area-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.area-card-progress{margin-top:2px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid transparent;padding:6px 10px;font-size:.82rem;font-weight:600}.pill-inprogress{border-color:#e4c878;background:#fff4d6;color:#684c00}.pill-rich{border-color:#a8cfb2;background:#e7f3ea;color:#1d4d32}.prompt-list{display:flex;flex-direction:column;gap:14px;margin-top:22px}.prompt-item{display:flex;flex-direction:column;gap:16px;border:1px solid var(--border);border-radius:16px;padding:22px;background:var(--surface);box-shadow:0 4px 12px #1c19170a}.prompt-text{color:var(--ink);font-size:1.08rem;line-height:1.5}.prompt-text--large{margin-bottom:22px;border:1px solid var(--ink);border-left:5px solid var(--accent);border-radius:16px;padding:24px;background:var(--ink);color:var(--surface);font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.35}.prompt-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.recordings-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.recording-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface-muted)}.recording-meta{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.9rem;line-height:1.35}.recording-meta span:first-child{color:var(--ink);font-weight:600}.recording-audio{width:min(360px,100%);accent-color:var(--primary)}.audio-recorder-shell{display:flex;flex-direction:column;margin-top:24px;gap:16px;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:18px;padding:24px;background:var(--surface-muted)}.audio-recorder-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.audio-recorder-status{color:var(--ink);font-weight:600}.audio-recorder-helper,.audio-recorder-footer{color:var(--muted)}.audio-recorder-helper{font-size:.98rem}.audio-recorder-footer{font-size:.88rem}.recordings-section{margin-top:28px}@media(max-width:720px){.app-root{padding:20px 14px 32px}.card{border-radius:16px;padding:24px 20px}.card--auth{padding:0}.auth-layout{display:block;min-height:0}.auth-rail{min-height:260px;padding:26px 22px}.auth-rail-title{max-width:15ch;font-size:2.2rem}.auth-rail-note{display:none}.auth-form-panel{padding:28px 22px 32px}.auth-form-panel .card-header{margin-bottom:30px}.screen-header{flex-direction:column;gap:18px}.screen-header-actions{width:100%;align-items:stretch}.screen-header-actions .language-switcher{align-self:flex-start}.auth-form-panel .screen-header{align-items:stretch}.auth-form-panel .language-switcher{align-self:flex-start}.button-row{align-items:stretch;flex-direction:column}.button-row>button,.button-row>.button-primary,.button-row>.button-secondary{width:100%}.today-question>.button-secondary,.notice-action>.button-secondary{width:100%}.section-heading,.progress-heading,.area-card-meta{align-items:flex-start;flex-direction:column;gap:6px}.area-card{min-height:0}.grid-areas{grid-template-columns:1fr}.prompt-meta-row,.recording-row,.audio-recorder-controls{align-items:stretch;flex-direction:column}.prompt-meta-row .button-secondary,.recording-audio{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card-title,.auth-rail-title,.next-conversation-question{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.04em}.card{border-radius:18px;box-shadow:0 18px 50px #342b221a}.button-primary{box-shadow:0 4px #9135243d}.button-primary:hover:not(:disabled){box-shadow:0 5px #91352447}.button-secondary:hover:not(:disabled),.button-secondary.outline:hover:not(:disabled){background:#fff8ee}.input-field:focus{box-shadow:0 0 0 4px #246a8229}.language-option--active{border-color:var(--focus);background:#e7f1f3;color:#1d5e73}.admin-panel-link{border-color:#b448368c;color:var(--primary-hover);background:#fff6ed}.admin-panel-link:hover:not(:disabled){border-color:var(--primary);color:var(--primary-hover);background:#ffeadb}.auth-rail{background-color:#293b46;background-image:linear-gradient(to bottom,rgba(255,253,249,.1) 1px,transparent 1px)}.auth-rail:before{background:var(--primary)}.auth-rail-title{font-weight:500}.auth-form-panel{background:var(--surface)}.notice-success{border-color:#a5cbc2;background:#e9f4f1;color:#1f5b57}.notice-warning{border-color:#e3c76d;background:#fff7dd;color:#654b05}.area-bookmark-label{display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--accent);font-size:.83rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.chapter-bookmark{display:inline-block;width:10px;height:29px;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 100%,50% 77%,0 100%)}.story-shelf-summary{display:inline-flex;align-items:center;gap:9px;margin:0 0 20px;color:var(--muted);font-size:.96rem}.story-shelf-summary strong{color:var(--ink);font-size:1.14rem;font-variant-numeric:tabular-nums}.story-shelf-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.next-conversation,.journey-complete{position:relative;overflow:hidden;margin:0;border:1px solid #e4b4aa;border-radius:16px;padding:clamp(26px,4vw,38px);background:#f9e9e4}.journey-complete{border-color:#b8d4d0;background:#edf7f5}.next-conversation:after,.journey-complete:after{position:absolute;top:-76px;right:-52px;width:220px;height:220px;border:1px solid rgba(180,72,54,.18);border-radius:50%;content:""}.journey-complete:after{border-color:#1b74702e}.next-conversation>*,.journey-complete>*{position:relative;z-index:1}.next-conversation-label{margin-bottom:13px;color:#8c392b;font-size:.83rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.journey-complete .next-conversation-label{color:#206762}.next-conversation-question{max-width:25ch;margin:0 0 12px;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.06}.next-conversation-hint{max-width:52ch;margin:0 0 22px;color:var(--muted)}.areas-section{margin-top:42px;padding-top:30px}.life-contents{display:flex;flex-direction:column;gap:8px;margin:18px 0 0;padding:0;list-style:none}.life-contents-item{margin:0}.life-contents-button{display:grid;grid-template-columns:10px 36px minmax(0,1fr) auto 20px;align-items:center;width:100%;min-height:92px;gap:13px;border:1px solid transparent;border-radius:13px;padding:16px 18px;color:var(--ink);background:transparent;text-align:left;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.life-contents-button:hover{border-color:var(--border);background:#fffaf3;transform:translate(2px)}.life-contents-number{color:var(--muted-soft);font-size:.82rem;font-weight:700;letter-spacing:.1em}.life-contents-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.life-contents-name{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600;letter-spacing:-.025em;line-height:1.15}.life-contents-description{overflow:hidden;color:var(--muted);font-size:.92rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.life-contents-meta{display:flex;min-width:135px;flex-direction:column;align-items:flex-end;gap:4px}.contents-status{font-size:.83rem;font-weight:600;text-align:right}.contents-status--open{color:var(--muted)}.contents-status--continue{color:#9b641a}.contents-status--stories{color:var(--accent)}.life-contents-count{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.contents-arrow{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.life-contents-item:nth-child(4n+2) .chapter-bookmark{background:var(--primary)}.life-contents-item:nth-child(4n+3) .chapter-bookmark{background:#c78a20}.life-contents-item:nth-child(4n+4) .chapter-bookmark{background:#746181}.area-progress{display:flex;align-items:center;min-height:54px;margin-bottom:28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.area-progress .progress-heading{width:100%;margin:0}.area-progress .progress-label{color:var(--muted);font-size:.94rem}.prompt-list{gap:10px}.prompt-item{position:relative;padding:21px 22px;border-radius:13px;box-shadow:none}.prompt-item:hover{border-color:#c8bbb0}.prompt-item .prompt-text{font-size:1.1rem}.pill-empty{border-color:var(--border);background:var(--surface-muted);color:var(--muted)}.pill-rich{border-color:#abd0c9;background:#edf7f4;color:#216761}.prompt-text--large{margin-bottom:20px;border-color:#e0b2a9;border-left-color:var(--primary);background:#f9e9e4;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:clamp(1.55rem,3.3vw,2.15rem);font-weight:500;letter-spacing:-.025em;line-height:1.2}.optional-title{margin:0 0 20px;border-bottom:1px solid var(--border);padding-bottom:17px}.optional-title summary{width:fit-content;color:var(--muted);cursor:pointer;font-size:.95rem;font-weight:600}.optional-title[open] summary{margin-bottom:16px;color:var(--ink)}.optional-title .input-row{margin-bottom:0}.audio-recorder-shell{gap:14px;border-color:#cbd9d6;border-left-color:var(--accent);border-radius:16px;padding:20px;background:#f0f7f5}.audio-recorder-shell--recording{border-color:#e3a49b;border-left-color:var(--primary);background:#fff8f6}.audio-recorder-controls{flex-wrap:nowrap}.record-button{display:inline-flex;flex:0 0 auto;min-height:56px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--primary);border-radius:11px;padding:10px 16px 10px 11px;color:#fff;background:var(--primary);font-weight:700;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}.record-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.record-button:disabled{cursor:wait;opacity:.7}.record-button-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%}.record-button-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.audio-recorder-shell--recording .record-button-icon{animation:recordBreathe 1.7s ease-in-out infinite}.audio-recorder-status{font-variant-numeric:tabular-nums}.audio-recorder-helper{font-size:.96rem}.audio-recorder-footer{padding-top:12px;border-top:1px solid rgba(27,116,112,.2)}@keyframes quietAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes recordBreathe{50%{box-shadow:0 0 0 7px #fff3}}.app-root--home>.card,.app-root--area>.card,.app-root--prompt>.card{animation:quietAppear .24s ease-out both}@media(max-width:720px){.story-shelf-summary{margin-bottom:16px}.next-conversation,.journey-complete{padding:24px 20px}.next-conversation-question{font-size:2rem}.section-heading{gap:7px}.life-contents-button{grid-template-columns:9px 29px minmax(0,1fr) 17px;min-height:0;gap:10px;padding:16px 11px}.life-contents-meta{display:none}.life-contents-description{white-space:normal}.life-contents-name{font-size:1.22rem}.audio-recorder-controls{align-items:center;flex-direction:row}.record-button{width:auto;min-width:56px;padding-right:12px}.record-button>span:last-child{display:none}.audio-recorder-status{font-size:.9rem}}.view-back-row{margin:-4px 0 18px}.back-link{display:inline-flex;min-height:48px;align-items:center;gap:7px;border:0;border-radius:9px;padding:8px 11px 8px 5px;color:var(--muted);background:transparent;font-size:.96rem;font-weight:600;cursor:pointer}.back-link:hover{color:var(--ink);background:#fff8ee}.back-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.recording-player{display:flex;min-width:min(420px,100%);align-items:center;gap:10px}.recording-play-button{display:inline-flex;min-height:48px;flex:0 0 auto;align-items:center;gap:8px;border:1px solid var(--accent);border-radius:10px;padding:8px 13px 8px 10px;color:#155c58;background:#e9f4f1;font-size:.92rem;font-weight:700;cursor:pointer}.recording-play-button:hover{background:#dcece8}.recording-play-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--accent)}.recording-play-icon svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.recording-audio{flex:1 1 210px}.recording-audio-missing{color:var(--muted);font-size:.9rem;font-style:italic}.recording-audio-error{flex-basis:100%;color:var(--danger);font-size:.86rem}@media(max-width:720px){.view-back-row{margin-top:-10px}.recording-player{width:100%;min-width:0;align-items:stretch;flex-direction:column}.recording-play-button{width:100%;justify-content:center}}.pill-pending{border-color:#e3c76d;background:#fff7dd;color:#76570a}.recording-sync-state{color:#76570a;font-size:.82rem;font-weight:600}
