.journey{--ink:var(--color-ink);--paper:var(--color-surface-muted);--paper-light:var(--color-surface-hover);--muted:var(--color-ink-muted);--border:var(--color-border);--purple:var(--color-brand);--section-gap:var(--spacing-section);--card-shadow:var(--shadow-card);--purple-light:#ebe9fd;--amber:#2a9d72;--amber-light:#e3f5ee;--red:#d94f3d;--red-light:#faeae8;--green:#4a6fa5;--green-light:#e8eef7;--blue:#2d7dd2;--blue-light:#e8f1fb;color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.6}.journey .jx-section{margin-top:var(--section-gap)}.journey .back-link{color:var(--muted);align-items:center;gap:4px;margin-bottom:24px;font-size:13px;transition:color .15s;display:inline-flex}.journey .back-link svg{width:14px;height:14px}.journey .back-link:hover{color:var(--purple)}.journey .header{grid-template-columns:1fr auto;align-items:end;gap:48px;display:grid}.journey .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.journey .title{font-family:var(--font-display);letter-spacing:-.02em;font-size:48px;line-height:1.05}.journey .title em{color:var(--purple);font-style:italic}.journey .header-meta{border-left:1px solid var(--border);padding-left:24px}.journey .hm-name{color:var(--ink);letter-spacing:-.01em;margin-bottom:6px;font-size:17px;font-weight:600}.journey .hm-role{color:var(--ink);font-size:13px;line-height:1.5}.journey .hm-duration{color:var(--muted);font-size:12px;line-height:1.5}.journey .section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px;font-size:10px;font-weight:600}.journey .timeline-strip{border:1px solid var(--border);border-radius:4px;margin-bottom:40px;display:flex;overflow:hidden}.journey .tl-seg{border-right:1px solid var(--border);flex:1;padding:8px 12px}.journey .tl-seg:last-child{border-right:none}.journey .tl-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:4px;margin-bottom:2px;font-size:10px;font-weight:600;display:flex}.journey .tl-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.journey .tl-title{color:var(--ink);font-size:11px;font-weight:500;line-height:1.3}.journey .is-peak{background:var(--amber-light)}.journey .is-high{background:var(--purple-light)}.journey .is-low{background:var(--red-light)}.journey .is-rise{background:var(--green-light)}.journey .is-neutral{background:#f0eee8}.journey .arc-wrap{width:100%;margin-bottom:40px}.journey .arc-wrap svg{width:100%;height:auto;display:block}.journey .legend{flex-wrap:wrap;gap:20px;margin-top:24px;display:flex}.journey .legend-item{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.journey .legend-swatch{border-radius:2px;width:10px;height:10px}.journey .ch-divider{align-items:center;gap:16px;margin:0 0 20px;display:flex}.journey .ch-divider span{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10px;font-weight:600}.journey .ch-divider div{background:var(--border);flex:1;height:1px}.journey .chapters{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px;display:grid}.journey .chapter{background:var(--paper-light);box-shadow:var(--card-shadow);padding:20px 20px 20px 16px;position:relative}.journey .chapter:before{content:"";width:1px;position:absolute;top:0;bottom:0;left:0}.journey .mood-low:before{background:var(--red)}.journey .mood-rise:before{background:var(--green)}.journey .mood-peak:before{background:var(--amber)}.journey .mood-high:before{background:var(--purple)}.journey .mood-growing:before{background:var(--green)}.journey .mood-ongoing:before{background:var(--red);opacity:.5}.journey .mood-neutral:before{background:var(--blue)}.journey .ch-num{font-family:var(--font-display);color:var(--border);letter-spacing:-.03em;margin-bottom:6px;font-size:48px;line-height:1}.journey .ch-tag{letter-spacing:.1em;text-transform:uppercase;border-radius:2px;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.journey .mood-low .ch-tag{background:var(--red-light);color:var(--red)}.journey .mood-rise .ch-tag{background:var(--green-light);color:var(--green)}.journey .mood-peak .ch-tag{background:var(--amber-light);color:var(--amber)}.journey .mood-high .ch-tag{background:var(--purple-light);color:var(--purple)}.journey .mood-growing .ch-tag{background:var(--green-light);color:var(--green)}.journey .mood-ongoing .ch-tag{background:var(--red-light);color:var(--red)}.journey .mood-neutral .ch-tag{background:var(--blue-light);color:var(--blue)}.journey .ch-title{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:8px;font-size:19px;line-height:1.2}.journey .ch-body{color:#4a4845;margin-bottom:12px;font-size:14px;line-height:1.65}.journey .ch-moments{border-top:1px solid var(--border);padding:10px 0 0;list-style:none}.journey .ch-moments li{color:var(--muted);padding:2px 0 2px 12px;font-size:11px;position:relative}.journey .ch-moments li:before{content:"—";color:var(--border);position:absolute;left:0}.journey .chapter.next{background:var(--paper);border:1px dashed var(--border);grid-column:1/-1}.journey .chapter.next .ch-num{color:var(--border)}.journey .chapter.next .ch-tag{background:var(--ink);color:#fff}.journey .chapter.next .ch-title{color:var(--ink)}.journey .chapter.next .ch-body{color:#4a4845}.journey .fi-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.journey .fi-card{background:var(--paper-light);border-left:1px solid var(--purple);box-shadow:var(--card-shadow);padding:24px 22px}.journey .fi-label{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-bottom:12px;font-size:16px;line-height:1.2}.journey .fi-body{color:#4a4845;font-size:14px;line-height:1.7}@media (width<=720px){.journey{padding:24px 20px 48px}.journey .header{grid-template-columns:1fr;gap:20px}.journey .header-meta{border-left:none;padding-left:0}.journey .title{font-size:36px}.journey .chapters{grid-template-columns:1fr}.journey .fi-grid{grid-template-columns:1fr;gap:16px}}.gate.svelte-e91moz{text-align:center;max-width:340px;font-family:var(--font-body);color:var(--color-ink);margin:12vh auto 0}.lock-badge.svelte-e91moz{color:var(--color-ink-muted);margin-bottom:16px}.lock-badge.svelte-e91moz svg:where(.svelte-e91moz){width:28px;height:28px;display:inline-block}.gate-title.svelte-e91moz{font-family:var(--font-display);margin-bottom:8px;font-size:28px;line-height:1.1}.gate-sub.svelte-e91moz{color:var(--color-ink-muted);margin-bottom:28px;font-size:13px}.field.svelte-e91moz{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;align-items:center;transition:border-color .15s;display:flex}.field.svelte-e91moz:focus-within{border-color:var(--color-brand)}.field.err.svelte-e91moz{border-color:#d94f3d}.field.svelte-e91moz input:where(.svelte-e91moz){min-width:0;color:var(--color-ink);background:0 0;border:0;outline:none;flex:1;padding:12px 14px;font-family:inherit;font-size:15px}.toggle.svelte-e91moz{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 14px;font-size:12px;font-weight:500}.toggle.svelte-e91moz:hover{color:var(--color-brand)}.gate-error.svelte-e91moz{color:#d94f3d;text-align:left;min-height:18px;margin:10px 0 14px;font-size:12px}.submit.svelte-e91moz{background:var(--color-brand);width:100%;color:var(--color-brand-fg);cursor:pointer;border:0;border-radius:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.submit.svelte-e91moz:hover:not(:disabled){opacity:.9}.submit.svelte-e91moz:disabled{opacity:.5;cursor:default}.back-link.svelte-e91moz{color:var(--color-ink-muted);align-items:center;gap:4px;margin-top:18px;font-size:13px;transition:color .15s;display:inline-flex}.back-link.svelte-e91moz svg:where(.svelte-e91moz){width:14px;height:14px}.back-link.svelte-e91moz:hover{color:var(--color-brand)}.shake.svelte-e91moz{animation:.4s svelte-e91moz-shake}@keyframes svelte-e91moz-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}
