:root{font:15px "Segoe UI","Yu Gothic UI","Microsoft YaHei",sans-serif;color:#443644;background:#faf7fa;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{border:0;border-radius:11px;padding:11px 15px;color:white;background:#b9548a;cursor:pointer;white-space:nowrap}button:disabled{opacity:.5;cursor:default}button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ba6c96;outline-offset:2px}input,textarea,select{border:1px solid #eadce8;border-radius:11px;padding:10px;background:white;color:inherit}#login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);padding:32px;background:white;border:1px solid #eee2eb;border-radius:22px;box-shadow:0 12px 45px #63315010}.login-card p{font-size:13px;color:#927a8b}.login-card form{display:grid;gap:12px}.avatar{width:42px;height:42px;display:grid;place-items:center;background:#f4d9e9;border-radius:50%;color:#a94078;font:italic 30px Georgia}.login-card .avatar{width:56px;height:56px}h1{font-size:24px}#login-error{min-height:20px;color:#b14b70}#chat{height:100dvh;max-width:880px;margin:auto;display:flex;flex-direction:column;border-inline:1px solid #eee3eb}header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee3eb;background:#fffcfe}.identity{display:flex;align-items:center;gap:10px;font-weight:600}small{display:block;font-size:11px;font-weight:400;color:#998496;margin-top:3px}.actions{display:flex;align-items:center;gap:6px}.actions button,select{font-size:12px}.quiet{background:transparent;color:#96748b;border:1px solid #eadce8;padding:8px 10px}#messages{flex:1;min-height:0;overflow-y:auto;padding:22px;scroll-behavior:smooth}#welcome{text-align:center;color:#a48d9e;margin:70px 0}.message{margin-bottom:20px;display:flex;flex-direction:column;align-items:flex-start}.message.user{align-items:flex-end}.name{font-size:11px;color:#a18a9b;margin:0 3px 5px}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;max-width:94%;padding:12px 16px;background:white;border:1px solid #efe7ee;border-radius:3px 18px 18px 18px}.user .bubble{background:#f2deeb;border-color:#f2deeb;border-radius:18px 3px 18px 18px}.note{font-size:12px;color:#a2758e;margin-top:6px}.voice-bar{display:flex;align-items:center;gap:8px;padding:5px 18px;color:#927588;font-size:12px}.voice-bar button{border:0;font-size:12px}#status{min-height:23px;font-size:12px;padding:0 20px 5px;color:#a2678a}#composer{display:flex;align-items:flex-end;gap:9px;padding:13px 16px calc(16px + env(safe-area-inset-bottom));background:#fffcfe;border-top:1px solid #eee3eb}textarea{resize:none;flex:1;min-width:0;height:70px;max-height:140px;line-height:1.5}#star{background:#f2deeb;color:#995978;padding-inline:12px;font-size:22px}#older{display:block;margin:0 auto 15px}[hidden]{display:none!important}@media(max-width:460px){header{padding:12px}.actions{gap:4px}.actions button,select{font-size:11px;padding:7px}.identity{gap:6px}.avatar{width:34px;height:34px}#messages{padding:16px}#composer{padding-inline:12px;gap:7px}#send{padding-inline:12px}}

.turn-action{display:block;margin:6px 0 2px;padding:4px 9px;border:1px solid #d8cbd4;border-radius:12px;background:transparent;color:#806477;font-size:12px;cursor:pointer}.turn-action:hover{background:#f4e5ed}.user .turn-action{margin-left:auto}.turn-action:disabled{opacity:.45}

.header-actions,.actions{flex-wrap:wrap;gap:6px}.voice-bar{flex-wrap:wrap}#voice-select{max-width:160px;padding:5px;border:1px solid #d8cbd4;border-radius:8px;background:white;color:#725164}.memory-dialog{box-sizing:border-box;width:min(460px,94vw);max-height:85vh;overflow:auto;border:1px solid #dfc5d5;border-radius:14px;background:#faf7fa;color:#51414d;padding:22px}.memory-dialog::backdrop{background:#34212c66}.memory-dialog h2{font-size:19px;margin-top:0}.memory-dialog label{display:block;margin-bottom:6px}.memory-dialog input,.memory-dialog select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #d8cbd4;border-radius:8px;margin-bottom:10px;font:inherit}.memory-dialog button{padding:8px 12px;border:1px solid #d8cbd4;border-radius:8px;background:#f6e4ee;color:#725164;cursor:pointer}.memory-dialog p{min-height:1.4em;font-size:13px}.memory-dialog hr{border:0;border-top:1px solid #e8d5df;margin:18px 0}

.reply-variants{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:#796a77}.reply-variants button{min-width:36px;min-height:32px;border:1px solid #dacbd6;border-radius:8px;background:#fff6fb;color:#765266;cursor:pointer}.reply-variants button:disabled{opacity:.35;cursor:default}.reply-variants button:focus-visible{outline:2px solid #b36592;outline-offset:2px}

#account-dialog{box-sizing:border-box;width:min(580px,94vw);max-height:90dvh;overflow:auto;border:1px solid #ead6e3;border-radius:18px;padding:24px;color:#463240;background:#fffafd}#account-dialog::backdrop{background:#26152e66}#account-dialog label{display:block;margin:14px 0}#account-dialog input,#account-dialog textarea{box-sizing:border-box;display:block;width:100%;margin:8px 0;padding:12px;border:1px solid #e4ccdb;border-radius:8px;font:inherit;color:inherit;background:white}#account-dialog p{font-size:14px;line-height:1.6}#account-dialog button{margin:6px 8px 6px 0}#password-form{margin-top:24px;border-top:1px solid #ead6e3}#login-form{display:grid;gap:12px}#chat .actions{flex-wrap:wrap;justify-content:flex-end}
/* Online app refinements; shared desktop styles remain independent. */
button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
summary:focus-visible{outline:2px solid #ba6c96;outline-offset:4px;border-radius:6px}
#chat .identity{flex-shrink:0}#chat .actions{min-width:0}
#messages{overscroll-behavior:contain;scrollbar-width:thin}
#account-dialog .account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#account-dialog h2{font-size:21px;margin:0 0 6px}
#account-dialog #account-identity{margin:0;color:#806b7c}
#account-dialog .account-heading button{margin:0}
#account-dialog textarea{height:auto;min-height:90px;max-height:220px;resize:vertical}
#account-dialog .account-hint{color:#806b7c;font-size:12px}
.account-save-row{display:flex;align-items:center;gap:12px}
#profile-state{font-size:12px;color:#806b7c}
#account-security{border-top:1px solid #ead6e3;margin-top:20px;padding-top:16px}
#account-security summary{cursor:pointer;padding:8px 0;font-size:14px;color:#725164}
#account-dialog #password-form{border:0;margin-top:12px}
#account-message{min-height:22px;color:#925477}
.account-footer{border-top:1px solid #ead6e3;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.account-footer span{font-size:12px;color:#806b7c}
#account-dialog #account-logout{margin-right:0;color:#925477}
#home .home-top{gap:10px;flex-wrap:wrap}
#home .home-top>span{margin-right:auto}
@media(max-width:600px){
 #chat header{flex-wrap:wrap;gap:12px;padding:12px 16px}
 #chat .actions{width:100%;justify-content:flex-start}
 #chat .actions button,#chat .actions select,.voice-bar button,.voice-bar select,.reply-variants button,.turn-action,#home .home-top button{min-height:44px}
 #chat .actions button,#chat .actions select{font-size:12px}
 #home .home-top>span{flex-basis:100%}
 #home .home-top button{flex:1}
 #home .home-shell{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 #account-dialog{padding:20px;max-height:calc(100dvh - 32px)}
 #account-dialog button{min-height:44px}
 #account-dialog input,#account-dialog textarea,#login input,#composer textarea{font-size:16px}
 #account-dialog .account-footer{align-items:flex-start;flex-direction:column;gap:6px}
 #account-dialog #account-logout{width:100%}
}
@media(prefers-reduced-motion:reduce){#messages{scroll-behavior:auto}}

/* Lightweight login & home identity: system fonts and static CSS artwork. */
#login{background:radial-gradient(ellipse at 5% 12%,#ece3f2 0,transparent 45%),radial-gradient(ellipse at 98% 94%,#f3e4e6 0,transparent 45%),#f7f3f8;padding:48px 24px 26px;align-content:center;gap:24px;color:#44384f}
.login-shell{width:min(1000px,100%);display:grid;grid-template-columns:1.12fr 1fr;border:1px solid #fff;border-radius:28px;background:#fffdfc;box-shadow:0 24px 80px #4933500d;overflow:hidden}
.login-scene{position:relative;min-height:590px;padding:38px 42px;background:linear-gradient(145deg,#eee7f3,#f0e7ed 65%,#f6ede7);overflow:hidden}
.login-brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:600;letter-spacing:-.6px}
.login-brand em{font-style:normal;font-weight:400;color:#8b748f}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #bca5c7;border-radius:12px;color:#775381;font:italic 32px Georgia}
.login-story{position:relative;z-index:1;margin-top:50px}
.login-eyebrow{font-size:10px;letter-spacing:2.5px;color:#80668b;font-weight:600}
.login-story h2{margin:18px 0;font-size:clamp(30px,3.8vw,42px);line-height:1.5;letter-spacing:2px;font-weight:500}
.login-story p{font-size:13px;line-height:1.9;color:#78647f}
.login-scene-foot{position:absolute;bottom:28px;left:42px;font-size:9px;letter-spacing:2px;color:#82708a}
.login-art{position:absolute;width:250px;height:235px;right:2px;bottom:38px;pointer-events:none}
.art-arch{position:absolute;inset:24px 48px 0 52px;border:1px solid #ffffffb8;border-radius:95px 95px 18px 18px;background:linear-gradient(155deg,#fdf9f5c9,#c7afd940);box-shadow:12px 12px 30px #83638c0b;display:grid;place-items:center}
.art-arch>span{font:italic 100px Georgia;color:#ad8eb869;transform:rotate(-10deg)}
.art-orbit{position:absolute;inset:42px 3px 12px;border:1px solid #b498bb66;border-radius:50%;transform:rotate(-28deg)}
.art-note{position:absolute;left:0;bottom:24px;width:178px;height:65px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid #fffc;border-radius:14px;background:#faf6f3;box-shadow:0 8px 22px #7045790a;transform:rotate(-7deg)}
.art-note i{width:3px;height:12px;background:#a182af;border-radius:4px}.art-note i:nth-child(2n){height:24px}.art-note i:nth-child(3n){height:33px}.art-note span{margin-left:10px;font-size:10px;color:#8a7093}
.art-star{position:absolute;right:26px;top:9px;color:#a78ab2;font-size:28px}
#login .login-card{width:auto;align-self:center;padding:54px 48px;border:0;border-radius:0;box-shadow:none;background:transparent}
#login h1{margin:13px 0 10px;font-size:30px;font-weight:600;letter-spacing:1px}
#login .login-card>p{color:#827389;line-height:1.7;margin:0 0 32px}
#login #login-form{gap:10px}
#login-form label{font-size:12px;font-weight:600;color:#68576e;margin-top:6px}
#login-form input{width:100%;min-width:0;height:49px;border-radius:10px;background:#fcfafc;border-color:#e7dfea;padding:12px 14px;font-size:16px}
#login-form input::placeholder{color:#a294a6;font-size:13px}
#login-form input:focus{background:#fff;border-color:#aa88b9}
#login #login-button{position:relative;margin-top:16px;min-height:49px;background:#79548e;border:1px solid #79548e;border-radius:10px;font-weight:600;box-shadow:0 5px 13px #79548e19}
#login-button>span{position:absolute;right:18px;font-weight:400;font-size:18px}
#login #login-button:hover{background:#69457e;filter:none}
#login #login-button:disabled{opacity:.6;cursor:wait}
#login .login-card #login-error{min-height:24px;font-size:12px;color:#a44663;margin:10px 0 16px}
.login-privacy{border-top:1px solid #ece5ee;padding-top:21px;display:flex;gap:10px;font-size:12px;line-height:1.7;color:#85718f}
.login-privacy>span:first-child{font-size:21px;line-height:1.2}.login-privacy small{font-size:10px;color:#93849a;margin-top:3px}
.login-footer{width:min(1000px,100%);display:flex;justify-content:space-between;font-size:10px;color:#938299;letter-spacing:1px;padding:0 3px}
#home{background:radial-gradient(ellipse at 95% 0%,#eae1f2 0,transparent 52%),radial-gradient(ellipse at 0% 85%,#f2e7ed 0,transparent 45%),#f8f5f9}
#home .home-shell{max-width:960px;padding:32px 36px 48px}
#home .home-top{padding-bottom:23px;border-bottom:1px solid #e5dce9;gap:12px}
#home .home-top>span{font-size:19px;letter-spacing:-.4px;color:#55405f}
#home .home-top button{font-size:12px;border-radius:10px;background:#ffffff80;min-height:40px}
#home .home-intro{position:relative;padding:44px 0 24px}
#home .home-intro h1{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.5px;line-height:1.5;color:#47354f;margin:10px 0}
#home .home-intro p{font-size:14px;color:#82708e}
#home .home-eyebrow{font-size:9px;color:#876493;letter-spacing:2.8px}
#home .home-step{background:#ffffffa3;border:1px solid #e9e1ee;border-radius:20px;padding:22px 24px;margin:18px 0;box-shadow:0 4px 18px #57356603}
#home .home-step h2{margin-bottom:17px;color:#594264;font-size:14px}
#home .home-step h2>span{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #e5d9ec;border-radius:8px;background:#f7f1fa;font-size:10px;margin-right:9px}
#home .home-grid{gap:12px}
#home .home-card{background:#fff;box-shadow:none;min-height:88px;padding:17px 16px;border-color:#e7deec;transition:border-color .15s,background-color .15s}
#home .home-card:hover{border-color:#b499c4;background:#fcf9ff;filter:none}
#home .home-card[aria-pressed=true]{background:#f0e8f6;border-color:#a586b8;box-shadow:inset 0 0 0 1px #a586b8}
#home .home-card strong{font-size:14px;color:#624873}
#home .home-card small{color:#83718e;overflow-wrap:anywhere}
#home .home-voice-label{font-size:12px;color:#766080;margin-top:20px}
#home .home-voice-label select{min-height:44px;background:#fff;border-color:#e1d5e8}
#home .home-footer{padding:6px 2px 0;margin-top:24px;border:0}
#home #home-summary{color:#7b6587;margin:0 0 14px;text-align:center;line-height:1.8}
#home .home-footer #home-start{min-height:52px;background:#79548e;border:1px solid #79548e;box-shadow:0 6px 16px #79548e13}
#home .home-footer #home-start:hover{background:#69457e;filter:none}
#home .home-hint{color:#85738e;line-height:1.8}
#home .home-footer .home-hint{text-align:center;max-width:650px;margin:6px auto}
@media(max-width:760px){
 #login{padding:24px 18px;gap:20px}
 .login-shell{max-width:440px;grid-template-columns:1fr;border-radius:23px}
 .login-scene{min-height:0;padding:25px 28px;background:linear-gradient(110deg,#eee7f3,#f4ecef)}
 .login-brand{font-size:20px}.brand-mark{width:34px;height:34px;font-size:29px}
 .login-story,.login-art,.login-scene-foot{display:none}
 #login .login-card{padding:30px 28px 26px}
 #login h1{font-size:27px}
 #login .login-card>p{margin-bottom:23px}
 .login-footer{max-width:440px;font-size:9px;letter-spacing:.4px}
 #home .home-shell{padding:24px 20px calc(28px + env(safe-area-inset-bottom))}
 #home .home-step{padding:18px;border-radius:17px}
 #home .home-intro{padding-top:28px}
 #home .home-top{gap:8px;padding-bottom:18px}
 #home .home-top button{min-height:44px}
 #home .home-card{padding:14px 12px;min-height:82px}
 #home .home-grid{gap:9px}
}
@media(max-width:360px){#login{padding:16px 12px}#login .login-card{padding:25px 22px}.login-scene{padding:22px}#home .home-shell{padding-inline:14px}#home .home-step{padding:14px}#home .home-voice-label{flex-wrap:wrap}#home .home-voice-label select{max-width:100%;width:100%}}
@media(prefers-reduced-motion:reduce){#home .home-card{transition:none}}

/* Conversation: the same quiet violet palette, with reading taking priority. */
#chat{max-width:960px;background:#faf8fc;border-color:#e9e1ee;color:#44364d;box-shadow:0 0 55px #50335b06}
#chat header{flex-shrink:0;gap:16px;padding:19px 26px;background:#fffdfd;border-bottom:1px solid #e9e1ee}
#chat .identity{gap:12px;font-size:16px;letter-spacing:-.3px;color:#50385e}
#chat .avatar{width:42px;height:42px;border:1px solid #dacbe3;border-radius:14px;background:#f0e8f5;color:#886299;font-size:28px}
#chat #chat-character{font-size:12px;color:#85718e;letter-spacing:0;margin-top:4px}
#chat .actions{gap:7px}
#chat button,#chat select{border-radius:10px}
#chat .actions button,#chat .actions select{min-height:38px;border:1px solid #e7ddeb;background:#fffdfd;color:#796087;font-size:12px;padding:8px 11px}
#chat .actions #clear{color:#997887}
#chat .actions #leave-chat{background:#f1eaf6;border-color:#e7ddeb;color:#6e4e80}
#chat button:hover:not(:disabled){filter:none;background:#eee5f5}
#chat button:focus-visible,#chat select:focus-visible,#chat textarea:focus-visible{outline:2px solid #a381b8;outline-offset:3px}
#chat #messages{padding:30px 32px 18px;scroll-padding-block:24px;background:linear-gradient(180deg,#f6f1f9 0,#faf8fc 180px)}
#chat .message{margin-bottom:24px;gap:0}
#chat .name{font-size:12px;line-height:1.5;color:#82708d;margin:0 5px 8px}
#chat .bubble{max-width:min(82%,680px);padding:15px 19px;border:1px solid #eae2ef;background:#fff;line-height:1.85;border-radius:5px 18px 18px 18px;box-shadow:0 3px 12px #52336503;font-size:15px;color:#493b52}
#chat .user .bubble{background:#ece2f3;border-color:#e6d9ef;border-radius:18px 5px 18px 18px;color:#5d426d}
#chat .note{color:#966781;font-size:12px;margin:8px 5px}
#chat .turn-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:8px;border:1px solid transparent;background:transparent;padding:6px 10px;color:#8a7495;font-size:11px}
#chat .turn-action:hover:not(:disabled){border-color:#e6dcec;background:#f1eaf6}
#chat .reply-variants{margin:6px 0 0 2px;gap:9px;font-size:11px;color:#8a7495}
#chat .reply-variants button{width:34px;min-width:34px;min-height:32px;padding:4px;background:#fff;border-color:#e4d8ec;color:#79548e}
#chat .reply-variants button:disabled{opacity:.38}
#chat #older{margin-bottom:25px;font-size:12px;color:#8a7198;border-color:#e6dceb;background:#fff}
#chat #welcome{margin:clamp(40px,12vh,120px) 0;color:#9682a1;font-size:15px;line-height:1.9}
#chat #welcome:before{content:'n.';display:block;margin:0 auto 18px;width:62px;height:62px;border:1px solid #e0d2e8;border-radius:22px;background:#f0e8f5;color:#b29ac0;font:italic 42px/62px Georgia}
#chat .voice-bar{flex-shrink:0;gap:6px;padding:12px 24px 7px;border-top:1px solid #e9e1ee;background:#fffdfd;color:#887292}
#chat .voice-bar button,#chat .voice-bar select{min-height:36px;padding:7px 10px;border:1px solid #e8dfed;background:#f9f5fc;color:#7e628e;font-size:11px;max-width:100%}
#chat .voice-bar #voice{background:#f1eaf6;color:#6b497e}
#chat .voice-bar #voice-stop{color:#996780;border-color:#ead7e2;background:#fff8fb}
#chat #voice-status{font-size:11px;line-height:1.6;order:10;flex-basis:100%;overflow-wrap:anywhere}
#chat #voice-status:empty{display:none}
#chat #status{flex-shrink:0;min-height:16px;padding:1px 26px 5px;background:#fffdfd;color:#93729e;line-height:1.6;font-size:11px;overflow-wrap:anywhere}
#chat #composer{flex-shrink:0;position:relative;gap:9px;padding:8px 24px calc(20px + env(safe-area-inset-bottom));background:#fffdfd;border-top:0}
#chat #input{min-height:70px;max-height:140px;border:1px solid #e3d7eb;border-radius:14px;background:#fbf8fd;padding:14px 16px;color:#493b52;font-size:16px;line-height:1.6;scrollbar-width:thin}
#chat #input::placeholder{color:#a08aad;font-size:14px}
#chat #input:focus{background:#fff;border-color:#b094c0;outline-offset:2px}
#chat #send{min-width:70px;min-height:46px;margin-bottom:2px;background:#79548e;color:#fff;box-shadow:0 4px 12px #79548e13}
#chat #send:hover:not(:disabled){background:#69457e}
#chat #star{min-width:42px;min-height:46px;margin-bottom:2px;border:1px solid #e8ddec;background:#f2ebf7;color:#916ba3;font-size:22px}
/* Existing settings dialogs retain their behavior, with matching colors. */
.memory-dialog{border-color:#e1d4e9;border-radius:20px;background:#fffafd;box-shadow:0 20px 70px #39224418;color:#503c5d}
.memory-dialog::backdrop{background:#34263d66}
.memory-dialog button{min-height:40px;border-color:#e2d5eb;background:#f1e9f7;color:#79548e}
.memory-dialog input,.memory-dialog select{border-color:#e1d4e9;background:#fff;color:#624c6e}
@media(max-width:760px){
 #chat header{padding:14px 18px;flex-wrap:wrap;gap:12px}
 #chat .actions{width:100%;justify-content:flex-start;gap:6px}
 #chat .actions button,#chat .actions select{min-height:40px;font-size:11px;padding:8px 10px}
 #chat #messages{padding:24px 20px 12px}
 #chat .bubble{max-width:92%;padding:13px 16px}
 #chat .voice-bar{padding:10px 18px 6px}
 #chat #composer{padding:6px 18px calc(16px + env(safe-area-inset-bottom))}
 #chat #status{padding-inline:20px}
}
@media(max-width:480px){
 #chat header{padding:12px 14px;gap:11px}
 #chat .identity{font-size:15px;gap:10px}
 #chat .avatar{width:36px;height:36px;border-radius:12px;font-size:25px}
 #chat .actions button,#chat .actions select{min-height:44px;padding:8px;font-size:11px}
 #chat #messages{padding:22px 14px 10px}
 #chat .bubble{max-width:94%;font-size:15px}
 #chat .message{margin-bottom:21px}
 #chat .turn-action,#chat .reply-variants button{min-height:44px;min-width:44px}
 #chat .voice-bar{padding:9px 12px 5px;gap:6px}
 #chat .voice-bar button,#chat .voice-bar select{min-height:44px;padding:7px 9px}
 #chat #status{padding-inline:14px}
 #chat #composer{padding:5px 12px calc(12px + env(safe-area-inset-bottom));gap:6px}
 #chat #input{padding:12px;min-height:70px}
 #chat #send{min-width:58px;padding-inline:10px}
 #chat #star{min-width:38px;padding-inline:9px}
}
@media(max-height:540px) and (orientation:landscape){
 #chat header{padding-block:6px;gap:8px;flex-wrap:nowrap}
 #chat .identity{font-size:12px}#chat .avatar{display:none}
 #chat .actions{width:auto;flex-wrap:wrap}
 #chat .actions button,#chat .actions select{min-height:32px;padding:5px 8px}
 #chat .voice-bar{padding-block:4px}#chat .voice-bar button,#chat .voice-bar select{min-height:32px}
 #chat #composer{padding-top:4px;padding-bottom:6px}#chat #input{height:54px;min-height:54px}
}
@media(max-width:480px){
 #chat header{position:relative}
 #chat .identity{min-height:44px;max-width:56%}
 #chat .identity>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #chat .actions button[aria-haspopup="dialog"]{position:absolute;right:14px;top:12px;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Nichijou identity and interface language controls. */
.brand-lockup{display:flex;align-items:center;gap:10px}.brand-logo{width:36px;height:36px;flex-shrink:0;border-radius:11px}
.login-card{position:relative}#login .login-card{padding-top:80px}
#login .login-card>.ui-language{position:absolute;top:22px;right:28px;min-height:36px;font-size:12px;background:#fbf8fd;border-color:#e5d9ec}
#home .home-top>span.brand-lockup{font-size:21px;letter-spacing:.2px}
.ui-language{color:#765586;border-color:#e2d6e9;background:#fcf9ff;max-width:125px}
#home .home-top>.ui-language{font-size:12px;min-height:40px}
#chat .actions .ui-language{background:#f0e8f6;max-width:100px}
#chat .actions #language{border-style:dashed}
#chat .identity{min-width:100px}#chat #chat-character{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
#chat #welcome:before{content:'';background:transparent url('/logo.svg') center/62px no-repeat;border:0}
.art-arch>img{opacity:.75;transform:rotate(-8deg)}
html[lang=en] #chat .actions{gap:5px}html[lang=en] #chat .actions button{font-size:11px;padding-inline:8px}
@media(max-width:760px){#login .login-card{padding-top:70px}#home .home-top>.ui-language{min-height:44px}#chat .actions{flex-wrap:wrap}}
@media(max-width:480px){#chat .identity{max-width:50%}#chat .actions button[data-account-name]{max-width:46%;top:12px;right:14px}#chat .actions .ui-language{max-width:92px}#home .home-top>span.brand-lockup{flex-basis:100%}#home .home-top button{flex:1 1 auto}#home .home-top>.ui-language{flex:0 1 auto}}
#chat .identity{position:relative;padding-bottom:2px}#chat .identity>.brand-logo{width:40px;height:40px;border-radius:13px}
#chat .identity>#avatar{position:absolute;left:26px;bottom:-1px;width:19px;height:19px;border-radius:7px;font-size:13px;background:#fff8fd;border-color:#d9c7e5}
@media(max-height:540px) and (orientation:landscape){#chat .identity>.brand-logo{width:28px;height:28px}#chat .identity>#avatar{display:none}}
#login #register-form{gap:9px}#register-form label{font-size:12px;font-weight:600;color:#68576e;margin-top:5px}
#register-form input{width:100%;min-width:0;height:46px;border-radius:10px;background:#fcfafc;border-color:#e7dfea;padding:11px 14px;font-size:16px}
#register-form input::placeholder{color:#95839f;font-size:12px}#register-submit{margin-top:13px;min-height:49px;background:#79548e}
#login #register-toggle{display:block;width:100%;margin-top:13px;font-size:12px;white-space:normal;min-height:42px;color:#79548e;border-color:#e5d9ec}
