:root{color-scheme:dark;--color-bg:#141417;--color-bg-rgb:20,20,23;--color-bg-deep:#000000;--color-surface-1:#1D1D22;--color-surface-2:#26262C;--color-surface-3:#2F2F36;--color-border:#33333A;--color-border-strong:#3E3E46;--color-border-hover:#45454D;--color-text-primary:#F5F5F7;--color-text-secondary:#A1A1A8;--color-text-tertiary:#8E8E96;--color-text-quaternary:#76767D;--color-text-disabled:#4D4D52;--color-border-input:#62626A;--color-white:#FFFFFF;--color-black:#000000;--color-relationship:#D85C79;--color-danger:#E65A5A;--color-success:#5CBF88;--color-accent:#9A3412;--color-accent-bright:#B8400F;--color-accent-on:#FFFFFF;--color-accent-text:#E8590C;--color-accent-soft:rgba(154,52,18,0.12);--color-danger-strong:#B23A3A;--font-body:"Toss Product Sans","Pretendard Variable",Pretendard,-apple-system,system-ui,sans-serif;--font-display:var(--font-body);--font-hero:clamp(34px,9.5vw,48px);--font-display-size:clamp(28px,8vw,36px);--font-title-1:28px;--font-title-2:22px;--font-title-3:18px;--font-body-lg:17px;--font-body-size:15px;--font-caption:13px;--font-micro:12px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-button:6px;--radius-sheet:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--motion-fast:220ms;--motion-normal:440ms;--motion-slow:680ms;--motion-scene:1000ms;--ease-standard:cubic-bezier(0.32,0.72,0.24,1);--ease-enter:cubic-bezier(0.22,0.86,0.24,1);--ease-exit:cubic-bezier(0.4,0,1,1);--shadow-soft:0 8px 30px rgba(0,0,0,0.24);--nav-h:calc(56px + env(safe-area-inset-bottom, 0px));--app-w:480px;--nav-w:430px;--app-w-wide:1200px;--shell-w:var(--app-w);--gutter:16px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-bottom:calc(var(--nav-h) + 12px);scroll-padding-top:72px}body,html{margin:0;padding:0;min-height:100%;background:var(--color-bg);color:var(--color-text-primary)}body{font-family:var(--font-body);font-size:var(--font-body-size);line-height:1.6;font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--color-white);outline-offset:3px;border-radius:var(--radius-xs)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:0 0 0 5px var(--color-bg)}.hit{position:relative}.hit:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.empty-state{margin:0;padding:var(--space-6) 0;text-align:center;font-size:14px;line-height:1.5;color:var(--color-text-tertiary)}.page:has(.empty-state--fill){display:flex;flex-direction:column}.empty-state--fill{flex:1 1;display:flex;align-items:center;justify-content:center}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;background:var(--color-white);color:var(--color-black);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);transform:translateY(-160%);transition:transform var(--motion-fast) var(--ease-standard)}.skip-link:focus{transform:none}::selection{background:rgba(247,247,248,.18)}.t-hero{font:var(--weight-bold) var(--font-hero)/1.08 var(--font-display)}.t-display,.t-hero{letter-spacing:-.02em}.t-display{font:var(--weight-bold) var(--font-display-size)/1.12 var(--font-display)}.t-title-1{font-size:var(--font-title-1);line-height:1.2;letter-spacing:-.015em}.t-title-1,.t-title-2{font-weight:var(--weight-semibold)}.t-title-2{font-size:var(--font-title-2);line-height:1.25;letter-spacing:-.01em}.t-title-3{font-size:var(--font-title-3);font-weight:var(--weight-semibold);line-height:1.3}.t-body-lg{font-size:var(--font-body-lg);line-height:1.65}.t-body{font-size:var(--font-body-size);line-height:1.6}.t-caption{font-size:var(--font-caption);line-height:1.5;color:var(--color-text-secondary)}.t-micro{font-size:var(--font-micro);line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:var(--weight-medium)}.t-name{font-weight:var(--weight-bold);letter-spacing:-.02em}.t-name,.t-quote{font-family:var(--font-display)}.t-quote{font-weight:var(--weight-regular);letter-spacing:-.005em}.character-detail-theme{--color-surface-1:#292930;--color-surface-2:#33333A;--color-surface-3:#3D3D45}.character-detail-copy>.t-hero{font-size:28px;line-height:1.18}.character-detail-copy>.t-body-lg.t-quote{font-size:14px}.character-detail-theme .character-detail-copy>.t-caption{font-size:12px}.character-detail-copy .t-title-3{font-size:20px;font-weight:700;line-height:1.4}.character-detail-copy .t-body-lg{font-size:14px;line-height:1.65}.character-detail-copy .t-body{font-size:14px;line-height:1.55}.character-detail-copy .t-caption{font-size:12px;line-height:1.5}.character-detail-copy .detail-prose{font-size:14px}.page{min-height:100dvh;padding:var(--space-5) var(--gutter) calc(var(--nav-h) + var(--space-3));max-width:640px;margin:0 auto}.page--immersive{max-width:none;padding:0}.stack{display:flex;flex-direction:column}.hairline{height:1px;background:var(--color-border);border:0;margin:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}.btn:disabled:not([aria-busy=true]){background:var(--color-surface-3)!important;color:var(--color-text-disabled)!important;border-color:transparent!important}.btn.btn-next:disabled:not([aria-busy=true]){background:var(--color-accent)!important;color:var(--color-accent-on)!important;border-color:var(--color-accent)!important;opacity:.35!important}::view-transition-new(root),::view-transition-old(root){animation-duration:var(--motion-normal);animation-timing-function:var(--ease-standard);mix-blend-mode:normal}::view-transition-old(root){animation-name:vt-out}::view-transition-new(root){animation-name:vt-in-forward}html[data-nav=back]::view-transition-new(root){animation-name:vt-in-back}@keyframes vt-out{to{opacity:0}}@keyframes vt-in-forward{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes vt-in-back{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}::view-transition-group(*){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-enter)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-2);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);animation:shimmer 1.4s var(--ease-standard) infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent)}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}}.scrim{background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,0))}.row-scroll{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 var(--gutter);scroll-padding:0 var(--gutter)}.row-scroll::-webkit-scrollbar{display:none}.row-scroll>*{scroll-snap-align:start;flex:0 0 58%}.detail-prose p{line-height:1.5;margin:0}.detail-prose>*+*{margin-top:2px}.gallery-scroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.gallery-scroll::-webkit-scrollbar{display:none}.gallery-scroll>*{scroll-snap-align:start;flex:0 0 42%;aspect-ratio:3/4}.comment-scroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.comment-scroll::-webkit-scrollbar{display:none}.comment-scroll>*{scroll-snap-align:start;flex:0 0 88%}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3)}.grid-2,.pager{gap:var(--space-3)}.pager{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 var(--gutter);scroll-padding:0 var(--gutter);touch-action:pan-x pan-y}.pager::-webkit-scrollbar{display:none}.pager>*{scroll-snap-align:start;flex:0 0 82%}@media (hover:hover) and (pointer:fine){.hoverable{transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.hoverable:hover{border-color:var(--color-border-hover)}}.app-shell{width:100%;max-width:var(--shell-w);margin:0 auto;min-height:100dvh;position:relative;background:var(--color-bg)}@media (min-width:1024px){.app-shell:has(.page--wide){--shell-w:var(--app-w-wide)}.page--wide{--gutter:24px;max-width:none}.page--wide .grid-2{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.field{border-color:var(--color-border-input)!important}.field:focus{border-color:var(--color-white)!important}.field::placeholder{color:var(--color-text-tertiary)}.field:disabled{color:var(--color-text-disabled)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:var(--shell-w);margin:0 auto;height:var(--nav-h);justify-content:space-around;padding-inline:max(0px,calc((min(100%, var(--shell-w)) - var(--nav-w)) / 2));background:rgba(var(--color-bg-rgb),.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.nav,.nav__item{display:flex;align-items:center}.nav__item{flex:1 1;justify-content:center;min-height:48px;background:none;border:0;padding:0;font:inherit;-webkit-tap-highlight-color:transparent}.nav__inner{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.chat-layout{min-height:100dvh;display:grid;grid-template-columns:1fr}.chat-main{display:flex;flex-direction:column;min-height:100dvh;max-width:720px;width:100%;margin:0 auto}.chat-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-header>:nth-child(2){flex:1 1 160px;min-width:0}.chat-context{display:none}.button-link{transition:filter var(--motion-fast) var(--ease-exit);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.button-link:active{filter:brightness(.94)}.detail-cta{position:fixed;bottom:var(--nav-h);padding-bottom:16px}.app-fixed,.detail-cta{left:0;right:0}@media (min-width:500px){.app-fixed,.detail-cta{left:0;right:0;width:var(--app-w);margin-left:auto;margin-right:auto}}.scene-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.scene-option:has(input:checked){border-color:var(--color-text-secondary);background:var(--color-surface-1)}.scene-option input{margin-top:3px;accent-color:var(--color-accent-text)}