:root{--color-ground:#2f2547;--color-ground-soft:#43355f;--color-ground-line:#6e5a8a;--color-outer-text:#fff8f2;--color-outer-muted:#e4d6e6;--color-paper:#ffffffe6;--color-paper-soft:#fbf4f6e6;--color-paper-inset:#eadfe6;--color-ink:#3a2b4d;--color-muted:#6f5f82;--color-line:#dacbd6;--color-accent:#fbd9a6;--color-accent-ink:#3a2b4d;--color-accent-hover:#fff0d6;--color-button:#e59bb4;--color-button-hover:#efb3c7;--color-button-ink:#3a2b4d;--color-focus:#c4487a;--color-edge:#342751;--color-frame:#261b3c;--color-video-shade:#261b3c3d;--color-video-top:#261b3ca6;--color-clear:transparent;--color-dark-glass:#2f2547f5;--color-chat-glass:#3a2d57f0;--color-surface-light:#ffffff0d;--color-accent-wash:#fbd9a622;--color-bubble:#ffffffe6;--color-bubble-user:#f7dfe8;--color-modal-shade:#1a1228b3;--color-soft-shadow:#261b3c1a;--color-error:#c4485e;--color-success:#4a9a78;--color-water:#456a99;--color-fire:#a84342;--color-wood:#4b7953;--color-earth:#94712e;--color-metal:#6b7684;--color-kakao:#f8df61;--color-naver:#d9ebca;--color-shadow:#261b3c55;--font-display:"Mulmaru", monospace;--font-body:"Mulmaru", monospace;--font-label:var(--font-body);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--text-sm:13px;--text-base:16px;--text-title:22px;--text-display:34px;--radius-control:0px;--radius-panel:0px;--radius-message:0px;--dur-micro:.12s;--color-highlight:#fff;--pixel-frame:-4px 0 0 var(--color-frame), 4px 0 0 var(--color-frame), 0 -4px 0 var(--color-frame), 0 4px 0 var(--color-frame), 4px 8px 0 var(--color-shadow);--pixel-raised:inset 0 2px 0 var(--color-highlight), 0 4px 0 var(--color-edge);--pixel-inset:inset 2px 2px 0 var(--color-paper-inset);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232f2a4c' d='M0 0h12v2h-2v2H8v2H6v2H4V4H2V2H0z'/%3E%3C/svg%3E");--app-height:100dvh}:root[data-scene=summer]{--color-ground:#16243c;--color-ground-soft:#233955;--color-ground-line:#3f5f80;--color-outer-text:#f4f8fb;--color-outer-muted:#cddae6;--color-paper-soft:#f3f7f8e6;--color-paper-inset:#dce6ea;--color-ink:#1f3248;--color-muted:#55697c;--color-line:#c6d3da;--color-accent:#a9e0d4;--color-accent-ink:#1f3248;--color-accent-hover:#d4f3ec;--color-button:#8fd0c4;--color-button-hover:#a9ddd3;--color-button-ink:#1f3248;--color-focus:#2a9d8f;--color-edge:#1a2c47;--color-frame:#0f182c;--color-video-shade:#0f182c3d;--color-video-top:#0f182ca6;--color-dark-glass:#16243cf5;--color-chat-glass:#1a2c47f0;--color-accent-wash:#a9e0d422;--color-bubble-user:#d4f1eb;--color-modal-shade:#060a18b3;--color-soft-shadow:#0f182c1a;--color-error:#d0556a;--color-success:#3f9a7a;--color-shadow:#0f182c55}:root[data-scene=nyc]{--color-ground:#2a2433;--color-ground-soft:#3f3040;--color-ground-line:#6a5870;--color-outer-text:#f6f4fa;--color-outer-muted:#d6d2e2;--color-paper-soft:#f6f4f8e6;--color-paper-inset:#e5e1ea;--color-ink:#2a2433;--color-muted:#66607a;--color-line:#d3cedb;--color-accent:#f2c79a;--color-accent-ink:#2a2433;--color-accent-hover:#fbe3c8;--color-button:#b7c0d6;--color-button-hover:#cdd4e6;--color-button-ink:#2a2433;--color-focus:#5a6fc4;--color-edge:#241e2d;--color-frame:#120f1a;--color-video-shade:#241e2d3d;--color-video-top:#241e2da6;--color-dark-glass:#2a2433f5;--color-chat-glass:#352b40f0;--color-accent-wash:#f2c79a22;--color-bubble-user:#e6e9f3;--color-modal-shade:#0d0a13b3;--color-soft-shadow:#241e2d1a;--color-error:#c9546a;--color-success:#4a9a82;--color-shadow:#241e2d55}:root[data-scene=hangang]{--color-ground:#2b2e55;--color-ground-soft:#40467a;--color-ground-line:#6a6fa0;--color-outer-text:#fbf8ff;--color-outer-muted:#d9daf0;--color-paper-soft:#f7f5fbe6;--color-paper-inset:#e7e3f0;--color-ink:#2b2e55;--color-muted:#646a90;--color-line:#d6d1e4;--color-accent:#fbd3b8;--color-accent-ink:#2b2e55;--color-accent-hover:#ffe6d4;--color-button:#e7a9bc;--color-button-hover:#efbfce;--color-button-ink:#2b2e55;--color-focus:#c24a78;--color-edge:#23254b;--color-frame:#1d1c38;--color-video-shade:#23254b3d;--color-video-top:#23254ba6;--color-dark-glass:#2b2e55f5;--color-chat-glass:#353a68f0;--color-accent-wash:#fbd3b822;--color-bubble-user:#fbe4ec;--color-modal-shade:#12122cb3;--color-soft-shadow:#23254b1a;--color-error:#c9546a;--color-success:#4a9a82;--color-shadow:#23254b55}:root[data-scene=fireworks]{--color-ground:#1a2240;--color-ground-soft:#272f53;--color-ground-line:#46507c;--color-outer-text:#f4f7fd;--color-outer-muted:#c9d1e6;--color-paper-soft:#f3f5fae6;--color-paper-inset:#dfe4ef;--color-ink:#1c2342;--color-muted:#566080;--color-line:#ced5e4;--color-accent:#ffd9a0;--color-accent-ink:#1c2342;--color-accent-hover:#ffecc9;--color-button:#a9e0b4;--color-button-hover:#c1ebc7;--color-button-ink:#1c2342;--color-focus:#3a8f6a;--color-edge:#111832;--color-frame:#0b1025;--color-video-shade:#0b10253d;--color-video-top:#0b1025a6;--color-dark-glass:#1a2240f5;--color-chat-glass:#232b4ff0;--color-accent-wash:#ffd9a022;--color-bubble-user:#dff3e3;--color-modal-shade:#05081ab3;--color-soft-shadow:#0b10251a;--color-error:#cf5a6b;--color-success:#3f9a6a;--color-shadow:#0b102555}:root[data-scene=desk]{--color-ground:#2c2024;--color-ground-soft:#433238;--color-ground-line:#76595f;--color-outer-text:#fbf6f1;--color-outer-muted:#e3d4cb;--color-paper-soft:#faf5f1e6;--color-paper-inset:#ece1da;--color-ink:#2c2024;--color-muted:#75625f;--color-line:#dccfc7;--color-accent:#ffe0a8;--color-accent-ink:#2c2024;--color-accent-hover:#fff0cf;--color-button:#e4b992;--color-button-hover:#edcdb0;--color-button-ink:#2c2024;--color-focus:#3f5fb8;--color-edge:#2a1a14;--color-frame:#1d1317;--color-video-shade:#2a1a143d;--color-video-top:#2a1a14a6;--color-dark-glass:#2c2024f5;--color-chat-glass:#382a2ff0;--color-accent-wash:#ffe0a822;--color-bubble-user:#f6e4d3;--color-modal-shade:#130b0db3;--color-soft-shadow:#2a1a141a;--color-error:#c9546a;--color-success:#5a9a72;--color-shadow:#2a1a1455}:root[data-scene=neon]{--color-ground:#1a2036;--color-ground-soft:#2a3150;--color-ground-line:#4a5480;--color-outer-text:#f4f6fc;--color-outer-muted:#c9d0e4;--color-paper-soft:#f3f4fae6;--color-paper-inset:#e0e3ee;--color-ink:#1a2036;--color-muted:#596080;--color-line:#cfd3e3;--color-accent:#a8ecf5;--color-accent-ink:#1a2036;--color-accent-hover:#d2f6fb;--color-button:#f4a6d8;--color-button-hover:#f8c0e5;--color-button-ink:#1a2036;--color-focus:#c04aa0;--color-edge:#121428;--color-frame:#0a0a1b;--color-video-shade:#1214283d;--color-video-top:#121428a6;--color-dark-glass:#1a2036f5;--color-chat-glass:#262d4af0;--color-accent-wash:#a8ecf522;--color-bubble-user:#fadcef;--color-modal-shade:#07080eb3;--color-soft-shadow:#1214281a;--color-error:#d0556a;--color-success:#4aa08a;--color-shadow:#12142855}@font-face{font-family:Mulmaru;src:url(/assets/fonts/Mulmaru.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{background:var(--color-ground);overflow-x:clip}body{margin:var(--space-0);color:var(--color-outer-text);overflow-x:clip}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:var(--color-clear)}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}button:active:not(:disabled),a.btn:active{transform:translateY(2px)}[hidden]{display:none!important}h1,h2,h3,p{margin:var(--space-0)}h1,h2,h3{overflow-wrap:break-word;text-wrap:balance;min-width:0;font-weight:400}fieldset{min-width:0;padding:var(--space-0);margin:var(--space-0);border:0}.icon{flex:none;width:20px;height:20px}.world-layout{margin:var(--space-0) auto;align-items:center;min-height:100svh;display:grid}.intro-rail{padding:var(--space-6) var(--space-0);flex-direction:column;display:flex}.wordmark{align-items:center;gap:var(--space-3);align-self:flex-start;display:inline-flex}.wordmark .icon{color:var(--color-accent);width:28px;height:28px}.intro-copy{margin:auto var(--space-0);padding:var(--space-12) var(--space-0)}.intro-copy h1{font-family:var(--font-display)}.intro-copy>p{color:var(--color-outer-muted)}.intro-rule{background:var(--color-accent);display:block}.rail-foot{gap:var(--space-2);color:var(--color-outer-muted);flex-direction:column;display:flex}.rail-foot a{text-underline-offset:4px;text-decoration:underline}.scene-stage{isolation:isolate;aspect-ratio:9/16;flex-direction:column;justify-self:center;width:100%;display:flex;position:relative;overflow:clip}.scene-backdrop,.scene-shade{z-index:-2;position:absolute;inset:0}.scene-backdrop img,.scene-backdrop video{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.scene-shade{z-index:-1;background:linear-gradient(to bottom, var(--color-video-top), var(--color-clear) 37%, var(--color-video-shade))}.stage-header{flex:none;justify-content:space-between;align-items:center;display:flex}.stage-brand{align-items:center;gap:var(--space-2);display:inline-flex}.stage-brand .icon{color:var(--color-accent-hover)}.header-actions{align-items:center;display:flex}.balance{align-items:center;gap:var(--space-2);display:flex}.balance .icon{color:var(--color-accent-hover)}.icon-button{background:var(--color-clear);border:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover,.balance:hover{color:var(--color-accent-hover)}.mobile-scene{display:none}#screen{scrollbar-width:thin;scrollbar-color:var(--color-line) var(--color-clear);flex:1;min-height:0;overflow-y:auto}#screen:focus{outline:0}.bottom-nav{flex:none;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.bottom-nav a{color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.bottom-nav a:hover{color:var(--color-ink)}.btn{justify-content:center;align-items:center;gap:var(--space-3);border-radius:0;width:100%;display:flex}.primary{color:var(--color-button-ink)}.primary:hover:not(:disabled){background:var(--color-button-hover)}.secondary{color:var(--color-ink)}.secondary:hover:not(:disabled){background:var(--color-paper-inset)}.text-link{width:fit-content;margin:var(--space-4) auto var(--space-0);text-underline-offset:4px;padding:var(--space-2);background:0 0;border:0;text-decoration:underline;display:block}.text-link:hover{color:var(--color-error)}.scene-rail{padding-left:var(--space-2);align-self:center}.scene-picker>p{color:var(--color-outer-muted)}#scene-options{flex-direction:column;display:flex}.scene-option{text-align:left;grid-template-columns:56px minmax(0,1fr);align-items:center;width:100%;min-height:105px;display:grid;position:relative}.scene-option:hover{border-color:var(--color-outer-muted)}.scene-option img{object-fit:cover;width:56px;height:88px;image-rendering:pixelated}.scene-option b,.scene-option small{font-weight:400;display:block}.scene-option small{color:var(--color-outer-muted)}.selection-mark{color:var(--color-accent);position:absolute}.night-note{gap:var(--space-3);color:var(--color-outer-muted);display:flex}.night-note .icon{color:var(--color-accent);width:16px;height:16px;margin-top:var(--space-1)}.scene-credit{color:var(--color-outer-muted)}.sheet{margin-top:var(--space-3);background:var(--color-paper);color:var(--color-ink)}.screen-title p{color:var(--color-muted)}.back-link{align-items:center;gap:var(--space-1);color:var(--color-muted);margin-bottom:var(--space-2);width:fit-content;display:flex}.back-link:hover{color:var(--color-ink)}.center-sheet{text-align:center;padding:var(--space-8) var(--space-5)}.large-icon{width:38px;height:38px;margin-bottom:var(--space-5);color:var(--color-muted)}.small{color:var(--color-muted);font-size:13px}.privacy-note{color:var(--color-muted);margin-top:var(--space-3)}.privacy-note a{text-underline-offset:3px;text-decoration:underline}.field{flex-direction:column;display:flex}.field-label{margin-bottom:var(--space-1);display:block}input:not([type=radio]):not([type=checkbox]),select,textarea{background:var(--color-paper-soft);width:100%;min-width:0;color:var(--color-ink)}input::placeholder,textarea::placeholder{opacity:1}input:not([type=radio]):not([type=checkbox]):hover:not(:disabled),select:hover:not(:disabled){border-color:var(--color-muted)}input[type=checkbox],input[type=radio]{accent-color:var(--color-edge)}input:invalid:not(:placeholder-shown):focus{outline-color:var(--color-error)}.check{align-items:center;gap:var(--space-2);flex:none;display:flex}.field-note{color:var(--color-muted);font-size:12px;line-height:1.65}.subtle-button{padding:var(--space-2) var(--space-3)}.subtle-button:hover{background:var(--color-paper-inset);color:var(--color-ink)}.form-error{background:var(--color-paper-soft);color:var(--color-error);padding:var(--space-3);margin:var(--space-3) var(--space-0)}.notice{margin:var(--space-3) var(--space-0);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);color:var(--color-muted);line-height:1.7}.notice.error{color:var(--color-error)}.notice.success{color:var(--color-success)}.loading-pixels{justify-content:center;gap:var(--space-2);margin:var(--space-6) var(--space-0);display:flex}.loading-pixels i{background:var(--color-muted);width:8px;height:8px;animation:1s steps(2,end) infinite pulse}.loading-pixels i:nth-child(2){animation-delay:.2s}.loading-pixels i:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{opacity:.3}}.danger{color:var(--color-error)}.sr-only{width:1px;height:1px;padding:var(--space-0);clip-path:inset(50%);white-space:nowrap;border:0;margin:-1px;position:absolute;overflow:clip}@media (width<=1100px){.scene-rail{display:none}.mobile-scene{display:flex}}@media (width<=700px){.world-layout{min-height:100dvh}.intro-rail,.scene-rail{display:none}.scene-stage{width:100%;margin:var(--space-0) auto}.stage-header{padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px))}.bottom-nav{padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}.mobile-scene{display:flex}}@media (height<=740px){.center-sheet{margin-top:var(--space-5)}}@media (width<=359px){#screen,.stage-header{padding-right:var(--space-3);padding-left:var(--space-3)}.header-actions{gap:var(--space-0)}.balance{font-size:12px}}::selection{color:var(--color-ink);background:var(--color-accent)}input,textarea{caret-color:var(--color-ink)}button,input,textarea,select{letter-spacing:0}h1,h2,.wordmark,.stage-brand{font-family:var(--font-display)}.world-layout{grid-template-columns:minmax(0,250px) minmax(0,500px) minmax(0,220px);max-width:1192px;padding:28px 24px}.intro-rail{height:min(760px,100svh - 112px)}.wordmark{font-size:24px}.intro-copy h1{font-size:36px;line-height:1.5}.intro-copy>p{word-break:keep-all;margin-top:22px;font-size:14px;line-height:1.95}.intro-copy>.small{font-size:12px}.intro-rule{margin-top:28px}.rail-foot{line-height:1.8}.rail-foot a{width:fit-content;min-height:32px}.scene-stage{border-radius:0;max-width:500px;height:min(884px,100svh - 56px)}.stage-header{gap:12px;padding-inline:22px}.header-actions{gap:3px}.balance{font-variant-numeric:tabular-nums;border-radius:0}.icon-button{transition:background-color var(--dur-micro), color var(--dur-micro);border-radius:0}.bottom-nav{border-top-color:var(--color-surface-light);min-height:60px}.bottom-nav a{transition:color var(--dur-micro), background-color var(--dur-micro);border-radius:0}.companion-emblem{color:var(--color-ink);border-radius:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.companion-emblem .icon{width:20px;height:20px}.btn{transition:transform var(--dur-micro), background-color var(--dur-micro);border-width:1px}.primary{box-shadow:0 2px 0 var(--color-edge)}.scene-picker h2{font-family:var(--font-body);font-weight:400}.scene-picker>p{margin:8px 0 20px;font-size:12px}#scene-options{gap:12px}.scene-option{border-color:var(--color-ground-line);background:var(--color-surface-light);border-radius:0}.scene-option img{border-radius:0}.scene-option b{margin-bottom:6px;font-weight:400}.scene-option small{line-height:1.7}.night-note{margin-top:28px;padding:24px 0}.night-note p{font-size:12px;line-height:1.9}.scene-credit{font-size:12px}.sheet,input:not([type=radio]):not([type=checkbox]),select,textarea{border-radius:0}.privacy-note{font-size:12px;line-height:1.8}@media (width>=701px){.scene-stage{width:min(100%,56.25svh - 31.5px)}}@media (width<=1100px){.world-layout{grid-template-columns:minmax(0,220px) minmax(0,470px);gap:40px;max-width:800px}.intro-copy h1{font-size:32px}}@media (width<=700px){.world-layout{padding:0;display:block}.scene-stage{border-radius:0;max-width:none;min-height:0}.stage-brand{font-size:23px}.scene-stage{height:var(--app-height)}.keyboard-open .chat-mode .stage-header,.keyboard-open .chat-mode .bottom-nav{display:none}.chat-mode .bottom-nav{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}}@media (height<=560px) and (width<=700px){.chat-mode .stage-header,.chat-mode .bottom-nav{display:none}}body{font-family:var(--font-body);-webkit-font-smoothing:auto;font-synthesis:none;font-size:16px;line-height:1.75}button,input,select,textarea,summary{font-family:var(--font-body);letter-spacing:0;font-weight:400}button,a,input,select,textarea,summary{transition:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px dashed var(--color-focus);outline-offset:4px}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6}.icon{shape-rendering:crispedges}.world-layout{gap:44px}.scene-stage{border:4px solid var(--color-highlight);box-shadow:8px 8px 0 var(--color-ground-line)}.stage-header{background:var(--color-clear);height:64px;color:var(--color-highlight);border-bottom:0;padding:8px 16px}.stage-brand{font-size:24px}.stage-brand .icon,.wordmark .icon{width:24px;height:24px}.balance{border:2px solid var(--color-ground-line);background:var(--color-ground-soft);min-height:36px;box-shadow:2px 2px 0 var(--color-shadow);padding:4px 8px;font-size:14px}.balance .icon{width:16px;height:16px}.icon-button{width:44px;min-width:44px;height:44px;padding:8px}.icon-button .icon{width:20px;height:20px}.icon-button:hover{background:var(--color-accent-wash);outline:2px solid var(--color-ground-line);outline-offset:-2px}#screen{padding:14px 20px 18px}.bottom-nav{background:var(--color-paper);border-top:0;gap:6px;padding:6px 10px 8px}.bottom-nav a{border:2px solid var(--color-clear);gap:2px;min-height:44px;font-size:14px}.bottom-nav a[aria-current]{color:var(--color-button-ink);background:var(--color-button);border-color:var(--color-edge);box-shadow:inset 0 2px 0 var(--color-button-hover), 2px 2px 0 var(--color-shadow)}.bottom-nav a:hover:not([aria-current]){border-color:var(--color-ground-line);color:var(--color-ink)}.bottom-nav .icon{width:20px;height:20px}.sheet{box-shadow:var(--pixel-frame), inset 0 4px 0 var(--color-highlight);border:0;margin:4px 4px 6px;padding:12px}.screen-title{border-bottom:2px dashed var(--color-line);margin-bottom:10px;padding-bottom:6px}.screen-title h2{font-size:20px;line-height:1.5}.screen-title p{margin-top:4px;font-size:13px;line-height:1.7}.center-sheet{margin-top:40px}.btn{border:2px solid var(--color-edge);min-height:44px;box-shadow:var(--pixel-raised);padding:6px 12px;font-size:15px;font-weight:400;line-height:1.5}.btn:active:not(:disabled){box-shadow:inset 0 2px 0 var(--color-paper-inset);transform:translateY(4px)}.btn:disabled{box-shadow:none;border-style:dashed}.primary{background:var(--color-button)}.secondary{background:var(--color-paper-soft)}.back-link{min-height:36px;font-size:13px}.back-link .icon{width:16px;height:16px}.text-link{min-height:36px;font-size:13px}.small,.privacy-note,.field-note{font-size:12px;line-height:1.6}.field{gap:4px}.field-label{color:var(--color-ink);font-size:13px}input:not([type=radio]):not([type=checkbox]),select,textarea{border:2px solid var(--color-edge);background-color:var(--color-paper-soft);min-height:44px;box-shadow:var(--pixel-inset);padding:6px 10px;font-size:16px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:not([type=radio]):not([type=checkbox]):focus,select:focus,textarea:focus{background-color:var(--color-highlight)}select{appearance:none;background-image:var(--select-arrow);cursor:pointer;background-position:right 8px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:28px}input[type=checkbox],input[type=radio]{appearance:none;border:2px solid var(--color-edge);background:var(--color-paper-soft);cursor:pointer;flex:none;place-content:center;width:20px;height:20px;margin:0;display:inline-grid}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--color-button)}input[type=checkbox]:checked:before{content:"";background:var(--color-button-ink);clip-path:polygon(0 4px,4px 4px,4px 8px,6px 8px,6px 4px,8px 4px,8px 2px,10px 2px,10px 0,12px 0,12px 6px,10px 6px,10px 8px,8px 8px,8px 10px,6px 10px,6px 12px,4px 12px,4px 10px,2px 10px,2px 8px,0 8px);width:12px;height:12px}input[type=radio]:checked:before{content:"";background:var(--color-button-ink);width:8px;height:8px}.check{cursor:pointer;min-height:44px;font-size:14px}.subtle-button{border:2px solid var(--color-edge);background:var(--color-paper-soft);min-height:44px;box-shadow:2px 2px 0 var(--color-paper-inset);font-size:14px}.notice{border:2px dashed var(--color-line);background:var(--color-paper-soft);padding:6px 8px;font-size:13px}.form-error{border:2px solid var(--color-error);box-shadow:2px 2px 0 var(--color-paper-inset);font-size:13px}.companion-emblem{background:var(--color-paper-inset);border:2px solid var(--color-edge);width:40px;height:40px;box-shadow:2px 2px 0 var(--color-line)}.scene-option{border:2px solid var(--color-ground-line);box-shadow:4px 4px 0 var(--color-shadow);gap:12px;padding:12px}.scene-option.selected{border-color:var(--color-accent);background:var(--color-accent-wash);box-shadow:4px 4px 0 var(--color-edge)}.scene-option img{border:2px solid var(--color-ground-line)}.scene-option b{font-size:14px}.scene-option small{font-size:12px}.selection-mark{width:16px;height:16px;font-size:16px;line-height:1;top:8px;right:8px}.scene-picker h2{font-size:16px}.intro-rule{width:32px;height:4px;box-shadow:8px 4px 0 var(--color-ground-line)}.night-note{border-top:2px dashed var(--color-ground-line)}.rail-foot{font-size:14px}summary{cursor:pointer;min-height:44px;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"";clip-path:polygon(0 0,4px 0,4px 2px,6px 2px,6px 4px,8px 4px,8px 8px,6px 8px,6px 10px,4px 10px,4px 12px,0 12px);background:currentColor;width:8px;height:12px;margin-right:10px;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}@media (width<=700px){.scene-stage{box-shadow:none;border:0}.stage-header{height:calc(64px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px}.chat-mode .stage-header{height:calc(60px + env(safe-area-inset-top,0px))}#screen{padding:14px 16px 18px}.bottom-nav{padding:4px 8px calc(6px + env(safe-area-inset-bottom,0px));min-height:58px}.bottom-nav a{min-height:44px}.chat-mode .bottom-nav{min-height:54px}.chat-mode .bottom-nav a{min-height:44px}}@media (width<=359px){#screen{padding-inline:16px}.sheet{padding:10px}.screen-title h2{font-size:18px}.bottom-nav{gap:4px}.bottom-nav a{font-size:12px}.stage-brand{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){input[type=radio],input[type=checkbox],select{appearance:auto}.sheet{border:2px solid}}:where([data-page=home]) .home-screen{flex-direction:column;height:100%;display:flex}:where([data-page=home]) .home-heading{padding-top:var(--space-10)}:where([data-page=home]) .home-heading p{text-shadow:1px 1px var(--color-edge)}:where([data-page=home]) .welcome-dialogue{background:var(--color-paper);color:var(--color-ink);margin-top:auto}:where([data-page=home]) .dialogue-heading{color:var(--color-muted);align-items:center;font-size:13px;display:flex}:where([data-page=home]) .dialogue-heading .icon{width:16px;height:16px}:where([data-page=home]) .dialogue-heading .companion-emblem .icon{width:20px;height:20px}:where([data-page=home]) .dialogue-note{text-align:center;margin-top:var(--space-3);color:var(--color-muted);font-size:12px;display:block}:where([data-page=home]) .scene-caption{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-paper);text-shadow:1px 1px var(--color-edge);display:flex}:where([data-page=home]) .scene-caption .icon{width:14px;height:14px}:where([data-page=home]) .connection-note{background:var(--color-dark-glass);padding:var(--space-2);margin-top:var(--space-2);font-size:12px}@media (width<=700px){:where([data-page=home]) .home-heading{padding-top:var(--space-12)}}@media (height<=740px){:where([data-page=home]) .dialogue-note{margin-top:var(--space-2);font-size:12px}}:where([data-page=home]) .home-heading{text-align:left}:where([data-page=home]) .home-heading h2{text-wrap:initial}:where([data-page=home]) .home-heading p{color:var(--color-outer-text)}:where([data-page=home]) .welcome-dialogue{border-radius:0}:where([data-page=home]) .dialogue-heading b{font-family:var(--font-display);color:var(--color-ink);font-weight:400;line-height:1.4;display:block}:where([data-page=home]) .dialogue-heading>div>span{margin-top:3px;display:block}:where([data-page=home]) .welcome-dialogue>p{word-break:keep-all}:where([data-page=home]) .home-secondary{width:fit-content;min-height:40px;color:var(--color-muted);align-items:center;margin:9px auto -7px;display:flex}:where([data-page=home]) .home-secondary:hover{color:var(--color-ink);text-underline-offset:4px;text-decoration:underline}@media (width<=700px){:where([data-page=home]) .home-heading{padding:30px 6px 16px}:where([data-page=home]) .home-heading h2{font-size:34px}}@media (height<=740px){:where([data-page=home]) .home-secondary{min-height:34px}:where([data-page=home]) .scene-caption{padding-top:12px}}@media (width<=359px){:where([data-page=home]) .welcome-dialogue{padding:18px}}:where([data-page=home]) .home-heading{padding:28px 4px 20px}:where([data-page=home]) .home-heading h2{text-shadow:4px 4px 0 var(--color-edge);font-size:32px;line-height:1.6}:where([data-page=home]) .home-heading p{margin-top:12px;font-size:16px;line-height:1.75}:where([data-page=home]) .welcome-dialogue{box-shadow:var(--pixel-frame), inset 0 4px 0 var(--color-highlight);border:0;margin-inline:4px;padding:20px}:where([data-page=home]) .dialogue-heading{border-bottom:2px dashed var(--color-line);gap:12px;padding-bottom:12px}:where([data-page=home]) .dialogue-heading b{font-size:20px}:where([data-page=home]) .dialogue-heading>div>span{font-size:12px;line-height:1.6}:where([data-page=home]) .welcome-dialogue>p{margin:16px 0 20px;font-size:16px;line-height:1.85}:where([data-page=home]) .home-secondary{margin-top:12px;font-size:14px}:where([data-page=home]) .scene-caption{padding-top:20px;font-size:12px}@media (height<=740px){:where([data-page=home]) .home-heading{padding-top:8px;padding-bottom:12px}:where([data-page=home]) .home-heading h2{font-size:28px;line-height:1.45}:where([data-page=home]) .home-heading p{margin-top:8px;font-size:14px}:where([data-page=home]) .welcome-dialogue{padding:16px}:where([data-page=home]) .welcome-dialogue>p{margin:12px 0 16px;font-size:14px}:where([data-page=home]) .dialogue-heading>div>span{font-size:12px}}:where([data-page=birth]) .birth-form{flex-direction:column;display:flex;container:birth-form/inline-size}:where([data-page=birth]) .birth-identity{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:where([data-page=birth]) .birth-identity.without-name{grid-template-columns:minmax(0,1fr)}:where([data-page=birth]) .birth-form .field{min-width:0}:where([data-page=birth]) .birth-form .field-label{margin-bottom:var(--space-0)}:where([data-page=birth]) .birth-form legend.field-label{margin-bottom:var(--space-2)}:where([data-page=birth]) .birth-field-heading{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}:where([data-page=birth]) .birth-form .birth-segments{margin:var(--space-0);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:where([data-page=birth]) .birth-segments .pill{min-height:44px;padding:var(--space-1) var(--space-2);justify-content:center;position:relative}:where([data-page=birth]) .birth-segments input{clip-path:inset(50%);overflow:clip}:where([data-page=birth]) .birth-segments .pill:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}:where([data-page=birth]) .birth-field-heading .birth-segments{min-width:120px}:where([data-page=birth]) .birth-time-row{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto}:where([data-page=birth]) .birth-time-row input[type=time]{padding-inline:var(--space-2);font-size:14px}:where([data-page=birth]) .birth-time-row .check{min-height:44px}:where([data-page=birth]) .birth-place-skip{background:var(--color-clear);color:var(--color-muted);text-underline-offset:3px}:where([data-page=birth]) .birth-place-skip:hover{color:var(--color-ink);background:var(--color-paper-inset)}:where([data-page=birth]) .birth-sheet{margin-top:var(--space-0)}:where([data-page=birth]) .birth-sheet .back-link{margin-bottom:var(--space-2)}:where([data-page=birth]) .birth-sheet .screen-title{margin-bottom:var(--space-4)}:where([data-page=birth]) .birth-sheet .privacy-note{margin-top:var(--space-3)}@container birth-form (width<=280px){:where([data-page=birth]) .birth-time-row{grid-template-columns:minmax(0,1fr) auto}:where([data-page=birth]) .birth-time-row>.field-label{grid-column:1/-1}}:where([data-page=birth]) .pills{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}:where([data-page=birth]) .pill{align-items:center;gap:var(--space-2);cursor:pointer;background:var(--color-paper-soft);border:1px solid var(--color-line);min-height:36px;padding:var(--space-1) var(--space-3);font-size:14px;display:flex}:where([data-page=birth]) .ymd{gap:var(--space-2);grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));display:grid}:where([data-page=birth]) .ymd select{padding:var(--space-3) var(--space-2);cursor:pointer}@container birth-form (width<=280px){:where([data-page=birth]) .ymd select{padding-inline:var(--space-1)}}:where([data-page=birth]) .row{align-items:center;gap:var(--space-3);display:flex}:where([data-page=birth]) .row input[type=time]{flex:1}:where([data-page=birth]) .place-search{position:relative}:where([data-page=birth]) .place-search input{padding-right:var(--space-8)!important}:where([data-page=birth]) .place-mark{font-style:normal;position:absolute}:where([data-page=birth]) .place-list{padding:var(--space-0);margin:var(--space-0);max-height:180px;list-style:none;overflow-y:auto}:where([data-page=birth]) .place-list li{cursor:pointer;justify-content:space-between;gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}:where([data-page=birth]) .place-list li:hover,:where([data-page=birth]) .place-list [aria-selected=true]{background:var(--color-paper-inset)}:where([data-page=birth]) .place-list small{color:var(--color-muted);font-size:12px}:where([data-page=birth]) .place-empty{font-size:13px}:where([data-page=birth]) .chip{background:var(--color-clear);border:1px solid var(--color-line);padding:var(--space-2) var(--space-3);min-height:36px;font-size:13px}:where([data-page=birth]) .chip:hover{background:var(--color-paper-inset);color:var(--color-ink)}:where([data-page=birth]) .birth-segments .pill{border-radius:0;font-size:13px}:where([data-page=birth]) .ymd select{min-height:44px;font-size:16px}:where([data-page=birth]) .birth-time-row input[type=time],:where([data-page=birth]) .place-search input{font-size:16px}:where([data-page=birth]) .place-list{border-radius:0}:where([data-page=birth]) .place-list li{align-items:center}:where([data-page=birth]) .pill{border-radius:0}:where([data-page=birth]) .birth-form .ymd select,:where([data-page=birth]) .birth-time-selects select{cursor:pointer}:where([data-page=birth]) .birth-time-row{align-items:stretch;display:flex}:where([data-page=birth]) .birth-time-selects{gap:var(--space-2);grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));display:grid}@container birth-form (width<=280px){:where([data-page=birth]) .birth-form .ymd select,:where([data-page=birth]) .birth-time-selects select{padding-inline:4px}}:where([data-page=birth]) .birth-form{gap:14px}:where([data-page=birth]) .birth-form .field-label{font-size:13px}:where([data-page=birth]) .birth-form .birth-segments{gap:8px}:where([data-page=birth]) .pill,:where([data-page=birth]) .birth-segments .pill{border:2px solid var(--color-edge);min-height:44px;box-shadow:0 3px 0 var(--color-paper-inset);padding:4px 8px;font-size:13px}:where([data-page=birth]) .pill:has(input:checked){border-color:var(--color-edge);background:var(--color-button);color:var(--color-button-ink);box-shadow:inset 0 2px 0 var(--color-button-hover), 0 3px 0 var(--color-edge)}:where([data-page=birth]) .birth-segments input{width:1px;height:1px;margin:-1px;position:absolute}:where([data-page=birth]) .pill:has(input:checked) span:before{content:"";vertical-align:middle;background:var(--color-button-ink);width:4px;height:4px;margin-right:8px;display:inline-block}:where([data-page=birth]) .birth-form .ymd select,:where([data-page=birth]) .birth-time-selects select{min-height:44px;padding:6px 22px 6px 8px;font-size:16px}:where([data-page=birth]) .birth-time-row{flex-direction:column}:where([data-page=birth]) .birth-time-row>.birth-field-heading{width:100%}:where([data-page=birth]) .birth-place-skip{border:2px solid var(--color-line);min-height:36px;padding:4px 8px;font-size:12px;text-decoration:none}:where([data-page=birth]) .place-search input{font-size:16px}:where([data-page=birth]) .place-list{border:2px solid var(--color-edge);box-shadow:4px 4px 0 var(--color-paper-inset)}:where([data-page=birth]) .place-list li{border-bottom:2px dashed var(--color-line);min-height:40px;font-size:13px}:where([data-page=birth]) .place-list [aria-selected=true]{background:var(--color-paper-inset)}:where([data-page=birth]) .place-mark{top:12px;right:12px}@container birth-form (width<=280px){:where([data-page=birth]) .birth-form .ymd select,:where([data-page=birth]) .birth-time-selects select{background-position:right 4px center;padding-left:4px;padding-right:18px;font-size:16px}:where([data-page=birth]) .birth-time-selects{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr))}:where([data-page=birth]) .birth-identity{gap:8px}:where([data-page=birth]) .birth-form .birth-segments{gap:4px}:where([data-page=birth]) .birth-segments .pill{padding-inline:4px}:where([data-page=birth]) .birth-segments .pill span{white-space:nowrap}:where([data-page=birth]) .pill:has(input:checked) span:before{margin-right:4px}}:where([data-page=saju]) .chart-intro{padding-bottom:var(--space-5);align-items:center;display:flex}:where([data-page=saju]) .element-seal{text-align:center}:where([data-page=saju]) .chart-intro p{color:var(--color-muted);margin-top:var(--space-1)}:where([data-page=saju]) [data-element=목]{color:var(--color-wood);--element:var(--color-wood)}:where([data-page=saju]) [data-element=화]{color:var(--color-fire);--element:var(--color-fire)}:where([data-page=saju]) [data-element=토]{color:var(--color-earth);--element:var(--color-earth)}:where([data-page=saju]) [data-element=금]{color:var(--color-metal);--element:var(--color-metal)}:where([data-page=saju]) [data-element=수]{color:var(--color-water);--element:var(--color-water)}:where([data-page=saju]) .pillars{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}:where([data-page=saju]) .pillar{text-align:center;flex-direction:column;align-items:center;display:flex}:where([data-page=saju]) .pillar>span{color:var(--color-muted);font-size:12px}:where([data-page=saju]) .pillar>b{font-weight:400;line-height:1.25}:where([data-page=saju]) .pillar>small{font-size:12px}:where([data-page=saju]) .elements{padding:var(--space-6) var(--space-0)}:where([data-page=saju]) .elements h3{margin-bottom:var(--space-4);font-size:16px}:where([data-page=saju]) .element-bars{gap:var(--space-2);flex-direction:column;display:flex}:where([data-page=saju]) .element-row{align-items:center;display:flex}:where([data-page=saju]) .element-row meter{appearance:none;flex:1;width:100%}:where([data-page=saju]) .element-row meter::-webkit-meter-bar{border:0;border-radius:0}:where([data-page=saju]) .element-row meter::-webkit-meter-optimum-value{border-radius:0}:where([data-page=saju]) .element-row b{font-weight:400}:where([data-page=saju]) .elements .small{margin-top:var(--space-3);font-size:12px}:where([data-page=saju]) .reading-text{margin-bottom:var(--space-6)}:where([data-page=saju]) .reading-text summary{cursor:pointer;padding:var(--space-3) var(--space-0)}:where([data-page=saju]) .reading-text p{white-space:pre-line;padding-bottom:var(--space-4)}:where([data-page=saju]) .chart-intro h3{line-height:1.7}:where([data-page=saju]) .element-seal{font-family:var(--font-display)}:where([data-page=saju]) .pillar{gap:6px;padding-block:14px}:where([data-page=saju]) .pillar>b{font-family:var(--font-display)}:where([data-page=saju]) .chart-intro{gap:12px}:where([data-page=saju]) .chart-intro h3{font-size:16px}:where([data-page=saju]) .chart-intro p{font-size:13px}:where([data-page=saju]) .element-seal{background:var(--color-paper-soft);border:2px solid var(--color-edge);min-width:44px;box-shadow:4px 4px 0 var(--color-paper-inset);padding:6px;font-size:26px}:where([data-page=saju]) .pillars{border:0;gap:4px}:where([data-page=saju]) .pillar{border:2px solid var(--color-line);background:var(--color-paper-soft);padding:8px 4px}:where([data-page=saju]) .pillar>span,:where([data-page=saju]) .pillar>small{font-size:12px}:where([data-page=saju]) .pillar>b{font-size:22px}:where([data-page=saju]) .day-pillar{border-color:var(--color-edge);background:var(--color-paper-inset);box-shadow:0 4px 0 var(--color-edge)}:where([data-page=saju]) .elements{padding-block:16px}:where([data-page=saju]) .element-row{gap:8px;font-size:13px}:where([data-page=saju]) .element-row meter{border:2px solid var(--color-edge);background:var(--color-paper-inset);height:16px}:where([data-page=saju]) .element-row meter::-webkit-meter-bar{background:var(--color-paper-inset);height:12px}:where([data-page=saju]) .element-row meter::-webkit-meter-optimum-value{background:repeating-linear-gradient(90deg, var(--element) 0, var(--element) 10px, var(--color-paper-inset) 10px, var(--color-paper-inset) 12px)}:where([data-page=saju]) .element-row meter::-moz-meter-bar{background:repeating-linear-gradient(90deg, var(--element) 0, var(--element) 10px, var(--color-paper-inset) 10px, var(--color-paper-inset) 12px)}:where([data-page=saju]) .reading-text details{border-top:2px dashed var(--color-line)}:where([data-page=saju]) .reading-text summary{padding-block:8px;font-size:14px}:where([data-page=saju]) .reading-text p{font-size:14px;line-height:1.8}:where([data-page=saju]) .btn+.btn{margin-top:12px}:where([data-page=match]) [data-element=목]{color:var(--color-wood)}:where([data-page=match]) [data-element=화]{color:var(--color-fire)}:where([data-page=match]) [data-element=토]{color:var(--color-earth)}:where([data-page=match]) [data-element=금]{color:var(--color-metal)}:where([data-page=match]) [data-element=수]{color:var(--color-water)}:where([data-page=match]) .match-score{justify-content:center;gap:8px;padding-top:8px;display:flex}:where([data-page=match]) .match-score .icon{width:28px;height:28px;color:var(--color-line)}:where([data-page=match]) .match-score .icon.on{color:var(--color-error)}:where([data-page=match]) .match-verdict{text-align:center;word-break:keep-all;margin:8px 0 14px}:where([data-page=match]) .match-pair{border:2px solid var(--color-line);background:var(--color-paper-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px 8px;display:grid}:where([data-page=match]) .match-pair>div{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}:where([data-page=match]) .match-pair>p{text-align:center;color:var(--color-muted);word-break:keep-all;max-width:8em;font-size:12px;line-height:1.6}:where([data-page=match]) .match-pair small{text-align:center;overflow-wrap:anywhere;font-size:12px}:where([data-page=match]) .element-seal{font-family:var(--font-display);text-align:center;background:var(--color-paper-inset);border:2px solid var(--color-edge);min-width:44px;box-shadow:4px 4px 0 var(--color-paper-inset);padding:6px;font-size:26px;line-height:1.25}:where([data-page=match]) .match-why{padding:20px 0 8px}:where([data-page=match]) .match-why h3{margin-top:12px;font-size:16px}:where([data-page=match]) .match-why ul{margin:4px 0 8px;padding:0;list-style:none}:where([data-page=match]) .match-why li{gap:8px;font-size:14px;line-height:1.8;display:flex}:where([data-page=match]) .match-why li b{flex:none;font-weight:400}:where([data-page=match]) .match-why>p{color:var(--color-muted);margin-top:8px;font-size:14px;line-height:1.8}:where([data-page=match]) .match-text{margin-bottom:24px}:where([data-page=match]) .match-text details{border-top:2px dashed var(--color-line)}:where([data-page=match]) .match-text summary{cursor:pointer;padding-block:8px;font-size:14px}:where([data-page=match]) .match-text p{white-space:pre-line;padding-bottom:10px;font-size:14px;line-height:1.8}#screen:where([data-page=chat]).is-chat{overflow:clip auto}:where([data-page=chat]) .chat-screen{flex-direction:column;height:100%;display:flex}:where([data-page=chat]) .chat-header{background:var(--color-chat-glass);flex:none;justify-content:space-between;align-items:center;display:flex}:where([data-page=chat]) .chat-header p{color:var(--color-outer-muted)}:where([data-page=chat]) .chat-header .subtle-button{border-color:var(--color-ground-line);font-size:12px}:where([data-page=chat]) .chat-header-actions{align-items:center;gap:var(--space-2);display:flex}:where([data-page=chat]) .chat-header-actions .subtle-button{white-space:nowrap;min-height:36px}:where([data-page=chat]) .memory-panel{min-height:100px;max-height:min(48%,350px);padding:var(--space-4) var(--space-5);background:var(--color-paper);color:var(--color-ink);border-bottom:2px solid var(--color-edge);scrollbar-width:thin;flex:none;overflow-y:auto}:where([data-page=chat]) .memory-heading,:where([data-page=chat]) .memory-item-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}:where([data-page=chat]) .memory-heading>div{display:flex}:where([data-page=chat]) .memory-heading .subtle-button{min-height:32px;font-size:12px}:where([data-page=chat]) .memory-intro{margin-top:var(--space-3);color:var(--color-muted)}:where([data-page=chat]) .memory-status,:where([data-page=chat]) .memory-empty{padding:var(--space-3) var(--space-0);font-size:13px;line-height:1.8}:where([data-page=chat]) .memory-summary{border-top:1px solid var(--color-line);font-size:13px}:where([data-page=chat]) .memory-summary summary{cursor:pointer}:where([data-page=chat]) .memory-summary p{padding-top:var(--space-2);white-space:pre-line;overflow-wrap:anywhere}:where([data-page=chat]) .memory-list{margin:var(--space-0);padding:var(--space-0);list-style:none}:where([data-page=chat]) .memory-list li:last-child{border-bottom:0}:where([data-page=chat]) .memory-item-top{color:var(--color-muted)}:where([data-page=chat]) .memory-item-top .text-link{margin:var(--space-0);min-height:32px;font-size:12px}:where([data-page=chat]) .memory-list li>p{overflow-wrap:anywhere}:where([data-page=chat]) .memory-date{color:var(--color-muted);display:block}:where([data-page=chat]) .memory-keywords{flex-wrap:wrap;display:flex}:where([data-page=chat]) .memory-keywords span{overflow-wrap:anywhere}:where([data-page=chat]) #memory-error{margin-top:var(--space-2);color:var(--color-error)}:where([data-page=chat]) .chat-save-note{line-height:1.6}:where([data-page=chat]) .messages{scrollbar-width:thin;flex-direction:column;flex:1;align-items:flex-start;display:flex;overflow-y:auto}:where([data-page=chat]) .message{color:var(--color-ink);overflow-wrap:anywhere}:where([data-page=chat]) .message p{white-space:pre-wrap}:where([data-page=chat]) .message-name{display:block}:where([data-page=chat]) .message.user{align-self:flex-end}:where([data-page=chat]) .chat-bottom{flex:none}:where([data-page=chat]) .chat-bottom .notice{margin-top:var(--space-0)}:where([data-page=chat]) .suggestions{scrollbar-width:none;display:flex;overflow-x:auto}:where([data-page=chat]) .suggestions button{flex:none}:where([data-page=chat]) .composer{display:flex}:where([data-page=chat]) .composer textarea{resize:none;flex:1;overflow:hidden}:where([data-page=chat]) .send-button,:where([data-page=chat]) .stop-button{background:var(--color-button);justify-content:center;align-items:center;display:flex}:where([data-page=chat]) .send-button:hover,:where([data-page=chat]) .stop-button:hover{background:var(--color-button-hover)}:where([data-page=chat]) .composer-note{justify-content:space-between;display:flex}:where([data-page=chat]) .chat-charge{padding:var(--space-2) var(--space-0);font-size:13px;text-decoration:underline}#screen:where([data-page=chat]).is-chat{padding:0;overflow:clip}:where([data-page=chat]) .chat-screen{min-height:0}:where([data-page=chat]) .chat-identity{align-items:center;min-width:0;display:flex}:where([data-page=chat]) .chat-identity .companion-emblem{background:var(--color-accent-wash);color:var(--color-accent);border-radius:0}:where([data-page=chat]) .chat-header h2{font-family:var(--font-body);font-weight:400}:where([data-page=chat]) .chat-header p{margin-top:3px}:where([data-page=chat]) .memory-toggle{min-height:44px;color:var(--color-outer-text);border-radius:0;flex:none;align-items:center;gap:7px;display:flex}:where([data-page=chat]) .memory-toggle .icon{width:16px;height:16px;color:var(--color-accent)}:where([data-page=chat]) .memory-toggle:hover{background:var(--color-accent-wash);border-color:var(--color-accent)}:where([data-page=chat]) .memory-count{background:var(--color-accent);min-width:20px;height:20px;color:var(--color-ink);border-radius:0;justify-content:center;align-items:center;padding-inline:4px;font-weight:400;display:inline-flex}:where([data-page=chat]) .messages{overscroll-behavior:contain;scrollbar-color:var(--color-outer-muted) var(--color-clear);min-height:0}:where([data-page=chat]) .message{background:var(--color-bubble);border-radius:0;flex:none}:where([data-page=chat]) .message p{word-break:keep-all;overflow-wrap:anywhere}:where([data-page=chat]) .message p strong{font-weight:400}:where([data-page=chat]) .message-name{color:var(--color-muted)}:where([data-page=chat]) .message.user{border-bottom-right-radius:0;border-bottom-left-radius:0}:where([data-page=chat]) .greeting{margin-top:auto}:where([data-page=chat]) .chat-bottom{background:var(--color-dark-glass);color:var(--color-outer-text)}:where([data-page=chat]) .chat-bottom .notice{color:var(--color-outer-muted);border-color:var(--color-ground-line)}:where([data-page=chat]) .chat-save-note{color:var(--color-outer-muted);padding-bottom:8px;font-size:12px}:where([data-page=chat]) .chat-bottom .form-error{border-radius:0;margin:0 0 10px}:where([data-page=chat]) .suggestions{padding-bottom:12px}:where([data-page=chat]) .suggestions button{color:var(--color-outer-text);border-radius:0}:where([data-page=chat]) .suggestions button:hover{background:var(--color-accent-wash);border-color:var(--color-accent)}:where([data-page=chat]) .composer{background:var(--color-paper);border-radius:0;align-items:flex-end}:where([data-page=chat]) .composer textarea{border-radius:0;max-height:144px}:where([data-page=chat]) .composer textarea:focus-visible{outline:none}:where([data-page=chat]) .send-button,:where([data-page=chat]) .stop-button{color:var(--color-button-ink);border-radius:0}:where([data-page=chat]) .send-button:disabled{opacity:.4}:where([data-page=chat]) .stop-button{padding-inline:9px}:where([data-page=chat]) .composer-note{color:var(--color-outer-muted);padding:0 2px}:where([data-page=chat]) .chat-charge{color:var(--color-accent);min-height:40px;display:block}:where([data-page=chat]) dialog.memory-panel{background:var(--color-paper);max-width:360px;min-height:0;color:var(--color-ink);border-radius:0;margin:auto;padding:0;overflow:clip}:where([data-page=chat]) dialog.memory-panel[open]{flex-direction:column;display:flex}:where([data-page=chat]) .memory-heading{flex:none;gap:8px}:where([data-page=chat]) .memory-heading-title{align-items:center;display:flex}:where([data-page=chat]) .memory-heading-title>.icon{color:var(--color-muted)}:where([data-page=chat]) .memory-heading h3{font-family:var(--font-display)}:where([data-page=chat]) .memory-heading>div{gap:4px}:where([data-page=chat]) .memory-heading .icon-button{color:var(--color-muted)}:where([data-page=chat]) .memory-heading .icon-button:hover{background:var(--color-paper-inset);color:var(--color-ink)}:where([data-page=chat]) .memory-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-line) var(--color-clear);min-height:0;overflow-y:auto}:where([data-page=chat]) .memory-intro{margin:10px 0;line-height:1.7}:where([data-page=chat]) .memory-summary{border-bottom:0;margin-top:12px}:where([data-page=chat]) .memory-summary summary{min-height:40px;padding-block:8px}:where([data-page=chat]) .memory-summary p{padding:0 0 10px;line-height:1.7}:where([data-page=chat]) .memory-list li{border-bottom:0;padding:14px 0 18px}:where([data-page=chat]) .memory-item-top{min-height:28px;margin-bottom:0}:where([data-page=chat]) .memory-forget{width:44px;height:44px;color:var(--color-muted);background:var(--color-clear);border-radius:0;justify-content:center;align-items:center;margin:-5px -10px -5px 0;display:flex}:where([data-page=chat]) .memory-forget .icon{width:16px;height:16px}:where([data-page=chat]) .memory-forget:hover{color:var(--color-error);background:var(--color-paper-inset)}:where([data-page=chat]) .memory-list li>p{line-height:1.7}:where([data-page=chat]) .memory-date{margin-top:6px;font-size:12px}:where([data-page=chat]) .memory-keywords{margin-top:8px}:where([data-page=chat]) .memory-keywords span{background:var(--color-paper-soft);color:var(--color-muted);border-radius:0}:where([data-page=chat]) .memory-status{background:var(--color-paper-soft);border-radius:0;padding:8px 10px}:where([data-page=chat]) .memory-empty{text-align:center;color:var(--color-muted);padding:20px 0 24px;line-height:1.7}:where([data-page=chat]) .memory-footer{background:var(--color-paper-soft);flex:none}:where([data-page=chat]) .memory-footer>p{color:var(--color-muted)}:where([data-page=chat]) .clear-chat-button{background:var(--color-clear);width:100%;color:var(--color-error);border-radius:0;justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}:where([data-page=chat]) .clear-chat-button .icon{width:15px;height:15px}:where([data-page=chat]) .clear-chat-button:hover{border-color:var(--color-error);background:var(--color-paper)}:where([data-page=chat]) #memory-error{padding-bottom:8px;font-size:12px}@media (width<=700px){:where([data-page=chat]) dialog.memory-panel{border-bottom:0;border-radius:0}}@media (height<=560px) and (width<=700px){:where([data-page=chat]) .messages{padding-block:12px}:where([data-page=chat]) .chat-bottom{padding-top:8px}}@media (width<=359px){:where([data-page=chat]) .chat-header{padding-inline:12px}:where([data-page=chat]) .chat-identity{gap:7px}:where([data-page=chat]) .memory-toggle{padding-inline:8px}}:where([data-page=chat]) .composer:has(textarea:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}:where([data-page=chat]) .chat-header{border-top:0;border-bottom:2px solid var(--color-ground-line);gap:8px;padding:8px 12px}:where([data-page=chat]) .chat-header h2{font-size:16px;line-height:1.6}:where([data-page=chat]) .chat-header p{font-size:12px}:where([data-page=chat]) .chat-identity{gap:10px}:where([data-page=chat]) .chat-identity .companion-emblem{border-color:var(--color-ground-line);width:36px;height:36px;box-shadow:2px 2px 0 var(--color-shadow)}:where([data-page=chat]) .memory-toggle{border:2px solid var(--color-ground-line);background:var(--color-ground-soft);box-shadow:2px 2px 0 var(--color-shadow);padding:8px;font-size:12px}:where([data-page=chat]) .memory-count{border:1px solid var(--color-edge);font-size:12px}:where([data-page=chat]) .messages{gap:16px;padding:14px 16px 16px}:where([data-page=chat]) .message{max-width:88%;box-shadow:var(--pixel-frame);border:0;padding:8px 12px}:where([data-page=chat]) .message.user{background:var(--color-bubble-user)}:where([data-page=chat]) .message p{letter-spacing:0;font-size:16px;line-height:1.6}:where([data-page=chat]) .message-name{border-bottom:2px dashed var(--color-line);margin-bottom:4px;padding-bottom:4px;font-size:12px;font-weight:400}:where([data-page=chat]) .chat-bottom{border-top:2px solid var(--color-ground-line);padding:10px 12px 8px}:where([data-page=chat]) .chat-bottom .notice{background:var(--color-ground-soft);font-size:12px}:where([data-page=chat]) .suggestions{gap:6px;padding:2px 2px 8px}:where([data-page=chat]) .suggestions button{border:2px solid var(--color-ground-line);background:var(--color-ground-soft);min-height:34px;box-shadow:2px 2px 0 var(--color-shadow);padding:4px 10px;font-size:12px}:where([data-page=chat]) .composer{border:2px solid var(--color-edge);box-shadow:0 4px 0 var(--color-shadow);gap:6px;padding:4px}:where([data-page=chat]) .composer:focus-within{border-color:var(--color-accent);box-shadow:0 4px 0 var(--color-shadow)}:where([data-page=chat]) .composer textarea{min-height:44px;box-shadow:none;background:var(--color-paper);border:0;padding:8px;font-size:16px;line-height:1.5}:where([data-page=chat]) .send-button,:where([data-page=chat]) .stop-button{border:2px solid var(--color-edge);min-width:44px;height:44px;box-shadow:inset 0 2px 0 var(--color-button-hover)}:where([data-page=chat]) .send-button .icon{width:20px;height:20px}:where([data-page=chat]) .stop-button{font-size:12px}:where([data-page=chat]) .composer-note{margin-top:6px;font-size:12px;line-height:1.6}:where([data-page=chat]) .chat-save-note,:where([data-page=chat]) .chat-charge{font-size:12px}:where([data-page=chat]) dialog.memory-panel{width:min(360px,100% - 32px);max-height:66dvh;box-shadow:var(--pixel-frame);border:0}:where([data-page=chat]) dialog.memory-panel::backdrop{background:var(--color-modal-shade);-webkit-backdrop-filter:none;backdrop-filter:none}:where([data-page=chat]) .memory-heading{border-bottom:2px solid var(--color-edge);background:var(--color-paper-inset);padding:4px 8px 4px 12px}:where([data-page=chat]) .memory-heading h3{font-size:16px}:where([data-page=chat]) .memory-heading-title{gap:8px}:where([data-page=chat]) .memory-heading-title>.icon{width:16px;height:16px}:where([data-page=chat]) .memory-heading .icon-button{width:44px;min-width:44px;height:44px}:where([data-page=chat]) .memory-body{padding:0 14px 10px}:where([data-page=chat]) .memory-intro{font-size:12px}:where([data-page=chat]) .memory-summary{border-block:2px dashed var(--color-line);padding:0}:where([data-page=chat]) .memory-summary summary,:where([data-page=chat]) .memory-summary p{font-size:13px}:where([data-page=chat]) .memory-list li{border-top:2px dashed var(--color-line);padding-block:10px}:where([data-page=chat]) .memory-item-top{font-size:12px}:where([data-page=chat]) .memory-list li>p{font-size:14px}:where([data-page=chat]) .memory-keywords{gap:6px}:where([data-page=chat]) .memory-keywords span{border:1px solid var(--color-line);padding:2px 6px;font-size:12px}:where([data-page=chat]) .memory-forget{border:2px solid var(--color-clear)}:where([data-page=chat]) .memory-forget:hover{border-color:var(--color-error)}:where([data-page=chat]) .memory-status{border:2px dashed var(--color-line);font-size:12px}:where([data-page=chat]) .memory-empty{font-size:13px}:where([data-page=chat]) .memory-footer{border-top:2px solid var(--color-edge);padding:8px 14px 12px}:where([data-page=chat]) .memory-footer>p{font-size:12px}:where([data-page=chat]) .clear-chat-button{border:2px solid var(--color-error);min-height:44px;box-shadow:0 3px 0 var(--color-paper-inset);font-size:13px}@media (width<=700px){:where([data-page=chat]) .chat-header{padding:8px 12px}:where([data-page=chat]) .messages{padding:12px}:where([data-page=chat]) .chat-bottom{padding:8px 10px}:where([data-page=chat]) dialog.memory-panel{width:calc(100% - 40px);max-width:360px;max-height:66dvh;margin:auto auto 12px}:where([data-page=chat]) .memory-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}@media (width<=359px){:where([data-page=chat]) .chat-identity .companion-emblem{display:none}:where([data-page=chat]) .chat-header h2{font-size:14px}:where([data-page=chat]) .memory-toggle{font-size:12px}:where([data-page=chat]) .message{max-width:94%;padding:8px 10px}:where([data-page=chat]) .memory-heading,:where([data-page=chat]) .memory-body,:where([data-page=chat]) .memory-footer{padding-inline:12px}:where([data-page=chat]) .composer-note{font-size:12px}}:where([data-page=login]) .login-sheet{text-align:center}:where([data-page=login]) .login-sheet .back-link{text-align:left}:where([data-page=login]) .login-providers{margin-bottom:var(--space-5);flex-direction:column;display:flex}:where([data-page=login]) .provider{background:var(--color-paper-soft);justify-content:space-between;align-items:center;display:flex}:where([data-page=login]) .provider.kakao{background:var(--color-kakao)}:where([data-page=login]) .provider.naver{background:var(--color-naver)}:where([data-page=login]) .provider:hover:not(:disabled){border-color:var(--color-edge)}:where([data-page=login]) .dev-tools{margin-top:var(--space-6);padding-top:var(--space-4);color:var(--color-muted);flex-direction:column;display:flex}:where([data-page=login]) .provider{border-radius:0}:where([data-page=login]) .login-sheet{margin-top:24px}:where([data-page=login]) .login-providers{gap:16px}:where([data-page=login]) .provider{border:2px solid var(--color-edge);min-height:56px;box-shadow:var(--pixel-raised);padding:12px 16px;font-size:16px}:where([data-page=login]) .provider:active:not(:disabled){box-shadow:none;transform:translateY(4px)}:where([data-page=login]) .provider:disabled{box-shadow:none;opacity:.7;border-style:dashed}:where([data-page=login]) .provider small{font-size:12px}:where([data-page=login]) .dev-tools{border-top:2px dashed var(--color-line);gap:12px;font-size:12px}:where([data-page=points]) .consent a{text-underline-offset:3px;text-decoration:underline}:where([data-page=points]) .dev-tools{margin-top:var(--space-6);padding-top:var(--space-4);color:var(--color-muted);flex-direction:column;display:flex}:where([data-page=points]) .wallet-summary{text-align:center;padding:var(--space-4) var(--space-0) var(--space-6);margin-bottom:var(--space-6)}:where([data-page=points]) .wallet-summary>span{color:var(--color-muted);font-size:13px}:where([data-page=points]) .wallet-summary strong{font-weight:400;display:block}:where([data-page=points]) .wallet-summary strong small{margin-left:var(--space-2);font-size:20px}:where([data-page=points]) .wallet-summary p{color:var(--color-muted);font-size:13px}:where([data-page=points]) #payment-form{gap:var(--space-4);flex-direction:column;display:flex}:where([data-page=points]) .pack-fieldset legend{margin-bottom:var(--space-3)}:where([data-page=points]) .packs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:where([data-page=points]) .pack{cursor:pointer;align-items:center;gap:var(--space-2);background:var(--color-paper-soft);display:flex}:where([data-page=points]) .pack b{font-weight:400;display:block}@media (width<=359px){:where([data-page=points]) .pack{padding:var(--space-2)}}:where([data-page=points]) .pack{border-radius:0}:where([data-page=points]) .wallet-summary{border-bottom:2px dashed var(--color-line);padding-bottom:20px}:where([data-page=points]) .wallet-summary>span,:where([data-page=points]) .wallet-summary p{font-size:14px}:where([data-page=points]) .wallet-summary strong{text-shadow:2px 2px 0 var(--color-paper-inset);font-size:40px;line-height:1.6}:where([data-page=points]) .packs{gap:12px}:where([data-page=points]) .pack-fieldset legend{font-size:16px}:where([data-page=points]) .pack{border:2px solid var(--color-edge);min-height:84px;box-shadow:3px 3px 0 var(--color-paper-inset);padding:12px 8px}:where([data-page=points]) .pack:has(input:checked){border-color:var(--color-edge);background:var(--color-button);color:var(--color-button-ink);box-shadow:inset 0 2px 0 var(--color-button-hover), 3px 3px 0 var(--color-edge)}:where([data-page=points]) .pack:has(input:focus-visible){outline:2px dashed var(--color-focus);outline-offset:4px}:where([data-page=points]) .pack b{font-size:16px}:where([data-page=points]) .pack small{font-size:12px}:where([data-page=points]) .consent{align-items:flex-start;font-size:14px}:where([data-page=points]) .consent input{margin-top:3px}:where([data-page=points]) .dev-tools{border-top:2px dashed var(--color-line);gap:12px;font-size:12px}@media (width<=359px){:where([data-page=points]) .pack b{font-size:14px}:where([data-page=points]) .pack{gap:6px;padding-inline:6px}}:where([data-page=me]) .account-list{flex-direction:column;display:flex}:where([data-page=me]) .account-list a{gap:var(--space-1);border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;display:grid}:where([data-page=me]) .account-list a>span{color:var(--color-muted)}:where([data-page=me]) .account-list b{grid-row:2;font-weight:400}:where([data-page=me]) .account-list .icon{grid-area:1/2/3;align-self:center}:where([data-page=me]) .account-links{margin:var(--space-5) var(--space-0);display:flex}:where([data-page=me]) .account-links a:hover{text-decoration:underline}:where([data-page=me]) .account-list a{padding-block:18px}:where([data-page=me]) .account-list{gap:12px}:where([data-page=me]) .account-list a{border:2px solid var(--color-line);background:var(--color-paper-soft);box-shadow:3px 3px 0 var(--color-paper-inset);padding:16px 12px}:where([data-page=me]) .account-list a:hover{border-color:var(--color-edge);background:var(--color-paper-inset)}:where([data-page=me]) .account-list a>span{font-size:12px}:where([data-page=me]) .account-list b{margin-top:4px;font-size:16px}:where([data-page=me]) .account-links{gap:16px;font-size:14px}:where([data-page=me]) .account-links a{align-items:center;min-height:44px;display:inline-flex}:where([data-page=scenes]) .mobile-scenes{margin-bottom:var(--space-5);flex-direction:column;display:flex}:where([data-page=scenes]) .mobile-scenes .scene-option{border-color:var(--color-line)}:where([data-page=scenes]) .mobile-scenes .scene-option small{color:var(--color-muted)}:where([data-page=scenes]) .mobile-scenes .selection-mark{color:var(--color-ink)}:where([data-page=scenes]) .mobile-scenes{gap:20px}:where([data-page=scenes]) .mobile-scenes .scene-option{border:2px solid var(--color-edge);box-shadow:4px 4px 0 var(--color-paper-inset);padding:12px}:where([data-page=scenes]) .mobile-scenes .scene-option.selected{background:var(--color-paper-inset);border-color:var(--color-edge);box-shadow:4px 4px 0 var(--color-edge)}:where([data-page=scenes]) .mobile-scenes .scene-option img{border-color:var(--color-edge);width:56px;height:88px}:where([data-page=scenes]) .mobile-scenes .scene-option b{font-size:16px}:where([data-page=scenes]) .mobile-scenes .scene-option small{font-size:12px}:where([data-page=legal]) .legal-text h3{margin-bottom:var(--space-2);border-top:2px dashed var(--color-line);margin-top:28px;padding-top:16px;font-size:18px}:where([data-page=legal]) .legal-text h3:first-child{border-top:0;padding-top:0}:where([data-page=legal]) .legal-text p{word-break:keep-all;overflow-wrap:anywhere;font-size:16px;line-height:1.95}
