:root{--background:#18222e;--surface:#1f2a38;--card:#21303f;--ink:#e6e9ef;--muted:#94a0b1;--soft:#828f9f;--line:#243140;--card-line:#2c3c4d;--accent:#e6b36a;--accent-hover:#eec081;--accent-soft:#26323f;--on-accent:#18222e;--motif:#aab4c2;--focus-ring:#e6e9ef80;--r-pill:14px;--r-card:20px;--motion-arrival:.6s;--motion-breath:7s}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{min-height:100%;color:var(--ink);background:var(--background);font-family:var(--font-serif), var(--font-lxgw), ui-serif, serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0}a{font:inherit;color:inherit;text-decoration:none}.app-shell{justify-content:center;min-height:100vh;padding:80px 24px 100px;display:flex}.column{width:100%;max-width:600px}.masthead{border-bottom:1px solid var(--line);padding-bottom:28px}.masthead h1{font-family:var(--font-serif), serif;letter-spacing:.01em;margin:0;font-size:23px;font-weight:700}.masthead p{color:var(--muted);letter-spacing:.05em;margin:9px 0 0;font-size:13px}.step{padding-top:60px}.back{color:var(--muted);margin-bottom:30px;font-size:14px;transition:color .16s;display:inline-block}.back:hover{color:var(--ink)}.prompt{font-family:var(--font-serif), serif;letter-spacing:-.02em;margin:0;font-size:clamp(30px,6vw,46px);font-weight:700;line-height:1.26}.prompt-note{color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.7}.lead-line{font-family:var(--font-lxgw), serif;letter-spacing:-.01em;word-break:keep-all;margin:8px 0 0;font-size:clamp(24px,5vw,34px);font-weight:700;line-height:1.5}.lead-note{color:var(--soft);margin:12px 0 0;font-size:13px;line-height:1.6}.kept-entry{color:var(--muted);letter-spacing:.02em;border-bottom:1px solid var(--line);margin:0 0 22px;padding-bottom:2px;font-size:13px;transition:color .16s,border-color .16s;display:inline-block}.kept-entry:hover{color:var(--ink);border-color:var(--muted)}.step-context{font-family:var(--font-serif), serif;color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;margin:0 0 6px;font-size:16px;font-weight:600;display:flex}.choice-list{border-top:1px solid var(--line);margin:38px 0 0;padding:0;list-style:none}.choice-list li{border-bottom:1px solid var(--line)}.choice{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:28px 2px;transition:padding-left .22s;display:grid}.choice:hover,.choice:focus-visible{padding-left:12px}.choice-text{gap:6px;min-width:0;display:grid}.choice-text strong{font-family:var(--font-serif), serif;font-size:22px;font-weight:700;line-height:1.3}.choice-text>span{color:var(--muted);font-size:14px;line-height:1.55}.choice-arrow{color:var(--soft);font-size:18px;transition:transform .22s,color .22s}.choice:hover .choice-arrow,.choice:focus-visible .choice-arrow{color:var(--ink);transform:translate(4px)}.quiet-link{color:var(--muted);text-align:center;text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);margin:26px auto 0;font-size:14px;line-height:1.6;transition:color .16s,text-decoration-color .16s;display:block}.quiet-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.quiet-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.choice--motif{grid-template-columns:auto minmax(0,1fr) auto}.step-motif{margin-bottom:16px;display:block}.moment-motif{vertical-align:middle;margin-right:7px;display:inline-block}.message{flex-direction:column;min-height:72vh;display:flex}.stage{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.bloom{aspect-ratio:1;width:clamp(124px,23vw,172px);animation:bloom-breath var(--motion-breath) ease-in-out infinite;margin-bottom:24px}.bloom-inner{width:100%;height:100%}.bloom-nudge{animation:.4s bloom-nudge}.bloom img{object-fit:contain;width:100%;height:100%}@keyframes bloom-breath{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes bloom-nudge{0%,to{transform:rotate(0)}50%{transform:rotate(1.5deg)}}.stage-moment{color:var(--muted);letter-spacing:.08em;margin:0;font-size:13px}.stage-note{color:var(--soft);margin:5px 0 0;font-size:13px}.phrase-card{flex:1;justify-content:center;align-items:center;width:100%;min-height:180px;margin:32px 0;display:flex}.phrase{max-width:15em;font-family:var(--font-lxgw), serif;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:clamp(25px,4.5vw,38px);font-weight:700;line-height:1.7}.phrase-line{text-wrap:balance;opacity:0;animation:phrase-arrive var(--motion-arrival) ease forwards;display:block}.phrase-line:nth-child(2){animation-delay:40ms}.phrase-line:nth-child(3){animation-delay:80ms}.phrase-line:nth-child(4){animation-delay:.12s}@keyframes phrase-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.phrase-line+.phrase-line{margin-top:.4em}.phrase:focus{outline:none}.kept-list{border-top:1px solid var(--line);margin:38px 0 0;padding:0;list-style:none}.kept-list li{border-bottom:1px solid var(--line);padding:24px 2px}.kept-phrase{font-family:var(--font-lxgw), serif;word-break:keep-all;margin:0;font-size:clamp(18px,3.5vw,22px);line-height:1.6}.kept-meta{color:var(--soft);letter-spacing:.04em;margin:8px 0 0;font-size:12px}.safety{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-card);text-align:left;width:100%;max-width:430px;margin:20px auto 0;padding:20px 22px}.safety p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.safety-links{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.safety-links a{border-bottom:1px solid var(--ink);color:var(--ink);padding-bottom:2px;font-size:15px;transition:color .16s,border-color .16s}.safety-links a:hover{color:var(--ink);border-color:var(--ink)}.actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:auto;padding-top:30px;display:flex}.solid,.ghost{border-radius:var(--r-pill);min-height:48px;padding:13px 24px;font-size:15px;transition:background .16s,border-color .16s,color .16s,transform .12s,opacity .16s}.solid:active,.ghost:active{transform:scale(.985)}.solid{background:var(--accent);color:var(--on-accent);font-weight:600}.solid:hover{background:var(--accent-hover)}.solid--icon{justify-content:center;align-items:center;padding:12px 22px;display:inline-flex}.shuffle-spin{animation:.45s shuffle-spin;display:inline-flex}@keyframes shuffle-spin{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.action-note{text-align:center;letter-spacing:.01em;margin:12px 0 0;font-size:13px}.action-note--ok{color:var(--muted)}.action-note--error{color:var(--ink)}.ghost{border:1px solid var(--line);background:var(--card);color:var(--ink)}.ghost:hover{border-color:var(--accent);color:var(--ink)}.ghost:disabled{opacity:.55;cursor:wait}.choice:focus-visible,.back:focus-visible,.solid:focus-visible,.ghost:focus-visible,.safety-links a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media (max-width:600px){.app-shell{padding:52px 18px 72px}.step{padding-top:46px}.choice{padding:24px 2px}}@media (max-width:420px){.actions{flex-direction:column}.solid,.ghost{width:100%}}.splash{z-index:100;background:var(--background);cursor:pointer;align-content:center;justify-items:center;gap:2px;animation:1.8s forwards splash-out;display:grid;position:fixed;inset:0}@keyframes splash-out{0%,75%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}.splash-art{aspect-ratio:1;width:clamp(150px,42vw,196px);margin-bottom:16px;position:relative}.splash-bloom{opacity:0;animation:1s cubic-bezier(.2,.7,.2,1) .12s forwards splash-bloom;transform:scale(.86)}.splash-word{font-family:var(--font-lxgw), serif;color:var(--ink);opacity:0;margin:0;font-size:30px;font-weight:700;animation:.6s .5s forwards splash-rise;transform:translateY(8px)}.splash-tag{font-family:var(--font-lxgw), serif;color:var(--muted);opacity:0;margin:7px 0 0;font-size:15px;animation:.6s .72s forwards splash-rise;transform:translateY(8px)}@keyframes splash-bloom{to{opacity:1;transform:scale(1)}}@keyframes splash-rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){:root{--motion-arrival:0s;--motion-breath:0s}.splash{animation:.9s .3s forwards splash-out}.splash-bloom,.splash-word,.splash-tag{opacity:1;animation:none;transform:none}.phrase-line{opacity:1;animation:none}.bloom,.bloom-inner,.bloom-nudge,.shuffle-spin{animation:none;transform:none}}
