:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--page:#17151b;--page-deep:#100f14;--surface:#27222ad1;--surface-raised:#372f38d1;--ink:#f4e9dc;--muted:#b6a9a0;--soft:#8e817c;--line:#e3c7a429;--gold:#d8b17b;--gold-light:#f2d7ab;--shadow:#05040873;font-family:DM Sans,Noto Sans TC,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--page);min-width:320px;color:var(--ink)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.app-root{isolation:isolate;background:radial-gradient(ellipse at 50% 35%, #7148422e, transparent 56%), radial-gradient(ellipse at 15% 90%, #4a445b29, transparent 46%), linear-gradient(145deg, var(--page), var(--page-deep));min-height:100dvh;position:relative;overflow:hidden}.home-shell,.chat-shell{width:min(100%,960px);min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 20px max(12px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex;position:relative}.home-shell{min-height:100svh}.three-stage{z-index:0;pointer-events:none;position:fixed;inset:0}.door-scene-canvas{width:100%;height:100%;display:block}.home-vignette{z-index:1;pointer-events:none;background:radial-gradient(at 50% 45%,#0000 22%,#08070b1f 72%,#08070b9e 100%),linear-gradient(#0d0b104d,#0000 22% 72%,#0a090d61);position:fixed;inset:0}.home-header,.home-content,.chat-header,.dialogue-feed,.chat-control-bar{z-index:2;position:relative}.home-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:6px 2px 0;display:flex}.brand-mark{min-width:0}.brand-kicker{color:var(--gold);letter-spacing:.24em;font-size:9px;font-weight:600;line-height:1.4;display:block}.brand-mark h1{letter-spacing:.1em;margin:3px 0 2px;font-family:Noto Sans TC,sans-serif;font-size:clamp(23px,6vw,29px);font-weight:500;line-height:1.28}.brand-mark p,.chat-room-title p{color:var(--muted);letter-spacing:.025em;margin:0;font-size:11px}.header-actions{align-items:center;gap:6px;display:flex}.icon-button{border:1px solid var(--line);color:#d8c8b7;cursor:pointer;background:linear-gradient(145deg,#ffffff13,#ffffff04);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s,border-color .2s,background .2s;display:inline-flex;box-shadow:0 5px 16px #00000030,inset 0 1px #ffffff17}.icon-button:active{transform:scale(.94)}.icon-button:hover{background-color:#ffffff12;border-color:#f0d0a666}.language-pill{letter-spacing:.03em;font-size:10px;font-weight:600}.home-content{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:clamp(10px,2.5vh,24px) 0 0;display:flex}.section-heading{color:#d5c2ad;letter-spacing:.06em;align-items:center;gap:12px;margin:0 2px clamp(6px,1.6vh,14px);font-size:11px;display:flex}.section-heading i{background:linear-gradient(90deg, var(--line), transparent);flex:1;height:1px}.room-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(5px,1.3vh,12px) clamp(7px,2vw,18px);width:min(100%,620px);height:min(57vh,540px);min-height:350px;margin:0 auto;display:grid}.door-choice{cursor:pointer;-webkit-tap-highlight-color:transparent;isolation:isolate;background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;min-height:0;padding:0 4px 3px;transition:filter .22s,transform .22s;display:flex;position:relative}.door-choice:before{content:"";z-index:-1;background:radial-gradient(ellipse at 50% 10%, color-mix(in srgb, var(--door-accent) 17%, transparent), transparent 68%);opacity:.4;filter:blur(9px);border-radius:48% 48% 15px 15px/30% 30% 15px 15px;transition:opacity .25s;position:absolute;inset:8px 5px 0}.door-choice:hover{filter:brightness(1.13)}.door-choice:hover:before{opacity:.9}.door-art{flex:auto;width:100%;min-height:0;display:block;position:relative}.door-copy{text-align:center;background:linear-gradient(#2c252cba,#1a171d8c);border:1px solid #e2c8a71f;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,198px);min-height:39px;padding:5px 6px 6px;display:flex;box-shadow:0 5px 14px #00000024,inset 0 1px #ffffff0a}.door-copy strong{letter-spacing:.035em;color:#f4e8da;white-space:nowrap;max-width:100%;font-family:Noto Sans TC,sans-serif;font-size:clamp(11px,2.8vw,13px);font-weight:500;line-height:1.45}.door-copy small{color:#a99b91;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:1px;font-size:9px;line-height:1.3;display:block;overflow:hidden}.remove-room{z-index:5;color:#e7d9c9;border:1px solid var(--line);background:#171419cc;border-radius:50%;place-items:center;width:21px;height:21px;font-size:15px;display:grid;position:absolute;top:4px;right:7px}.home-footer{justify-content:space-between;align-items:center;gap:12px;width:min(100%,620px);margin:clamp(9px,2vh,17px) auto 0;display:flex}.text-action{color:var(--gold-light);cursor:pointer;background:linear-gradient(#5b473a6b,#251f23b8);border:1px solid #e2c8a733;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;display:inline-flex;box-shadow:0 7px 17px #0000002e,inset 0 1px #ffffff17}.footer-note{color:#817670;letter-spacing:.04em;font-size:10px}.chat-shell{width:min(100%,760px);height:100dvh;min-height:100dvh;padding-bottom:max(10px, env(safe-area-inset-bottom))}.chat-ambient{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 30% 0%, #b1795229, transparent 40%), radial-gradient(ellipse at 100% 78%, #665e7c1f, transparent 44%), linear-gradient(180deg, var(--page), var(--page-deep));position:fixed;inset:0}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:66px;padding:4px 0 12px;display:flex}.back-button{width:34px;height:34px}.chat-room-title h1{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-family:Noto Sans TC,sans-serif;font-size:18px;font-weight:500;overflow:hidden}.chat-room-title p{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dialogue-feed{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbab8538 transparent;flex:1;min-height:0;padding:22px 4px 28px;overflow-y:auto}.conversation-note{color:#8f8179;letter-spacing:.08em;justify-content:center;align-items:center;gap:11px;margin:4px 0 30px;font-size:10px;display:flex}.note-line{background:var(--line);width:26px;height:1px;display:block}.message-row{align-items:flex-start;gap:9px;width:min(94%,560px);margin:0 0 23px;animation:.42s cubic-bezier(.18,.78,.23,1) both bubble-arrive;display:flex}.message-row.speaker-b{flex-direction:row-reverse;margin-left:auto}.message-avatar{color:#f4dfc0;background:linear-gradient(145deg,#996d4e85,#33282be0);border:1px solid #e1c19761;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-family:Playfair Display,serif;font-size:12px;display:grid;box-shadow:0 4px 12px #0000002e,inset 0 1px #ffffff1f}.message-stack{flex-direction:column;align-items:flex-start;max-width:calc(100% - 38px);display:flex}.speaker-b .message-stack{align-items:flex-end}.message-bubble{color:#ece0d5;letter-spacing:.015em;white-space:pre-wrap;overflow-wrap:anywhere;background:linear-gradient(145deg,#443634de,#2c2429eb);border:1px solid #e1c19721;border-radius:5px 17px 17px;padding:12px 15px;font-size:17px;line-height:1.8;box-shadow:0 8px 21px #0000001f,inset 0 1px #ffffff0b}.speaker-b .message-bubble{background:linear-gradient(145deg,#393446e6,#272331ed);border-color:#b9abda21;border-radius:17px 5px 17px 17px}.typing-bubble{color:#fff0e3;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:#433736c7;border-radius:5px 16px 16px;align-items:center;gap:4px;min-width:55px;max-width:100%;padding:12px 15px;font-size:17px;line-height:1.8;display:flex}.typing-bubble i{background:#d8b894;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite typing-pulse}.typing-bubble i:nth-child(2){animation-delay:.16s}.typing-bubble i:nth-child(3){animation-delay:.32s}.generation-note,.conversation-end{color:#92867e;text-align:center;letter-spacing:.035em;justify-content:center;align-items:center;gap:10px;margin:28px auto;font-size:12px;display:flex}.soft-orb{background:var(--gold);width:7px;height:7px;box-shadow:0 0 12px var(--gold);border-radius:50%;animation:1.8s ease-in-out infinite orb-breathe}.conversation-end{flex-direction:column;max-width:310px;padding-bottom:10px;line-height:1.7}.continue-button,.subtle-action{color:var(--gold-light);cursor:pointer;background:linear-gradient(#684f3d85,#2d252ac7);border:1px solid #dbba9240;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-size:11px;display:inline-flex;box-shadow:0 5px 14px #00000024,inset 0 1px #ffffff14}.inline-error{color:#dfaa9f;text-align:center;font-size:10px;line-height:1.5}.chat-control-bar{padding:10px 4px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(#1c181f4d,#18151bd4);justify-content:center;align-items:center;gap:9px;display:flex}.control-chip{border:1px solid var(--line);color:#d6c7b8;cursor:pointer;background:linear-gradient(#ffffff12,#ffffff04);border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:92px;padding:10px 14px;font-size:12px;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 4px 13px #00000026}.font-mark{color:var(--gold-light);font-family:Playfair Display,serif;font-size:16px}.portal-wash{z-index:10;pointer-events:none;background:radial-gradient(#ffe4b5fa,#f4be7a8f 45%,#1e161bf2 100%);animation:1.85s cubic-bezier(.2,.74,.22,1) both portal-open;position:fixed;inset:0}.sheet-backdrop{z-index:30;padding:12px 10px max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);background:#070609a3;justify-content:center;align-items:flex-end;animation:.18s both backdrop-in;display:flex;position:fixed;inset:0}.settings-sheet{overscroll-behavior:contain;width:min(100%,560px);max-height:min(88dvh,820px);padding:20px 18px max(15px, env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#d3b28d45 transparent;background:radial-gradient(at 100% 0,#a8765b2e,#0000 46%),linear-gradient(145deg,#302830fa,#1b181ffc);border:1px solid #e0c19d33;border-radius:25px 25px 19px 19px;animation:.28s cubic-bezier(.2,.8,.2,1) both sheet-rise;overflow-y:auto;box-shadow:0 22px 65px #0000007a,inset 0 1px #ffffff12}.sheet-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.sheet-heading h2{margin:2px 0 0;font-family:Noto Sans TC,sans-serif;font-size:20px;font-weight:500}.close-button{width:32px;height:32px}.settings-section{border-bottom:1px solid var(--line);padding:17px 0}.settings-section h3{letter-spacing:.04em;color:#e1cdb7;margin:0 0 12px;font-size:12px;font-weight:600}.field-label{color:#b5a69a;letter-spacing:.035em;margin:12px 0 6px;font-size:10px;display:block}.segmented-control,.sound-options{flex-wrap:wrap;gap:6px;display:flex}.segmented-control button,.sound-options button{border:1px solid var(--line);color:#b9aaa0;cursor:pointer;background:#ffffff09;border-radius:999px;padding:8px 12px;font-size:10px}.theme-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.theme-swatch{cursor:pointer;background:#ffffff09;border:1px solid #0000;border-radius:12px;min-width:0;padding:5px 4px 7px}.theme-swatch.selected{border-color:var(--gold);background:#ffffff13}.theme-swatch>span{border-radius:8px;height:30px;margin-bottom:6px;display:block}.theme-swatch small{color:#c2b3a7;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.volume-row{color:#b9aaa0;align-items:center;gap:10px;margin-top:14px;font-size:10px;display:flex}.volume-row input{accent-color:var(--gold);flex:1;min-width:0}.volume-row span{text-align:right;font-variant-numeric:tabular-nums;width:32px}.settings-hint{color:#8f8279;margin:9px 0 0;font-size:9px;line-height:1.65}.friend-settings{gap:10px;display:grid}.friend-setting-card{border:1px solid var(--line);background:#ffffff06;border-radius:14px;gap:10px;padding:10px;display:flex}.friend-dot{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-family:Playfair Display,serif;font-size:11px;display:grid}.friend-fields{flex:1;min-width:0}.friend-fields .field-label{margin-top:2px}.select-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.settings-sheet input:not([type=range]),.settings-sheet select,.settings-sheet textarea{color:#eee2d5;background:#0f0d127a;border:1px solid #ddc2a52b;border-radius:10px;width:100%;min-width:0;padding:10px 11px;font-size:11px}.settings-sheet select{appearance:none}.settings-sheet textarea{resize:vertical;min-height:58px}.settings-sheet .subtle-action{margin-top:10px}.connection-status{color:#c6c7a7;overflow-wrap:anywhere;font-size:10px;line-height:1.5}.sheet-footer{gap:8px;padding-top:15px;display:flex}.save-settings,.cancel-settings{cursor:pointer;border:1px solid #e2c29742;border-radius:999px;padding:11px 16px;font-size:11px}.save-settings{color:#221912;background:linear-gradient(145deg,#f3d6a7,#c79a66);flex:1;box-shadow:0 6px 16px #00000038,inset 0 1px #fff9}.cancel-settings{color:#c7b8aa;background:#ffffff0b}.toast-message{z-index:50;left:50%;bottom:max(22px, env(safe-area-inset-bottom));color:#f0dfc9;white-space:nowrap;background:#272027f0;border:1px solid #dec0993d;border-radius:999px;padding:10px 16px;font-size:10px;animation:.2s both toast-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000059}@keyframes bubble-arrive{0%{opacity:0;transform:translateY(9px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typing-pulse{0%,60%,to{opacity:.38;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes orb-breathe{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes portal-open{0%{opacity:0;transform:scale(.08)}46%{opacity:.94;transform:scale(1.3)}to{opacity:0;transform:scale(1.8)}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (min-width:760px){.home-shell{padding-left:34px;padding-right:34px}.home-header{padding-top:14px}.brand-mark h1{font-size:31px}.home-content{padding-top:24px}.room-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;height:min(58vh,540px);min-height:330px}.door-copy strong{font-size:13px}.door-art{max-width:210px}.home-footer{margin-top:15px}.dialogue-feed{padding:30px 18px 34px}.message-row{margin-bottom:28px}.message-bubble{padding:14px 18px;font-size:16px}.settings-sheet{border-radius:24px;align-self:center;max-height:86dvh}.sheet-backdrop{align-items:center}}@media (max-height:700px) and (max-width:759px){.home-shell{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(7px, env(safe-area-inset-bottom))}.brand-mark h1{font-size:22px}.brand-mark p{font-size:10px}.home-content{padding-top:8px}.room-grid{gap:4px 7px;height:53vh;min-height:315px}.door-copy{min-height:34px;padding:3px 5px}.door-copy strong{font-size:10px}.door-copy small{font-size:8px}.home-footer{margin-top:6px}}@media (max-width:370px){.home-shell,.chat-shell{padding-left:13px;padding-right:13px}.header-actions{gap:4px}.icon-button{width:32px;height:32px}.door-copy strong{font-size:10px}.door-copy small{font-size:8px}.control-chip{min-width:80px;padding:9px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.three-stage.three-unavailable~.home-content .door-art:before{content:"";border:2px solid var(--door-accent);width:min(68%,72px);height:94%;box-shadow:inset 0 0 16px #ffd29c1f, 0 0 20px color-mix(in srgb, var(--door-accent) 25%, transparent);background:linear-gradient(145deg,#ffffff1f,#191419b3);border-radius:48% 48% 5px 5px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}:root{--page:#29212a;--page-deep:#18141d;--surface:#3a2c32e6;--surface-raised:#4c3939eb;--ink:#fff2e4;--muted:#d1bfb0;--soft:#a89588;--line:#f5d2a947;--gold:#e9bd7d;--gold-light:#ffe3b5;--shadow:#08050a52}.app-root{background:radial-gradient(at 50% 43%,#c57e5147 0%,#81514e33 26%,#0000 62%),radial-gradient(at 12% 75%,#71668b33,#0000 48%),radial-gradient(at 88% 82%,#8b6b492e,#0000 44%),linear-gradient(145deg,#302530 0%,#211b27 52%,#19151e 100%)}.brand-mark h1{text-shadow:0 3px 22px #f8c68f2e}.door-choice:before{opacity:.82;background:radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--door-accent) 26%, transparent), transparent 72%);filter:blur(12px)}.door-copy{background:linear-gradient(#493637eb,#2b222ae8);border-color:#f8dab647;box-shadow:0 7px 18px #08050933,inset 0 1px #fff5e31f}.text-action{color:#ffe4bd;background:linear-gradient(#815840a3,#412e2fdb);border-color:#f7cfa05c}.message-bubble{color:#fff0e3;background:linear-gradient(145deg,#5b4139f2,#3c2e31f5);border-color:#fad5ab38}.speaker-b .message-bubble{background:linear-gradient(145deg,#493f58f5,#312b3ef5);border-color:#d3c3eb38}.conversation-note{color:#b7a496}.session-clock{color:#f3d5ac;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em;background:#fff0d714;border:1px solid #f7d5ad3d;border-radius:999px;min-width:48px;padding:7px 9px;font-size:10px}.session-ended{color:#f8e9d9;text-align:center;background:linear-gradient(145deg,#513b36f2,#2b232df7);border:1px solid #f4d1a742;border-radius:22px;flex-direction:column;align-items:center;gap:12px;width:min(100%,360px);margin:40px auto;padding:25px 22px;display:flex;box-shadow:0 18px 42px #07050a40,inset 0 1px #ffffff1a}.session-ended strong{font-size:15px;font-weight:500}.session-ended>span:not(.session-ended-mark){color:#d0bcae;font-size:11px;line-height:1.7}.session-ended-mark{color:#ffdfb0;background:#ebb87b1f;border:1px solid #ffdcaf52;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 24px #e2a06424}@media (max-height:700px) and (max-width:759px){.home-vignette{background:radial-gradient(at 50% 45%,#0000 28%,#0c080d29 100%)}}.home-shell{height:auto;min-height:100dvh;padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}.home-content{flex:1 0 auto;justify-content:flex-start;padding-top:clamp(22px,4vh,38px)}.section-heading{color:#fff0dc;margin-bottom:16px;font-size:16px;font-weight:500}.room-grid{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(176px,auto);gap:14px;width:min(100%,720px);height:auto;min-height:0}.door-choice{text-align:left;background:linear-gradient(155deg,#573e38fa,#261e25fa);border:1px solid #ffe1be57;border-radius:17px;justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden;box-shadow:0 9px 22px #05030845,inset 0 1px #ffffff24}.door-choice:before{display:none}.door-choice:hover{filter:brightness(1.1);transform:translateY(-2px)}.door-choice:active{transform:scale(.985)}.room-art{isolation:isolate;background:radial-gradient(at 20% 35%,#ffd8946b,#0000 35%),linear-gradient(145deg,#9a6847,#49313a 72%);flex:0 0 112px;width:100%;height:112px;display:block;position:relative;overflow:hidden}.room-art:before{content:"";z-index:-1;background:radial-gradient(circle at 68% 28%,#ffe5a7 0 2px,#0000 3px),radial-gradient(circle at 28% 60%,#ffd58a 0 2px,#0000 3px),linear-gradient(145deg,#6d94b5f2,#22314dfa);border:5px solid #281d1fd1;border-bottom-width:8px;border-radius:5px;width:42%;height:78%;position:absolute;top:9%;right:9%;box-shadow:0 0 0 2px #ffddab47,0 8px 18px #0000003d}.room-art:after{content:"";background:linear-gradient(#8b5638,#432d2b);border-radius:50% 50% 0 0;height:43px;position:absolute;bottom:-18px;left:-5%;right:-5%;box-shadow:0 -5px 18px #ffc27838}.room-art-window,.room-art-lamp,.room-art-table{display:block;position:absolute}.room-art-window{background:linear-gradient(150deg,#ffdd9ebf,#9f6a4c80);border:3px solid #36241fcc;border-radius:4px;width:23%;height:58%;top:14%;left:9%;box-shadow:inset 0 0 18px #ffdca459,0 4px 12px #00000038}.room-art-lamp{background:#ffe1a1;border-radius:50%;width:17px;height:17px;top:5%;left:18%;box-shadow:0 0 13px 7px #ffc36a59}.room-art-table{z-index:1;background:#bd8050;border-radius:50%;width:38%;height:12px;bottom:11px;left:7%;box-shadow:0 7px 0 -3px #59392e,0 0 13px #ffbf7040}.room-art-bored{background:radial-gradient(at 23% 40%,#f9c47c 0,#0000 33%),linear-gradient(135deg,#b47a45,#51352f 78%)}.room-art-bored .room-art-window{background:linear-gradient(150deg,#e8a85e,#704b42)}.room-art-bored .room-art-lamp{background:#ffdc9c}.room-art-tired{background:radial-gradient(at 22% 42%,#f4d3a0 0,#0000 35%),linear-gradient(135deg,#8e786c,#344052 80%)}.room-art-tired:before{background:linear-gradient(145deg,#9bb4c7,#4b6178)}.room-art-tired .room-art-lamp{background:#ffe4b5;box-shadow:0 0 17px 9px #ffe2b56b}.room-art-restless{background:radial-gradient(at 20% 35%,#b6d1c2 0,#0000 34%),linear-gradient(135deg,#557e79,#273747 80%)}.room-art-restless:before{background:linear-gradient(145deg,#7babc0,#283e5b)}.room-art-restless .room-art-lamp{background:#c5e6d6;box-shadow:0 0 17px 8px #9ddbc852}.room-art-overwhelmed{background:radial-gradient(at 22% 38%,#d7b4dc 0,#0000 36%),linear-gradient(135deg,#765e83,#30283e 80%)}.room-art-overwhelmed:before{background:linear-gradient(145deg,#b4a0c6,#514568)}.room-art-overwhelmed .room-art-lamp{background:#f1c8ed;box-shadow:0 0 16px 8px #d8aee457}.room-art-nostalgic{background:radial-gradient(at 20% 38%,#f5bd79 0,#0000 36%),linear-gradient(135deg,#98613e,#382a2b 80%)}.room-art-nostalgic:before{background:linear-gradient(145deg,#e2b27c,#7b5144)}.room-art-nostalgic .room-art-lamp{background:#ffd08b;box-shadow:0 0 18px 10px #ffb15b66}.room-art-quiet{background:radial-gradient(at 22% 36%,#bdcba4 0,#0000 36%),linear-gradient(135deg,#547061,#273b3b 80%)}.room-art-quiet:before{background:linear-gradient(145deg,#90b2b1,#334b59)}.room-art-quiet .room-art-lamp{background:#e5e9bd;box-shadow:0 0 17px 9px #cfe2a957}.door-copy{text-align:left;background:linear-gradient(#42302dfa,#281f26fc);border:0;border-radius:0;justify-content:center;align-items:flex-start;width:100%;min-height:64px;padding:9px 12px 12px;box-shadow:inset 0 1px #ffffff14}.door-copy strong{color:#fff4e7;white-space:normal;font-size:clamp(15px,3.7vw,18px);line-height:1.4}.door-copy small{color:#e6d5c4;white-space:normal;margin-top:3px;font-size:12px;line-height:1.45}.remove-room{top:8px;right:8px}.home-footer{width:min(100%,720px);margin-top:18px}.text-action{padding:11px 15px;font-size:13px}.footer-note{color:#e0cdbb;font-size:12px}.chat-shell{position:relative}.chat-header{border-bottom-color:#ffe7ca40;min-height:76px;padding:7px 0 14px}.chat-room-title h1{color:#fff5e9;font-size:20px}.chat-room-title p{color:#e0cdbb;font-size:14px}.dialogue-feed{scroll-behavior:smooth;padding:22px 5px 32px;position:relative}.conversation-note{color:#e5d4c5;margin-bottom:26px;font-size:13px}.message-row{gap:10px;width:min(96%,590px);margin-bottom:20px}.message-avatar{color:#493327;background:linear-gradient(145deg,#ffe3b9,#c88f62);border-color:#ffffff8c;width:36px;height:36px;font-size:14px}.speaker-b .message-avatar{color:#28382d;background:linear-gradient(145deg,#e2efcf,#8ba78b);border-color:#ffffff8c}.speaker-name{color:#ffe3c5;letter-spacing:.025em;margin:0 5px 6px;font-size:14px}.message-bubble{color:#30241f;letter-spacing:0;background:linear-gradient(145deg,#fff4e8,#f0dfcf);border:1px solid #ffffffa8;border-radius:5px 18px 18px;padding:13px 16px;font-size:19px;line-height:1.75;box-shadow:0 7px 18px #0003,inset 0 1px #fffc}.speaker-b .message-bubble{color:#26362a;background:linear-gradient(145deg,#e9f4df,#d0e4c5);border-color:#f5ffeecc;border-radius:18px 5px 18px 18px}.font-small .message-bubble{font-size:17px;line-height:1.7}.font-medium .message-bubble{font-size:19px;line-height:1.75}.font-large .message-bubble{font-size:22px;line-height:1.75}.font-xl .message-bubble{font-size:25px;line-height:1.8}.typing-bubble{background:linear-gradient(145deg,#fff4e8,#f0dfcf);border:1px solid #ffffffa8;min-width:68px;padding:14px 17px}.typing-bubble i{background:#85644d;width:6px;height:6px}.speaker-b .typing-bubble{background:linear-gradient(145deg,#e9f4df,#d0e4c5);border-radius:17px 5px 17px 17px}.generation-note,.conversation-end{color:#e2d1c1;font-size:13px}.inline-error{color:#ffd2c6;font-size:13px}.chat-control-bar{background:linear-gradient(#29202580,#18141af0);border-top-color:#ffe7ca40;min-height:68px}.control-chip{color:#fff0dc;min-width:100px;padding:11px 15px;font-size:13px}.session-clock{color:#ffe3bd;font-size:12px}.latest-button{z-index:6;color:#34251f;cursor:pointer;background:linear-gradient(145deg,#fff0d9,#e7c69e);border:1px solid #ffebcfa6;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:600;animation:.2s both bubble-arrive;position:absolute;bottom:82px;right:22px;box-shadow:0 7px 22px #00000052}@media (min-width:760px){.home-shell{padding-left:34px;padding-right:34px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(195px,auto);gap:16px}.room-art{flex-basis:124px;height:124px}.door-copy{min-height:70px;padding:10px 13px 13px}.door-copy strong{font-size:17px}.door-copy small{font-size:12px}.message-bubble{padding:14px 18px;font-size:19px}.dialogue-feed{padding:28px 18px 36px}}@media (max-width:370px){.room-grid{grid-auto-rows:minmax(164px,auto);gap:10px}.room-art{flex-basis:96px;height:96px}.door-copy{min-height:66px;padding:8px 9px 10px}.door-copy strong{font-size:14px}.door-copy small{font-size:11px}}@media (prefers-reduced-motion:reduce){.dialogue-feed{scroll-behavior:auto}}.chat-shell{width:min(100%,820px);height:auto;min-height:100dvh;padding-bottom:max(28px, env(safe-area-inset-bottom));display:block}.chat-header{z-index:8;-webkit-backdrop-filter:blur(14px);background:#261e23f0;position:sticky;top:0}.dialogue-feed{scroll-behavior:smooth;flex:none;height:auto;min-height:0;padding:26px 5px 28px;display:block;overflow:visible}.message-row{scroll-margin-top:94px}.chat-control-bar{margin-top:10px}.latest-button{position:fixed;bottom:22px;right:max(18px,50vw - 392px)}.app-root.theme-twilight{--page:#29212a;--page-deep:#18141d;--surface:#3a2c32f5;--surface-raised:#4c3939fa;--line:#f5d2a94d;--gold:#e9bd7d;--gold-light:#ffe3b5;background:linear-gradient(145deg,#302530 0%,#211b27 52%,#19151e 100%)}.app-root.theme-amber{--page:#34231d;--page-deep:#1d1413;--surface:#4e3327f7;--surface-raised:#65432dfa;--line:#ffd0975c;--gold:#f0bd77;--gold-light:#ffe4b7;background:linear-gradient(145deg,#493024 0%,#2d1d19 54%,#1d1413 100%)}.app-root.theme-lavender{--page:#302738;--page-deep:#1a1523;--surface:#453649f7;--surface-raised:#594560fa;--line:#e0caf35c;--gold:#d5b9e8;--gold-light:#f0ddff;background:linear-gradient(145deg,#403447 0%,#292130 54%,#1a1523 100%)}.app-root.theme-sage{--page:#26362e;--page-deep:#151f1a;--surface:#314539f7;--surface-raised:#415746fa;--line:#d1e7bf5c;--gold:#bfd59f;--gold-light:#e5f1ce;background:linear-gradient(145deg,#344b3d 0%,#202f28 54%,#151f1a 100%)}.app-root[class*=theme-] .home-vignette{background:radial-gradient(at 50% 40%,#0000 24%,#00000014 72%,#0000004d 100%)}.app-root[class*=theme-] .chat-ambient{background:radial-gradient(ellipse at 18% 10%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 42%), linear-gradient(180deg,var(--page),var(--page-deep))}.app-root[class*=theme-] .door-choice{border-color:color-mix(in srgb, var(--gold) 46%, transparent)}.app-root[class*=theme-] .door-copy{background:linear-gradient(180deg,var(--surface-raised),var(--surface))}.app-root[class*=theme-] .icon-button,.app-root[class*=theme-] .text-action{border-color:var(--line)}.app-root[class*=theme-] .chat-header{background:color-mix(in srgb,var(--page) 94%,transparent)}.app-root[class*=theme-] .settings-sheet{border-color:var(--line);background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 46%),linear-gradient(145deg,var(--surface-raised),var(--page-deep))}.app-root[class*=theme-] .settings-section h3{color:var(--gold-light)}.app-root[class*=theme-] .field-label,.app-root[class*=theme-] .settings-hint,.app-root[class*=theme-] .volume-row{color:#eadbcc}.app-root[class*=theme-] .settings-sheet input:not([type=range]),.app-root[class*=theme-] .settings-sheet select,.app-root[class*=theme-] .settings-sheet textarea{color:#fff5e9;border-color:var(--line);background:color-mix(in srgb,var(--page-deep) 78%,transparent)}.app-root[class*=theme-] .theme-swatch.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}.settings-sheet{color:#fff1e2;font-size:15px}.sheet-heading h2{font-size:23px}.settings-section{padding:19px 0}.settings-section h3{font-size:16px;line-height:1.45}.field-label{color:#e6d5c5;font-size:14px}.segmented-control button,.sound-options button{padding:10px 13px;font-size:13px}.theme-swatch{padding:7px 6px 9px}.theme-swatch>span{height:38px}.theme-swatch small{color:#f0e0d0;font-size:11px}.volume-row{font-size:13px}.settings-hint{font-size:12px}.friend-setting-card{padding:12px}.friend-dot{width:32px;height:32px;font-size:14px}.settings-sheet input:not([type=range]),.settings-sheet select,.settings-sheet textarea{border-color:#ffebd247;padding:12px 13px;font-size:15px}.connection-status{font-size:13px}.save-settings,.cancel-settings{font-size:14px}.sheet-footer{padding-top:18px}@media (min-width:760px){.chat-shell{padding-left:34px;padding-right:34px}.dialogue-feed{padding:32px 18px 40px}.message-row{margin-bottom:26px}}.app-root{overflow:visible}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.app-root{color:var(--ink);background:radial-gradient(circle at 8% 14%, #ffc2d275 0 2px, transparent 2.7px) 0 0 / 17px 17px, radial-gradient(ellipse at 82% 12%, #ffdd99ad, transparent 34%), radial-gradient(ellipse at 10% 85%, #bee0ff94, transparent 38%), linear-gradient(145deg, var(--page), var(--page-deep))}.app-root.theme-amber{--page:#fff7e8;--page-deep:#ffeadb;--surface:#fffdf7;--surface-raised:#ffedcf;--line:#f0c99e;--gold:#e87536;--gold-light:#b94c20}.app-root.theme-lavender{--page:#fbf5ff;--page-deep:#f0e8ff;--surface:#fffaff;--surface-raised:#f2eaff;--line:#d9c5ef;--gold:#9a70ce;--gold-light:#68449a}.app-root.theme-sage{--page:#f3fff7;--page-deep:#e5f5ed;--surface:#fbfffc;--surface-raised:#e5f5eb;--line:#c3dfce;--gold:#579b78;--gold-light:#316c50}.brand-mark h1{color:#302b36;text-shadow:0 2px #fff,0 4px #e66b8329}.brand-mark p,.chat-room-title p{color:#625b68}.icon-button{color:#413746;background:linear-gradient(145deg,#fff,#ffeaf0);border:2px solid #e7b9c4;box-shadow:0 3px #e9c4cd,0 6px 14px #5d37481a}.icon-button:hover{border-color:var(--gold);background:#fff4f6}.section-heading i{background:linear-gradient(90deg, var(--line), transparent)}.door-choice:before{opacity:.9;background:radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--door-accent) 25%, transparent), transparent 72%)}.door-copy{background:linear-gradient(#fffffff7,#fff4f7f7);border:2px solid #e9bdc8;box-shadow:0 3px #e8c4cd,0 7px 16px #5637461a}.text-action{color:#593747;background:linear-gradient(#fff,#ffeaf0);border:2px solid #e6b8c4;box-shadow:0 3px #e8c4cd,0 6px 14px #5637461a}.chat-ambient{background:radial-gradient(circle at 7% 12%,#ffc5d557 0 2px,#0000 2.8px) 0 0/19px 19px,radial-gradient(at 90% 8%,#ffe0abb3,#0000 38%),linear-gradient(#fffaf5,#f8edf2)}.chat-header{border-bottom:2px solid #e9cbd2}.dialogue-feed{scrollbar-color:#e7b5c2 transparent}.conversation-note,.generation-note,.conversation-end{color:#706575}.message-avatar{color:#fff;background:linear-gradient(145deg,#f18ca4,#cc5478);border:2px solid #fff;box-shadow:0 2px #d98ca0,0 4px 10px #5d374821}.speaker-b .message-avatar{color:#fff;background:linear-gradient(145deg,#75a9d9,#4d7fb7);border-color:#fff;box-shadow:0 2px #8eb6da,0 4px 10px #374a661f}.speaker-name{color:#65596a}.message-bubble{color:#302b36;background:#fff;border:2px solid #e8c5ce;border-radius:5px 18px 18px;font-size:19px;box-shadow:0 3px #edcbd3,0 7px 16px #55384614}.speaker-b .message-bubble{color:#293847;background:#e8f3ff;border:2px solid #b8d2eb;box-shadow:0 3px #c6d9eb,0 7px 16px #3a4e6814}.typing-bubble{color:#554656;background:#fff;border:2px solid #e8c5ce;box-shadow:0 3px #edcbd3}.typing-bubble i{background:#d65d7d}.soft-orb{background:var(--gold);box-shadow:0 0 12px var(--gold)}.continue-button,.subtle-action{color:#593747;background:linear-gradient(#fff,#ffeaf0);border:2px solid #e6b8c4;box-shadow:0 3px #e8c4cd,0 6px 14px #5637461a}.inline-error{color:#a52d48}.chat-control-bar{background:#fffaf7f5;border-top:2px solid #e9cbd2}.control-chip{color:#453847;background:linear-gradient(#fff,#fff0f3);border:2px solid #e7c1ca;box-shadow:0 2px #e9c8d0,0 4px 10px #56374614}.font-mark{color:var(--gold-light)}.session-clock{color:#674254;background:#fff0f4;border-color:#e8c2ce}.session-clock.urgent{color:#9b263f;background:#ffe4e8;border-color:#d96b7d}.session-ended{color:#302b36;background:#fff;border:2px solid #e8c5ce;box-shadow:0 4px #edcbd3,0 12px 25px #5538461a}.sheet-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#41304347}.settings-sheet{color:#302b36;background:radial-gradient(circle at 95% 4%,#ffcbd859 0 2px,#0000 2.8px) 0 0/18px 18px,linear-gradient(145deg,#fffefa,#fff1f3);border:2px solid #e7bdc8;box-shadow:0 12px #d6a3b340,0 22px 50px #4d31422e}.sheet-heading h2{color:#302b36}.field-label,.volume-row{color:#625b68}.segmented-control button,.sound-options button{color:#554b5c;background:#fff;border:1px solid #dfc4ce}.segmented-control button.selected,.sound-options button.selected{color:#6e2944;background:#ffe4eb;border-color:#dc7894;box-shadow:inset 0 0 0 1px #dc78942e}.theme-swatch{background:#fff;border-color:#ead0d8}.theme-swatch.selected{border:2px solid var(--gold);background:#fff0f4}.theme-twilight>span{background:linear-gradient(135deg,#f5a8bb,#ffe4a8,#b9dafa)}.theme-amber>span{background:linear-gradient(135deg,#ffb46b,#ffdf9c,#f38e83)}.theme-lavender>span{background:linear-gradient(135deg,#c6a8ef,#f4c9e7,#b9dafa)}.theme-sage>span{background:linear-gradient(135deg,#9bd8b5,#e5edaa,#b7d9ef)}.friend-setting-card{background:#ffffffc7;border:1px solid #e7cbd3}.dot-a{color:#fff;background:#d85c7b}.dot-b{color:#fff;background:#5488bd}.settings-sheet input:not([type=range]),.settings-sheet select,.settings-sheet textarea{color:#302b36;background:#fff;border:1px solid #d9bdc7}.save-settings{color:#fff;background:linear-gradient(145deg,#ed8ca5,#d85c7b);border-color:#c74d70;box-shadow:0 3px #b64b68,0 6px 14px #5d37481f}.cancel-settings{color:#514656;background:#fff;border-color:#dec5ce}.toast-message{color:#302b36;background:#fffaf7;border:2px solid #e7bdc8;box-shadow:0 5px 18px #4d314229}.portal-wash{background:radial-gradient(#fffffffa,#ffd2dec7 48%,#fff0d680 100%)}@media (max-width:759px){.settings-sheet{background-color:#fff8f4}}.room-art{background:#f6e6d5;border:2px solid #5d41458c;border-bottom:0;border-radius:15px 15px 3px 3px;flex:auto;height:100%;min-height:112px;overflow:hidden;box-shadow:inset 0 2px #ffffffbf,0 5px 12px #4e30381f}.room-art:before,.room-art:after{content:none;display:none}.room-art-window,.room-art-lamp,.room-art-table{display:none}.room-illustration{object-fit:cover;filter:saturate(.96)contrast(1.02);transform-origin:bottom;width:100%;height:100%;min-height:112px;display:block;transform:scale(1.015)}.door-choice:hover .room-illustration{filter:saturate(1.08)contrast(1.03);transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;transform:scale(1.055)}.door-choice .room-art{isolation:isolate;position:relative}.door-choice .room-art:after{content:"";pointer-events:none;background:linear-gradient(#ffffff21,#0000 24% 78%,#4b2d2d14);border:1px solid #ffffff7a;border-bottom:0;display:block;position:absolute;inset:0}@media (min-width:760px){.room-art,.room-illustration{min-height:124px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fffaf4;--page-deep:#f8eee8;--surface:#fffefa;--surface-raised:#fff1eb;--ink:#302b36;--muted:#625968;--soft:#756b79;--line:#e7cbd0;--gold:#d96c86;--gold-light:#a83f5d;--shadow:#4d31421f}body{color:#302b36;background:#fffaf4!important}.app-root,.app-root.theme-twilight,.app-root.theme-amber,.app-root.theme-lavender,.app-root.theme-sage{--page:#fffaf4;--page-deep:#f8eee8;--surface:#fffefa;--surface-raised:#fff1eb;--ink:#302b36;--muted:#625968;--soft:#756b79;--line:#e7cbd0;--shadow:#4d31421f;color:var(--ink);background:radial-gradient(at 12% 8%,#ffd0db85,#0000 34%),radial-gradient(at 88% 12%,#ffe2b094,#0000 36%),radial-gradient(at 50% 100%,#cae4f761,#0000 44%),linear-gradient(145deg,#fffaf4 0%,#fff4f0 52%,#f4f5ff 100%)}.app-root.theme-twilight{--gold:#d96c86;--gold-light:#a83f5d}.app-root.theme-amber{--gold:#e47a3e;--gold-light:#a94c25}.app-root.theme-lavender{--gold:#9870c4;--gold-light:#68458f}.app-root.theme-sage{--gold:#579b78;--gold-light:#316c50}.home-vignette{background:radial-gradient(#0000 42%,#ffffff1f 100%)}.brand-kicker,.section-heading{color:var(--gold-light)}.brand-mark h1,.chat-room-title h1,.sheet-heading h2{color:#302b36}.brand-mark p,.chat-room-title p,.footer-note,.conversation-note,.generation-note,.conversation-end,.speaker-name,.field-label,.volume-row,.settings-hint,.connection-status{color:#625968}.section-heading{color:#514657}.door-copy,.app-root[class*=theme-] .door-copy{color:#302b36;background:linear-gradient(#fffefa,#fff0f2);border:2px solid #e7c3cd;box-shadow:0 3px #e8cbd2,0 7px 16px #56374617}.door-copy strong{color:#302b36}.door-copy small{color:#625968}.text-action,.continue-button,.subtle-action{color:#593747;background:linear-gradient(#fffefa,#ffeaf0);border-color:#e6bdc8;box-shadow:0 3px #e8cbd2,0 6px 14px #56374617}.footer-note{color:#6f6573}.icon-button{color:#413746;background:linear-gradient(145deg,#fff,#ffedf1);border-color:#e7bdc8;box-shadow:0 3px #e9cbd2,0 6px 14px #5d374817}.chat-ambient,.app-root[class*=theme-] .chat-ambient{background:radial-gradient(at 12% 5%,#ffcddb75,#0000 38%),radial-gradient(at 92% 12%,#ffe2b77a,#0000 38%),linear-gradient(#fffaf4,#f7f1f8)}.chat-header,.app-root[class*=theme-] .chat-header{color:#302b36;background:#fffaf7f5;border-bottom:1px solid #e7cbd0}.chat-room-title h1,.dialogue-feed{color:#302b36}.message-bubble{color:#302b36;background:#fffefa;border-color:#e8c5ce;box-shadow:0 3px #edcbd3,0 7px 16px #55384614}.speaker-b .message-bubble{color:#293847;background:#eaf4ff;border-color:#b8d2eb}.typing-bubble{color:#554656;background:#fffefa;border-color:#e8c5ce}.chat-control-bar{color:#302b36;background:#fffaf7f7;border-top:1px solid #e9cbd2}.control-chip{color:#453847;background:linear-gradient(#fff,#fff0f3);border-color:#e7c1ca}.sheet-backdrop{background:#4130433d}.settings-sheet,.app-root[class*=theme-] .settings-sheet{color:#302b36;background:linear-gradient(145deg,#fffefa,#fff1f3);border-color:#e7bdc8;box-shadow:0 12px #d6a3b333,0 22px 50px #4d314224}.settings-section h3{color:#514454}.settings-section{border-bottom-color:#ead1d7}.segmented-control button,.sound-options button{color:#554b5c;background:#fff;border-color:#dfc4ce}.segmented-control button.selected,.sound-options button.selected{color:#6e2944;background:#ffe4eb;border-color:#dc7894}.settings-sheet input:not([type=range]),.settings-sheet select,.settings-sheet textarea,.app-root[class*=theme-] .settings-sheet input:not([type=range]),.app-root[class*=theme-] .settings-sheet select,.app-root[class*=theme-] .settings-sheet textarea{color:#302b36;background:#fff;border-color:#d9bdc7}.settings-sheet input::placeholder,.settings-sheet textarea::placeholder{color:#756b79}.settings-hint,.connection-status{color:#625968}.theme-swatch small{color:#514656}.toast-message{color:#302b36;background:#fffefa;border-color:#e7bdc8}html,body{scroll-behavior:auto!important}.chat-shell{scroll-behavior:auto}.dialogue-feed{overflow:visible;scroll-behavior:auto!important;padding:0 5px!important}.dialogue-page{box-sizing:border-box;width:100%;padding:14px 5px 18px;scroll-margin-top:0;position:relative}.dialogue-page+.dialogue-page{margin-top:0}.message-row{scroll-margin-top:0;animation:none!important}@media (prefers-reduced-motion:reduce){html,body,.chat-shell,.dialogue-feed{scroll-behavior:auto!important}}.message-avatar,.speaker-b .message-avatar{width:54px;height:66px;color:inherit;background:#fff7f2;border:1px solid #e4c2c9;border-radius:12px;flex:0 0 54px;padding:0;display:block;overflow:hidden;box-shadow:0 3px #bf8b9747,0 6px 13px #4e35421f}.friend-portrait{width:100%;height:100%;display:block}.message-row{gap:11px}@media (max-width:420px){.message-avatar,.speaker-b .message-avatar{border-radius:10px;flex-basis:48px;width:48px;height:60px}.message-stack{max-width:calc(100% - 58px)}}.chat-header{align-items:center;gap:12px;display:flex}.chat-room-thumbnail{background:#f7e8dc;border:2px solid #fff;border-radius:11px;flex:0 0 92px;width:92px;height:62px;display:block;overflow:hidden;box-shadow:0 2px #e7cbd0,0 5px 12px #4d31421f}.chat-room-thumbnail .room-illustration{width:100%;height:100%;min-height:0;transform:none}.chat-room-title{flex:auto;min-width:0}.chat-room-title h1,.chat-room-title p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-header>.header-actions{flex:none}@media (max-width:560px){.chat-header{gap:7px}.chat-room-thumbnail{border-radius:9px;flex-basis:68px;width:68px;height:52px}.chat-room-title h1{font-size:16px}.chat-room-title p{font-size:10px}.chat-header>.header-actions{gap:5px}}@media (max-width:390px){.chat-room-thumbnail{flex-basis:56px;width:56px;height:46px}.chat-header{gap:5px}.chat-header .icon-button{width:32px;height:32px}.chat-header>.header-actions{gap:3px}}.friend-avatar-setting{background:#fff7f2;border:1px solid #e4c2c9;border-radius:10px;flex:0 0 52px;width:52px;height:62px;display:block;overflow:hidden;box-shadow:0 2px #bf8b973d}.friend-avatar-setting .friend-portrait{width:100%;height:100%}.message-avatar,.speaker-b .message-avatar{background:#fff7f2;border:1px solid #e4c2c9;border-radius:10px;flex:0 0 78px;width:78px;height:auto;padding:0;display:block;overflow:hidden;box-shadow:0 3px #bf8b9747,0 6px 13px #4e35421f}.friend-portrait{object-fit:contain;width:100%;height:auto;display:block}.message-stack{max-width:calc(100% - 88px)}.friend-avatar-setting{flex:0 0 64px;width:64px;height:auto;overflow:hidden}.friend-avatar-setting .friend-portrait{width:100%;height:auto;display:block}@media (max-width:420px){.message-avatar,.speaker-b .message-avatar{flex-basis:66px;width:66px}.message-stack{max-width:calc(100% - 76px)}.friend-avatar-setting{flex-basis:58px;width:58px}}.room-art{background:#f6e9e3;padding:0}.room-illustration{object-fit:cover;object-position:center;filter:none;image-rendering:auto;width:100%;height:100%;min-height:112px;display:block;transform:scale(1)}.door-choice:hover .room-illustration{filter:saturate(1.04);transform:scale(1.035)}.chat-room-thumbnail .room-illustration{object-fit:cover;width:100%;height:100%;min-height:0}.chat-ambient{background-position:50%;background-repeat:no-repeat;background-size:cover;background-image:linear-gradient(180deg, #fffaf79e, #fffaf7c2), var(--room-background,none)!important}.brand-title-lockup{align-items:center;gap:9px;margin:2px 0 3px -2px;display:flex}.brand-emblem{color:#89505f;filter:drop-shadow(0 2px #ffffffe6);flex:none;width:clamp(40px,10vw,52px);height:clamp(40px,10vw,52px);display:block}.brand-mark h1{letter-spacing:.105em;color:#513343;text-shadow:0 1px #fff,0 3px #ca8b9a2e;align-items:baseline;gap:.13em;margin:0;font-family:Kaiti TC,STKaiti,DFKai-SB,Noto Serif TC,Songti TC,serif;font-size:clamp(31px,7.8vw,43px);font-weight:700;line-height:1.16;display:flex}.brand-mark h1 span:first-child{background:linear-gradient(145deg,#493344 0%,#8d4c65 72%,#b56d72 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.brand-mark h1 .brand-title-second{color:#765269;letter-spacing:.12em;font-size:.82em;position:relative}.brand-mark h1 .brand-title-second:after{content:"";background:linear-gradient(90deg,#e7b078,#d77c91 65%,#0000);border-radius:50%;height:3px;position:absolute;bottom:-4px;left:2px;right:2px;transform:rotate(-2deg)}.brand-mark>.brand-kicker{color:#80556d;letter-spacing:.25em;font-size:9px}.brand-mark>p{color:#625968;letter-spacing:.06em;margin-top:6px;font-size:12px;line-height:1.55}@media (max-width:390px){.brand-title-lockup{gap:6px}.brand-emblem{width:38px;height:38px}.brand-mark h1{font-size:clamp(29px,8vw,34px)}.brand-mark>.brand-kicker{font-size:8px}}.room-grid{align-items:stretch;gap:16px 14px;grid-template-rows:none!important;grid-auto-rows:auto!important;height:auto!important;min-height:0!important}.door-choice{box-sizing:border-box;background:#fffaf9;border:1.5px solid #d6aeba;border-radius:17px;flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:stretch;height:auto;min-height:0;padding:0;display:flex;overflow:hidden;box-shadow:0 4px #d2a8b447,0 9px 20px #5637461f}.door-choice>.room-art{aspect-ratio:1.2;width:100%;height:auto;min-height:0;box-shadow:none;border:0;border-radius:0;flex:none;display:block;overflow:hidden}.door-choice>.room-art .room-illustration{object-fit:cover;object-position:center;width:100%;height:100%;min-height:0;display:block}.door-copy,.door-choice .door-copy{box-sizing:border-box;width:100%;min-height:0;box-shadow:none;text-align:left;background:linear-gradient(#fffefa,#fff1f4);border:0;border-top:1px solid #e6c8d0;border-radius:0;flex:none;justify-content:center;align-items:flex-start;gap:3px;padding:10px 12px 13px;display:flex;overflow:visible}.door-copy strong{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;color:#302b36;letter-spacing:.025em;width:100%;max-width:none;font-size:clamp(13px,3.1vw,16px);line-height:1.45;display:block;overflow:visible}.door-copy small{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;color:#625968;letter-spacing:.015em;width:100%;max-width:none;margin-top:1px;font-size:clamp(10px,2.5vw,12px);line-height:1.55;display:block;overflow:visible}@media (max-width:370px){.room-grid{gap:12px 10px}.door-copy,.door-choice .door-copy{padding:9px 10px 12px}.door-copy strong{font-size:13px}.door-copy small{font-size:10px}}.brand-mark{flex:0 auto;min-width:0;display:block}.brand-logo{object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 2px 2px #5b35411f);width:clamp(180px,100vw - 140px,360px);max-width:100%;height:auto;display:block}.brand-mark>p{color:#625968;letter-spacing:.04em;margin:4px 0 0 8px;font-size:12px;line-height:1.5}@media (max-width:390px){.home-header{gap:8px}.brand-logo{width:clamp(170px,100vw - 140px,245px)}.brand-mark>p{margin-left:5px;font-size:11px}.home-header .header-actions{gap:4px}.home-header .icon-button{width:33px;height:33px}}
