@charset "UTF-8";
:root{color-scheme:dark;--bg:#141118;--panel:#1c1820;--line:#ffffff0e;--text:#ece7e3;--muted:#968e9a;--gold:#d9b88a;--purple:#b59ac5;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.35}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}svg{display:block;width:19px;height:19px;stroke-width:1.6}button [data-icon],a [data-icon]{display:inline-flex;flex-shrink:0}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{display:flex;min-height:100dvh}.sidebar{width:226px;flex-shrink:0;background:#18151c;border-right:1px solid var(--line);padding:34px 20px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5}.brand{display:flex;gap:11px;align-items:center;padding:0 5px;color:#f3e7d8;font-size:23px;font-weight:600;letter-spacing:.03em}.brand-symbol{font-size:42px;color:var(--gold);font-weight:400;line-height:1}.brand small{display:block;margin-top:6px;font-size:9px;color:#9e929e;font-weight:400;letter-spacing:.06em}.nav-caption{font-size:10px;color:#7b727f;margin:53px 16px 15px;letter-spacing:.1em}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;margin:5px 0;border-radius:9px;color:#a69daa;text-align:left;font-size:12px;transition:.2s}.nav-item:hover{background:#ffffff04;color:#fff}.nav-item.active{background:linear-gradient(90deg,#c29b7621,#c29b760a);color:#e3c9a5}.nav-item svg{width:18px;height:18px}.nav-dot{height:5px;width:5px;background:var(--gold);border-radius:50%;margin-left:auto}.count{font-size:10px;background:#ffffff09;padding:1px 6px;border-radius:4px;margin-left:auto}.side-note{margin:auto 0;padding:70px 16px;color:#8c8090}.tiny-star{color:#9e809f;font-size:20px}.side-note p{line-height:2.2;font-family:var(--serif);font-size:13px;margin:20px 0}.note-line{display:block;width:24px;height:1px;background:#a4887355}.connection{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:12px 5px 18px;font-size:10px;color:#908894}.connection .icon-button{margin-left:auto;width:25px;height:25px}.connection svg{width:14px;height:14px}.status-dot{width:5px;height:5px;border-radius:50%;background:#abbd9b;display:inline-block;box-shadow:0 0 8px #abbd9b22;flex-shrink:0}.status-dot.muted{background:#8b7b63}.account{display:flex;align-items:center;text-align:left;width:100%;gap:10px;padding:20px 2px 0}.account-avatar{width:33px;height:33px;background:#2a2430;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#baa1c2}.account strong{font-size:11px;display:block;font-weight:500}.account small{font-size:9px;color:#8b808f;display:block;margin-top:5px}.account>[data-icon]{margin-left:auto;color:#87788f}.account svg{width:17px;height:17px}.main-area{width:calc(100% - 226px);margin-left:226px;padding:0 38px 0;max-width:1600px}.topbar{height:81px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px}.topbar strong{font-weight:500}.breadcrumb{color:#7d7284}.divider{margin:0 15px;color:#554b5d}.topbar-right{display:flex;align-items:center;gap:18px}.private-badge{display:flex;gap:7px;align-items:center;color:#9d919f;font-size:10px}.private-badge svg{width:12px;height:12px}.beta-badge{font-size:9px;color:#b5a091;border:1px solid #b5a09133;border-radius:4px;padding:4px 7px}.page-intro{display:flex;align-items:center;justify-content:space-between;padding:34px 0 30px}.eyebrow{font-size:10px;color:#af9275;letter-spacing:.09em;margin-bottom:10px}h1{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:.07em;color:#f0e9e4}.page-intro p{font-size:11px;color:#8f8594;margin-top:12px;letter-spacing:.025em}.night-icon{font-family:serif;font-size:42px;color:#b1987e;transform:rotate(-20deg);margin-right:10px;font-weight:200}.lounge-grid{display:grid;grid-template-columns:minmax(350px,1.25fr) minmax(320px,1fr);gap:24px;align-items:start}.cast-section{min-width:0}.cast-stage{height:clamp(430px,calc(100dvh - 360px),650px);min-height:430px;border-radius:14px;overflow:hidden;position:relative;background:#2a202a;border:1px solid #54425060;isolation:isolate}.room{position:absolute;inset:0;background:#fff;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;overflow:hidden}.cast-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(#15101b22,transparent 25%,transparent 60%,#17111dc9 98%);pointer-events:none;z-index:2}#cast-canvas{position:absolute;width:100%;height:112%;bottom:-10%;z-index:1;filter:drop-shadow(0 3px 15px #120c1866)}.stage-top,.stage-bottom{position:absolute;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;z-index:3}.stage-top{top:19px}.stage-label{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff0a;background:#1d172650;backdrop-filter:blur(9px);padding:8px 11px;border-radius:20px;font-size:9px;color:#cfbfc9}.stage-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffffff17;border-radius:50%;background:#21182655;backdrop-filter:blur(8px);color:#c5b4c5}.stage-icon:hover,.stage-icon.selected{color:#f0d1aa;border-color:#caa47c55;background:#92754d22}.stage-icon svg{width:16px;height:16px}.stage-bottom{bottom:22px}.cast-name{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:27px;letter-spacing:.1em}.cast-age{font-family:var(--sans);font-size:9px;color:#c2acb7;letter-spacing:.03em;background:#ffffff08;padding:4px 6px;border-radius:3px}.stage-bottom p{font-size:10px;color:#c1adb9;margin-top:8px}.small-dot{padding:0 9px;color:#917b89}.stage-actions{display:flex;gap:9px;align-self:flex-end}.caption{position:absolute;z-index:4;left:6%;right:6%;bottom:108px;text-align:center;font-size:14px;line-height:1.9;padding:12px 16px;border:1px solid #ffffff10;background:#1e1527c9;backdrop-filter:blur(16px);border-radius:8px;text-shadow:0 1px 3px #000}.cast-options{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ffffff0d;border-radius:10px;margin-top:13px;background:#1d1921;overflow:hidden}.cast-options button{display:flex;align-items:center;gap:10px;text-align:left;padding:15px 13px;min-width:0}.cast-options button+button{border-left:1px solid #ffffff0d}.cast-options button:hover{background:#ffffff03}.option-icon{color:#af95b4}.option-icon svg{width:17px;height:17px}.cast-options small{display:block;font-size:9px;color:#867a8b;margin-bottom:5px}.cast-options strong{font-size:11px;font-weight:500;display:block;white-space:nowrap;max-width:115px;overflow:hidden;text-overflow:ellipsis}.cast-options button>[data-icon]:last-child{margin-left:auto;color:#74647d}.cast-options button>[data-icon]:last-child svg{width:12px;height:12px}.stage-footnote{display:flex;align-items:center;justify-content:center;gap:7px;color:#86758d;font-size:9px;margin-top:14px;line-height:1.7}.stage-footnote svg{width:12px;height:12px}.chat-panel{height:clamp(520px,calc(100dvh - 270px),740px);min-height:520px;display:flex;flex-direction:column;background:linear-gradient(145deg,#201b24,#1a171f);border:1px solid #ffffff0e;border-radius:14px;overflow:hidden}.chat-header{display:flex;align-items:center;padding:20px;gap:11px;border-bottom:1px solid var(--line)}.chat-avatar{width:37px;height:37px;border-radius:50%;background:linear-gradient(145deg,#634454,#34283d);border:1px solid #b1886e33;color:#ddc2b8;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px}.chat-header h2{font-size:12px;font-weight:500}.chat-header div>span{font-size:9px;display:flex;align-items:center;gap:5px;color:#928396;margin-top:6px}.chat-header .status-dot{width:4px;height:4px}.chat-header>.icon-button{margin-left:auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;color:#a18fa9;border-radius:7px}.icon-button:hover{color:#e4cba8;background:#ffffff05}.chat-log{flex:1;overflow-y:auto;padding:16px 20px;scrollbar-width:thin;scrollbar-color:#56445f transparent;min-height:0}.chat-date{font-size:9px;text-align:center;color:#796d81;padding:0 0 20px}.welcome-card{text-align:center;padding:22px 0 10px}.welcome-sparkle{font-size:37px;color:#c9aa85;line-height:1.3}.welcome-card h3{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:.08em;margin:17px 0 15px}.welcome-card>p{font-size:11px;line-height:2.1;color:#a798ae}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(110deg,#dfc29b,#c9a57a);color:#33251f;font-size:11px;font-weight:600;min-height:42px;border-radius:7px;padding:11px 17px;box-shadow:0 3px 10px #0001;transition:filter .15s}.primary-button:hover{filter:brightness(1.08)}.primary-button svg{width:16px;height:16px}.login-button{margin-top:29px;width:100%}.login-button [data-icon]:last-child{margin-left:auto}.welcome-card .login-note{font-size:9px;color:#7f7188;line-height:1.9;margin-top:12px}.chat-message{margin-bottom:19px;animation:arrive .2s ease}.message-meta{display:flex;gap:7px;font-size:9px;color:#9d84a5;align-items:center;margin-bottom:7px}.message-meta span:first-child{color:#c1a9b8}.message-bubble{padding:12px 14px;font-size:12px;line-height:1.95;border-radius:0 10px 10px 10px;background:#302638;border:1px solid #b49bb410;color:#ded3e0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message.user{margin-left:28px}.chat-message.user .message-meta{justify-content:flex-end}.chat-message.user .message-bubble{background:#453831;color:#e8dbc8;border-color:#a5815b22;border-radius:10px 0 10px 10px}.message-tools{margin-top:5px;display:flex;justify-content:flex-end}.message-tools button{font-size:9px;color:#9f89a8;display:flex;align-items:center;gap:5px;padding:4px 2px}.message-tools svg{width:12px;height:12px}.chat-composer{padding:12px 16px 12px;border-top:1px solid #ffffff07;background:#1b1720}.suggestions{display:flex;gap:7px;margin-bottom:12px;overflow:auto}.suggestions button{border:1px solid #a68cb222;border-radius:15px;padding:7px 10px;color:#ab96b3;font-size:9px;white-space:nowrap;transition:.15s}.suggestions button:hover{border-color:#d3b58266;color:#dbc2a0}#chat-form{border:1px solid #a58bb32b;border-radius:9px;background:#231d2a;padding:11px 11px 7px}#chat-form:focus-within{border-color:#ac8e6b77}textarea{display:block;width:100%;resize:none;border:0;background:none;outline:none!important;color:#e4dbe7;font-size:11px;line-height:1.7;min-height:34px;max-height:120px;padding:0;scrollbar-width:thin}textarea::placeholder{color:#77677f}.composer-bottom{display:flex;align-items:center;gap:5px}.composer-bottom .icon-button{width:25px;height:25px}.composer-bottom svg{width:16px;height:16px}#input-hint{font-size:9px;color:#75667e}.send-button{margin-left:auto;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--gold);color:#3c2928}.send-button:hover{background:#eed0a5}.chat-disclosure{font-size:8px;text-align:center;color:#6d5e76;margin-top:10px;line-height:1.8}.thinking{display:flex;align-items:center;gap:4px;padding:0 22px 12px;color:#8a7595;font-size:9px}.thinking i{width:4px;height:4px;background:#ad8bb8;border-radius:50%;animation:pulse 1.2s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}.thinking span{margin-left:6px}.page-footer{display:flex;justify-content:space-between;align-items:center;padding:23px 0;color:#6e6077;font-size:9px}.page-footer button{font-size:9px;color:#8f7b9a;display:flex;gap:7px;align-items:center}.page-footer svg{width:12px;height:12px}.modal{border:1px solid #75608055;border-radius:16px;background:#211a28;color:var(--text);padding:28px;max-width:min(630px,calc(100vw - 32px));width:630px;max-height:calc(100dvh - 60px);box-shadow:0 30px 100px #0008;overflow:auto;scrollbar-width:thin}.modal::backdrop{background:#0c0814bc;backdrop-filter:blur(6px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modal-heading h2{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:.04em}.modal-heading .eyebrow{font-size:9px}.modal-tabs{display:flex;border-bottom:1px solid #ffffff0d;gap:25px;margin-bottom:22px}.modal-tabs button{display:flex;align-items:center;gap:8px;font-size:12px;color:#8d7a9a;padding:0 5px 14px;position:relative}.modal-tabs button.active{color:#e1c59f}.modal-tabs button.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:#d5b083}.modal-tabs span{border-radius:4px;background:#ffffff06;color:#a38eaf;font-size:9px;padding:2px 4px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid #ffffff0b;border-radius:9px;padding:13px;background:#ffffff02;position:relative;min-height:79px;transition:.15s}.choice:hover{background:#ffffff05;border-color:#9d7f7455}.choice.chosen{border-color:#d3ad7f88;background:#b58d6312}.choice .choice-mark{position:absolute;right:10px;top:9px;color:#d7b58a;font-size:10px}.choice-swatch{flex-shrink:0;width:44px;height:48px;border-radius:8px;background:radial-gradient(ellipse at 50% 30%,var(--swatch),#29212f);display:flex;align-items:center;justify-content:center;color:#f9e0cf;font-family:var(--serif);font-size:19px;border:1px solid #ffffff10}.choice-text{min-width:0}.choice strong{font-size:12px;display:block;font-weight:500}.choice p{font-size:9px;line-height:1.7;color:#94829f;margin-top:5px}.choice .voice-preview{border:1px solid #b28e6733;border-radius:50%;padding:7px;color:#d3b48d;margin-left:auto;display:flex;align-items:center;justify-content:center}.voice-preview svg{height:12px;width:12px}.choice.unavailable{opacity:.45}.modal-footer{border-top:1px solid #ffffff0d;margin-top:22px;padding-top:20px;display:flex;gap:20px;justify-content:space-between;align-items:center}.modal-footer>span{font-size:9px;line-height:1.8;color:#8f7c9a;max-width:225px}.modal-description{font-size:11px;line-height:1.95;color:#a28eae;margin-bottom:25px}.empty-state{text-align:center;padding:38px 20px;color:#a28eae;line-height:2;font-size:12px}.empty-state>span{font-size:30px;color:#b29883;display:block;margin-bottom:12px}.memory-item{display:flex;gap:15px;align-items:center;padding:16px 0;border-top:1px solid #ffffff08}.memory-item>span{color:#b797aa}.memory-item p{flex:1;font-size:12px;line-height:1.8}.memory-item svg{width:15px;height:15px}.setting-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid #ffffff09}.setting-row strong{font-size:12px;font-weight:500}.setting-row p{font-size:10px;line-height:1.7;color:#917c9c;margin-top:7px}.switch{display:inline-flex;position:relative;width:37px;height:21px;flex-shrink:0}.switch input{opacity:0;position:absolute}.switch span{width:37px;height:21px;border-radius:20px;background:#483950;cursor:pointer;transition:.2s}.switch span:after{content:"";position:absolute;width:15px;height:15px;top:3px;left:3px;border-radius:50%;background:#a18baa;transition:.2s}.switch input:checked+span{background:#a88960}.switch input:checked+span:after{background:#f4e8d8;transform:translateX(16px)}.switch input:focus-visible+span{outline:2px solid #e4c49e;outline-offset:3px}.secondary-button{border:1px solid #8c749a44;border-radius:6px;color:#c3abc9;min-height:33px;padding:7px 12px;font-size:10px;white-space:nowrap}.secondary-button:hover{background:#ffffff04}.privacy-note{display:flex;gap:12px;padding:18px;background:#ffffff03;border-radius:7px;margin:12px 0 23px;color:#a08aac}.privacy-note svg{width:15px;height:15px;flex-shrink:0}.privacy-note p,.small-print{font-size:10px;line-height:1.9}.settings-bottom{display:flex;justify-content:space-between;align-items:center}.text-button{font-size:10px}.danger{color:#c28c93}.small-print{color:#796682;margin-top:23px}.model-setting{flex-wrap:wrap}.model-setting select{background:#2b2234;border:1px solid #80638e33;color:#d6c1df;font-size:11px;border-radius:6px;padding:8px;max-width:240px}.voice-notice{padding:12px 15px;background:#a5835e0b;border:1px solid #b18a6030;border-radius:7px;font-size:10px;color:#b69a80;line-height:1.9;margin-bottom:16px}.voice-notice button{color:#d6b78f;text-decoration:underline}.toast{position:fixed;z-index:100;bottom:28px;left:calc(50% + 110px);transform:translateX(-50%);max-width:550px;width:max-content;background:#342a3f;border:1px solid #b797c344;border-radius:9px;box-shadow:0 7px 40px #0006;padding:13px 20px;color:#e1cde4;font-size:12px;line-height:1.7}.listening{color:#e8a7b1!important;background:#70384c55!important;animation:pulse 1.2s infinite}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.main-area{padding:0 55px}.lounge-grid{gap:30px;grid-template-columns:minmax(400px,1.5fr) minmax(350px,1fr)}}
@media(max-width:1180px){.sidebar{width:192px;padding-left:14px;padding-right:14px}.main-area{margin-left:192px;width:calc(100% - 192px);padding:0 25px}.brand{font-size:20px;gap:7px}.brand-symbol{font-size:36px}.brand small{font-size:8px}.lounge-grid{grid-template-columns:minmax(300px,1.1fr) minmax(285px,1fr);gap:17px}.cast-options button{padding:14px 9px;gap:7px}.cast-options strong{max-width:82px;font-size:10px}.option-icon svg{width:14px;height:14px}.stage-footnote{font-size:8px}.chat-header{padding:17px}.chat-log{padding:14px 16px}.page-intro{padding-top:28px}h1{font-size:25px}}
@media(max-width:940px){.sidebar{width:78px;padding:24px 12px}.brand{padding:0;justify-content:center}.brand>span:last-child,.nav-caption,.nav-item:not(.active) .count,.side-note,.connection>span:not(.status-dot),.connection .icon-button,.account>span:not(.account-avatar){display:none}.brand-symbol{font-size:37px}.sidebar nav{margin-top:45px}.nav-item{font-size:0;padding:15px;gap:0;position:relative;justify-content:center}.nav-item svg{width:20px;height:20px}.nav-dot{position:absolute;right:6px;top:9px;width:3px;height:3px}.nav-item .count{display:none}.side-bottom{margin-top:auto}.connection{justify-content:center;padding-bottom:20px}.account{justify-content:center}.main-area{margin-left:78px;width:calc(100% - 78px);padding:0 22px}.toast{left:calc(50% + 39px)}.lounge-grid{gap:15px;grid-template-columns:minmax(290px,1.1fr) minmax(270px,1fr)}}
@media(max-width:740px){.sidebar{inset:auto 0 0 0;width:100%;height:61px;flex-direction:row;padding:5px 15px;background:#1b1622f5;backdrop-filter:blur(12px);border-top:1px solid #ffffff10;border-right:0}.sidebar .brand,.side-bottom{display:none}.sidebar nav{display:flex;margin:0;width:100%;justify-content:space-around}.nav-item{width:auto;margin:0;padding:14px 23px;border-radius:8px}.nav-item .nav-dot{display:none}.main-area{margin-left:0;width:100%;padding:0 18px 75px}.topbar{height:58px;font-size:10px}.topbar-right{gap:10px}.private-badge{font-size:8px}.private-badge svg{height:10px;width:10px}.page-intro{padding:26px 0 23px}.page-intro .eyebrow{font-size:9px}h1{font-size:24px}.page-intro p{font-size:10px}.night-icon{font-size:35px}.lounge-grid{grid-template-columns:1fr;gap:18px}.cast-stage{height:440px;min-height:0}.cast-stage canvas{height:116%;bottom:-14%}.cast-options button{padding:13px;gap:10px}.cast-options strong{font-size:11px;max-width:120px}.stage-footnote{font-size:9px}.chat-panel{height:540px;min-height:480px}.welcome-card{padding:20px 18px}.page-footer{font-size:8px;gap:10px;align-items:flex-start}.page-footer button{font-size:8px;white-space:nowrap}.modal{padding:22px;max-height:calc(100dvh - 40px)}.modal-heading h2{font-size:21px}.choice{padding:11px;gap:9px}.choice-grid{gap:8px}.choice-swatch{width:36px;height:43px}.choice strong{font-size:11px}.choice p{font-size:8px}.modal-footer{flex-direction:column;align-items:stretch;gap:13px}.modal-footer>span{max-width:none;text-align:center}.toast{left:50%;bottom:77px;max-width:calc(100% - 32px);width:max-content}.model-setting select{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Lounge finish — soft champagne light over a quiet, tactile plum interior. */
:root {
  --bg: #141117;
  --panel: #211b25;
  --line: #e7cedc12;
  --text: #f0e9e5;
  --muted: #aa9cac;
  --gold: #ddbc94;
  --purple: #c0a5c8;
}
body {
  background: radial-gradient(ellipse at 85% 0%, #34233425, transparent 48%), var(--bg);
  text-rendering: optimizeLegibility;
}
.sidebar {
  background: linear-gradient(165deg, #211a24 0%, #19151e 48%, #16131a 100%);
  border-right-color: #d8bac315;
  box-shadow: 12px 0 50px #08060c12;
}
.brand { color: #f3e4d0; letter-spacing: .055em; }
.brand-symbol { text-shadow: 0 0 24px #dcb48b33; }
.brand small { color: #b1a0ad; font-size: 9px; letter-spacing: .08em; }
.nav-caption { color: #a08d9e; }
.nav-item { color: #b5a6ba; font-size: 12px; padding-top: 15px; padding-bottom: 15px; }
.nav-item.active {
  background: linear-gradient(110deg, #d2b18d22, #aa809b0d);
  box-shadow: inset 0 0 0 1px #d4b18b14, inset 2px 0 0 #d9b68a;
  color: #f0d4ae;
}
.nav-item:hover { background-color: #b194b009; }
.nav-dot { box-shadow: 0 0 10px #dbbb8e66; }
.side-note { color: #a28b9e; }
.side-note p { line-height: 2.35; }
.tiny-star { color: #c9a3b8; }
.note-line { width: 32px; background: linear-gradient(90deg, #c4a37d88, transparent); }
.connection { color: #a496aa; border-color: #d8bac315; }
.account-avatar { background: linear-gradient(145deg, #3a2c40, #251e2e); border: 1px solid #d8bac318; }
.account small { color: #a294aa; }
.topbar { border-bottom-color: #ddc3d00f; }
.breadcrumb { color: #a18d9f; }
.topbar strong { color: #e0d1de; }
.private-badge { color: #b1a1b2; }
.beta-badge { border-color: #c8aa7e40; color: #d0b28c; background: #b68a5a08; }
.page-intro { padding-top: 33px; padding-bottom: 28px; }
.eyebrow { color: #d0b08c; font-size: 10px; letter-spacing: .1em; }
h1 { font-size: clamp(26px, 2.2vw, 32px); letter-spacing: .075em; line-height: 1.45; }
.page-intro p { color: #ae9eb1; font-size: 12px; margin-top: 11px; }
.night-icon { color: #d2b18b; text-shadow: 0 0 30px #d6b48b22; }

/* Stage layout and framing. */
.cast-stage {
  border: 1px solid #bf9aa63d;
  border-radius: 16px;
  background: #30222e;
  box-shadow: 0 18px 50px #08060d30, 0 1px 0 #e0c2a910, inset 0 0 0 1px #ecd0bd06;
}

.cast-stage:after {
  background: linear-gradient(#17102010, transparent 23% 57%, #180f21bb 100%);
  box-shadow: inset 0 0 70px #0d071c2e;
}
.stage-top { top: 20px; }
.stage-label {
  padding: 8px 12px; color: #e1cedb; font-size: 10px;
  border-color: #ddc5d218; background: #23192d7a; box-shadow: 0 2px 12px #0c071c20;
}
.stage-label .status-dot { width: 4px; height: 4px; background: #c0d3ae; box-shadow: 0 0 10px #b8d3a177; }
.stage-icon {
  width: 36px; height: 36px; border-color: #e0c4d324; color: #d7c3d0;
  background: #281c3275; box-shadow: 0 2px 10px #0f08141c;
}
.stage-icon:hover, .stage-icon.selected { color: #f1d1a7; border-color: #d5b18e70; background: #9b77562a; }
.stage-bottom { bottom: 24px; }
.cast-name { font-size: 30px; text-shadow: 0 2px 20px #0a061a55; }
.cast-age { font-size: 10px; border: 1px solid #d3afba15; background: #af8a9a14; padding: 4px 7px; color: #d2bdc8; }
.stage-bottom p { font-size: 11px; color: #d0b9c8; margin-top: 9px; }
.caption { border-color: #dec2d025; background: #241a2edd; font-size: 15px; border-radius: 10px; }
.cast-options {
  margin-top: 14px; border-color: #dcc0d119; border-radius: 11px;
  background: linear-gradient(125deg, #251d2b, #201b25); box-shadow: 0 5px 16px #09060d12;
}
.cast-options button { padding-top: 16px; padding-bottom: 16px; }
.cast-options button+button { border-color: #dcc0d114; }
.cast-options button:hover { background: #bc9eae09; }
.option-icon { color: #c8a6c6; }
.cast-options small { color: #aa97b1; font-size: 10px; }
.cast-options strong { color: #e5d9e7; font-size: 12px; }
.stage-footnote { color: #a18aa9; font-size: 10px; margin-top: 15px; }

/* Conversation: a clear reading surface and a composed welcome moment. */
.chat-panel {
  background: linear-gradient(145deg, #251e2a, #1e1924 66%);
  border-color: #dcc0d11c; border-radius: 16px;
  box-shadow: 0 18px 50px #08060d20, inset 0 1px 0 #ead7dd05;
}
.chat-header { padding: 20px 22px; border-bottom-color: #ddc1d116; background: #a1869703; }
.chat-avatar {
  width: 40px; height: 40px; background: linear-gradient(145deg, #765064, #382b43);
  border-color: #e3c0a536; box-shadow: inset 0 0 0 3px #e7d3c205, 0 3px 10px #0c071820;
  color: #efcbb9;
}
.chat-header h2 { font-size: 13px; letter-spacing: .025em; color: #ede0e9; }
.chat-header div>span { color: #b09bb7; font-size: 10px; }
.icon-button { color: #b49bbb; }
.icon-button:hover { color: #f0d0aa; background: #d3a7c40a; }
.chat-log { padding: 18px 22px; scrollbar-color: #735c78 transparent; }
.chat-date { color: #9c86a4; font-size: 10px; padding-bottom: 18px; }
.welcome-card { padding: 28px 0 16px; max-width: 360px; margin: 0 auto; }
.welcome-sparkle { display: block; color: #dec098; font-size: 39px; text-shadow: 0 0 24px #d2af892e; }
.welcome-card h3 { font-size: 27px; letter-spacing: .1em; margin: 21px 0 18px; color: #f1e4df; }
.welcome-card>p { font-size: 12px; line-height: 2.15; color: #c0abc7; }
.primary-button {
  min-height: 45px; border-radius: 8px; font-size: 12px;
  background: linear-gradient(110deg, #ead0aa, #d5b183 70%, #cba278);
  color: #3a2925; border: 1px solid #f3d9b24d;
  box-shadow: inset 0 1px 0 #fff4d740, 0 3px 14px #08040d22;
}
.primary-button:hover { filter: brightness(1.05); box-shadow: inset 0 1px 0 #fff4d740, 0 4px 20px #d5ac7014; }
.login-button { margin-top: 31px; padding-left: 17px; padding-right: 17px; }
.welcome-card .login-note { margin-top: 15px; font-size: 10px; color: #a18aac; line-height: 1.95; }
.chat-message { margin-bottom: 23px; }
.message-meta { font-size: 10px; color: #b195bc; margin-bottom: 8px; }
.message-meta span:first-child { color: #d4b5c9; }
.message-bubble { background: #33263d; border-color: #c9a5d019; color: #e9dfed; font-size: 13px; line-height: 1.95; padding: 13px 15px; }
.chat-message.user .message-bubble { background: #44372f; border-color: #d5ae7c26; color: #f0e0c8; }
.message-tools button { font-size: 10px; color: #b59bc0; }
.chat-composer { padding: 14px 17px 13px; background: #1c1722; border-top-color: #dcc0d116; }
.suggestions { margin-bottom: 12px; gap: 8px; }
.suggestions button { font-size: 10px; padding: 7px 11px; color: #c5abcd; border-color: #b796c42c; background: #bc93ca03; }
.suggestions button:hover { color: #efd4ad; border-color: #d6b18475; background: #d6b18408; }
#chat-form { padding: 12px 12px 9px; border-color: #ba99c12e; background: #2a2032; border-radius: 10px; box-shadow: inset 0 1px 0 #f3d7ef03; }
#chat-form:focus-within { border-color: #d2ad7c8c; box-shadow: 0 0 0 3px #c4a77d08; }
textarea { font-size: 12px; line-height: 1.85; min-height: 38px; color: #eee2f1; }
textarea::placeholder { color: #b09abc; }
#input-hint { font-size: 10px; color: #a28aad; }
.send-button { width: 31px; height: 31px; border-radius: 7px; background: #dfbc8d; }
.chat-disclosure { font-size: 9px; color: #9680a0; }
.page-footer { color: #97809f; font-size: 10px; padding-top: 22px; }
.page-footer button { font-size: 10px; color: #b199bc; }

/* Selection sheets carry the same quiet material and clear type hierarchy. */
.modal { background: linear-gradient(140deg, #2b2031, #211a29 70%); border-color: #c5a0bb3d; box-shadow: 0 30px 100px #07040dcc, inset 0 1px 0 #f4d8e809; }
.modal::backdrop { background: #0c0815c9; backdrop-filter: blur(9px); }
.modal-heading h2 { color: #f2e3e5; }
.modal-tabs button { color: #b59abf; }
.modal-tabs button.active { color: #efd0a4; }
.choice { background: #c7a2c504; border-color: #d2acc218; border-radius: 10px; }
.choice:hover { background: #d5adca09; border-color: #d2af8766; }
.choice.chosen { background: linear-gradient(115deg, #c2a07517, #ad8eaa08); border-color: #d9b487a6; box-shadow: inset 0 0 0 1px #d9b4870b; }
.choice strong { color: #eee0e9; }
.choice p { color: #b39abe; font-size: 10px; }
.choice-swatch { border-color: #dfbfc02b; box-shadow: inset 0 0 16px #f1d1c508; }
.modal-description, .empty-state { color: #c1a7ca; }
.setting-row p, .modal-footer>span { color: #b49cbe; }
.privacy-note { background: #ccabcd06; border: 1px solid #d1a9c30d; color: #baa1c4; }
.small-print { color: #a28aaf; }
.secondary-button { color: #d6bbdd; border-color: #b794c148; }
.voice-notice { color: #d1b18d; }
.toast { background: #392a43; color: #f2dcf0; border-color: #d0a8d044; }

@media (max-width: 1180px) {
  .cast-options strong { font-size: 11px; }
  .cast-options small { font-size: 9px; }
  .stage-footnote { font-size: 9px; }
  .chat-header { padding: 18px; }
  .chat-log { padding-left: 18px; padding-right: 18px; }
  .welcome-card { padding-top: 22px; }
  .welcome-card h3 { font-size: 24px; }
  .welcome-card>p { font-size: 11px; }
  .welcome-card .login-note { font-size: 9px; }
}
@media (max-width: 940px) and (min-width: 741px) {
  .nav-item { font-size: 0; }
  .stage-top, .stage-bottom { left: 17px; right: 17px; }
  .stage-label { font-size: 9px; }
  .chat-header h2 { font-size: 12px; }
  .welcome-card h3 { font-size: 22px; letter-spacing: .07em; }
}
@media (max-width: 740px) {
  .sidebar { background: #201825ed; border-top-color: #d7b8cb24; box-shadow: 0 -8px 25px #0c071326; }
  .nav-item { font-size: 0; padding-top: 14px; padding-bottom: 14px; }
  .nav-item.active { box-shadow: inset 0 0 0 1px #d4b18b1a; }
  .main-area { padding-left: 18px; padding-right: 18px; }
  .topbar { height: 59px; }
  .private-badge { font-size: 9px; }
  .page-intro { padding-top: 27px; padding-bottom: 24px; }
  h1 { font-size: 25px; letter-spacing: .06em; }
  .page-intro p { font-size: 11px; }
  .night-icon { margin-right: 3px; font-size: 35px; }
  .cast-stage { border-radius: 14px; }
  .stage-top, .stage-bottom { left: 18px; right: 18px; }
  .stage-label { font-size: 9px; }
  .stage-bottom { bottom: 21px; }
  .cast-name { font-size: 28px; }
  .cast-options button { padding: 14px 11px; gap: 8px; }
  .cast-options strong { font-size: 11px; }
  .stage-footnote { font-size: 9px; margin-top: 13px; }
  .chat-panel { border-radius: 14px; }
  .chat-header { padding: 18px; }
  .chat-log { padding: 17px 18px; }
  .welcome-card { padding: 19px 9px 13px; }
  .welcome-card h3 { font-size: 25px; margin-top: 17px; }
  .welcome-card>p { font-size: 12px; }
  .welcome-card .login-note { font-size: 10px; }
  .chat-composer { padding-left: 14px; padding-right: 14px; }
  .page-footer, .page-footer button { font-size: 9px; }
  .modal-heading h2 { font-size: 21px; }
  .choice p { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Fine stage framing and illustrated cast selection. */
.cast-stage:before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 8px;
  border: 1px solid #f1c9af0d;
  border-radius: 9px;
  pointer-events: none;
  background:
    linear-gradient(90deg, #e6c5a766, transparent) 0 0 / 29px 1px no-repeat,
    linear-gradient(180deg, #e6c5a766, transparent) 0 0 / 1px 29px no-repeat,
    linear-gradient(270deg, #e6c5a766, transparent) 100% 0 / 29px 1px no-repeat,
    linear-gradient(180deg, #e6c5a766, transparent) 100% 0 / 1px 29px no-repeat,
    linear-gradient(90deg, #e6c5a744, transparent) 0 100% / 29px 1px no-repeat,
    linear-gradient(0deg, #e6c5a744, transparent) 0 100% / 1px 29px no-repeat,
    linear-gradient(270deg, #e6c5a744, transparent) 100% 100% / 29px 1px no-repeat,
    linear-gradient(0deg, #e6c5a744, transparent) 100% 100% / 1px 29px no-repeat;
}
.stage-bottom>div:first-child { position: relative; padding-top: 12px; }
.stage-bottom>div:first-child:before {
  content: ""; position: absolute; top: 0; left: 1px; width: 37px; height: 1px;
  background: linear-gradient(90deg, #e6c4a5c9, #e6c4a500);
}
.chat-avatar { overflow: hidden; flex-shrink: 0; }
.chat-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.appearance-choice { min-height: 116px; padding: 11px 13px; gap: 15px; }
.appearance-choice .choice-text { padding-top: 5px; padding-bottom: 5px; }
.appearance-choice strong { font-family: var(--serif); font-size: 17px; letter-spacing: .07em; }
.appearance-choice p { margin-top: 8px; line-height: 1.9; }
.choice-swatch.choice-portrait {
  width: 68px; height: 90px; border-radius: 7px; overflow: hidden;
  position: relative; background: linear-gradient(145deg, #68465a, #2d203b);
  border: 1px solid #e6c4ba2c; box-shadow: 0 3px 10px #08030e26;
}
.choice-portrait img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%;
  transform: scale(1.45); transform-origin: 50% 22%;
  transition: transform .3s ease;
}
.choice-portrait:after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 0 0 3px #e5bba108;
  background: linear-gradient(180deg, #1c0d2800 60%, #1c0d2833);
}
.appearance-choice:hover .choice-portrait img { transform: scale(1.50); }
.appearance-choice.chosen .choice-portrait { border-color: #e5c19a80; box-shadow: 0 3px 15px #b88d6814; }
.appearance-choice.chosen strong { color: #f2d6ae; }
.choice .choice-mark { font-size: 12px; right: 11px; top: 10px; }
@media (max-width: 740px) {
  .appearance-choice { min-height: 101px; padding: 10px; gap: 10px; }
  .appearance-choice strong { font-size: 15px; }
  .appearance-choice p { font-size: 9px; margin-top: 6px; line-height: 1.8; }
  .choice-swatch.choice-portrait { width: 55px; height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .choice-portrait img { transition: none; }
}

/* The WebGL camera composes the shoulders-up view. */
#cast-canvas { inset: 0; width: 100%; height: 100%; bottom: auto; filter: none; }
.cast-model-notice { position: absolute; z-index: 4; left: 12%; right: 12%; top: 43%; padding: 16px; border-radius: 10px; background: #22192bd9; color: #ddc9dc; font-size: 12px; line-height: 1.9; text-align: center; }
.cast-model-notice.error { color: #edd0cc; border: 1px solid #b9857b66; }
.model-preview-link { display: flex; gap: 8px; justify-content: center; align-items: center; width: fit-content; margin: 12px auto 0; color: #cfb28c; font-size: 10px; text-decoration: none; padding: 6px 12px; border: 1px solid #c1a28024; border-radius: 20px; }
.model-preview-link:hover { color: #f3ddc1; background: #c1a2800d; }
.voice-choice-grid .choice-select { display: flex; gap: 12px; align-items: center; flex: 1; text-align: left; padding: 0; min-width: 0; }
.voice-choice-grid .choice-text { overflow-wrap: anywhere; }
.voice-notice a { color: #e0c29e; text-decoration: underline; text-underline-offset: 3px; }
.customize-modal .modal-tabs { gap: 18px; flex-wrap: wrap; }
#voice-settings-status { max-width: 380px; overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .customize-modal .modal-tabs { gap: 12px; }
  .customize-modal .modal-tabs button { font-size: 11px; gap: 4px; padding-left: 0; padding-right: 0; }
}
