.app{flex-direction:column;min-height:100dvh;display:flex;position:relative}.ambient{z-index:-1;pointer-events:none;background:radial-gradient(85% 55% at 82% var(--glow-y,-8%), #c96c6c1a, transparent 60%), radial-gradient(70% 45% at 10% -2%, #e0ae5714, transparent 60%), var(--stone);transition:background 1.4s var(--ease-calm);position:fixed;inset:0}.ambient:after{content:"";opacity:.5;background:radial-gradient(60% 40% at 50% -6%,#e0ae5717,#0000 62%);animation:6s ease-in-out infinite alternate ambient-breath;position:absolute;inset:0}@keyframes ambient-breath{to{opacity:.8}}.ambient-focus{z-index:-1;pointer-events:none;opacity:0;transition:opacity .8s var(--ease-calm);background:radial-gradient(74% 62% at 50% 24%, color-mix(in srgb, var(--q,transparent) 22%, transparent), transparent 62%);position:fixed;inset:0}.topbar{z-index:40;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) clamp(var(--s-4), 4vw, var(--s-8));min-height:60px;display:flex;position:sticky;top:0}.topbar-right{align-items:center;gap:var(--s-2);display:flex}.brand{align-items:center;gap:var(--s-3);cursor:pointer;display:inline-flex}.brand img{border-radius:var(--r-sm);width:30px;height:30px;box-shadow:var(--shadow-sm)}.brand-word{font-family:var(--font-brand);color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:600}.brand-word .dot{color:var(--rose)}.bar-btn{align-items:center;gap:var(--s-2);height:38px;padding:0 var(--s-3);border-radius:var(--r-pill);color:var(--ink-soft);font-family:var(--font-ui);transition:background var(--t-quick) var(--ease-calm), color var(--t-quick);font-size:13px;font-weight:500;display:inline-flex}.bar-btn:hover{color:var(--ink);background:#242a3a0d}.lang{border-radius:var(--r-pill);background:#242a3a0d;padding:3px;display:inline-flex;position:relative}.lang button{z-index:2;border-radius:var(--r-pill);font-family:var(--font-ui);letter-spacing:.02em;color:var(--ink-faint);transition:color var(--t-quick);padding:5px 12px;font-size:12px;font-weight:600;position:relative}.lang button.on{color:var(--surface-raised)}.lang-pill{border-radius:var(--r-pill);background:var(--ink);z-index:1;position:absolute;top:3px;bottom:3px}.welcome{padding:clamp(var(--s-4), 3vw, var(--s-12)) var(--s-4) var(--s-16);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;display:flex}.welcome-inner{flex-direction:column;width:100%;max-width:720px;display:flex}.hero{border-radius:var(--r-xl);aspect-ratio:16/10;box-shadow:var(--shadow-lg);background:var(--ink);position:relative;overflow:hidden}.hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-scrim{background:linear-gradient(#1a1f2c80,#0000 46%),linear-gradient(#0000 60%,#1a1f2c59);position:absolute;inset:0}.hero-copy{padding:clamp(var(--s-4), 4vw, var(--s-8));position:absolute;top:0;left:0;right:0}.hero-title{color:var(--surface-raised);max-width:12ch;font-size:clamp(28px,6vw,46px)}.hero-sub{margin-top:var(--s-3);color:#faf7f1db;max-width:34ch;font-size:clamp(14px,2.4vw,17px);line-height:1.5}.memo-card{z-index:2;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-lg);width:calc(100% - clamp(16px,6vw,56px));max-width:660px;box-shadow:var(--shadow-sm);padding:var(--s-4) var(--s-4) var(--s-3);transition:border-color var(--t-quick) var(--ease-calm), box-shadow var(--t-base) var(--ease-calm);margin:-48px auto 0;position:relative}.memo-card:hover{border-color:var(--line-strong)}.memo-card:focus-within{border-color:var(--rose);box-shadow:0 0 0 4px #c96c6c1f, var(--shadow-md)}.memo-input{resize:none;width:100%;color:var(--ink);font-family:var(--font-ui);background:0 0;border:none;min-height:108px;font-size:17px;line-height:1.6}.memo-input::placeholder{color:var(--ink-faint)}.memo-footer{justify-content:space-between;align-items:center;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line);display:flex}.counter{align-items:center;gap:var(--s-2);color:var(--ink-faint);font-variant-numeric:tabular-nums;transition:opacity var(--t-base);font-size:12px;display:inline-flex}.counter-cap{border-radius:var(--r-pill);background:#242a3a14;width:48px;height:4px;overflow:hidden}.counter-cap span{border-radius:var(--r-pill);background:var(--rose);height:100%;transition:width var(--t-base) var(--ease-settle);display:block}.wake-btn{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);font-family:var(--font-ui);background:var(--surface-raised);color:var(--ink-faint);border:1px solid var(--line);box-shadow:none;white-space:nowrap;min-width:210px;transition:background .26s var(--ease-settle), color .26s, border-color .26s, box-shadow .6s var(--ease-settle), transform var(--t-quick);justify-content:center;padding:14px 24px;font-size:15px;font-weight:600;display:inline-flex}.wake-btn:disabled{cursor:default}.wake-btn.alive{background:var(--ink);color:var(--surface-raised);border-color:var(--ink);box-shadow:var(--shadow-md)}.wake-btn.alive:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.wake-btn.alive:active{transform:scale(.98)}.wake-btn .arw{transition:opacity .3s .1s ease, transform .3s .1s var(--ease-settle);opacity:0;transform:translate(-6px,4px)}.wake-btn.alive .arw{opacity:1;transform:translate(0)}@keyframes wake-wake{0%{box-shadow:var(--glow-rose), var(--shadow-md);transform:scale(1)}45%{box-shadow:0 8px 44px #c96c6c4d, var(--shadow-md);transform:scale(1.03)}to{box-shadow:var(--shadow-md);transform:scale(1)}}.wake-btn.breath{animation:wake-wake .6s var(--ease-settle)}.try-example{margin-top:var(--s-6);color:var(--ink-soft);background:0 0;align-self:center;padding-bottom:2px;font-size:14px;font-weight:500;position:relative}.try-example:after{content:"";background:var(--rose);transform-origin:0;width:100%;height:1.5px;transition:transform var(--t-quick) var(--ease-settle);position:absolute;bottom:0;left:0;transform:scaleX(0)}.try-example:hover:after{transform:scaleX(1)}.privacy{margin-top:var(--s-4);color:var(--ink-faint);font-family:var(--font-ui);letter-spacing:.06em;align-self:center;font-size:12px}.continue-prev{margin-top:var(--s-8);align-self:center;align-items:center;gap:var(--s-2);color:var(--ink-soft);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);transition:background var(--t-quick), border-color var(--t-quick);padding:10px 18px;font-size:14px;font-weight:500;display:inline-flex}.continue-prev:hover{background:var(--surface-raised);border-color:var(--line-strong)}.compass-screen{flex:1;grid-template-columns:72px 1fr;min-height:0;display:grid}.compass-main{padding:var(--s-4) clamp(var(--s-3), 3vw, var(--s-8)) var(--s-16);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.compass-hint{margin:var(--s-2) 0 var(--s-6);text-align:center;color:var(--ink-soft);max-width:40ch;font-size:14px}.stage{border-radius:var(--r-xl);width:100%;max-width:720px;position:relative}.bloom-grid{grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,18px);display:grid}.pcard{border-radius:var(--r-lg);padding:var(--s-6);text-align:left;background:var(--q-wash);min-height:210px;color:var(--q-deep);box-shadow:var(--shadow-sm);transition:transform var(--t-quick) var(--ease-settle), box-shadow var(--t-quick) var(--ease-calm), background var(--t-quick);flex-direction:column;display:flex;position:relative;overflow:hidden}.pcard .accent{border-radius:var(--r-pill);background:var(--q);opacity:.5;width:3px;position:absolute;top:14px;bottom:14px}.pcard.tl .accent,.pcard.bl .accent{left:0}.pcard.tr .accent,.pcard.br .accent{right:0}.pcard-name{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--q-deep);opacity:.85;margin-bottom:var(--s-2);font-size:11px;font-weight:600}.pcard-body{font-family:var(--font-coach);color:var(--ink);flex:1;font-size:17px;line-height:1.55}.pcard-deeper{margin-top:var(--s-4);font-family:var(--font-ui);color:var(--q-deep);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.pcard-deeper:after{content:"";background:var(--q-deep);opacity:.55;transform-origin:0;width:100%;height:1.5px;transition:transform var(--t-quick) var(--ease-settle);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.pcard.interactive:hover .pcard-deeper:after{transform:scaleX(1)}.pcard-deeper .chev{transition:transform var(--t-quick) var(--ease-settle)}.pcard:hover .pcard-deeper .chev{transform:translateY(2px)}.pcard.interactive{cursor:pointer}.pcard.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.bloom-grid:hover .pcard.interactive:not(:hover){opacity:.92;transform:scale(.99)}.pcard.ghost{background:color-mix(in srgb, var(--q) 8%, var(--surface));border:1px dashed var(--line);box-shadow:none;justify-content:flex-start;animation:2.8s ease-in-out infinite ghost-breath}.pcard.ghost .pcard-name{color:var(--ink-faint)}@keyframes ghost-breath{0%,to{opacity:.62}50%{opacity:.82}}.pcard.flash{box-shadow:0 8px 44px color-mix(in srgb, var(--q) 34%, transparent), var(--shadow-sm)}.focused-wrap{gap:var(--s-4);flex-direction:column;display:flex}.focused-card{border-radius:var(--r-lg);padding:clamp(var(--s-6), 3vw, var(--s-8));background:var(--q-wash);color:var(--q-deep);box-shadow:var(--shadow-md);position:relative}.siblings{gap:var(--s-2);flex-wrap:wrap;justify-content:center;display:flex}.sib{border-radius:var(--r-md);min-width:92px;padding:var(--s-3);background:var(--q-wash);color:var(--q-deep);opacity:.4;filter:saturate(.5);cursor:pointer;text-align:center;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;transition:opacity var(--t-quick), filter var(--t-quick), transform var(--t-quick);flex:1 1 0;font-size:12px;font-weight:600}.sib:hover{opacity:.72;filter:saturate(.9);transform:translateY(-2px)}.back-turn{color:var(--ink-soft);align-self:flex-start;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:500;display:inline-flex}.back-turn:hover{color:var(--ink)}.variants{gap:var(--s-3);margin-top:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.vcard{border-radius:var(--r-md);padding:var(--s-4);background:color-mix(in srgb, var(--q-wash) 70%, var(--surface-raised));border:1px solid color-mix(in srgb, var(--q) 18%, transparent);cursor:pointer;transition:transform var(--t-quick) var(--ease-settle), box-shadow var(--t-quick);flex-direction:column;display:flex}.vcard:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.vcard-name{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--q-deep);margin-bottom:var(--s-2);font-size:11px;font-weight:600}.vcard-body{font-family:var(--font-coach);color:var(--ink);flex:1;font-size:15px;line-height:1.5}.vcard-choose{margin-top:var(--s-3);font-family:var(--font-ui);color:var(--q-deep);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.advice-panel{border-radius:var(--r-lg);padding:clamp(var(--s-6), 3vw, var(--s-8));background:var(--surface-raised);box-shadow:var(--shadow-md);border:1px solid var(--line)}.advice-overline{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--q,var(--rose));margin-bottom:var(--s-3);font-size:11px;font-weight:600}.advice-text{font-family:var(--font-coach);color:var(--ink);max-width:34em;min-height:3.2em;font-size:22px;line-height:1.6}.advice-divider{background:var(--line);height:1px;margin:var(--s-6) 0 var(--s-4);transform-origin:0}.sitwith-label{font-family:var(--font-ui);letter-spacing:.08em;color:var(--rose);margin-bottom:var(--s-3);font-size:12px;font-weight:600}.question-text{font-family:var(--font-coach);color:var(--ink);max-width:30em;font-size:24px;font-style:italic;font-weight:500;line-height:1.4}.answer-area{margin-top:var(--s-6)}.answer-input{resize:none;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-ui);padding:var(--s-3) var(--s-4);min-height:84px;transition:border-color var(--t-quick), box-shadow var(--t-base);font-size:16px;line-height:1.6}.answer-input::placeholder{color:var(--ink-faint)}.answer-input:focus{border-color:var(--rose);box-shadow:0 0 0 4px #c96c6c1f}.answer-actions{align-items:center;gap:var(--s-4);margin-top:var(--s-3);display:flex}.pill-primary{justify-content:center;align-items:center;gap:var(--s-2);min-width:150px;height:46px;padding:0 var(--s-6);border-radius:var(--r-pill);background:var(--ink);color:var(--surface-raised);font-family:var(--font-ui);box-shadow:var(--shadow-md);transition:transform var(--t-quick), box-shadow var(--t-quick), opacity var(--t-quick);font-size:15px;font-weight:600;display:inline-flex}.pill-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.pill-primary:active{transform:scale(.98)}.pill-primary:disabled{opacity:.5;cursor:default;box-shadow:var(--shadow-sm);transform:none}.link-quiet{color:var(--ink-soft);font-size:14px;font-weight:500}.link-quiet:hover{color:var(--ink)}.gen-hub{align-items:center;gap:var(--s-4);padding:var(--s-8) 0;flex-direction:column;display:flex}.hub-bloom{background:radial-gradient(circle at 50% 45%,#e0ae57e6,#c96c6c59 55%,#0000 72%);border-radius:50%;width:84px;height:84px;animation:2.4s ease-in-out infinite hub-pulse}.gen-hub.slow .hub-bloom{animation-duration:3.4s}@keyframes hub-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hub-status{color:var(--ink-soft);text-align:center;max-width:32ch;font-size:14px}.trail{padding:var(--s-6) 0;flex-direction:column;align-items:center;gap:0;display:flex;position:sticky;top:72px}.trail-node{background:var(--q,var(--ink-faint));opacity:.4;cursor:pointer;width:14px;height:14px;transition:opacity var(--t-quick), transform var(--t-quick);border-radius:50%;position:relative}.trail-node:hover{opacity:.75;transform:scale(1.15)}.trail-node.now{opacity:1;width:18px;height:18px;box-shadow:var(--glow-rose)}.trail-conn{border-left:2px dotted var(--line-strong);width:0;height:30px}.breadcrumb{display:none}.drawer-scrim{z-index:50;background:#242a3a47;position:fixed;inset:0}.drawer{z-index:51;background:var(--surface);width:min(440px,92vw);box-shadow:var(--shadow-lg);padding:var(--s-6);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer-head{margin-bottom:var(--s-4);justify-content:space-between;align-items:center;display:flex}.drawer-title{font-family:var(--font-brand);color:var(--ink);font-size:20px;font-weight:600}.entry{border-radius:var(--r-md);padding:var(--s-4);background:var(--surface-raised);border:1px solid var(--line);margin-bottom:var(--s-3)}.entry.reflection{border-color:color-mix(in srgb, var(--rose) 30%, var(--line))}.entry-tag{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--rose);margin-bottom:var(--s-2);font-size:11px;font-weight:600}.entry-text{font-family:var(--font-ui);color:var(--ink);white-space:pre-wrap;font-size:15px;line-height:1.6}.icon-btn{border-radius:var(--r-pill);width:34px;height:34px;color:var(--ink-soft);transition:background var(--t-quick), color var(--t-quick);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--ink);background:#242a3a0f}.sessions{width:100%;max-width:640px;padding:var(--s-8) var(--s-4) var(--s-16);flex:1;margin:0 auto}.sessions-title{font-family:var(--font-brand);color:var(--ink);margin-bottom:var(--s-6);font-size:26px;font-weight:600}.session-row{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);margin-bottom:var(--s-3);cursor:pointer;transition:background var(--t-quick), transform var(--t-quick), box-shadow var(--t-quick);display:flex}.session-row:hover{background:var(--surface-raised);box-shadow:var(--shadow-sm);transform:translate(2px)}.session-main{min-width:0}.session-line{font-family:var(--font-ui);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.session-meta{align-items:center;gap:var(--s-3);color:var(--ink-faint);margin-top:6px;font-size:12px;display:flex}.mini-trail{gap:4px;display:inline-flex}.mini-dot{border-radius:50%;width:8px;height:8px}.empty{text-align:center;padding:var(--s-16) var(--s-4);align-items:center;gap:var(--s-4);flex-direction:column;display:flex}.empty-mark{border:2px dashed var(--line-strong);width:88px;height:88px;color:var(--ink-faint);border-radius:50%;place-items:center;display:grid}.empty-head{font-family:var(--font-brand);color:var(--ink);font-size:22px;font-weight:600}.failure{text-align:center;align-items:center;gap:var(--s-3);padding:var(--s-12) var(--s-4);flex-direction:column;display:flex}.failure-mark{width:72px;height:72px;color:var(--ink-faint);opacity:.6}.failure-head{font-family:var(--font-brand);color:var(--ink);font-size:22px;font-weight:600}.failure-sub{color:var(--ink-soft);max-width:34ch;font-size:14px}@media (width<=720px){.compass-screen{grid-template-columns:1fr}.trail{display:none}.breadcrumb{padding:var(--s-3) var(--s-4) 0;justify-content:center;align-items:center;gap:0;width:100%;display:flex;overflow-x:auto}.breadcrumb .trail-node{flex:none}.breadcrumb .trail-conn{border-left:none;border-top:2px dotted var(--line-strong);width:22px;height:0}.bloom-grid{grid-template-columns:1fr}.pcard{min-height:0}.variants{grid-template-columns:1fr}.memo-card{margin-top:-36px}.memo-footer{align-items:stretch;gap:var(--s-3);flex-direction:column-reverse}.memo-footer .wake-btn{width:100%}.memo-footer .counter{justify-content:center}.advice-text{font-size:20px}.question-text{font-size:21px}}:root{--ink:#242a3a;--ink-deep:#1a1f2c;--ink-soft:#6f6a62;--ink-faint:#9a9388;--stone:#efe9e4;--surface:#faf7f1;--surface-raised:#fdfbf7;--line:#e4ddd3;--line-strong:#d7cec1;--rose:#c96c6c;--sun:#e0ae57;--q-st:#c1813c;--q-st-wash:#efe1cc;--q-st-deep:#6b481e;--q-nt:#3b7a78;--q-nt-wash:#d5e3e1;--q-nt-deep:#1e4645;--q-nf:#c96c6c;--q-nf-wash:#f2dad5;--q-nf-deep:#7c3a3b;--q-sf:#8c9a4e;--q-sf-wash:#e4e7ce;--q-sf-deep:#4a5426;--r-xs:8px;--r-sm:12px;--r-md:18px;--r-lg:24px;--r-xl:32px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--shadow-sm:0 1px 2px #242a3a0d, 0 2px 8px #242a3a0d;--shadow-md:0 6px 16px #242a3a0f, 0 16px 32px #242a3a12;--shadow-lg:0 12px 30px #242a3a14, 0 40px 70px #242a3a1a;--glow-rose:0 8px 40px #c96c6c33;--focus-ring:0 0 0 3px #c96c6c52;--ease-settle:cubic-bezier(.22, 1, .36, 1);--ease-calm:cubic-bezier(.4, 0, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--t-micro:.12s;--t-quick:.2s;--t-base:.32s;--t-reveal:.48s;--t-settle:.6s;--font-brand:"Pilcrow Rounded", ui-rounded, system-ui, sans-serif;--font-ui:"General Sans", system-ui, -apple-system, sans-serif;--font-coach:"Sentient", Georgia, "Times New Roman", serif}[data-q=ST]{--q:var(--q-st);--q-wash:var(--q-st-wash);--q-deep:var(--q-st-deep)}[data-q=NT]{--q:var(--q-nt);--q-wash:var(--q-nt-wash);--q-deep:var(--q-nt-deep)}[data-q=NF]{--q:var(--q-nf);--q-wash:var(--q-nf-wash);--q-deep:var(--q-nf-deep)}[data-q=SF]{--q:var(--q-sf);--q-wash:var(--q-sf-wash);--q-deep:var(--q-sf-deep)}.t-display{font-family:var(--font-brand);letter-spacing:-.02em;font-weight:600;line-height:1.05}.t-heading{font-family:var(--font-brand);letter-spacing:-.01em;font-weight:600;line-height:1.2}.t-body{font-family:var(--font-ui);font-weight:400;line-height:1.6}.t-label{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;font-weight:600;line-height:1}.t-coach{font-family:var(--font-coach);font-weight:400;line-height:1.6}.t-question{font-family:var(--font-coach);font-style:italic;font-weight:500;line-height:1.4}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation;width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--stone);font-size:16px;line-height:1.6}#root{width:100%;min-height:100%}button,input,textarea,select{font:inherit;color:inherit;appearance:none;background:0 0;border:none;outline:none}button{cursor:pointer}:focus-visible{box-shadow:var(--focus-ring);outline:none}a{color:inherit;text-decoration:none}::selection{background:#c96c6c2e}.no-select{-webkit-user-select:none;user-select:none}@keyframes fk-spin{to{transform:rotate(360deg)}}.fk-spinner{opacity:.8;border:2px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite fk-spin}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
