:root{--paper: #FCF4E4;--cream: #FBE7D2;--amber: #E88722;--gold: #C96A1F;--glow: #F3B64D;--orange: #DD7D2B;--brown: #1E1B18;--brown-d: #1E1B18;--ink-2: #746D64;--border: #ECE3D6;--sage: #8FAE7A;--green: #2F7D4A;--danger: #B4432E;--danger-hover:#9C3826;--danger-ink: #8C3A22;--danger-soft: color-mix(in srgb, #B4432E 9%, var(--paper));--danger-line: color-mix(in srgb, #B4432E 35%, transparent);--ink: var(--brown);--ink-soft: var(--ink-2);--muted: color-mix(in srgb, var(--gold) 45%, var(--paper));--muted-text: var(--ink-2);--line: var(--border);--line-strong:color-mix(in srgb, var(--gold) 48%, transparent);--surface: #FCF4EC;--surface-top:#FCFCF4;--glow-halo: radial-gradient(closest-side, color-mix(in srgb, var(--amber) 40%, transparent), transparent 70%);--cta-grad: linear-gradient(135deg, var(--amber) 0%, var(--orange) 55%, var(--gold) 100%);--cta-ink: #FFFFFF;--gold-grad: linear-gradient(180deg, var(--glow) 0%, var(--amber) 55%, var(--gold) 100%);--st-1: #E88722;--st-2: #2F7D4A;--st-3: #E2571C;--st-4: #2E5A8C;--st-5: #E0891A;--st-6: #3F7F3F;--st-7: #2B6FA8;--st-8: #9C5A1C;--font-display: "Prata", "Georgia", "Times New Roman", serif;--font-body: "Manrope", "Segoe UI", system-ui, sans-serif;--font-mono: "Space Mono", "JetBrains Mono", monospace;--fs-h1: clamp(1.9rem, 5.2vw, 2.6rem);--fs-h2: clamp(1.35rem, 3vw, 1.7rem);--fs-body: 1rem;--fs-label: .74rem;--ease: cubic-bezier(.22, .61, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--dur-instant: .12s;--dur-fast: .18s;--dur-screen: .26s;--dur-reward: .9s;--lift: 8px;--radius: 16px;--radius-lg: 22px;--radius-pill: 999px;--shadow: 0 12px 32px color-mix(in srgb, var(--brown) 10%, transparent);--shadow-soft: 0 6px 18px color-mix(in srgb, var(--brown) 7%, transparent)}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100dvh;background:var(--paper)}h1,h2,h3{text-wrap:balance;line-height:1.15}h1{font-family:var(--font-display);font-weight:400;font-size:var(--fs-h1);color:var(--brown-d);letter-spacing:-.01em}h2{font-size:1.3rem;font-weight:700;color:var(--brown-d)}h3{font-size:1.05rem;font-weight:700}.mono{font-family:var(--font-body);font-weight:700;font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.stack{display:grid;gap:1rem;align-content:start}.muted{color:var(--ink-soft)}.error{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger-ink);border-radius:var(--radius);padding:.7rem .9rem;font-size:.92rem}label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}input,textarea{font:inherit;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);width:100%}input:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:1px;border-color:var(--amber)}input.code{font-family:var(--font-mono);font-size:1.6rem;letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums}.btn{font:inherit;font-weight:700;font-size:1.02rem;padding:.9rem 1.6rem;min-height:52px;border-radius:14px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .15s}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--cta-grad);color:var(--cta-ink);box-shadow:0 10px 24px color-mix(in srgb,var(--amber) 32%,transparent),inset 0 0 0 0 var(--orange);transition:box-shadow .25s linear,transform var(--dur-instant) var(--ease),opacity var(--dur-fast) var(--ease)}.btn-primary:hover:not(:disabled),.btn-primary:focus-visible{transform:none;box-shadow:0 6px 16px color-mix(in srgb,var(--orange) 22%,transparent),inset 0 0 0 40px var(--orange)}.btn-primary:active:not(:disabled){box-shadow:0 2px 8px color-mix(in srgb,var(--orange) 20%,transparent),inset 0 0 0 40px #b85f1a}.btn-primary svg{stroke:currentColor}.btn-ghost{background:transparent;border:1.5px solid var(--line-strong);color:var(--brown-d)}.btn-ghost:hover{border-color:var(--amber);background:color-mix(in srgb,var(--cream) 60%,transparent)}.btn-link{background:none;color:var(--ink-soft);padding:.5rem .6rem;min-height:40px;font-weight:600}.btn-block{width:100%}.back-btn{display:inline-flex;align-items:center;gap:.5rem;justify-self:start;background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--orange);cursor:pointer;border-radius:var(--radius-pill)}.back-btn-ring{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--surface) 70%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--brown-d) 10%,transparent);transition:background var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.back-btn:hover .back-btn-ring{background:var(--surface)}.back-btn:active .back-btn-ring{transform:scale(.94)}.back-btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.swipe-hint{position:fixed;left:8px;top:50%;z-index:50;width:44px;height:44px;margin-top:-22px;display:grid;place-items:center;border-radius:50%;pointer-events:none;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--orange);box-shadow:0 4px 14px color-mix(in srgb,var(--brown-d) 18%,transparent);font-size:2rem;line-height:1;font-weight:700;opacity:0;transition:opacity var(--dur-fast) var(--ease)}@media(prefers-reduced-motion:reduce){.swipe-hint{transition:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;box-shadow:var(--shadow-soft)}.card-warm{background:var(--cream);border:none}.card.compact{padding:.7rem .9rem}.card.compact.stack{gap:.45rem}.journal-cal{display:grid;gap:.9rem;padding:1rem;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--cream) 85%,#fff),#fff);border:1px solid var(--line);box-shadow:0 8px 24px color-mix(in srgb,var(--brown) 7%,transparent)}.cal-summary{display:flex;align-items:center;gap:.65rem}.cal-symbol{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--brown-d);background:color-mix(in srgb,var(--amber) 34%,var(--cream))}.cal-summary>div:nth-child(2){display:grid;line-height:1.15}.cal-summary b{font-size:.98rem}.cal-controls{display:flex;margin-left:auto;padding:3px;gap:2px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brown) 8%,var(--paper))}.cal-controls button{min-height:44px;padding:.2rem .7rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font:700 .74rem var(--font-body);cursor:pointer}.cal-controls button.on{background:var(--surface);color:var(--brown-d);box-shadow:0 2px 7px color-mix(in srgb,var(--brown) 14%,transparent)}.cal-head{display:flex;align-items:center;justify-content:space-between;padding:.15rem 0 .05rem}.cal-head>div{display:grid;text-align:center;line-height:1.25}.cal-head b{font-size:1.05rem}.cal-head .mono{font-size:.64rem}.cal-nav{width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line);border-radius:50%;color:var(--gold);background:var(--surface)}.cal-nav:hover{color:var(--brown-d);border-color:var(--amber);background:var(--cream)}.cal-nav svg{display:block}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px 2px}.cal-dow{font:700 .62rem var(--font-mono);color:var(--ink-soft);text-align:center;text-transform:uppercase;padding-bottom:.15rem}.cal-day{min-height:44px;display:grid;place-items:center;position:relative;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font:700 .78rem var(--font-mono);font-variant-numeric:tabular-nums}.cal-day:hover{background:var(--cream);color:var(--brown-d)}.cal-day.other{color:var(--muted-text);opacity:.42}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--orange)}.cal-day.selected{color:#fff;background:var(--amber);box-shadow:0 4px 10px color-mix(in srgb,var(--amber) 42%,transparent)}.cal-day.has:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--orange)}.cal-day.selected.has:after{background:var(--brown-d)}.cal-note{display:flex;align-items:center;gap:.4rem;margin:-.15rem 0 0;color:var(--ink-soft);font-size:.76rem}.cal-note i{width:6px;height:6px;border-radius:50%;background:var(--orange)}@media(min-width:760px){.cal-day{min-height:44px}}.mark{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:2.6rem;color:var(--amber);background:radial-gradient(closest-side,color-mix(in srgb,var(--amber) 30%,transparent),transparent),var(--surface);border:1.5px solid var(--line-strong);margin:0 auto}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.circle-figure{margin:0;text-align:center}.circle-figure svg{width:100%;max-width:none;height:auto;display:block;margin:0 auto;overflow:visible}.screen.path{padding-left:0;padding-right:0}.path-title{padding:0 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.path-title h1{font-size:2.4rem;font-weight:700;line-height:1.05;color:var(--gold)}.path-sub{font-size:1.15rem;font-weight:600;color:var(--brown-d);margin-top:.1rem}.path-desc{font-size:.98rem;line-height:1.4;color:var(--ink);margin-top:.35rem;max-width:34ch}.path-profile{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--gold);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-soft)}.path-hero{display:grid;align-content:start;gap:.2rem}.path-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:0 16px}.path-tile{display:flex;align-items:center;gap:.7rem;text-align:left;font:inherit;cursor:pointer;padding:.85rem .8rem;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink);box-shadow:var(--shadow-soft)}.path-tile-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--gold);flex:none}.path-tile-text{display:grid;gap:.1rem;min-width:0;flex:1}.path-tile-text b{font-size:1rem;color:var(--brown-d)}.path-tile-text small{font-size:.82rem;line-height:1.3;color:var(--ink-2)}.path-tile>svg{color:var(--orange);flex:none}@media(max-width:420px){.path-tiles{grid-template-columns:1fr}}@media(min-width:760px){.screen.path{max-width:none;margin-left:auto;margin-right:auto;padding:24px 32px}.path-hero{min-height:calc(100dvh - 48px);grid-template-rows:auto 1fr auto;align-content:stretch}.path-hero .circle-figure{display:grid;place-items:center;min-height:0}.path-hero .circle-figure svg{width:100%;max-width:none;height:calc(100dvh - 310px)}.path-tiles{padding:0;max-width:760px}}@media(min-width:760px){.circle-figure svg{max-width:560px}}.circle-caption{margin-top:-.4rem;display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;color:var(--ink-soft);font-size:.9rem}.circle-caption b{color:var(--amber);font-family:var(--font-display);font-size:1.05rem}.intro-chip{font:inherit;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:var(--cream);color:var(--ink-soft);border:1px dashed var(--muted);border-radius:var(--radius-pill);padding:.55rem .9rem;min-height:38px;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.intro-chip.done{border-style:solid;border-color:var(--amber);color:var(--brown-d)}.intro-chip:hover{border-color:var(--amber)}.guide{fill:none;stroke:var(--line);stroke-width:1.2}.guide.dash{stroke-dasharray:4 8}.guide.faint{stroke:color-mix(in srgb,var(--brown) 8%,var(--paper))}.spoke{stroke:var(--muted);stroke-width:1.2}.spoke.done{stroke:var(--amber);stroke-width:2.4}.spoke.available{stroke:color-mix(in srgb,var(--amber) 70%,var(--muted));stroke-width:1.8}.spoke.locked{stroke-dasharray:4 7;opacity:.7}.ya-emblem{pointer-events:none}.ya-ring{fill:none;stroke:var(--amber);stroke-width:3;opacity:.9}.intro{cursor:pointer}.intro-ring{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:3 7}.intro.done .intro-ring{stroke:var(--amber);stroke-dasharray:none;stroke-width:2}.circle-figure.intro-pending .ya-emblem{filter:grayscale(.85) brightness(.55) contrast(.9)}.circle-figure.intro-pending .ya-glow{opacity:.25}.circle-figure.intro-pending .ya-ring{stroke:var(--muted);opacity:.6}.node{cursor:pointer}.node:focus-visible{outline:none}.node:focus-visible .dot{stroke:var(--brown-d);stroke-width:4}.station-glyph{pointer-events:none;overflow:hidden}.node .hit,.intro .hit{fill:transparent;cursor:pointer}.label-num{font-family:var(--font-mono);font-size:20px;fill:var(--ink-soft)}.node .label{font-family:var(--font-body);font-weight:600;font-size:25px;fill:var(--ink)}.node .label--under{font-size:24px}.node .dot{fill:none;stroke:var(--line);stroke-width:2}.node.done .dot{stroke:var(--amber);stroke-width:3.5}.node.done .station-glyph{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--amber) 55%,transparent))}.node.locked .dot{stroke:var(--muted);stroke-width:1.6;stroke-dasharray:5 6}.node.locked .station-glyph{opacity:.92}.node.locked .label{fill:var(--ink)}.node.locked .label-num{fill:var(--amber)}.lock-badge circle{fill:#fff;filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--brown) 28%,transparent))}.lock-badge rect{fill:var(--amber)}.lock-badge path{stroke:var(--amber);stroke-width:2.6}.lock-badge{pointer-events:none}.station-glyph{pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.circle-figure svg,.rm-map{-webkit-touch-callout:none}.node.current .dot{stroke:var(--amber);stroke-width:4;stroke-dasharray:none}.node.current .station-glyph{opacity:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--amber) 70%,transparent))}.node .medal{transform-box:fill-box;transform-origin:center}.node.current .medal{animation:heartbeat 1.5s ease-in-out infinite}.node.current .label{fill:var(--brown-d);font-weight:800}.node.current .label-num{fill:var(--amber)}.node.current .halo{fill:var(--amber);opacity:.28;animation:halo-beat 1.5s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}12%{transform:scale(1.07)}24%{transform:scale(1)}36%{transform:scale(1.045)}52%,to{transform:scale(1)}}@keyframes halo-beat{0%{opacity:.16;transform:scale(.94)}12%{opacity:.58;transform:scale(1.12)}24%{opacity:.24;transform:scale(.98)}36%{opacity:.48;transform:scale(1.08)}52%,to{opacity:.16;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){.node.current .medal{animation:none}}.node .halo{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:reduce){.node.current .halo{animation:none}}.tabbar{position:fixed;inset:auto 0 0 0;z-index:30;background:color-mix(in srgb,var(--surface-top) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:.4rem max(env(safe-area-inset-left),.3rem) max(env(safe-area-inset-bottom),.45rem)}.tabbar a.tabbar-brand{display:none}.tabbar a{position:relative;display:grid;justify-items:center;gap:.18rem;text-decoration:none;color:#4f4640;font-size:.7rem;font-weight:500;padding:.35rem .1rem .5rem;border-radius:var(--radius);text-align:center;min-width:0;min-height:52px}.tabbar a.active{color:var(--amber)}.tabbar a.active:after{content:"";position:absolute;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--amber)}.tabbar a svg{width:24px;height:24px;stroke:currentColor;fill:none}.tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tabbar a.side-only{display:none}@media(max-width:400px){.tabbar a{font-size:.62rem;padding:.3rem .05rem .5rem}.tabbar a svg{width:22px;height:22px}}.screen{max-width:560px;margin:0 auto;padding:24px 20px calc(92px + env(safe-area-inset-bottom))}@media(min-width:760px){.tabbar{inset:0 auto 0 0;width:232px;height:100dvh;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;gap:.25rem;border-top:none;border-right:1px solid var(--line);padding:1.4rem .8rem}.tabbar a.tabbar-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.05rem;color:var(--brown-d);padding:0 .6rem 1.2rem}.mark-sm{width:36px;height:36px;border-radius:50%;flex:none;object-fit:cover;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--orange) 45%,transparent),0 4px 10px color-mix(in srgb,var(--brown) 12%,transparent)}.tabbar a{grid-template-columns:24px 1fr;justify-items:start;align-items:center;gap:.7rem;padding:.7rem .8rem;font-size:.95rem;text-align:left;min-height:0;color:var(--brown)}.tabbar a:after{display:none}.tabbar a:hover{background:color-mix(in srgb,var(--cream) 60%,transparent)}.tabbar a.active{background:var(--cream);color:var(--brown-d)}.tabbar a.side-only{display:grid}.tabbar a svg{width:22px;height:22px;color:var(--gold)}.tabbar a.active svg{color:var(--amber)}#main-content{margin-left:232px}.screen{max-width:1120px;margin-left:auto;margin-right:auto;padding:32px 32px 48px}}@media(min-width:1180px){.screen{max-width:1120px;margin-left:auto;margin-right:auto;padding:44px 40px 60px}}.row{display:flex;align-items:center;gap:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;width:100%;text-align:left;font:inherit;cursor:pointer}.row:disabled{cursor:default;background:color-mix(in srgb,var(--paper) 70%,#fff);color:var(--muted-text)}.row .idx{font-weight:700;color:var(--gold);background:var(--cream);border-radius:10px;padding:.35rem .55rem;font-size:.82rem}.row .idx svg{display:block}.module-emblem{width:44px;height:44px;flex:none;display:block;border-radius:50%;background:center / cover no-repeat;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 52%,transparent)}.row:disabled .module-emblem{filter:saturate(.58) contrast(.94);opacity:.68}.module-heading{display:flex;align-items:flex-start;gap:.9rem}.module-emblem-lg{width:72px;height:72px}.row .grow{flex:1;min-width:0}.row .grow b{display:block}.row .grow small{color:var(--ink-soft)}.row .state{font-size:1.1rem}.row.done .idx{background:color-mix(in srgb,var(--green) 20%,var(--paper))}.progressbar{height:8px;border-radius:4px;background:var(--cream);overflow:hidden}.progressbar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--amber),var(--orange))}.sector-toast{position:fixed;inset:auto 1rem calc(72px + env(safe-area-inset-bottom)) 1rem;z-index:40;background:var(--brown-d);color:var(--cream);border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow);animation:toast-in .3s ease-out}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}}.player{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius);background:var(--brown-d);display:block}.player.placeholder{display:grid;place-items:center;color:var(--cream)}.player.placeholder .mono{color:var(--cream)}audio{width:100%}.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.6rem}.counter{background:var(--cream);border-radius:var(--radius);padding:.9rem .6rem;text-align:center}.counter b{display:block;font-family:var(--font-display);font-size:1.3rem;color:var(--amber);font-variant-numeric:tabular-nums}.counter span{font-size:.74rem;color:var(--ink-soft)}.badge-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--paper)}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{font:inherit;font-weight:600;font-size:.9rem;background:var(--cream);color:var(--brown-d);border:1.5px solid transparent;border-radius:var(--radius-pill);padding:.5rem 1rem;cursor:pointer}.chip:hover{border-color:var(--amber)}.chip:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.crisis{background:color-mix(in srgb,var(--cream) 55%,var(--paper));border-radius:var(--radius)}.crisis .row{text-decoration:none;color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(var(--lift))}}@keyframes fade{0%{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}}.screen{animation:rise var(--dur-screen) var(--ease) both}.stack>*{animation:rise var(--dur-fast) var(--ease) both}.stack>:nth-child(1){animation-delay:0ms}.stack>:nth-child(2){animation-delay:30ms}.stack>:nth-child(3){animation-delay:60ms}.stack>:nth-child(4){animation-delay:90ms}.stack>:nth-child(5){animation-delay:.11s}.stack>:nth-child(n+6){animation-delay:.13s}.btn,.row,.chip,.tabbar a,.counter,input,textarea{transition:transform var(--dur-instant) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn:active:not(:disabled),.row:active:not(:disabled),.chip:active{transform:scale(.98)}.row:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow)}.tabbar a:active{transform:scale(.94)}.progressbar i{transition:width var(--dur-screen) var(--ease)}.orbit-arc{fill:none;stroke:var(--amber);stroke-width:3;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:0}.orbit-arc.drawing{animation:draw var(--dur-reward) var(--ease-soft) both}@keyframes draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.node .dot,.node .num,.node .label{transition:fill var(--dur-screen) var(--ease),stroke var(--dur-screen) var(--ease)}.node:active .dot{transform-box:fill-box;transform-origin:center;transform:scale(.94)}.sector-toast{animation:rise var(--dur-screen) var(--ease) both}.crisis{animation-name:scale-in;animation-duration:var(--dur-fast);animation-timing-function:var(--ease);animation-fill-mode:both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.3rem;background:var(--cream);border-radius:var(--radius-pill);padding:.25rem}.segmented button{font:inherit;font-weight:700;border:none;cursor:pointer;background:transparent;color:var(--ink-soft);padding:.55rem 1rem;border-radius:var(--radius-pill);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{background:var(--surface);color:var(--brown-d);box-shadow:var(--shadow)}.avatar{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;color:var(--gold);background:var(--cream);border:1.5px solid var(--line-strong)}.comment{background:var(--cream);border-radius:10px;padding:.6rem .8rem;font-size:.92rem}.comment b{margin-right:.4rem}.screen-chat{height:100dvh;grid-template-rows:auto minmax(0,1fr)}.chat{display:grid;grid-template-rows:auto minmax(0,1fr);grid-auto-rows:auto;gap:.4rem;min-height:0}.chat-status{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--ink-2)}.chat-status .btn-link{min-height:0;padding:.1rem .3rem;font-size:.72rem}.chat-search{flex:1;min-height:30px;padding:.15rem .5rem;font-size:.85rem;border-radius:8px}.chat-empty{margin:auto 0 .6rem;text-align:center;font-size:.82rem;color:var(--ink-2)}.chat-log-wrap{position:relative;min-height:0;display:grid}.chat-log{display:flex;flex-direction:column;overflow-y:auto;padding-right:.2rem}.msg{display:grid;justify-items:start;max-width:80%;margin-top:3px}.msg.first{margin-top:.6rem}.msg.mine{justify-self:end;justify-items:end}.chat-log>:first-child{margin-top:auto}.msg-bubble{padding:.45rem .7rem;border-radius:14px 14px 14px 4px;background:var(--surface);border:1px solid var(--line);font-size:1rem;line-height:1.35;cursor:pointer}.msg.mine .msg-bubble{background:color-mix(in srgb,var(--amber) 16%,var(--surface));border-color:transparent;border-radius:14px 14px 4px}.msg-bubble:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.msg-author{display:block;font-size:.72rem;font-weight:600;color:var(--orange);margin-bottom:.1rem}.msg.hit .msg-bubble{box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 55%,transparent);transition:box-shadow var(--dur-fast) var(--ease)}.msg-reply{border-left:3px solid var(--amber);padding-left:.5rem;margin-bottom:.2rem;font-size:.85rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;display:flow-root}.msg-time{float:right;margin:.45rem 0 0 .6rem;font-size:.72rem;line-height:1;color:var(--ink-2)}.msg-actions{display:none;flex-wrap:wrap;align-items:center;gap:.2rem}.msg.active .msg-actions{display:flex}@media(hover:hover)and (min-width:760px){.msg:hover .msg-actions{display:flex}}.msg-actions .btn-link{font-size:.8rem;min-height:0;padding:.2rem .5rem}.msg-emojis{display:none;gap:.1rem;padding:.15rem .3rem;border-radius:var(--radius-pill);background:var(--surface-top);border:1px solid var(--line);box-shadow:var(--shadow)}.msg.active .msg-emojis{display:flex}.msg-emoji{background:none;border:0;padding:.15rem .25rem;font-size:1.15rem;line-height:1;cursor:pointer;border-radius:8px}.msg-emoji:hover,.msg-emoji:focus-visible{background:var(--cream);outline:none}.msg-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.msg-chip{font:inherit;font-size:.78rem;line-height:1.2;padding:.1rem .45rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.msg-chip.mine{border-color:var(--orange)}.msg-chip:focus-visible{outline:2px solid var(--amber);outline-offset:1px}@media(min-width:760px){.msg{max-width:62%}}.chat-new{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .9rem;min-height:36px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-top);color:var(--brown-d);font:inherit;font-size:.88rem;font-weight:600;box-shadow:var(--shadow);cursor:pointer;animation:rise var(--dur-fast) var(--ease) both}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem;animation:rise var(--dur-fast) var(--ease) both}.bubble.mine{background:var(--cream);border-color:transparent;margin-left:15%}.bubble:not(.mine){margin-right:15%}.bubble p{margin-top:.2rem;white-space:pre-wrap}.typing{margin-top:.4rem;font-size:.72rem;color:var(--ink-2);animation:fade var(--dur-fast) var(--ease) both}.reply-banner{display:flex;align-items:center;gap:.5rem;font-size:.85rem;background:var(--cream);border-radius:10px;padding:.4rem .7rem;animation:rise var(--dur-fast) var(--ease) both}.chat-input{display:flex;gap:.5rem;align-items:center}.chat-input input{flex:1;min-height:48px;padding-top:.6rem;padding-bottom:.6rem}.chat-input .btn-primary{flex:none;width:48px;min-height:48px;padding:0;border-radius:50%}.chat-mic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);background:var(--surface);color:var(--orange);cursor:pointer}.chat-mic:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.chat-mic.busy{opacity:.75}.chat-mic.on{border-color:var(--amber);color:var(--amber);animation:halo-pulse-btn 1.4s ease-in-out infinite}.chat-voice-state{font-size:.82rem;color:var(--ink-soft)}.live-room{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:var(--brown-d);animation:scale-in var(--dur-screen) var(--ease) both}.live-room-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .9rem;min-height:46px}.live-room-logo{height:clamp(26px,4.6vh,40px);width:auto}.live-room-stage{position:relative;flex:1 1 auto;min-height:0}.jitsi{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;background:var(--brown-d)}.jitsi iframe{width:100%;height:100%;border:none}.live-room-ended{align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem 1.5rem;color:var(--paper)}.live-room-ended .ended-logo{width:clamp(180px,40vw,300px);height:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}.live-room-ended .ended-title{font-family:var(--display, Georgia, serif);font-size:1.7rem}.live-room-ended .muted{max-width:30rem;color:color-mix(in srgb,var(--paper) 72%,transparent)}.countdown{display:flex;gap:.6rem}.cd-cell{background:var(--surface);border-radius:12px;padding:.55rem .8rem;text-align:center;min-width:62px}.cd-cell b{display:block;font-family:var(--font-mono);font-size:1.35rem;color:var(--brown-d);font-variant-numeric:tabular-nums;line-height:1.1}.cd-cell span{font-size:.7rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.auth{min-height:100dvh;display:grid;grid-template-rows:1fr;align-items:end;justify-items:center;padding:0 12px calc(14px + env(safe-area-inset-bottom));background:var(--cream) url(/hero-tall.jpg) center 46% / cover no-repeat;animation:photo-in .7s var(--ease) both}@keyframes photo-in{0%{opacity:0;transform:scale(1.02)}}.auth-photo{display:none}.auth-body{width:100%;display:grid;gap:.6rem;align-content:end}.auth-card{background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,#fff 70%,var(--line-strong));border-radius:24px;padding:clamp(.9rem,2.8vw,1.5rem) clamp(.9rem,2.6vw,1.4rem) clamp(1rem,3vw,1.6rem);box-shadow:0 24px 56px color-mix(in srgb,var(--brown-d) 28%,transparent);display:grid;gap:clamp(.45rem,1.2vh,.8rem);max-width:clamp(440px,46vw,660px);width:100%;justify-self:center;animation:rise var(--dur-screen) var(--ease) both}.auth-card h1{font-size:clamp(1.6rem,min(8vw,5.4vh),3.2rem)}.auth-card .mono{font-size:clamp(.66rem,2.6vw,.9rem)}.auth-card form{gap:clamp(.5rem,1.3vh,.9rem)}.auth-card label{font-size:clamp(.84rem,3.4vw,1.05rem);gap:.2rem}.auth-card input{font-size:clamp(1.05rem,min(4.6vw,2.7vh),1.6rem);padding:clamp(.8rem,min(2.8vw,1.6vh),1.3rem) 1.1rem;border-width:2px;border-color:color-mix(in srgb,var(--gold) 30%,transparent);background:#fff}.auth-card input::placeholder{color:color-mix(in srgb,var(--brown) 40%,transparent)}.auth-card .btn{min-height:clamp(48px,min(13.5vw,7.2vh),68px);font-size:clamp(1rem,4.2vw,1.25rem)}.password-field{position:relative;display:block}.password-field input{padding-right:3rem}.peek{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ink-soft);padding:.35rem .5rem;border-radius:10px;transition:background-color var(--dur-fast) var(--ease)}.peek svg{display:block}.peek:hover{background:var(--cream)}.auth-legal{text-align:center;font-size:.78rem;max-width:42ch;margin:0 auto;color:var(--brown-d);background:color-mix(in srgb,var(--surface) 78%,transparent);border-radius:12px;padding:.35rem .8rem}@media(max-width:899px)and (max-height:790px){.auth-card .mono{display:none}.auth-legal{font-size:.7rem;padding:.25rem .6rem}}@media(min-width:900px){.auth{padding:2rem 2rem 1.2rem;background:url(/hero-wide.jpg) center 30% / cover no-repeat}.auth-body{max-width:clamp(760px,64vw,1120px);gap:.5rem}.auth-card{max-width:none;padding:clamp(1.3rem,1.8vw,2rem) clamp(1.3rem,1.8vw,2.2rem) clamp(1.1rem,1.6vw,1.8rem);gap:clamp(.5rem,.8vw,.9rem);border-radius:26px;background:color-mix(in srgb,var(--surface) 93%,transparent);box-shadow:0 30px 70px color-mix(in srgb,var(--brown-d) 32%,transparent)}.auth-card h1{font-size:clamp(2.4rem,3.8vw,4.2rem)}.auth-card .mono{font-size:clamp(.8rem,.95vw,1.05rem);margin-top:.1rem}.auth-card form{grid-template-columns:1fr 1fr;gap:.8rem 1rem;align-items:end}.auth-card form .error{grid-column:1 / -1}.auth-card label{gap:.2rem;font-size:clamp(1rem,1.1vw,1.25rem)}.auth-card input{font-size:clamp(1.3rem,1.6vw,1.9rem);padding:clamp(1rem,1.4vw,1.6rem) 1.3rem}.auth-card .peek{right:.8rem}.auth-card .btn{min-height:clamp(60px,5.2vw,80px);font-size:clamp(1.1rem,1.3vw,1.45rem)}.auth-legal{font-size:clamp(.85rem,.9vw,1rem);padding:.4rem .9rem}}@media(min-width:600px)and (min-aspect-ratio:1/1){.auth{background-image:url(/hero-wide.jpg);background-position:center 30%}}@media(min-width:900px)and (max-height:820px){.auth{padding-bottom:.8rem;background-position:center 22%}.auth-body{max-width:clamp(900px,78vw,1280px)}.auth-card{padding:.9rem 1.3rem 1.1rem;gap:.3rem}.auth-card h1{font-size:clamp(1.8rem,2.6vw,2.6rem)}.auth-card .mono{display:none}.auth-card form{grid-template-columns:1.2fr 1.2fr auto auto;gap:.6rem .8rem;align-items:end}.auth-card form .error{grid-column:1 / -1}.auth-card .btn{min-height:clamp(54px,4.2vw,64px);padding-inline:1.6rem;white-space:nowrap}.auth-card input{font-size:clamp(1.15rem,1.4vw,1.5rem);padding:clamp(.8rem,1vw,1.1rem) 1.1rem}.auth-legal{font-size:.8rem;padding:.25rem .8rem}}.state{display:grid;place-items:center;flex:none}.state svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}.state.locked{color:var(--muted)}.state.available{color:var(--amber)}.state.done{color:var(--green)}.reactions{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.react{font:inherit;font-size:1rem;line-height:1;display:inline-flex;align-items:center;gap:.25rem;background:var(--cream);border:1px solid transparent;border-radius:var(--radius-pill);min-height:40px;padding:.3rem .6rem;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.react:hover{background:color-mix(in srgb,var(--amber) 22%,var(--paper))}.react:active{transform:scale(.94)}.react.on{background:color-mix(in srgb,var(--amber) 30%,var(--paper));border-color:var(--amber)}.react .num{font-family:var(--font-mono);font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--brown-d)}.post-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}.act{font:inherit;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;background:var(--cream);color:var(--brown-d);border:none;border-radius:var(--radius-pill);min-height:44px;padding:.4rem .8rem;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.act:hover{background:color-mix(in srgb,var(--amber) 22%,var(--paper))}.act:active{transform:scale(.97)}.act[aria-pressed=true]{background:color-mix(in srgb,var(--amber) 30%,var(--paper))}.act .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.act-quiet{margin-left:auto;background:transparent;color:var(--ink-soft);font-weight:500;font-size:.84rem}.act-quiet:hover{background:var(--cream)}.progressbar{background:color-mix(in srgb,var(--brown) 10%,var(--paper))}textarea{resize:vertical;min-height:6rem}@media(max-width:759px){textarea{resize:none}}.help-now{font:inherit;font-weight:700;cursor:pointer;width:100%;background:var(--danger-soft);border:1.5px solid var(--danger-line);color:var(--danger-ink);border-radius:var(--radius);padding:.9rem 1rem;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.help-now:hover{background:color-mix(in srgb,var(--danger) 15%,var(--paper))}.help-now:active{transform:scale(.99)}.help-now small{display:block;font-weight:500;font-size:.8rem;opacity:.8;margin-top:.15rem}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;flex:none;border-radius:999px;cursor:pointer;background:color-mix(in srgb,var(--brown) 16%,var(--paper));border:none;position:relative;padding:0;transition:background-color var(--dur-fast) var(--ease)}input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px color-mix(in srgb,var(--brown) 30%,transparent);transition:transform var(--dur-fast) var(--ease)}input[type=checkbox]:checked{background:var(--cta-grad)}input[type=checkbox]:checked:after{transform:translate(18px)}input[type=checkbox]:disabled{opacity:.45;cursor:default}input[type=checkbox]:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;font-weight:600;font-size:.94rem}.switch-row small{font-weight:500}.hint{background:var(--cream);border-radius:var(--radius);padding:.8rem 1rem;font-weight:600;color:var(--brown-d);animation:rise var(--dur-fast) var(--ease) both;display:flex;align-items:center;gap:.55rem}.btn-emergency{background:var(--danger);color:#fff;width:100%;box-shadow:0 6px 18px color-mix(in srgb,var(--danger) 30%,transparent)}.btn-emergency:hover{background:var(--danger-hover)}.offline-bar{position:sticky;top:0;z-index:25;background:var(--brown-d);color:var(--cream);padding:.6rem 1rem;font-size:.86rem;text-align:center;animation:rise var(--dur-fast) var(--ease) both}@media(min-width:760px){.offline-bar{margin-left:232px}}.access-bar{position:sticky;top:0;z-index:25;background:var(--brown-d);color:var(--cream);padding:.6rem 1rem;font-size:.86rem;text-align:center;animation:rise var(--dur-fast) var(--ease) both}.access-bar a{color:inherit;font-weight:600;text-decoration:underline}@media(min-width:760px){.access-bar{margin-left:232px}}.screen.profile{position:relative;isolation:isolate;display:grid;gap:.55rem;padding-top:max(env(safe-area-inset-top),14px)}.screen.profile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 6%,transparent) 0%,color-mix(in srgb,var(--paper) 30%,transparent) 38%,color-mix(in srgb,var(--paper) 78%,transparent) 70%,var(--paper) 100%),url(/hero-profile-tall.jpg) center center / cover no-repeat}.profile-title{font-size:clamp(1.8rem,7.2vw,2.4rem);margin:0 0 .15rem}.profile-group{display:grid;gap:.3rem;margin-top:.25rem}.profile-label{font:600 .72rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding-left:.25rem}.profile-card{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;font:inherit;cursor:pointer;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,#fff 60%,transparent);border-radius:var(--radius-lg);padding:.7rem .8rem .7rem .7rem;color:var(--ink);box-shadow:var(--shadow-soft);transition:transform var(--dur-instant) var(--ease),box-shadow var(--dur-fast) var(--ease)}.profile-card:hover{box-shadow:var(--shadow)}.profile-card:active{transform:scale(.995)}.profile-avatar{width:84px;height:84px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;font-family:var(--font-display);font-size:2rem;color:var(--gold);object-fit:cover;background:var(--cream);border:3px solid #fff;box-shadow:0 4px 14px color-mix(in srgb,var(--brown) 14%,transparent)}.profile-card-text{flex:1;min-width:0;display:grid;gap:.2rem}.profile-name{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-now{font-size:.92rem;color:var(--ink-2)}.profile-now b{color:var(--ink);font-weight:600}.profile-card-text small{color:var(--ink-2);font-size:.78rem}.profile-card .progressbar{max-width:250px;height:6px;margin-top:.1rem;background:var(--border)}.profile-chevron{color:var(--amber);flex:none}.menu-list{background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,#fff 60%,transparent);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}.menu-row{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;border-top:1px solid var(--border);padding:.45rem .8rem .45rem .65rem;cursor:pointer;font:inherit;color:var(--ink);text-align:left;min-height:54px;transition:background-color var(--dur-fast) var(--ease)}.menu-row:first-child{border-top:none}.menu-row:hover{background:color-mix(in srgb,var(--cream) 55%,transparent)}.menu-row:active{background:var(--cream)}.menu-icon{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--cream);color:var(--amber)}.menu-icon svg{display:block;width:21px;height:21px}.menu-row-text{flex:1;min-width:0;font-weight:600;font-size:.92rem;line-height:1.25}.menu-row-text small{display:block;font-weight:400;color:var(--ink-2);font-size:.73rem;margin-top:.1rem;line-height:1.3}.menu-chevron{color:var(--amber);flex:none;width:18px;height:18px}@media(min-width:760px){.menu-row--mobile{display:none}}.menu-exit{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;margin-top:.3rem;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);border-radius:18px;padding:.65rem 1.6rem;cursor:pointer;font:inherit;font-size:.95rem;color:var(--ink);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.menu-exit:hover{border-color:var(--danger);color:var(--danger-hover)}.install-preview{width:min(100%,300px);height:auto;display:block;margin:0 auto -1.2rem}.install-steps{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.install-step{display:grid;grid-template-columns:26px 32px 1fr;gap:.55rem;align-items:start;line-height:1.4}.install-step-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--amber);font-weight:700;font-size:.82rem}.install-step-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--ink)}.install-step-icon svg{display:block}.diag-actions{display:flex;justify-content:space-between;align-items:center}dialog.diag{border:1px solid color-mix(in srgb,#fff 70%,transparent);border-radius:26px;padding:0;width:min(100% - 24px,480px);max-width:none;max-height:min(100dvh - 24px,720px);overflow:auto;margin:auto auto max(env(safe-area-inset-bottom),14px);background:color-mix(in srgb,var(--surface) 74%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 24px 60px color-mix(in srgb,var(--brown) 22%,transparent),inset 0 1px color-mix(in srgb,#fff 80%,transparent);color:var(--ink);animation:diag-in .38s var(--ease) both}dialog.diag::backdrop{background:color-mix(in srgb,var(--brown) 32%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade .3s var(--ease) both}@keyframes diag-in{0%{opacity:0;transform:translateY(24px) scale(.98)}}.diag-body{display:grid;gap:.7rem;padding:1.8rem 1.6rem 1.3rem;text-align:center;justify-items:center}.diag-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:var(--amber);background:color-mix(in srgb,var(--cream) 80%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--glow) 22%,transparent);margin-bottom:.2rem}.diag-body h2{font-size:clamp(1.5rem,6vw,1.9rem);line-height:1.2}.diag-body p{color:var(--ink);font-size:clamp(1.02rem,3.8vw,1.12rem);line-height:1.5;max-width:36ch}.diag-body p b{color:var(--ink);font-weight:600}.diag-body .mono{color:var(--ink-2)}.diag-body .btn-primary{margin-top:.5rem;width:100%;min-height:54px;font-size:1.05rem;border-radius:14px}.diag-body textarea{justify-self:stretch;width:100%;min-height:140px;resize:vertical;text-align:left;font-size:1.02rem;line-height:1.45;border-radius:14px;margin-top:.2rem}.diag-body .btn-link{font-weight:500;font-size:1rem}.diag-body .btn-link+.btn-link{margin-top:-.4rem}.diag--text .diag-body p{text-align:left;max-width:none;justify-self:stretch}.diag-note{justify-self:stretch;margin:.2rem 0 .3rem;padding:.75rem .95rem;border-radius:14px;background:color-mix(in srgb,var(--amber) 10%,var(--surface));color:var(--brown-d);font-size:.98rem;line-height:1.4}.diag-icon--img{padding:0;overflow:hidden}.diag-icon--img img{width:100%;height:100%;border-radius:50%;display:block}.diag--danger .diag-icon{color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 6px var(--danger-line)}.diag--danger .btn-primary{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-hover) 100%)}.diag--danger .btn-primary:hover{box-shadow:inset 0 0 0 40px var(--danger-hover)}@media(min-width:600px){dialog.diag{margin:auto}}@media(prefers-reduced-motion:reduce){dialog.diag,dialog.diag::backdrop{animation:none}}.screen.photo{position:relative;isolation:isolate;min-height:100dvh;animation-name:fade}.screen.photo:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 10%,transparent) 0%,color-mix(in srgb,var(--paper) 40%,transparent) 40%,color-mix(in srgb,var(--paper) 78%,transparent) 75%,var(--paper) 100%),var(--photo) center 20% / cover no-repeat}@media(min-width:760px){.screen.photo:before{left:232px}}.diary-head{display:flex;align-items:center;justify-content:space-between}.diary-head h1{font-size:2.25rem;line-height:1.1;font-weight:700}.diary-head .bell svg{width:30px;height:30px}.diary-top{display:flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:700;color:var(--brown-d)}.diary-top b{min-width:0;font-size:clamp(1rem,4.6vw,1.3rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diary-h2{font-family:var(--font-display);font-weight:700;font-size:1.45rem;margin:.3rem 0 .6rem;color:var(--brown-d)}.diary-status{font-style:normal;display:inline-flex;align-items:center;gap:.35rem;justify-self:start;margin-top:.2rem;padding:.35rem .8rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--gold);font-size:.95rem;font-weight:600}.diary-status svg{color:var(--orange)}.diary-continue{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;font:inherit;cursor:pointer;border-color:var(--amber)}.diary-continue b{display:block}.diary-continue small{color:var(--ink-2)}.diary-cal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.9rem .8rem 1rem;box-shadow:var(--shadow-soft)}.diary-cal-head{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"prev title next" "mode mode mode";align-items:center;gap:.5rem .4rem;margin-bottom:.6rem}.diary-cal-head b{grid-area:title;text-align:center;font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--brown-d)}.diary-cal-nav{background:none;border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}.diary-cal-head .diary-cal-nav:first-child{grid-area:prev}.diary-cal-head .diary-cal-nav:nth-child(3){grid-area:next}.diary-cal-mode{grid-area:mode;justify-self:center}.diary-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}.diary-cal-wd{text-align:center;font-size:.9rem;font-weight:600;color:var(--ink);padding:.2rem 0 .4rem}.diary-cal-days{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:66px;align-content:start;height:calc(var(--rows, 1) * 66px);overflow:hidden;transition:height .42s var(--ease)}.diary-day{display:grid;justify-items:center;align-content:center;gap:0;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--ink);border-radius:12px;animation:cal-in .32s var(--ease) both;animation-delay:calc(var(--i, 0) * 9ms)}@keyframes cal-in{0%{opacity:0;transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.diary-cal-days{transition:none}.diary-day{animation:none}}.diary-day span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.2rem}.diary-day small{font-size:.82rem;color:var(--orange);font-weight:700;height:16px;line-height:16px}.diary-day.has span{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--amber) 55%,transparent)}.diary-day.today span{background:var(--amber);color:#fff;box-shadow:none}.diary-day.other{opacity:.35}.diary-day:disabled{opacity:.3;cursor:default}.diary-day:hover:not(:disabled) span{background:var(--cream)}.diary-day.today:hover span{background:var(--orange)}.diary-goal{display:flex;align-items:center;gap:.8rem;text-align:left;font:inherit;cursor:pointer;padding:1.1rem}.diary-goal>svg,.diary-dyn>svg{color:var(--orange);width:28px;height:28px;flex:none}.diary-goal-text{flex:1;min-width:0;display:grid;gap:.3rem}.diary-goal-text b{font-family:var(--font-display);font-weight:700;font-size:1.45rem;color:var(--brown-d)}.diary-goal-text>span{font-size:1.08rem;line-height:1.4;color:var(--ink);font-weight:500}.diary-goal-text small{color:var(--ink);font-size:1rem;line-height:1.4;font-weight:500}.diary-goal .btn{flex:none}.diary-goal--empty{display:grid;gap:.8rem;cursor:default}.diary-goal--empty .btn{width:100%}.diary-goal-big{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1.3;color:var(--brown-d)}.diary-aspects{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem .3rem}.diary-aspect{display:grid;justify-items:center;gap:.1rem;background:none;border:none;padding:.3rem 0;cursor:pointer;font:inherit;color:var(--ink);border-radius:14px}.diary-aspect .aspect-emblem{width:min(100%,84px);height:auto}.diary-aspect b{color:var(--orange);font-size:1.15rem;font-weight:800;margin-top:.3rem}.diary-aspect span{font-size:.76rem;font-weight:600;text-align:center;line-height:1.2;color:var(--brown-d);white-space:nowrap;letter-spacing:-.01em}.diary-aspect:hover{background:color-mix(in srgb,var(--cream) 60%,transparent)}.aspect-emblem-wrap{position:relative;display:inline-block}.aspect-lock{position:absolute;right:-2px;bottom:2px;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--brown-d);display:grid;place-items:center;border:1px solid var(--border);box-shadow:0 2px 6px color-mix(in srgb,var(--brown) 20%,transparent)}.diary-locked{display:grid;gap:.6rem;justify-items:start;color:var(--ink)}.diary-locked svg{color:var(--amber)}.aspect-emblem{border-radius:50%;display:block;box-shadow:0 4px 12px color-mix(in srgb,var(--brown) 14%,transparent)}.diary-dyn{display:flex;align-items:center;gap:1rem;text-align:left;font:inherit;cursor:pointer;padding:1.1rem}.diary-dyn-icon{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;background:var(--cream);color:var(--orange);flex:none}.diary-dyn-icon svg{width:40px;height:40px}.diary-aspect-head{display:grid;justify-items:center;text-align:center;gap:.15rem}.diary-aspect-emblem{width:min(64vw,260px);height:auto;border-radius:50%;box-shadow:0 0 0 3px var(--orange),0 0 0 12px color-mix(in srgb,var(--glow) 22%,transparent),0 14px 36px color-mix(in srgb,var(--orange) 28%,transparent)}.diary-aspect-num{margin-top:-1.35rem;font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1;color:var(--orange);background:var(--surface);padding:.3rem .75rem .2rem;border-radius:var(--radius-pill);box-shadow:0 4px 14px color-mix(in srgb,var(--brown) 14%,transparent)}.diary-aspect-head h1{font-size:2.1rem;font-weight:700;color:var(--brown-d);margin-top:.15rem}.diary-aspect-about{max-width:36ch;color:var(--ink);font-size:1.1rem;font-weight:500;line-height:1.4}.diary .segmented{border-radius:16px}.diary .segmented button{border-radius:12px;font-size:1.1rem;font-weight:800}.diary .segmented button[aria-pressed=true]{box-shadow:var(--shadow),inset 0 -3px 0 var(--orange)}.diary .btn-block{min-height:56px;border-radius:14px;font-size:1.1rem;font-weight:800}.diary-free-btn{border:1.5px solid var(--orange);color:var(--orange);background:color-mix(in srgb,var(--surface) 70%,transparent)}.diary-free-btn:hover{background:color-mix(in srgb,var(--cream) 80%,transparent);color:var(--gold)}.diary-recent-head b{font-size:1.3rem;font-weight:800;color:var(--brown-d)}.diary-recent-head .btn-link{font-size:1.05rem;font-weight:700;color:var(--orange)}.diary-intent{display:grid;gap:.3rem;background:var(--cream);border-color:transparent}.diary-intent-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.diary-intent-head>b{font-size:1.15rem;font-weight:800;color:var(--brown-d)}.diary-intent-head .btn-link{padding:.1rem .3rem;min-height:0;font-size:1rem;font-weight:700;color:var(--orange)}.diary-intent p{font-size:1.08rem;font-weight:500;line-height:1.4;color:var(--ink)}.diary-item{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;font:inherit;cursor:pointer;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:16px;padding:.7rem .9rem;color:var(--ink)}.diary-item-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--orange);flex:none}.diary-item-text{flex:1;min-width:0;display:grid;gap:.1rem}.diary-item-text small{color:var(--brown-d);font-weight:700;font-size:1rem}.diary-item-kind{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-2);font-size:.85rem;font-weight:500}.diary-item-kind:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 25%,transparent)}.diary-item-text b{font-weight:800;font-size:1.08rem;color:var(--brown-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diary-item-chevron{color:var(--orange);font-size:1.5rem}.diary-q{font-size:clamp(1.6rem,6.5vw,2rem);font-weight:700;line-height:1.2;color:var(--brown-d)}.refl-hint{font-size:1.15rem;font-weight:500;line-height:1.4;color:var(--ink)}.refl-example{padding:.9rem 1rem;border-radius:16px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);color:var(--ink-2);font-size:1.05rem;line-height:1.4}.diary-area{width:100%;min-height:260px;resize:vertical;font-size:1.1rem;line-height:1.45;border-radius:18px;padding:1rem 1.1rem}.diary.refl .btn-block{min-height:64px;font-size:1.25rem;font-weight:800;border-radius:18px}.voice-btn{display:flex;align-items:center;justify-content:center;gap:.8rem;width:100%;min-height:64px;padding:.9rem 1rem;border-radius:20px;border:1px solid var(--border);background:color-mix(in srgb,var(--cream) 65%,var(--surface));color:var(--brown-d);font:inherit;font-size:1.15rem;font-weight:600;cursor:pointer}.voice-btn svg{color:var(--orange);flex:none}.voice-wrap{display:grid;gap:.3rem}.voice-btn.busy{opacity:.75}.voice-btn.on{border-color:var(--amber);color:var(--amber);animation:halo-pulse-btn 1.4s ease-in-out infinite}@keyframes halo-pulse-btn{0%,to{box-shadow:0 0 color-mix(in srgb,var(--amber) 30%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.refl-steps{list-style:none;padding:0;margin:.2rem 0 .4rem;display:grid;grid-template-columns:repeat(6,1fr);position:relative}.refl-steps:before{content:"";position:absolute;left:8.3%;right:8.3%;top:19px;height:2px;background:var(--border)}.refl-steps li{position:relative;display:grid;justify-items:center}.refl-steps button{background:none;border:none;padding:0;cursor:pointer;display:grid;justify-items:center;gap:.3rem;font:inherit;color:var(--ink-2)}.refl-steps button:disabled{cursor:default}.refl-steps i{width:40px;height:40px;font-size:1.05rem;font-weight:800;border-radius:50%;border:2px solid var(--border);background:var(--paper);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.82rem;color:#fff}.refl-steps li.done i{border-color:var(--amber);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 8px var(--amber)}.refl-steps li.cur i{background:var(--amber);border-color:var(--amber)}.refl-steps span{font-size:.66rem;font-weight:600;text-align:center;line-height:1.1;max-width:100%}.refl-steps li.cur span{color:var(--ink);font-weight:700}.refl-saved{min-height:1.2em}.refl-practice-art{height:160px;border-radius:var(--radius-lg);display:grid;place-items:center;color:#fff;background:linear-gradient(200deg,color-mix(in srgb,var(--ink) 35%,transparent),transparent 60%),url(/hero-profile-wide.jpg) center 40% / cover no-repeat}.refl-quiet{display:flex;gap:.6rem;align-items:center;font-size:.92rem}.refl-bar{display:grid;gap:.6rem}.refl-view-practice{display:grid;gap:.2rem}.screen.refl-done{position:relative;isolation:isolate;min-height:100dvh;display:grid;align-content:end;padding-bottom:calc(100px + env(safe-area-inset-bottom));animation-name:fade}.screen.refl-done:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--paper) 70%,transparent) 100%),url(/reflection-sunrise.jpg) 8% center / cover no-repeat}@media(min-width:760px){.screen.refl-done:before{background-position:center,center 38%}}.refl-done-card{display:grid;gap:.6rem;justify-items:center;text-align:center;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,#fff 70%,transparent);border-radius:26px;padding:1.5rem 1.3rem 1.2rem;box-shadow:var(--shadow)}.refl-done-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--amber);box-shadow:0 0 0 6px color-mix(in srgb,var(--glow) 35%,transparent)}.refl-done-card h1{font-size:1.7rem}.refl-done-card p{color:var(--ink-2)}.diary-dyn-block{display:grid;gap:.6rem}.diary-dyn-block>b{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:800;color:var(--brown-d)}.diary-dyn-block>b svg{color:var(--orange);width:22px;height:22px}.diary-dyn-block>small{font-size:1rem;font-weight:500}.diary-dyn-block ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.diary-dyn-block li{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;padding:.55rem .8rem;border-radius:12px;background:var(--paper);font-size:1.02rem;font-weight:500;line-height:1.4}.diary-dyn-block li:before{content:"○";color:var(--amber);margin-right:.3rem}.diary-dyn-block em{font-style:normal;color:var(--ink-2);font-size:.85rem;font-weight:600;white-space:nowrap}.diary-dyn-block em.up{color:var(--green);font-weight:700}.diary-dyn-block em.down{color:var(--danger);font-weight:700}.diary-dyn-note{font-size:1rem;font-weight:500;line-height:1.4;color:var(--ink)}.diary .row .aspect-emblem{width:56px;height:56px}.diary .row .grow b{font-size:1.15rem;font-weight:800;color:var(--brown-d)}.diary .row .grow small{font-size:1rem;font-weight:500;color:var(--ink)}.diary .row .state{color:var(--orange)}.diary-page-head{display:grid;gap:.25rem}.diary-page-head .mono{font-size:.9rem}.diary-page-head h1{font-size:2.1rem;font-weight:700;color:var(--brown-d)}.diary-page-head p{font-size:1.1rem;font-weight:500;line-height:1.4;color:var(--ink)}.diary-date{font-size:1rem;font-weight:700;color:var(--brown-d)}.diary-text{white-space:pre-wrap;font-size:1.1rem;font-weight:500;line-height:1.5;color:var(--ink)}.diary .switch-row{font-size:1.05rem;font-weight:700}.diary .card-warm{font-size:1.08rem;font-weight:500;line-height:1.4}.refl-view .card>b{display:block;font-size:1.15rem;font-weight:800;color:var(--brown-d)}.refl-view .card>p{margin-top:.35rem}.refl-view-practice>small{font-size:1rem;font-weight:500;color:var(--ink)}.diary-goal-history .card p{font-size:1.1rem;font-weight:500;line-height:1.45}.diary-goal-history .card small{display:block;margin-top:.4rem;font-size:1rem;font-weight:600;color:var(--ink)}.diary-goal-meta{font-size:1rem;font-weight:600;color:var(--ink)}@media(min-width:760px){.screen.refl-done:before{left:232px}.diary-aspects{gap:1rem .6rem}.refl-steps span{font-size:.8rem}.screen.refl-done{align-content:center;padding-bottom:48px}.refl-done-card{max-width:480px;justify-self:center;width:100%}}.account-photo{display:flex;align-items:center;gap:1rem}.account-photo-actions{display:grid;gap:.35rem}.account-photo-actions .btn{padding:.55rem 1rem;font-size:.9rem}.facts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0}.facts dt{color:var(--ink-2)}.facts dd{margin:0;font-weight:600}.features{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.features li{display:flex;gap:.6rem;align-items:flex-start}.features svg{color:var(--green);flex:none;margin-top:.15rem}.support-log{display:grid;gap:.6rem}.bubble{max-width:86%;border-radius:18px;padding:.7rem .9rem;display:grid;gap:.25rem}.bubble.mine{justify-self:end;background:var(--cream);border-bottom-right-radius:6px}.bubble.staff{justify-self:start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble b{font-size:.8rem;color:var(--amber)}.bubble p{white-space:pre-wrap}.bubble time{font-size:.74rem;color:var(--ink-2)}.support-form{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end}.support-form textarea{margin:0}.support-form .btn{padding:.8rem}.step-head{display:flex;align-items:flex-start;gap:.8rem}.step-head>div{flex:1;min-width:0}.bookmark{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--cream);border:none;color:var(--amber);cursor:pointer}.bookmark[aria-pressed=true]{background:var(--amber);color:#fff}.skeleton{display:block;border-radius:var(--radius);background:linear-gradient(90deg,color-mix(in srgb,var(--cream) 70%,var(--paper)) 25%,var(--cream) 37%,color-mix(in srgb,var(--cream) 70%,var(--paper)) 63%);background-size:400% 100%;animation:skeleton 1.4s ease-in-out infinite}.skeleton-title{height:2rem;width:60%}.skeleton-card{height:6.5rem}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.mood-scale{display:flex;gap:.5rem}.mood{flex:1;min-height:52px;cursor:pointer;background:transparent;border:1.5px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;color:var(--ink-soft);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.mood svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.5}.mood .eye{fill:currentColor;stroke:none}.mood:hover{border-color:var(--amber)}.mood:active{transform:scale(.97)}.mood[aria-checked=true]{background:var(--cream);border-color:var(--amber);color:var(--brown-d)}.mood:disabled{opacity:.5;cursor:default}.mood-tag{font-size:.78rem;color:var(--brown-d);background:var(--cream);border-radius:999px;padding:.1rem .6rem}.row:focus-visible,.menu-row:focus-visible,.profile-card:focus-visible,.menu-exit:focus-visible,.act:focus-visible,.react:focus-visible,.mood:focus-visible,.avatar-button:focus-visible,.bell:focus-visible,.segmented button:focus-visible,.peek:focus-visible,.help-now:focus-visible,.intro-chip:focus-visible,.tabbar a:focus-visible,.btn-link:focus-visible,.node:focus-visible .dot,.intro:focus-visible .intro-ring{outline:3px solid var(--amber);outline-offset:2px;border-radius:var(--radius)}.node:focus-visible .dot,.intro:focus-visible .intro-ring{border-radius:50%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.btn-danger{color:var(--danger-ink)}.btn-danger:hover{color:var(--danger-hover)}.roadmap{max-width:560px;margin:0 auto;min-height:100dvh;padding-bottom:calc(32px + env(safe-area-inset-bottom));animation:fade var(--dur-screen) var(--ease) both}.roadmap--review{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.rm-top{position:relative;z-index:2;display:flex;align-items:center;gap:.9rem;padding:max(env(safe-area-inset-top),14px) 20px 0;min-height:58px}.screen>.rm-top{padding-left:0;padding-right:0;margin-bottom:.5rem}.rm-step{font-weight:700;font-size:.84rem;color:var(--brown);font-variant-numeric:tabular-nums}.rm-segments{flex:1;display:flex;gap:6px}.rm-segments i{flex:1;height:4px;border-radius:2px;background:color-mix(in srgb,var(--amber) 22%,transparent)}.rm-segments i.on{background:var(--amber)}.rm-skip{background:none;border:none;font:inherit;font-weight:600;color:var(--brown);cursor:pointer;min-height:44px;padding:0 .3rem;display:inline-flex;align-items:center;gap:.3rem;border-radius:10px}.rm-skip:hover{color:var(--amber)}.rm-hero{position:relative;isolation:isolate;margin-top:-58px;padding:clamp(60px,8vh,66px) 20px clamp(16px,3vh,26px);display:grid;gap:1.1rem;overflow:hidden}.roadmap:not(.roadmap--review) .rm-hero{margin-top:0;padding-top:calc(env(safe-area-inset-top,0px) + clamp(14px,2.5vh,26px))}.rm-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 55%,transparent) 0%,color-mix(in srgb,var(--paper) 30%,transparent) 45%,var(--paper) 100%),linear-gradient(90deg,color-mix(in srgb,var(--paper) 70%,transparent) 0%,transparent 60%),url(/hero-home-tall.jpg) center 42% / cover no-repeat}.rm-hero-copy{max-width:82%;display:grid;gap:.35rem}.rm-welcome{font-family:var(--font-display);font-size:1.05rem;color:var(--brown)}.rm-title{font-size:clamp(2rem,8.4vw,3rem);line-height:1.05;color:var(--brown-d);white-space:nowrap}.rm-sub{font-size:.95rem;line-height:1.45;color:var(--brown);max-width:30ch}.rm-video{width:min(100%,236px);display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:left;font:inherit;cursor:pointer;padding:.95rem .8rem .9rem 1rem;border:1px solid color-mix(in srgb,#fff 60%,var(--line-strong));border-radius:20px;background:color-mix(in srgb,#fff 42%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 30px color-mix(in srgb,var(--brown) 10%,transparent),inset 0 1px color-mix(in srgb,#fff 60%,transparent);color:var(--brown-d);transition:transform var(--dur-instant) var(--ease),box-shadow var(--dur-fast) var(--ease)}.rm-video:hover:not(:disabled){transform:translateY(-2px)}.rm-video:disabled{cursor:default;opacity:.8}.rm-video-copy{display:grid;gap:.5rem}.rm-video-copy b{font-family:var(--font-display);font-weight:400;font-size:1.12rem;line-height:1.2}.rm-video-copy small{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--brown);white-space:nowrap}.rm-play{flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--cta-grad);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--amber) 40%,transparent)}.rm-play svg{margin-left:3px;width:22px;height:22px}.rm-video:disabled .rm-play{background:var(--muted);box-shadow:none}.rm-spinner{width:24px;height:24px;border-radius:50%;border:3px solid rgba(255,255,255,.5);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rm-player{display:grid;gap:.8rem;width:min(100%,340px)}.rm-player .player{border-radius:20px}.rm-body{display:grid;gap:1.6rem;padding:.4rem 20px 0}.rm-divider{display:flex;align-items:center;gap:.9rem;margin:0 0 .2rem;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-align:center}.rm-divider:before,.rm-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong))}.rm-divider:after{background:linear-gradient(90deg,var(--line-strong),transparent)}.rm-divider span{position:relative;padding:0 1.1rem}.rm-divider span:before,.rm-divider span:after{content:"";position:absolute;top:50%;width:6px;height:6px;transform:translateY(-50%) rotate(45deg);border:1px solid var(--gold)}.rm-divider span:before{left:0}.rm-divider span:after{right:0}.rm-hint{text-align:center;font-size:.84rem;color:var(--ink-soft);margin:-.2rem 0 .2rem;animation:hint-pulse 2.6s ease-in-out infinite}@keyframes hint-pulse{0%,to{opacity:1}50%{opacity:.45}}.rm-hint--gone{animation:hint-out .6s var(--ease) forwards}@keyframes hint-out{0%{opacity:.8}to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.rm-hint{animation:none}.rm-hint--gone{animation:none;opacity:0;visibility:hidden}}.rm-map{width:100%;height:auto;display:block;margin:0 auto;overflow:visible}.rm-map .station-glyph{filter:saturate(1.35) contrast(1.08)}.rm-node{cursor:pointer;outline:none}.rm-halo{fill:var(--amber);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.rm-node.active .rm-halo,.rm-node:hover .rm-halo{opacity:.3}.rm-node:focus-visible .rm-ring{stroke:var(--brown-d);stroke-width:4}.rm-ring{stroke:#e8b24a;stroke-width:2;opacity:.9;transition:stroke var(--dur-fast) var(--ease),stroke-width var(--dur-fast) var(--ease)}.rm-node.active .rm-ring{stroke:var(--amber);stroke-width:4;opacity:1}.rm-num{font-family:var(--font-body);font-weight:600;font-size:38px}.rm-name{font-family:var(--font-body);font-weight:500;font-size:23px;fill:var(--brown)}.rm-node.unread .rm-halo{animation:rm-pulse 1.2s var(--ease-soft) infinite}@media(prefers-reduced-motion:reduce){.rm-node.unread .rm-halo{animation:none;opacity:.18}}.rm-node:nth-of-type(2) .rm-halo{animation-delay:.15s}.rm-node:nth-of-type(3) .rm-halo{animation-delay:.3s}.rm-node:nth-of-type(4) .rm-halo{animation-delay:.45s}.rm-node:nth-of-type(5) .rm-halo{animation-delay:.6s}.rm-node:nth-of-type(6) .rm-halo{animation-delay:.75s}.rm-node:nth-of-type(7) .rm-halo{animation-delay:.9s}.rm-node:nth-of-type(8) .rm-halo{animation-delay:1.05s}@keyframes rm-pulse{0%,to{opacity:0}50%{opacity:.28}}.rm-tip{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1rem 2.6rem 1rem 1.1rem;box-shadow:var(--shadow-soft);animation:rise var(--dur-fast) var(--ease) both}.rm-tip-num{font-weight:700;font-size:1.5rem;line-height:1;padding-top:.1rem}.rm-tip b{display:block;font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:var(--brown-d);margin-bottom:.2rem}.rm-tip p{font-size:.92rem;line-height:1.45}.rm-tip p.muted{margin-top:.3rem;font-size:.86rem}.rm-tip-close{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;border-radius:50%;border:none;background:var(--cream);color:var(--brown);font-size:1.2rem;line-height:1;cursor:pointer}.rm-principles{display:grid;gap:.55rem}.rm-principle{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);overflow:hidden;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.rm-principle.open{border-color:var(--amber);background:color-mix(in srgb,var(--cream) 45%,var(--surface))}.rm-principle-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.9rem;width:100%;min-height:68px;padding:.7rem .9rem .7rem 1rem;font:inherit;cursor:pointer;text-align:left;color:var(--brown-d);background:none;border:none;transition:transform var(--dur-instant) var(--ease)}.rm-principle-row:active{transform:scale(.99)}.rm-principle-icon{width:48px;height:48px;color:var(--gold);display:grid;place-items:center}.rm-principle-icon svg{width:40px;height:40px}.rm-principle-title{min-width:0;font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;line-height:1.3}.rm-principle-chevron{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--gold);transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.rm-principle.open .rm-principle-chevron{transform:rotate(90deg);border-color:var(--amber);color:var(--amber)}.rm-principle-text{padding:0 1rem 1rem;font-size:.95rem;line-height:1.55;color:var(--brown);animation:rise var(--dur-fast) var(--ease) both}.rm-cta{display:grid;gap:.7rem;justify-items:center;margin-top:1.2rem}.rm-cta-main{min-height:62px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:1rem}.rm-cta-note{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--ink-soft)}.rm-side,.rm-map-block{display:grid;gap:.6rem}@media(min-width:960px){.roadmap{max-width:1120px;padding:0 32px 48px}.roadmap--review{margin-left:auto;margin-right:auto;max-width:none;padding-left:40px;padding-right:40px}.rm-top{padding-left:0;padding-right:0}.rm-hero{margin-top:-58px;padding:clamp(64px,9vh,78px) 44px clamp(22px,4vh,36px);border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.rm-hero:before{background-image:linear-gradient(180deg,color-mix(in srgb,var(--paper) 55%,transparent) 0%,color-mix(in srgb,var(--paper) 30%,transparent) 45%,var(--paper) 100%),linear-gradient(90deg,color-mix(in srgb,var(--paper) 70%,transparent) 0%,transparent 60%),url(/hero-home-wide.jpg);background-position:center 60%}.rm-hero-copy{grid-column:1;max-width:none}.rm-title{font-size:3.4rem}.rm-sub{font-size:1.05rem}.rm-video,.rm-player{grid-column:1;width:min(100%,320px);padding:1.1rem 1.1rem 1rem 1.3rem}.rm-video-copy b{font-size:1.45rem}.rm-play{width:66px;height:66px}.rm-body{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2.5rem;padding:1.8rem 0 0;align-items:start}.rm-side{position:sticky;top:24px}.rm-principle-row{gap:.7rem;padding-inline:.85rem}.rm-principle-title{font-size:.74rem;letter-spacing:.06em}.rm-cta{justify-items:stretch}}.screen.home{display:grid;gap:0;padding-top:0;animation:none}.home-hero{position:relative;isolation:isolate;margin:0 -20px;padding:max(env(safe-area-inset-top),18px) 20px 122px;display:grid;gap:.9rem;animation:fade var(--dur-screen) var(--ease) both}.home-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 30%,transparent) 0%,color-mix(in srgb,var(--paper) 10%,transparent) 55%,var(--paper) 100%),linear-gradient(90deg,color-mix(in srgb,var(--paper) 88%,transparent) 30%,color-mix(in srgb,var(--paper) 35%,transparent) 60%,transparent 100%),url(/hero-home-tall.jpg) center 30% / cover no-repeat}.home-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.home-greet{font-size:1rem;color:var(--brown)}.home-greet b{color:var(--amber);font-weight:600}.bell{position:relative;background:none;border:none;cursor:pointer;flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--brown);transition:background-color var(--dur-fast) var(--ease)}.bell:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}.home-title{font-size:clamp(1.9rem,7.4vw,2.6rem);line-height:1.12;max-width:16ch}.home-sub{font-size:.98rem;line-height:1.5;max-width:24ch;color:var(--brown)}.home-grid{display:grid;gap:.9rem;margin-top:-92px}.home-continue{order:1}.home-now{order:2}.home-widgets{order:3}.home-progress{order:4}.home-continue{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy mark" "cta cta";gap:.5rem .4rem;align-items:center;min-height:0;padding:1.4rem 1rem 1.4rem 1.3rem;background:radial-gradient(circle at 82% 38%,color-mix(in srgb,var(--glow) 42%,transparent) 0,transparent 46%),linear-gradient(115deg,var(--surface-top) 0%,var(--surface) 55%,var(--cream) 100%);border-color:color-mix(in srgb,#fff 55%,var(--line-strong));box-shadow:var(--shadow);animation:rise var(--dur-screen) var(--ease) both}.home-continue-copy{display:contents}.home-continue-text{grid-area:copy;display:grid;gap:.45rem;min-width:0;align-self:center;position:relative;z-index:1}.home-continue-text .mono{font-size:.8rem;letter-spacing:.12em}.home-continue-copy .mono{color:var(--brown)}.home-level{font-family:var(--font-display);font-weight:400;font-size:2.05rem;line-height:1.08;color:var(--brown-d);white-space:nowrap}.home-item{font-size:.98rem;line-height:1.35;color:var(--brown);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-resume{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;line-height:1.3;color:var(--brown)}.home-resume svg{color:var(--amber)}.home-cta{grid-area:cta;justify-self:start;margin-top:.2rem;min-height:58px;font-size:1.08rem;padding-inline:1.9rem;width:min(100%,300px);white-space:nowrap;position:relative;z-index:1}.home-continue-mark{grid-column:2;grid-row:1 / 3;display:grid;place-items:center;margin:-.6rem -.7rem -.4rem -1.4rem}.home-continue-mark img{width:clamp(150px,42vw,240px);height:auto;display:block}.home-now{display:grid;gap:.5rem;min-width:0;animation:rise var(--dur-screen) var(--ease) 60ms both}.home-now-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:0 .1rem}.home-now-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.1rem,4.6vw,1.6rem);line-height:1.2;color:var(--brown-d);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.home-now-head .home-link{white-space:nowrap;flex:none;font-size:.84rem}.home-link{background:none;border:none;font:inherit;font-weight:600;font-size:.9rem;color:var(--amber);cursor:pointer;display:inline-flex;align-items:center;gap:.1rem;min-height:44px;padding:0 .2rem;border-radius:10px}.home-empty{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;color:var(--ink-soft);font-size:.95rem;padding:.4rem .1rem .2rem}.home-events{list-style:none;margin:0 -20px;padding:.2rem 20px .4rem;display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.home-events::-webkit-scrollbar{display:none}.home-event{flex:0 0 max(112px,calc((100% - 1rem) / 3));scroll-snap-align:start;display:flex;flex-direction:column;gap:.25rem;padding:.75rem .65rem .65rem;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.home-event.today{background:color-mix(in srgb,var(--amber) 16%,var(--cream));border-color:color-mix(in srgb,var(--amber) 30%,transparent)}.home-event-date{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brown)}.home-event.today .home-event-date{color:var(--orange);font-weight:600}.home-event-title{font-weight:600;font-size:.9rem;line-height:1.25;color:var(--brown-d)}.home-event-time{font-size:.8rem;color:var(--brown);font-variant-numeric:tabular-nums}.home-event-icon{color:var(--orange);margin:.2rem 0 .4rem;width:24px;height:24px}.home-event-join{min-height:42px;font-size:.8rem;padding:.4rem;margin-top:auto}.home-event-cal{min-height:38px;margin-top:auto;padding:.3rem .4rem;font:inherit;font-size:.66rem;line-height:1.2;font-weight:600;color:var(--brown-d);cursor:pointer;background:none;border:1px solid var(--line-strong);border-radius:12px;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.home-event-cal:hover{background:var(--cream)}.home-event-cal:active{transform:scale(.96)}.home-event-cal[aria-pressed=true]{color:var(--orange);border-color:var(--orange)}.home-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;animation:rise var(--dur-screen) var(--ease) .1s both}.home-widget{position:relative;isolation:isolate;overflow:hidden;min-height:196px;text-align:left;font:inherit;cursor:pointer;color:var(--brown-d);display:grid;align-content:start;padding:1rem;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,#fff 0%,var(--cream) 100%);box-shadow:var(--shadow-soft);transition:transform var(--dur-instant) var(--ease),box-shadow var(--dur-fast) var(--ease)}.home-widget:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.home-widget-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:right center}.home-widget-fallback{display:grid;place-items:end;padding:0;color:color-mix(in srgb,var(--gold) 38%,transparent);mask-image:none;-webkit-mask-image:none}.home-widget-fallback svg{width:70%;height:auto;margin:0 -6% -6% 0}.home-widget-copy{display:grid;gap:.25rem;max-width:100%}.home-widget-copy small{max-width:62%}.home-widget-copy b{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.1;text-shadow:0 0 10px var(--paper),0 0 18px var(--paper)}.home-widget-copy small{font-size:.86rem;line-height:1.35;color:var(--brown)}.home-widget-go{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin-top:1.4rem;background:var(--cta-grad);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--amber) 35%,transparent)}.home-progress{display:grid;gap:.5rem;padding:1.1rem 1.1rem 1rem;animation:rise var(--dur-screen) var(--ease) .14s both}.home-progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}.home-progress-head .mono{color:var(--brown);font-size:.7rem;line-height:1.3}.home-progress-head b{font-weight:600;color:var(--brown-d);white-space:nowrap}.home-percent{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--amber);font-variant-numeric:tabular-nums}.home-percent small{font-size:1.4rem;margin-left:.1rem}@media(max-width:440px){.home-widget{min-height:176px;padding:.9rem}.home-widget-copy b{font-size:1.35rem}}@media(max-width:339px){.home-widgets{grid-template-columns:1fr}}@media(min-width:760px){.screen.home{max-width:1120px;margin-left:auto;margin-right:auto;padding:24px 32px 48px}.screen.profile{padding:28px 32px 40px;margin-top:24px;border-radius:28px;overflow:hidden;gap:.6rem}.profile-name{font-size:1.6rem}.menu-row{min-height:58px}.screen.profile:before{background-image:linear-gradient(180deg,color-mix(in srgb,var(--paper) 6%,transparent) 0%,color-mix(in srgb,var(--paper) 30%,transparent) 38%,color-mix(in srgb,var(--paper) 78%,transparent) 70%,var(--paper) 100%),url(/hero-profile-wide.jpg);background-position:center 35%}.home-hero{margin:0;padding:40px 44px 140px;border-radius:28px;overflow:hidden}.home-hero:before{background-image:linear-gradient(180deg,color-mix(in srgb,var(--paper) 30%,transparent) 0%,color-mix(in srgb,var(--paper) 10%,transparent) 55%,var(--paper) 100%),linear-gradient(90deg,color-mix(in srgb,var(--paper) 88%,transparent) 30%,color-mix(in srgb,var(--paper) 35%,transparent) 60%,transparent 100%),url(/hero-home-wide.jpg);background-position:center 60%}.home-title{font-size:3rem;max-width:14ch}.home-sub{font-size:1.05rem;max-width:34ch}}@media(min-width:1000px){.home-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"continue now" "progress widgets";align-items:start;gap:1.2rem;margin-top:-100px;padding:0 24px}.home-continue{grid-area:continue}.home-now{grid-area:now}.home-widgets{grid-area:widgets}.home-progress{grid-area:progress}.home-events{margin:0;padding:.2rem 0 .4rem;overflow:visible}.home-event{flex:1 1 0;min-width:0;padding:.85rem .8rem .8rem}.home-event-title{font-size:.98rem}.home-event-cal{font-size:.76rem;min-height:42px}.home-continue{padding:1.6rem 1.4rem 1.6rem 1.7rem}.home-level{font-size:2.3rem}}@media(min-width:1180px){.screen.home{margin-left:auto}}.test-intro h1,.test-result h1{font-size:clamp(1.5rem,6vw,1.9rem);font-weight:700;line-height:1.2}.test-subtitle{font-family:var(--font-display);font-size:1.25rem;color:var(--gold);margin-top:-.4rem}.test-instruction p{font-size:1.02rem;line-height:1.45}.test-legend{margin:0;padding-left:1.1rem;display:grid;gap:.25rem;font-size:1.02rem}.test-q{font-size:clamp(1.25rem,5vw,1.55rem);line-height:1.3;font-weight:700}.test-option{align-items:flex-start;gap:.8rem;padding:.9rem;font-size:1rem;line-height:1.4}.test-option.selected,.test-key-row.selected{border-color:var(--orange);background:color-mix(in srgb,var(--amber) 12%,var(--surface))}.test-letter{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--orange);font-weight:800;font-size:.95rem}.test-score-card{display:grid;gap:.6rem;text-align:center;justify-items:center}.test-score{display:flex;align-items:baseline;gap:.4rem}.test-score b{font-family:var(--font-display);font-size:3.4rem;line-height:1;color:var(--orange)}.test-score small{font-size:1.05rem;color:var(--ink-2)}.test-score-bar{width:100%;height:8px;border-radius:4px;background:var(--cream);overflow:hidden}.test-score-bar span{display:block;height:100%;background:var(--cta-grad);transition:width .6s var(--ease)}.test-score-card h2{font-size:1.2rem;line-height:1.3;color:var(--brown-d)}.test-score-card p{text-align:left;font-size:1.02rem;line-height:1.5}.test-note{font-size:.95rem;color:var(--ink-2);line-height:1.45}.test-key h2{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--brown-d)}.test-key>p{font-size:1.02rem;line-height:1.5}.test-key-row{align-items:flex-start;gap:.7rem;font-size:.95rem;line-height:1.35;padding:.75rem .85rem}.test-key-row .state{color:var(--orange);font-weight:800}.past-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem .9rem}.past-row-text{flex:1 1 10rem;min-width:0;display:grid;gap:.1rem}.past-row-text b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past-row .btn{min-height:36px;padding:.3rem .7rem;font-size:.9rem}.past-row-more{flex-basis:100%;gap:.4rem;padding-top:.3rem;border-top:1px solid var(--line);justify-items:start}.live-thumb{width:88px;aspect-ratio:16 / 10;flex:none;border-radius:10px;object-fit:cover;background:var(--cream)}.live-thumb-empty{display:grid;place-items:center;color:var(--amber)}.live-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:12px;display:block}.live-cover-empty{display:grid;place-items:center;padding:1rem;text-align:center;background:var(--cream);font-size:.9rem}.cover-field{display:grid;gap:.5rem}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rec-row .grow small{display:block}.event-head{display:flex;gap:.7rem;align-items:flex-start}.event-head-text{min-width:0;display:grid;gap:.1rem}.event-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.memo-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}.memo-step{display:grid;grid-template-columns:auto minmax(150px,1fr) 2fr;gap:.5rem .9rem;align-items:center}.memo-step p{margin:0;line-height:1.45}.memo-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--brown-d);font-weight:700;font-size:.95rem}.memo-pic{min-width:150px;max-width:100%;display:grid;justify-items:start;overflow:hidden}.memo-btn{pointer-events:none}.memo-room{display:flex;align-items:center;justify-content:flex-start;gap:.6rem;padding:.35rem .7rem;min-height:46px;border-radius:12px;background:var(--brown-d);width:100%;max-width:240px;box-sizing:border-box}.memo-room .live-room-logo{display:none}.memo-row{width:100%;font-size:.9rem}@media(max-width:599px){.memo-step{grid-template-columns:auto 1fr}.memo-step p{grid-column:2}}.cr-list{list-style:none;margin:0 0 .9rem;padding:0;display:grid;gap:.6rem;width:100%;text-align:left}.cr-list li{display:grid;gap:.1rem;padding:.6rem .8rem;border-radius:12px;background:#ffffff73}.cr-list a{font-size:1.05rem;font-weight:700;color:var(--brown-d);text-decoration:none}.cr-list .muted{font-size:.82rem}.screen.access-lock{align-content:center;padding-bottom:0}.screen.access-lock:before{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 40%,transparent),color-mix(in srgb,var(--paper) 85%,transparent)),url(/hero-tall.jpg) center / cover no-repeat}.screen.access-lock .refl-done-check{color:var(--orange)}.tabbar a{position:relative}.tab-badge{position:absolute;top:2px;left:calc(50% + 4px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--orange);color:#fff;font-size:.68rem;font-weight:700;line-height:18px;text-align:center}.tabbar-server{display:none}@media(min-width:760px){.tab-badge{position:static;margin-left:auto}.tabbar a{grid-template-columns:24px 1fr auto}.tabbar a.tabbar-server{display:grid;grid-template-columns:1fr;justify-items:stretch;gap:.45rem;position:absolute;left:.8rem;right:.8rem;bottom:1rem;min-height:0;padding:.7rem .8rem;border-radius:14px;background:color-mix(in srgb,var(--cream) 55%,transparent);text-decoration:none;color:var(--brown);font-size:.74rem;line-height:1.25}.tabbar a.tabbar-server:hover{background:var(--cream)}.tabbar a.tabbar-server svg{width:16px;height:16px}.tabbar-server-title{display:flex;align-items:center;gap:.4rem;font-weight:700;color:var(--brown-d);font-size:.8rem}.tabbar-server-title svg{color:var(--orange)}.tabbar-server-row{display:grid;gap:.15rem}.tabbar-server-label{display:flex;justify-content:space-between;font-weight:600}.tabbar-server-bar{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--orange) 18%,transparent);overflow:hidden}.tabbar-server-bar>i{display:block;height:100%;background:var(--orange)}.tabbar-server-bar.warm>i{background:#e0a100}.tabbar-server-bar.hot>i{background:#c0392b}.tabbar-server small{color:var(--ink-2)}}.profile-head{position:relative}.profile-photo-btn{position:absolute;left:68px;top:66px;z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--orange);border:2px solid #fff;box-shadow:0 2px 8px color-mix(in srgb,var(--brown) 22%,transparent);cursor:pointer}.profile-photo-btn.busy{opacity:.5;pointer-events:none}.diary-day.weekend,.cal-day.weekend{background:color-mix(in srgb,var(--orange) 18%,transparent)}.diary-day.weekend.other,.cal-day.weekend.other{background:color-mix(in srgb,var(--orange) 10%,transparent)}@keyframes slide-in-right{0%{opacity:0;transform:translate(36px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-36px)}}.nav-fwd .screen:not(.photo):not(.refl-done):not(.access-lock){animation-name:slide-in-right}.nav-back .screen:not(.photo):not(.refl-done):not(.access-lock){animation-name:slide-in-left}@media(prefers-reduced-motion:reduce){.nav-fwd .screen,.nav-back .screen{animation:none}}@media(min-width:760px){.tabbar a.after-main{margin-top:.6rem;border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding-top:1rem}.tabbar a.sub{padding-left:2.6rem;font-size:.88rem;min-height:0;padding-top:.45rem;padding-bottom:.45rem}.tabbar a.sub svg{width:16px;height:16px}}.crop-view{position:relative;overflow:hidden;border-radius:50%;background:var(--cream);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 3px #fff,0 6px 18px color-mix(in srgb,var(--brown) 18%,transparent)}.crop-view:active{cursor:grabbing}.crop-view img{position:absolute;left:0;top:0;max-width:none;pointer-events:none}.crop-zoom{display:grid;gap:.3rem;width:100%;font-size:.85rem;color:var(--ink-2);text-align:left}.crop-zoom input{width:100%;accent-color:var(--orange)}.screen.cm{--cm-bg: #FCF4E4;--cm-card: #FCF4EC;--cm-primary: #DD7D2B;--cm-accent: #E88722;--cm-text: #1E1B18;--cm-muted: #746D64;--cm-peach: #F8E4CF;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.7rem;padding-bottom:calc(76px + env(safe-area-inset-bottom));color:var(--cm-text);animation-name:fade}.cm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.cm-title h1{font-size:clamp(2rem,8.6vw,2.4rem);line-height:1.05;margin:0 0 .35rem}.cm-title p{margin:0;font-size:.95rem;line-height:1.35;color:var(--cm-muted);max-width:30ch}.cm-top-actions{display:flex;gap:.5rem;flex:none}.cm-round{width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,#fff 70%,transparent);background:color-mix(in srgb,#fff 55%,transparent);color:var(--cm-text);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--brown) 8%,transparent)}.cm-round[aria-pressed=true]{background:var(--cm-peach)}.cm-search{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:14px;padding:.35rem .8rem;color:var(--cm-muted)}.cm-search input{border:0;background:none;flex:1;min-height:40px;font-size:1rem}.cm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.cm-tile{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.55rem;text-align:left;padding:.8rem .6rem .8rem .7rem;border-radius:18px;border:1px solid color-mix(in srgb,#fff 60%,transparent);background:color-mix(in srgb,var(--cm-card) 85%,#fff);color:var(--cm-text);cursor:pointer;font:inherit;box-shadow:0 6px 16px color-mix(in srgb,var(--brown) 7%,transparent)}.cm-tile-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--cm-peach);color:var(--cm-primary)}.cm-tile-text{display:grid;gap:.15rem;min-width:0}.cm-tile-text b{font-size:.95rem;line-height:1.15}.cm-tile-text small{font-size:.7rem;line-height:1.25;color:var(--cm-muted)}.cm-tile-chev{color:var(--cm-accent)}.cm-chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto auto;gap:.5rem;min-height:0}.cm-pinned{background:var(--cm-peach);border-radius:16px;padding:.6rem .6rem .5rem;display:grid;gap:.5rem}.cm-pinned-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.95rem;padding:0 .2rem}.cm-pinned-head>span{display:inline-flex;align-items:center;gap:.35rem}.cm-pinned-head svg{color:var(--cm-accent)}.cm-pinned-all{border:0;background:none;font:inherit;font-size:.8rem;font-weight:500;color:var(--cm-text);display:inline-flex;align-items:center;gap:.1rem;cursor:pointer}.cm-pinned-all svg{color:var(--cm-accent)}.cm-pinned-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.5rem;scrollbar-width:none}.cm-pinned-track::-webkit-scrollbar{display:none}.cm-pin-card{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:.7rem;padding:.55rem;border:0;border-radius:14px;background:var(--cm-card);text-align:left;font:inherit;color:var(--cm-text);cursor:pointer}.cm-pin-thumb{width:96px;height:64px;border-radius:10px;background:var(--cm-peach) center / cover no-repeat}.cm-pin-text{display:grid;gap:.15rem;min-width:0}.cm-pin-text b{font-size:.9rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-pin-text small{font-size:.74rem;line-height:1.3;color:var(--cm-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm-dots{display:flex;justify-content:center;gap:.3rem}.cm-dots i{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--cm-accent) 35%,transparent)}.cm-dots i.on{background:var(--cm-accent)}.cm-log-wrap{position:relative;min-height:0;display:grid}.cm-log{display:flex;flex-direction:column;gap:.9rem;overflow-y:auto;padding:.2rem .1rem .4rem}.cm-log>:first-child{margin-top:auto}.cm-empty{margin:auto 0 .6rem;text-align:center;font-size:.9rem;color:var(--cm-muted)}.cm-day,.cm-newline{text-align:center;font-size:.74rem;color:var(--cm-muted);margin-bottom:.6rem}.cm-newline{display:flex;align-items:center;gap:.6rem;color:var(--cm-accent);font-weight:600}.cm-newline:before,.cm-newline:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--cm-accent) 45%,transparent)}.cm-row{display:grid;grid-template-columns:52px 1fr;gap:.7rem;align-items:start}.cm-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--cm-peach);box-shadow:0 2px 8px color-mix(in srgb,var(--brown) 15%,transparent)}.cm-avatar-initial{display:grid;place-items:center;font-family:var(--font-display);font-size:1.4rem;color:var(--cm-primary)}.cm-body{display:grid;gap:.35rem;min-width:0}.cm-head{display:flex;align-items:baseline;gap:.5rem}.cm-head b{font-size:.95rem}.cm-head time{font-size:.78rem;color:var(--cm-muted)}.cm-more{margin-left:auto;border:0;background:none;font-size:1.3rem;line-height:1;padding:0 .3rem;color:var(--cm-text);cursor:pointer}.cm-bubble{background:var(--cm-card);border-radius:6px 16px 16px;padding:.7rem .9rem;font-size:.98rem;line-height:1.4;display:grid;gap:.4rem;box-shadow:0 4px 12px color-mix(in srgb,var(--brown) 6%,transparent)}.cm-msg.host .cm-bubble{background:var(--cm-peach)}.cm-msg.hit .cm-bubble{box-shadow:0 0 0 3px color-mix(in srgb,var(--cm-accent) 55%,transparent)}.cm-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.cm-quote{display:grid;gap:.1rem;text-align:left;border:0;border-left:3px solid var(--cm-accent);border-radius:6px;background:color-mix(in srgb,var(--cm-accent) 9%,transparent);padding:.3rem .55rem;font:inherit;font-size:.84rem;color:var(--cm-text);cursor:pointer}.cm-quote b{color:var(--cm-primary)}.cm-quote span{color:var(--cm-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-image{max-width:100%;max-height:320px;border-radius:12px;cursor:zoom-in}.cm-reacts{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;position:relative}.cm-chip{display:inline-flex;align-items:center;border-radius:999px;background:var(--cm-card);font-size:.82rem;line-height:1;box-shadow:0 2px 6px color-mix(in srgb,var(--brown) 7%,transparent)}.cm-chip.mine{box-shadow:0 0 0 1.5px var(--cm-accent)}.cm-chip-btn,.cm-chip-count{border:0;background:none;font:inherit;cursor:pointer;padding:.4rem .35rem .4rem .6rem}.cm-chip-count{padding:.4rem .65rem .4rem 0;color:var(--cm-text);font-weight:600}.cm-chip-plus{border:0;padding:.35rem .75rem;font-size:1rem;font-weight:600;color:var(--cm-muted);cursor:pointer}.cm-picker{position:absolute;left:0;bottom:calc(100% + .3rem);display:flex;gap:.2rem;padding:.3rem .4rem;border-radius:999px;background:#fff;box-shadow:var(--shadow);z-index:2}.cm-picker button{border:0;background:none;font-size:1.35rem;line-height:1;padding:.2rem .3rem;border-radius:8px;cursor:pointer}.cm-picker button:hover{background:var(--cm-peach)}.cm-typing{font-size:.8rem;color:var(--cm-muted)}.cm-banner{font-size:.85rem;color:var(--cm-text);background:var(--cm-peach);border-radius:12px;padding:.5rem .8rem}.cm-banner a{color:var(--cm-primary);font-weight:600}.cm-replybar,.cm-attach{display:flex;align-items:center;gap:.5rem;background:var(--cm-card);border-left:3px solid var(--cm-accent);border-radius:10px;padding:.4rem .6rem;font-size:.84rem}.cm-replybar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-replybar b{color:var(--cm-primary)}.cm-replybar button,.cm-attach button{border:0;background:none;color:var(--cm-muted);cursor:pointer;display:grid}.cm-attach img{width:48px;height:48px;object-fit:cover;border-radius:8px}.cm-attach span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cm-muted)}.cm-error{padding:0 .3rem}.cm-composer{display:flex;align-items:center;gap:.6rem}.cm-field{flex:1;display:flex;align-items:center;gap:.3rem;min-height:54px;border-radius:27px;background:#fff;padding:0 .5rem 0 .8rem;box-shadow:0 6px 16px color-mix(in srgb,var(--brown) 8%,transparent)}.cm-field input{flex:1;min-width:0;border:0;background:none;font-size:1rem;min-height:44px;padding:0 .2rem}.cm-field input:focus{outline:none}.cm-clip,.cm-smile{border:0;background:none;color:var(--cm-muted);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;cursor:pointer}.cm-clip:hover,.cm-smile:hover{background:var(--cm-peach);color:var(--cm-primary)}.cm-send{flex:none;width:56px;height:56px;border-radius:50%;border:0;background:linear-gradient(135deg,#F0A24A,var(--cm-primary));color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px color-mix(in srgb,var(--cm-primary) 35%,transparent)}.cm-send svg{transform:translate(1px) rotate(-20deg)}.cm-send:disabled{opacity:.55;cursor:default;box-shadow:none}.cm-emojis{display:flex;flex-wrap:wrap;gap:.2rem;padding:.4rem;border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.cm-emojis button{border:0;background:none;font-size:1.4rem;line-height:1;padding:.25rem .3rem;border-radius:8px;cursor:pointer}.cm-emojis button:hover{background:var(--cm-peach)}.cm-menu{gap:.4rem}.cm-menu .btn-ghost{display:inline-flex;align-items:center;gap:.5rem;justify-content:center}.cm-menu-quote{font-size:.85rem;color:var(--cm-muted)}.cm-menu-quote b{color:var(--cm-text)}.cm-pins-all{gap:.5rem}.cm-pins-all h2{display:inline-flex;align-items:center;gap:.4rem}.cm-pins-all .cm-pin-card{grid-template-columns:64px 1fr;width:100%}.cm-pins-all .cm-pin-thumb{width:64px;height:48px}.cm-lightbox{border:0;background:transparent;padding:0;max-width:96vw;max-height:96dvh}.cm-lightbox::backdrop{background:#140c06d9}.cm-lightbox img{max-width:96vw;max-height:96dvh;border-radius:12px}.cm-rules{align-items:start}.cm-rules p{line-height:1.5}.cm-accepted{display:inline-flex;align-items:center;gap:.4rem;color:var(--green);font-weight:600}@media(min-width:760px){.screen.cm{padding-bottom:32px}.cm-title h1{font-size:2.6rem}.cm-pin-card{flex-basis:calc(50% - .25rem)}.cm-tile-text b{font-size:1.05rem}.cm-tile-text small{font-size:.8rem}}
