:root{--paper:#f6f2eb;--white:#fffcf8;--ink:#292622;--muted:#827a70;--line:#e3dcd2;--accent:#7b4f47;--accent-dark:#5f3934;--soft:#eee3dc;--danger:#a33e39}[hidden]{display:none!important}*{box-sizing:border-box}html,body{margin:0;height:100%;color:var(--ink);background:var(--paper)}body{font:15px/1.5 'Trebuchet MS',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;line-height:1.2}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:bold;color:var(--muted)}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100dvh;min-height:400px}.shell.with-detail{grid-template-columns:260px minmax(0,1fr) 360px}.sidebar{display:flex;flex-direction:column;min-height:0;background:#f0ebe3;border-right:1px solid var(--line);padding:29px 16px 16px}.brand{padding:0 12px 28px;display:grid;gap:3px}.brand strong{font:normal 26px Georgia,serif;white-space:nowrap;letter-spacing:-.04em}.brand-dot{color:var(--accent)}.new-chat{border:1px solid #d6c7ba;background:transparent;border-radius:8px;text-align:left;padding:11px 13px;color:var(--accent-dark);font-weight:bold}.new-chat:hover,.sidebar-bottom button:hover{background:var(--soft)}.list-label{padding:28px 12px 10px;font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:bold}#chats{overflow:auto;min-height:0;flex:1}.chat-item{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:12px;margin:2px 0;color:var(--ink)}.chat-item.active{background:var(--white);box-shadow:0 1px 3px #564b3f12}.chat-item:hover:not(.active){background:#eae3d8}.chat-item strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px}.sidebar-bottom{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:6px}.sidebar-bottom button{background:none;border:0;border-radius:6px;padding:7px 9px;color:var(--muted);font-size:12px}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:79px;border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:12px;background:var(--white)}.top-title{flex:1;min-width:0}.top-title h2{font-size:23px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;gap:8px}.header-actions button,.mobile-menu{border:1px solid var(--line);border-radius:7px;background:transparent;padding:8px 11px;color:var(--ink);font-size:12px}.header-actions button:hover,.mobile-menu:hover{background:var(--paper)}.mobile-menu{display:none}.conversation{display:flex;flex:1;flex-direction:column;min-height:0}.messages{flex:1;overflow:auto;padding:36px max(26px,calc((100% - 760px)/2)) 25px;overscroll-behavior:contain}.message{margin:0 0 26px;max-width:92%;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto;width:fit-content;max-width:85%;background:var(--soft);border-radius:15px 15px 3px 15px;padding:13px 17px}.message.assistant{font-size:16px;line-height:1.8}.message.assistant::before{content:'ИСТОРИЯ';display:block;font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:bold;line-height:2.4}.message .time{display:block;font-size:10px;color:var(--muted);margin-top:6px}.conversation-intro{font:italic 20px/1.5 Georgia,serif;color:var(--muted);padding-top:15vh;text-align:center}.composer-wrap{padding:12px max(22px,calc((100% - 760px)/2)) 17px;background:var(--paper)}.composer{background:var(--white);border:1px solid #d8cbbf;border-radius:12px;display:flex;align-items:end;box-shadow:0 2px 14px #3425170d}.composer:focus-within{border-color:var(--accent)}.composer textarea{border:0;outline:none;resize:none;max-height:180px;min-height:54px;background:transparent;width:100%;padding:15px 16px;color:var(--ink)}.composer textarea:focus{outline:none}.send{border:0;background:var(--accent);color:white;width:38px;height:38px;margin:8px;border-radius:8px;font-size:23px;line-height:1}.send:hover,.primary:hover{background:var(--accent-dark)}.composer-help{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:7px 4px 0}.composer-help button{border:0;background:none;color:var(--accent);font-weight:bold}.notice{font-size:13px;padding:9px 12px;border-radius:7px;margin-bottom:8px;background:#f6e6dc;color:#713c31}.empty{max-width:470px;margin:auto;padding:30px;text-align:center}.empty-mark{display:block;font-size:32px;color:var(--accent);margin-bottom:18px}.empty h1{font-size:34px}.empty p{color:var(--muted);margin:19px 0 25px}.primary{border:0;background:var(--accent);color:white;padding:11px 18px;border-radius:7px;font-weight:bold}.detail{border-left:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;min-width:0;min-height:0}.detail-head{padding:26px 22px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start}.detail-head h2{font-size:24px;margin-top:4px}.detail-head button{font-size:26px;line-height:1;border:0;background:none;color:var(--muted)}.detail-body{overflow:auto;padding:24px 22px 40px}label{display:block;font-size:12px;font-weight:bold;color:var(--muted);margin:0 0 20px}input:not([type=checkbox]),textarea{display:block;width:100%;padding:11px 12px;margin:7px 0 0;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:7px}textarea{resize:vertical;min-height:86px;line-height:1.5}.detail-body textarea{min-height:180px}.detail-body h3{font-size:18px;margin:25px 0 9px}.detail-body p{color:var(--muted);font-size:13px;margin:8px 0 18px}.detail-body button{margin:2px 5px 12px 0}.detail-body .danger{border:0;color:var(--danger);background:none;padding:8px}.detail-body .minor{border:1px solid var(--line);background:transparent;border-radius:6px;padding:7px 10px;font-size:12px}.memory-item{border-bottom:1px solid var(--line);padding:13px 0}.memory-item p{color:var(--ink);margin:0 0 8px;overflow-wrap:anywhere}.memory-item small{color:var(--muted);font-size:11px}.memory-item button{font-size:11px;padding:4px 7px;margin:5px 5px 0 0;border:0;background:var(--paper);border-radius:5px}.checkbox-row{display:flex;gap:8px;align-items:center;font-size:13px;margin:5px 0 20px;color:var(--ink)}.checkbox-row input{accent-color:var(--accent)}.error{color:var(--danger)!important}.success{color:#47774b!important}.login{position:fixed;inset:0;display:grid;place-items:center;padding:25px}
.noscript{position:fixed;inset:0;display:grid;place-items:center;padding:30px;text-align:center;background:#14101a;color:#f1e9ee;font:16px/1.6 "Segoe UI",system-ui,sans-serif;z-index:10}.login-card{width:min(100%,410px);background:var(--white);padding:38px;border:1px solid var(--line);border-radius:12px}.login-card h1{font-size:38px;margin:8px 0 8px}.login-card p{color:var(--muted);margin-bottom:27px}.login-card input{margin-bottom:13px}dialog{border:1px solid var(--line);border-radius:13px;background:var(--white);color:var(--ink);padding:30px;width:min(94vw,470px);box-shadow:0 15px 80px #29262230}dialog::backdrop{background:#2926228c}dialog h2{font-size:28px;margin:6px 0 22px}.dialog-buttons{display:flex;justify-content:end;gap:10px}.dialog-buttons button:not(.primary){border:0;background:transparent;color:var(--muted);padding:10px}@media(max-width:1050px){.shell.with-detail{grid-template-columns:240px minmax(0,1fr)}.detail{position:fixed;right:0;top:0;bottom:0;width:min(100vw,380px);z-index:5;box-shadow:-8px 0 40px #29262224}}@media(max-width:700px){.shell,.shell.with-detail{grid-template-columns:1fr}.sidebar{position:fixed;z-index:6;inset:0 auto 0 0;width:min(84vw,290px);box-shadow:8px 0 40px #29262224;transform:translateX(-110%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{height:69px;padding:10px 14px}.top-title h2{font-size:18px}.header-actions button{padding:7px;font-size:11px}.messages{padding:23px 16px}.composer-wrap{padding:7px 12px 12px}.composer-help span{display:none}.empty h1{font-size:29px}.message.assistant{font-size:15px}.detail{width:min(100vw,390px)}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
/* Violet skin: private, playful, and legible. */
:root{--paper:#f9f5fa;--white:#fffcff;--ink:#302537;--muted:#796c80;--line:#e7dce9;--accent:#743c81;--accent-dark:#542561;--soft:#f0e3f2;--danger:#a13c61}
.brand-dot{color:#d4a6df}.shell{grid-template-columns:274px minmax(0,1fr)}.shell.with-detail{grid-template-columns:274px minmax(0,1fr) 360px}
.sidebar{background:#2d2037;color:#f8effa;border-color:#47324e;padding-top:31px}.sidebar .eyebrow,.sidebar .list-label{color:#bfa9c8}.brand{gap:8px}.brand strong{font:normal 24px/1.14 Georgia,serif;letter-spacing:-.035em;white-space:normal}
.new-chat{min-height:47px;border-color:#9873a3;background:#eee0f2;color:#46244f;border-radius:9px}.new-chat:hover{background:#fff3ff}
.chat-item{color:#f4eaf7}.chat-item.active{background:#50365c;box-shadow:0 1px 4px #1b10243d}.chat-item:hover:not(.active){background:#40304b}.chat-item small{color:#c8b5d0}
.sidebar-bottom{border-color:#5b4864}.sidebar-bottom button{color:#d9c8df}.sidebar-bottom button:hover{background:#40304b;color:white}
.header-actions button,.mobile-menu{color:var(--accent-dark);min-height:40px}.header-actions button:hover,.mobile-menu:hover{background:var(--soft)}
.message.user{border:1px solid #e6d4ea}.message.assistant::before{content:'ПЕРСОНАЖ'}
.composer{border-color:#d4badb;box-shadow:0 3px 16px #4b28500f}.send{width:40px;height:40px;margin:7px}.notice{background:#f6e9ed;color:#762e56}
.empty h1{font-size:36px}.primary{min-height:44px}.detail-head button{min-width:44px;min-height:44px}
.login{background:#eee5f0}.login-card{width:min(100%,440px);padding:41px;border-color:#ddcce2;box-shadow:0 18px 55px #32203b1c}.login-card h1{font-size:38px;letter-spacing:-.035em}dialog::backdrop{background:#2d20378c}
@media(max-width:1080px){.shell.with-detail{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:700px){.shell,.shell.with-detail{grid-template-columns:1fr}.mobile-menu,.header-actions button{min-height:44px}.topbar{gap:8px;padding-inline:12px}.header-actions{gap:5px}.login-card{padding:30px}.login-card h1{font-size:33px}.empty h1{font-size:29px}}
.mode-picker select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--white);color:var(--ink)}.mode-hint{color:var(--muted);font-size:13px;margin:6px 0 12px}.mode-picker{margin:12px 0}
.message-content{white-space:pre-wrap;overflow-wrap:anywhere}.message.streaming .message-content::after{content:'▍';display:inline-block;margin-left:2px;color:var(--accent);animation:blink .9s steps(2,start) infinite}.npc-card{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0;background:var(--white)}.npc-form{border:1px dashed var(--line);border-radius:10px;padding:12px;margin:10px 0}.detail-body h3{margin-top:23px}.detail-body label{margin-top:10px}@keyframes blink{to{visibility:hidden}}
.message-actions{display:flex;justify-content:flex-end;margin-top:7px}.message-edit{min-height:32px;padding:5px 10px;border:1px solid #aba3bd;border-radius:2px;background:#302c3b;color:#e9dff2;font-size:12px;font-weight:600}.message-edit:hover{background:#4a4057;border-color:#d7cce6}.message-editor-wrap{display:grid;gap:9px;margin:0 0 11px}.message-editor{width:100%;min-height:100px;resize:vertical;border:2px solid #786c85;border-radius:2px;padding:11px 12px;background:#211d27;color:var(--ink);line-height:1.55}.message-edit-note{color:var(--muted);font-size:11px;line-height:1.45}.message-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.message-editor-actions button{min-height:38px;border-radius:9px;padding:8px 12px}

/* Story window: night-bound manuscript inside a familiar early-desktop frame. */
:root{
  color-scheme:dark;
  --paper:#1d1923;
  --white:#292431;
  --ink:#eee6d8;
  --muted:#b8acbe;
  --line:#51475a;
  --accent:#b6a5d2;
  --accent-dark:#ddd0ed;
  --soft:#393142;
  --danger:#e69cab;
  --sidebar:#17141d;
  --sidebar-hover:#302838;
  --sidebar-active:#3c3348;
  --book-text:#e9dfcf;
  --xp-blue-top:#222b78;
  --xp-blue-bottom:#11185a;
  --panel-shadow:0 22px 65px rgba(5,7,18,.5);
}
html,body{background:#131725;color:var(--ink)}
body{font-family:Tahoma,Verdana,Arial,sans-serif;letter-spacing:0;background:radial-gradient(ellipse at 72% 20%,#475474 0%,transparent 55%),linear-gradient(135deg,#1a2336 4%,#242035 55%,#11131e 100%)}
h1,h2,h3{font-family:Georgia,"Book Antiqua",serif;letter-spacing:-.015em}
button,input,textarea,select{font:inherit}
button{transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}
button:active{transform:translateY(1px)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c5b5dd;outline-offset:2px}
button:disabled{opacity:.5;cursor:wait}
.shell{grid-template-columns:268px minmax(0,1fr);background:#292531;border:2px solid #9295ac;outline:0;width:100%;max-width:none;height:100dvh;min-height:0;margin:0;box-shadow:inset 1px 1px #e0dce9,inset -1px -1px #211d32}
.shell.with-detail{grid-template-columns:268px minmax(0,1fr) 358px}
.sidebar{background:linear-gradient(180deg,#292536,#201c29 70%);border-right:2px solid #777388;padding:18px 13px 13px;box-shadow:inset -1px 0 #13111c}
.brand{padding:4px 11px 21px;gap:7px}
.brand strong{font:700 22px/1.18 Georgia,"Book Antiqua",serif;letter-spacing:-.025em;white-space:normal;max-width:220px;color:#f0e6d9}
.brand-dot{color:var(--accent)}
.new-chat{border:2px solid;border-color:#f1edf5 #6c6b83 #6c6b83 #f1edf5;background:linear-gradient(180deg,#d8d7e4,#b6b6c9);color:#25243d;border-radius:2px;padding:11px 12px;font-size:13px;box-shadow:inset 1px 1px #eae9f2,inset -1px -1px #8f90a8}
.new-chat:hover{background:linear-gradient(180deg,#e6e3f1,#c9c6dc);border-color:#fff #79718b #79718b #fff;box-shadow:inset 1px 1px #fff,inset -1px -1px #9891ad}
.list-label{margin:24px 3px 9px;padding:5px 9px;background:#222469;border:1px solid #555b9a;color:#f0e9f7;font-size:10px;letter-spacing:.08em;font-weight:700;box-shadow:inset 0 1px #656ca4}
.chat-item{border-radius:2px;padding:10px 11px;margin:3px 0;color:#f2e9dd}
.chat-item.active{background:#484357;box-shadow:inset 3px 0 #c2b5dc,inset 0 1px rgba(255,255,255,.1)}
.chat-item:hover:not(.active){background:var(--sidebar-hover)}
.chat-item strong{font-size:13px;font-weight:650}
.chat-item small{color:#c6b7c6;font-size:11px}
.sidebar-bottom{border-color:#605c70;padding-top:10px}
.sidebar-bottom button{min-height:36px;color:#ded1e2;border-radius:2px}
.sidebar-bottom button:hover{background:var(--sidebar-hover);color:#fff}
.main{background-color:#26212c;background-image:repeating-linear-gradient(0deg,rgba(236,224,202,.012) 0 1px,transparent 1px 4px),radial-gradient(ellipse at 46% -16%,rgba(110,91,126,.12),transparent 55%),linear-gradient(180deg,#2c2632 0%,#24202a 100%)}
.topbar{height:64px;flex-shrink:0;background:linear-gradient(90deg,var(--xp-blue-bottom),#222974 70%,var(--xp-blue-top));border-bottom:2px solid #aaaabc;padding:7px 18px;box-shadow:inset 0 1px 0 #7980c3,inset 0 -1px 0 #080d43;color:#f1edf4}
.top-title h2{font:700 20px/1.15 Georgia,"Book Antiqua",serif;letter-spacing:-.015em;color:#f7f2e9;text-shadow:1px 1px #090f42}
.top-title{display:grid;grid-template-columns:29px minmax(0,1fr);column-gap:8px;align-items:center}
.top-title::before{content:"✦";grid-row:1/3;width:27px;height:27px;display:grid;place-items:center;border:1px solid #b8a8d3;background:#35366f;color:#f3e3c7;font:18px Georgia,serif;box-shadow:inset 1px 1px #7475ae,inset -1px -1px #141850}
.top-title .eyebrow,.top-title h2{grid-column:2}
.top-title .eyebrow{font-size:9px;letter-spacing:.1em;color:#d4d6ef}
.detail-head .eyebrow{font-size:9px;letter-spacing:.1em;color:#d4d6ef}
.header-actions{gap:6px}
.header-actions button,.mobile-menu{min-height:34px;border:2px solid;border-color:#eff0f7 #686d90 #686d90 #eff0f7;border-radius:2px;background:linear-gradient(#dfdfe9,#bcbecf);padding:5px 10px;color:#24233d;font-size:12px;font-weight:700;box-shadow:inset 1px 1px #fff,inset -1px -1px #8d90a9}
.header-actions button:hover,.mobile-menu:hover{background:linear-gradient(#efebf5,#d3ccdf);border-color:#fff #878198 #878198 #fff}
.messages{padding-top:34px;padding-bottom:28px;scroll-behavior:smooth}
.message{max-width:760px;margin-bottom:27px}
.message.user{max-width:min(80%,650px);background:#39333f;color:#f0e7dc;border:1px solid #6b6174;border-radius:3px;padding:14px 18px;line-height:1.7;box-shadow:inset 1px 1px rgba(231,222,242,.15),2px 3px 0 rgba(12,11,21,.22)}
.message.assistant{font:16px/1.82 Georgia,"Book Antiqua",serif;color:var(--book-text);padding:0 2px}
.message.assistant::before{content:"ПЕРСОНАЖ";font:600 9px/2.8 Tahoma,Verdana,sans-serif;letter-spacing:.15em;color:#c9b7df}
.message .time{color:var(--muted);font-variant-numeric:tabular-nums;font:11px/1.5 Tahoma,Verdana,sans-serif}
.conversation-intro{font:500 18px/1.6 Georgia,"Book Antiqua",serif;color:var(--muted);padding-top:15vh}
.history-older{display:block;margin:0 auto 22px;padding:8px 14px;min-height:38px;border:2px solid;border-color:#a49caf #595266 #595266 #a49caf;border-radius:2px;background:#302a39;color:#e7dff0;font:12px Tahoma,Verdana,sans-serif}
.history-older:hover{background:#40364c}
.composer-wrap{padding:12px max(24px,calc((100% - 760px)/2)) 10px;background:linear-gradient(180deg,#27222e,#22202a);border-top:2px solid #5f596d}
.composer{border:2px solid;border-color:#5a5368 #9f98ad #9f98ad #5a5368;border-radius:2px;background:#211d27;box-shadow:inset 1px 1px #17131c}
.composer:focus-within{border-color:#a995c7;box-shadow:inset 1px 1px #17131c,0 0 0 1px #a995c7}
.composer textarea{min-height:56px;max-height:190px;padding:16px 17px;line-height:1.55;color:var(--ink)}
.composer textarea::placeholder{color:#b8acbe;opacity:1}
.send{width:42px;height:42px;margin:7px;border-radius:2px;background:linear-gradient(#e1dfea,#b6b4c7);color:#24233d;border:2px solid;border-color:#fff #777487 #777487 #fff;box-shadow:inset 1px 1px #eeeaf5,inset -1px -1px #8f8da1}
.send:hover,.primary:hover{background:linear-gradient(#eeeaf5,#d2c9df)}
.composer-help{font-size:11px;padding-top:6px;color:#c2b5c9}
.composer-help button{border-radius:2px;padding:4px 7px;color:var(--accent-dark)}
.notice{border:1px solid #785264;border-radius:9px;background:#402a3a;color:#f2dce8}
.empty{max-width:510px;padding:34px}
.empty-mark{font-size:28px;margin-bottom:17px;color:var(--accent)}
.empty h1{font-size:32px;font-weight:680;letter-spacing:-.025em;color:#f0e6d9}
.empty p{max-width:42ch;margin:14px auto 23px;line-height:1.7;color:#c8bdca}
.primary{min-height:42px;border:2px solid;border-color:#f6f2fb #777487 #777487 #f6f2fb;border-radius:2px;padding:9px 16px;background:linear-gradient(#dddce8,#bab9cd);color:#25243d;box-shadow:inset 1px 1px #f6f3fb,inset -1px -1px #8d8ca1}
.detail{background:#292534;border-left:2px solid #6d687d}
.detail-head{padding:13px 17px 12px;border-bottom:2px solid #a7a4b9;background:linear-gradient(90deg,#121855,#242875);color:#f0ecf8}
.detail-head h2{font-size:20px;font-weight:650;color:#f5ecdf;text-shadow:1px 1px #0a1042}
.detail-head button{border-radius:2px;background:#d3d0de;color:#282842;border:2px solid;border-color:#fff #66647d #66647d #fff}
.detail-head button:hover{background:#e4dfea;color:#1e1b35}
.detail-body{padding:20px 19px 38px}
.detail-body h3{font-size:16px;font-weight:670;letter-spacing:-.015em;margin:24px 0 8px;color:#ede2d4}
.detail-body p{line-height:1.65}
label{color:#dfd4e0;font-size:12px;font-weight:630;line-height:1.5}
input:not([type=checkbox]),textarea,select{border:2px solid;border-color:#686176 #a69eaf #a69eaf #686176;border-radius:2px;background:#211d27;color:#eee6d8;transition:border-color .14s ease,box-shadow .14s ease}
input:not([type=checkbox]):focus,textarea:focus,select:focus{border-color:#b7a4d3;box-shadow:0 0 0 1px #b7a4d3;outline:none}
input::placeholder,textarea::placeholder{color:#b8acbe;opacity:1}
textarea{line-height:1.6}
.detail-body .minor{border:2px solid;border-color:#aaa5b7 #565063 #565063 #aaa5b7;border-radius:2px;background:#3b3545;color:#eee5d9;min-height:35px}
.detail-body .minor:hover{background:#4b4257;border-color:#d8cce7 #676073 #676073 #d8cce7}
.detail-body .primary{min-height:44px}
.memory-item{border-bottom-color:var(--line);padding:15px 0}
.memory-item button{border-radius:8px}
.checkbox-row input{width:17px;height:17px;accent-color:#9aabd9}
.success{color:#b5dfc0!important}
.login{background:radial-gradient(ellipse at 65% 18%,#475474,transparent 55%),linear-gradient(155deg,#1c2537,#181726 74%)}
.login-card{--login-inset:41px;padding-top:0;border:2px solid #9796aa;border-radius:2px;background:#292431;color:#eee6d8;box-shadow:inset 1px 1px #e3deec,var(--panel-shadow)}
.login-card .eyebrow{display:block;margin:0 calc(-1 * var(--login-inset)) 26px;padding:10px 14px;background:linear-gradient(90deg,#111752,#242975);border-bottom:2px solid #aba7bd;color:#f3edf6;font-size:10px;letter-spacing:.12em}
.login-card h1{font:700 34px/1.15 Georgia,"Book Antiqua",serif;letter-spacing:-.025em;margin:10px 0;color:#f0e6d9}
.login-card p{line-height:1.65;color:#c8bdca}
dialog{border:2px solid #9995ab;border-radius:2px;padding:30px;background:#292431;color:#eee6d8;box-shadow:0 22px 75px rgba(0,0,0,.55);max-height:92dvh;overflow:auto}
dialog::backdrop{background:rgba(13,10,18,.78)}
dialog h2{font:680 26px/1.2 Georgia,"Book Antiqua",serif;letter-spacing:-.015em;color:#f0e6d9}
.dialog-buttons button:not(.primary){border:2px solid;border-color:#aaa5b7 #565063 #565063 #aaa5b7;border-radius:2px;min-height:42px;background:#3b3545;color:#e8dfd5}
.mode-picker select{min-height:44px}
.mode-hint{line-height:1.55}
.npc-card,.npc-form{border:1px solid #666075;border-radius:2px;padding:14px;background:#302a37}
.npc-form{border-style:solid;border-color:#70677b;background:#26212d}
@media(max-width:1080px){.shell.with-detail{grid-template-columns:235px minmax(0,1fr) 358px} .shell{grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:1050px){.shell.with-detail{grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:700px){
  .shell,.shell.with-detail{grid-template-columns:1fr;height:100dvh;min-height:400px;margin:0;border:0;outline:0;box-shadow:none}
  .topbar{height:68px;padding:9px 10px}
  .top-title{display:block}
  .top-title::before{display:none}
  .top-title h2{font-size:16px}
  .header-actions button{min-height:44px;padding:7px 8px;font-size:11px}
  .messages{padding:22px 16px}
  .message.user{max-width:90%;padding:12px 14px}
  .message.assistant{font-size:15px;line-height:1.72}
  .composer-wrap{padding:8px 11px 11px}
  .composer-help span{display:none}
  .detail{width:min(100vw,390px)}
  .empty h1{font-size:29px}
  .login-card{--login-inset:29px;padding:0 29px 29px}
}
@media(max-width:360px){
  .topbar{height:auto;min-height:100px;flex-wrap:wrap;align-content:center;gap:4px 7px}
  .top-title{flex:1}
  .header-actions{flex:0 0 100%;justify-content:flex-end;gap:5px}
  .header-actions button{min-height:31px;padding:3px 8px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.mode-base-note{font-size:12px;line-height:1.55;color:var(--muted);margin:7px 0 0}
.chat-row{display:flex;align-items:stretch;gap:3px;margin:3px 0}
.chat-row .chat-item{flex:1;min-width:0;margin:0}
.chat-delete{flex:0 0 36px;width:36px;min-height:42px;border:1px solid transparent;border-radius:2px;background:transparent;color:#d6c3dd;font-size:21px;line-height:1;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}
.chat-row:hover .chat-delete,.chat-row:focus-within .chat-delete{opacity:1}
.chat-delete:hover{background:#523b5b;color:#ffd8e4}
.chat-delete:focus-visible{opacity:1;outline:2px solid #d6addf;outline-offset:1px}
@media(max-width:700px){.chat-delete{opacity:.82;min-width:40px;flex-basis:40px}}
@media(prefers-reduced-motion:reduce){.chat-delete{transition:none}}
.notice[data-kind="error"]{border-color:#a76575;background:#4b293a;color:#ffe1e6}
.api-provider-select,#context-messages{display:block;width:100%;margin-top:6px;border:2px solid;border-color:#686176 #a69eaf #a69eaf #686176;border-radius:2px;padding:10px 11px;background:#211d27;color:var(--ink)}
#context-messages{min-height:44px}
.mobile-menu{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;min-width:40px;min-height:40px;padding:6px!important;font-size:20px!important;line-height:1}
@media(min-width:701px){
  .shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}
  .shell.sidebar-collapsed.with-detail{grid-template-columns:minmax(0,1fr) 358px}
  .shell.sidebar-collapsed .sidebar{display:none}
}
.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}
.sidebar-head .brand{min-width:0;flex:1}
.sidebar-close{display:none}
.sidebar-scrim{display:none}
@media(max-width:700px){
  .sidebar-close{display:inline-flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;margin:0 2px 0 0;border:2px solid;border-color:#eeeaf5 #575267 #575267 #eeeaf5;border-radius:2px;background:#b5b2c8;color:#24213d;font-size:25px;line-height:1}
  .sidebar-close:hover{background:#d2cbde}
  #sidebar-scrim:not([hidden]){display:block;position:fixed;z-index:5;inset:0;border:0;border-radius:0;padding:0;background:rgba(20,12,25,.58)}
}


/* ===== Design v19: soft night violet. Overrides the retro bevel skin above; delete this block to roll back. ===== */
:root{--bg-0:#14101a;--bg-1:#1b1622;--ink:#f1e9ee;--muted:#b4a6bd;--line:rgba(190,170,215,.17);--accent:#c4a8ee;--accent-dark:#e9dcfb;--accent-strong:#9b72d6;--gold:#e9c98f;--danger:#f0a3b4;--soft:#352b42;--shadow-soft:0 10px 34px rgba(8,4,16,.38);--btn-grad:linear-gradient(135deg,#b48be8,#8a5fc7);--btn-grad-hover:linear-gradient(135deg,#c39cf0,#9b70d6)}
html,body{background:var(--bg-0)}
body{font-family:"Segoe UI",system-ui,-apple-system,Tahoma,sans-serif;background:radial-gradient(900px 520px at 78% -8%,rgba(155,114,214,.2),transparent 62%),radial-gradient(700px 480px at 4% 108%,rgba(233,201,143,.07),transparent 60%),var(--bg-0)}
::selection{background:rgba(196,168,238,.35)}
*{scrollbar-width:thin;scrollbar-color:#4a3d5a transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#4a3d5a;border-radius:10px;border:3px solid transparent;background-clip:content-box}
.shell{border:0;box-shadow:none;background:transparent}
.eyebrow{font-weight:600;letter-spacing:.2em}
/* sidebar */
.sidebar{background:linear-gradient(180deg,rgba(32,25,41,.97),rgba(21,16,28,.99));border-right:1px solid var(--line);box-shadow:none;padding:22px 14px 14px}
.brand{padding:2px 10px 22px}
.brand strong{font:600 23px/1.2 Georgia,"Book Antiqua",serif;color:var(--ink);letter-spacing:-.02em}
.brand-dot{color:var(--gold)}
.new-chat{border:1px solid rgba(196,168,238,.35);border-radius:12px;background:linear-gradient(180deg,rgba(155,114,214,.3),rgba(155,114,214,.14));color:var(--accent-dark);box-shadow:inset 0 1px rgba(255,255,255,.08);padding:12px 14px;font-weight:600}
.new-chat:hover{background:linear-gradient(180deg,rgba(155,114,214,.42),rgba(155,114,214,.22));border-color:rgba(196,168,238,.6);box-shadow:inset 0 1px rgba(255,255,255,.12)}
.list-label{margin:24px 4px 8px;padding:0 10px;background:none;border:0;box-shadow:none;color:var(--muted);letter-spacing:.18em;font-weight:600}
.chat-item{border-radius:12px;padding:11px 12px;color:var(--ink)}
.chat-item.active{background:rgba(155,114,214,.2);box-shadow:inset 0 0 0 1px rgba(196,168,238,.25)}
.chat-item:hover:not(.active){background:rgba(255,255,255,.055)}
.chat-item small{color:var(--muted)}
.chat-delete{border-radius:10px}
.sidebar-bottom{border-top:1px solid var(--line)}
.sidebar-bottom button{border-radius:10px;color:var(--muted)}
.sidebar-bottom button:hover{background:rgba(255,255,255,.07);color:var(--ink)}
/* top bar */
.topbar{height:68px;padding:8px 22px;background:rgba(27,22,34,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:none}
.top-title h2{font:600 20px/1.2 Georgia,"Book Antiqua",serif;color:var(--ink);text-shadow:none}
.top-title::before{width:30px;height:30px;border:1px solid rgba(196,168,238,.3);border-radius:10px;background:rgba(155,114,214,.18);color:var(--gold);box-shadow:none}
.top-title .eyebrow,.detail-head .eyebrow{color:var(--muted)}
.header-actions button,.mobile-menu,.sidebar-close{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.05);color:var(--accent-dark);box-shadow:none;font-weight:600}
.header-actions button:hover,.mobile-menu:hover,.sidebar-close:hover{background:rgba(155,114,214,.2);border-color:rgba(196,168,238,.42)}
/* messages */
.main{background:transparent}
.messages{padding-top:36px}
.message.user{background:linear-gradient(180deg,#3b304a,#322840);border:1px solid rgba(196,168,238,.22);border-radius:18px 18px 5px 18px;box-shadow:0 6px 18px rgba(8,4,16,.28);color:var(--ink)}
.message.assistant{font:17px/1.85 Georgia,"Book Antiqua",serif;color:#efe5d6}
.message.assistant::before{color:var(--accent);font-weight:600;letter-spacing:.22em}
.message-edit{border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.05);color:var(--muted);font-weight:500}
.message-edit:hover{background:rgba(155,114,214,.22);border-color:rgba(196,168,238,.4);color:var(--ink)}
.message-editor{border:1px solid rgba(196,168,238,.4);border-radius:12px;background:rgba(20,16,26,.75)}
.history-older{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);color:var(--accent-dark);padding:8px 18px}
.history-older:hover{background:rgba(155,114,214,.2)}
/* composer */
.composer-wrap{background:linear-gradient(180deg,transparent,rgba(20,16,26,.88) 38%);border-top:0;padding-top:6px}
.composer{border:1px solid rgba(196,168,238,.26);border-radius:18px;background:rgba(36,29,45,.94);box-shadow:var(--shadow-soft)}
.composer:focus-within{border-color:rgba(196,168,238,.7);box-shadow:0 0 0 3px rgba(155,114,214,.22),var(--shadow-soft)}
.send{border:0;border-radius:13px;background:var(--btn-grad);color:#fff;box-shadow:0 4px 14px rgba(138,95,199,.45)}
.send:hover,.primary:hover{background:var(--btn-grad-hover);filter:none}
.composer-help,.composer-help button{color:var(--muted)}
.composer-help button{border-radius:8px;color:var(--accent)}
.notice{border-radius:12px}
/* buttons */
.primary{border:0;border-radius:12px;background:var(--btn-grad);color:#fff;box-shadow:0 6px 18px rgba(138,95,199,.35);font-weight:600}
.empty-mark{color:var(--gold);text-shadow:0 0 28px rgba(233,201,143,.5)}
.empty h1{color:var(--ink)}
/* detail panel */
.detail{background:rgba(30,24,39,.97);border-left:1px solid var(--line)}
.detail-head{background:none;border-bottom:1px solid var(--line);color:var(--ink);padding:20px 22px 16px}
.detail-head h2{color:var(--ink);text-shadow:none}
.detail-head button{border:0;border-radius:10px;background:rgba(255,255,255,.07);color:var(--ink)}
.detail-head button:hover{background:rgba(255,255,255,.14);color:#fff}
.detail-body h3{color:var(--ink)}
.detail-body .minor{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.05);color:var(--ink)}
.detail-body .minor:hover{background:rgba(155,114,214,.2);border-color:rgba(196,168,238,.4)}
.memory-item button{background:rgba(255,255,255,.07);color:var(--ink);border-radius:8px}
.npc-card,.npc-form{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}
/* fields */
input:not([type=checkbox]),textarea,select,.api-provider-select,.mode-picker select{border:1px solid var(--line);border-radius:10px;background:rgba(20,16,26,.72);box-shadow:none}
input:not([type=checkbox]):focus,textarea:focus,select:focus{border-color:rgba(196,168,238,.7);box-shadow:0 0 0 3px rgba(155,114,214,.2)}
/* login and dialogs */
.login{background:radial-gradient(800px 500px at 70% 10%,rgba(155,114,214,.24),transparent 62%),radial-gradient(600px 420px at 10% 100%,rgba(233,201,143,.08),transparent 60%),var(--bg-0)}
.login-card{padding:40px;border:1px solid var(--line);border-radius:22px;background:rgba(36,29,45,.92);box-shadow:0 30px 80px rgba(5,2,12,.6)}
.login-card .eyebrow{margin:0 0 20px;padding:0;background:none;border:0;box-shadow:none;color:var(--gold)}
.login-card h1{color:var(--ink)}
dialog{border:1px solid var(--line);border-radius:20px;background:#251e2e;box-shadow:0 30px 90px rgba(0,0,0,.6)}
dialog h2{color:var(--ink)}
.dialog-buttons button:not(.primary){border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.05);color:var(--ink)}
.dialog-buttons button:not(.primary):hover{background:rgba(255,255,255,.1)}
@media(max-width:700px){
  .login-card{padding:30px 26px}
  .topbar{height:64px;padding:8px 12px}
  .composer{border-radius:16px}
}

/* ===== Design v20: finishing touches ===== */
.brand strong{font-size:27px;letter-spacing:-.025em}
.message.assistant{padding:2px 4px 2px 18px;border-left:2px solid rgba(196,168,238,.26);border-radius:2px}
.message.assistant.streaming{border-left-color:rgba(233,201,143,.55)}
.message .time{opacity:.75}
.message-actions{opacity:0;transition:opacity .15s ease}
.message:hover .message-actions,.message-actions:focus-within,.message-editor-wrap .message-actions{opacity:1}
@media(hover:none){.message-actions{opacity:.8}}
.chat-item strong{letter-spacing:.005em}
.chat-item.active strong{color:#fff}
.send:active,.primary:active,.new-chat:active{transform:translateY(1px) scale(.985)}
.login-card{animation:cardIn .45s ease both}
@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.login-card{animation:none}}
@media(hover:hover){
  .message.user{position:relative}
  .message.user .message-actions{position:absolute;right:12px;bottom:9px;margin:0}
  .message.user .message-edit{min-height:26px;padding:2px 9px;font-size:11px}
}

/* ===== Design v22: own logo, line icons, calm starry backdrop ===== */
:root{
  --logo:url("/favicon.svg?v=2");
  --i-memory:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h11a1 1 0 0 1 1 1v16l-6.5-4-6.5 4v-16a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
  --i-people:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-5.8 6-5.8s6 2.5 6 5.8'/%3E%3Cpath d='M16 4.9a3.2 3.2 0 0 1 0 6.2M18.2 14.6c1.7.8 2.8 2.6 2.8 5.4'/%3E%3C/svg%3E");
  --i-sliders:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E");
  --i-door:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5.5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1H10'/%3E%3Cpath d='M15 8l4 4-4 4M19 12H9.5'/%3E%3C/svg%3E");
  --i-send:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12.5 6l6 6-6 6'/%3E%3C/svg%3E");
}
/* logo: sidebar, topbar, login, empty state, tab */
.brand strong::before{content:"";display:inline-block;width:32px;height:32px;margin-right:11px;vertical-align:-9px;background:var(--logo) center/contain no-repeat;filter:drop-shadow(0 4px 12px rgba(155,114,214,.45))}
.top-title::before{content:"";border:0;background:var(--logo) center/contain no-repeat;box-shadow:none;width:32px;height:32px}
.login-card h1::before{content:"";display:block;width:62px;height:62px;margin:0 0 18px;background:var(--logo) center/contain no-repeat;filter:drop-shadow(0 8px 22px rgba(155,114,214,.5))}
.empty-mark{font-size:0;width:84px;height:84px;margin:0 auto 22px;background:var(--logo) center/contain no-repeat;text-shadow:none;filter:drop-shadow(0 10px 28px rgba(155,114,214,.5))}
/* line icons on buttons */
#room-memory::before,#room-edit::before,#open-settings::before,#logout::before{content:"";display:inline-block;width:15px;height:15px;margin-right:7px;vertical-align:-3px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
#room-memory{--i:var(--i-memory)}#room-edit{--i:var(--i-people)}#open-settings{--i:var(--i-sliders)}#logout{--i:var(--i-door)}
.send{font-size:0}
.send::before{content:"";display:block;width:20px;height:20px;margin:auto;background:#fff;-webkit-mask:var(--i-send) center/contain no-repeat;mask:var(--i-send) center/contain no-repeat}
@media(max-width:480px){#room-memory::before,#room-edit::before{display:none}}
/* story labels and list marks, quiet */
.chat-item strong::before{content:"\2726";margin-right:8px;font-size:10px;color:var(--accent);opacity:.65;vertical-align:1px}
.chat-item.active strong::before{color:var(--gold);opacity:1}
.message.assistant::before{content:"\2726  ПЕРСОНАЖ"}
/* calm starry backdrop: very faint, text stays in focus */
.main{background-image:radial-gradient(1.4px 1.4px at 8% 14%,rgba(255,244,222,.38),transparent 70%),radial-gradient(1px 1px at 21% 63%,rgba(255,244,222,.28),transparent 70%),radial-gradient(1.2px 1.2px at 37% 9%,rgba(255,244,222,.3),transparent 70%),radial-gradient(1px 1px at 58% 33%,rgba(255,244,222,.24),transparent 70%),radial-gradient(1.4px 1.4px at 74% 78%,rgba(255,244,222,.3),transparent 70%),radial-gradient(1px 1px at 88% 22%,rgba(255,244,222,.32),transparent 70%),radial-gradient(1.2px 1.2px at 93% 56%,rgba(255,244,222,.22),transparent 70%),radial-gradient(1px 1px at 47% 88%,rgba(255,244,222,.22),transparent 70%)}
/* reading comfort */
.message.assistant{max-width:700px;font-size:17.5px;line-height:1.9}
.message .time{pointer-events:none}
.message.user .message-actions{z-index:2}
/* icons are served as files: the CSP forbids data: URIs */
:root{--i-memory:url("/icons/memory.svg?v=1");--i-people:url("/icons/people.svg?v=1");--i-sliders:url("/icons/sliders.svg?v=1");--i-door:url("/icons/door.svg?v=1");--i-send:url("/icons/send.svg?v=1")}

.dialog-buttons{margin-top:22px}

.brand strong{font-size:23px}

.brand strong{font-size:21px;white-space:nowrap}
.brand strong::before{width:28px;height:28px;margin-right:9px;vertical-align:-8px}

/* ===== v23: телефон, safe-area, крупные тач-таргеты, хроника ===== */
.provider-list{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:2px}
.provider-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding:7px 0}
.provider-row strong{color:var(--ink);font-weight:600}
.provider-state{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.provider-state.saved{color:#b5dfc0}
.provider-row.selected{background:rgba(196,168,238,.09);border-radius:6px;padding-left:8px;padding-right:8px;margin:0 -8px}
.provider-row.selected strong{color:var(--accent)}
.provider-row.selected strong::after{content:' · выбран';font-weight:400;font-size:11px;color:var(--muted)}
.provider-row.selected .provider-state{color:var(--ink)}
.summary-text{border-left:2px solid var(--accent);padding:2px 0 2px 12px;margin:8px 0 12px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.message.assistant .message-actions{opacity:0;transition:opacity .15s ease}
.message.assistant:hover .message-actions,.message.assistant:focus-within .message-actions{opacity:1}
.message-copy{opacity:.8}
@media(hover:none){
  .message.assistant .message-actions{opacity:.7}
  .message.user .message-edit{position:relative}
  .message.user .message-edit::after{content:"";position:absolute;inset:-9px}
}
@media(max-width:480px){
  .header-actions .hdr-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .header-actions button{width:44px;min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}
  #room-memory::before,#room-edit::before{display:inline-block;margin:0;width:18px;height:18px}
}
@media(max-width:700px){
  .topbar{padding-top:calc(9px + env(safe-area-inset-top))}
  .composer-wrap{padding-top:8px;padding-bottom:calc(11px + env(safe-area-inset-bottom));
    padding-left:calc(11px + env(safe-area-inset-left));padding-right:calc(11px + env(safe-area-inset-right))}
  .composer textarea{font-size:16px} /* iOS не приближает страницу при фокусе */
  .send{flex:0 0 44px;width:44px;min-width:44px;height:44px;margin:5px}
  .mobile-menu{flex:0 0 44px;min-width:44px;min-height:44px}
  .sidebar-bottom button{min-height:44px;padding:10px 12px;font-size:13px}
  .chat-delete{min-width:44px;flex-basis:44px}
  #retry{min-height:44px;padding:8px 10px;font-size:12px}
  .detail-body .minor,.detail-body .primary{min-height:44px}
  .login{padding:calc(25px + env(safe-area-inset-top)) 20px calc(25px + env(safe-area-inset-bottom))}
}
@media(display-mode:standalone){
  .sidebar{padding-top:calc(22px + env(safe-area-inset-top))}
}
/* composer grows with the text up to ~40% of the viewport, then scrolls */
.composer textarea,.message-editor{max-height:none}
.composer textarea{transition:height .08s ease}
@media(prefers-reduced-motion:reduce){.composer textarea{transition:none}}

/* речь, импорт промпта, закладки и варианты ответа */
#create-speech,#edit-speech{display:block;width:100%;margin-top:6px;border:2px solid;border-color:#686176 #a69eaf #a69eaf #686176;border-radius:2px;padding:10px 11px;background:#211d27;color:var(--ink);min-height:44px}
.import-btn{display:block;width:100%;margin:0 0 18px;min-height:44px;text-align:center}
.variants-list{display:grid;gap:12px;max-height:55vh;overflow:auto;margin:6px 0 4px}
.variant-card{border:1px solid var(--line);border-radius:10px;background:#302a37;padding:14px}
.variant-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px;max-height:24vh;overflow:auto;margin:0 0 10px;color:var(--ink)}
.message-bookmark{min-width:34px;padding:5px 9px;font-size:15px}
.message-bookmark.on{color:#e9c98f;border-color:#e9c98f}
