:root{--hub-page-inset:14px;--bg:#080a0f;--p:#111520;--p2:#171c29;--line:#252c3d;--t:#f6f7fb;--m:#8f98ab;--a:var(--hub-color-ff9a00,#ff9a00);--a2:var(--hub-color-ff9a00,#ff9a00);--brand-accent-glow:rgba(var(--hub-rgb-ff9a00,255,154,0),.22);--g:#42d6ad;--r:#ff6b77;--aihub-glass-surface-bg:rgba(32,32,32,.68);--aihub-glass-surface-blur:8px;--aihub-glass-surface-saturation:100%;--aihub-glass-surface-shadow:0 2px 8px rgba(0,0,0,.18);--glass-popover-radius:18px;--glass-popover-text:#e9e9ec;--glass-popover-selected-bg:rgba(48,48,48,.68);--glass-popover-selected-text:var(--a);--glass-popover-selected-shadow:none;--glass-popover-pressed-bg:rgba(255,255,255,.06)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -5%,#241d58 0,transparent 28%),var(--bg);color:var(--t);font-family:Inter,system-ui,-apple-system,sans-serif}.app{max-width:470px;margin:auto;min-height:100vh;padding:0 var(--hub-page-inset) 90px}.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 2px;background:linear-gradient(#090b10 65%,transparent)}.brand{font-weight:900;letter-spacing:.8px}.brand b{color:#9d8cff}.bal{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;background:#10141d}.page{display:none}.page.on{display:block}.hero{padding:12px 2px}.hero h1{font-size:30px;line-height:1.05;margin:7px 0}.muted{color:var(--m);font-size:12px;line-height:1.5}.card{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--line);border-radius:18px}.command{padding:12px}.command textarea,.field{width:100%;background:#0e121b;border:1px solid var(--line);border-radius:13px;color:#fff;padding:12px;outline:none}.command textarea{min-height:90px;border:0;background:transparent;font-size:15px;resize:none}.row{display:flex;gap:8px;align-items:center}.btn{border:1px solid #30384d;background:#141925;color:#dce2ef;border-radius:12px;padding:10px 12px;cursor:pointer}.btn.primary{border:0;background:linear-gradient(135deg,var(--a),var(--a2));font-weight:800}.btn.grow{flex:1}.sec{margin-top:20px}.sec h2{font-size:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick{padding:14px;min-height:112px;cursor:pointer}.quick .ico{font-size:22px;margin-bottom:15px}.quick b{font-size:14px}.quick p{font-size:10px;color:var(--m);line-height:1.4}.chips{display:flex;gap:7px;overflow:auto;margin:9px 0 12px}.chip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:10px;color:var(--m)}.chip.on{background:linear-gradient(135deg,var(--a),var(--a2));border:0;color:#fff}.model{padding:12px;display:flex;gap:11px;align-items:center;margin-bottom:8px;cursor:pointer}.mlogo{width:42px;height:42px;border-radius:13px;background:#0d111b;display:grid;place-items:center;font-weight:900;color:#b9c5e1}.meta{flex:1}.meta b{font-size:13px}.meta small{display:block;color:var(--m);margin-top:3px}.price{font-size:11px}.label{font-size:11px;color:#a1aabe;margin:13px 2px 6px}.upload{border:1px dashed #3c4660;border-radius:13px;padding:14px;text-align:center;color:var(--m);cursor:pointer}.switch{display:flex;gap:8px;align-items:center}.switch input{width:20px;height:20px}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:470px;width:100%;display:grid;grid-template-columns:repeat(5,1fr);background:#090b10f2;border-top:1px solid var(--line);padding:8px 5px calc(8px + env(safe-area-inset-bottom));z-index:30}.bottom button{border:0;background:none;color:#69748a;font-size:9px}.bottom i{display:block;font-style:normal;font-size:19px}.bottom .on{color:#fff}.plus{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--a),var(--a2));display:grid!important;place-items:center;margin:auto;color:#fff}.work{padding:12px;margin-bottom:9px}.worktop{display:flex;justify-content:space-between}.status{font-size:10px}.success{color:var(--g)}.fail{color:var(--r)}.waiting{color:var(--hub-color-f2bd67,#f2bd67)}.media{margin-top:10px}.media img,.media video{max-width:100%;border-radius:13px}.media audio{width:100%}.chat{min-height:360px;display:flex;flex-direction:column;gap:9px;margin:12px 0}.msg{max-width:87%;padding:11px 12px;border-radius:15px;font-size:13px;line-height:1.45;white-space:pre-wrap}.msg.user{align-self:flex-end;background:linear-gradient(135deg,#6651da,#315fd4)}.msg.assistant{align-self:flex-start;background:#151a25;border:1px solid var(--line)}.cost{font-size:9px;color:#718097;margin-top:4px}.compose{position:sticky;bottom:72px;display:flex;gap:7px;padding:9px 0;background:#090b10}.compose input{flex:1}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#171d29;border:1px solid #30394c;padding:9px 13px;border-radius:999px;font-size:11px;opacity:0;pointer-events:none;z-index:80}.toast.on{opacity:1}.loader{display:inline-block;width:15px;height:15px;border:2px solid #ffffff44;border-top-color:white;border-radius:50%;animation:s .8s linear infinite}@keyframes s{to{transform:rotate(360deg)}}.tx{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #1c2230;font-size:11px}.pos{color:var(--g)}

.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.attachbar{display:flex;gap:7px;overflow-x:auto;padding:6px 0 2px}
.attachchip{display:flex;align-items:center;gap:6px;max-width:220px;border:1px solid var(--line);background:#111722;border-radius:10px;padding:7px 9px;font-size:10px;color:#cdd5e5}
.attachchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachchip button{border:0;background:transparent;color:#96a1b7;font-size:15px;padding:0;cursor:pointer}
.attachbtn{min-width:43px;font-size:20px;padding:8px 10px}
.attachbtn:disabled{opacity:.35;cursor:not-allowed}
.msgfiles{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.msgfile{font-size:9px;padding:5px 7px;border-radius:8px;background:#0c111b;border:1px solid #2a3346;color:#b9c4d8}


.modalback{position:fixed;inset:0;background:#000a;display:none;align-items:flex-end;justify-content:center;z-index:120}
.modalback.on{display:flex}
.modal{width:min(470px,100%);background:#111722;border:1px solid #2b3447;border-radius:22px 22px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom));max-height:72vh;overflow:auto}
.modal h3{margin:0 0 7px;font-size:18px}.modal p{margin:0 0 12px}
body.voice-studio-open{overflow:hidden}
.voice-studio{position:fixed;inset:0;z-index:170;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;overflow:hidden;background:#090b10;color:#f6f7fb}
.voice-studio[hidden]{display:none!important}
.voice-studio__header{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid rgba(255,255,255,.07);background:#0b0d12}
.voice-studio__header h1{grid-column:2;margin:0;text-align:center;font-size:24px;line-height:1.2;letter-spacing:-.02em}
.voice-studio__back{grid-column:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:14px;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.voice-studio__back:active{background:rgba(255,255,255,.07)}
.voice-studio__body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.voice-studio__screen,.voice-studio__state{width:min(100%,560px);min-width:0;min-height:100%;margin:0 auto;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}
.voice-studio__intro h2,.voice-studio__state h2{margin:0;color:#fff;font-size:24px;line-height:1.2;letter-spacing:-.025em}
.voice-studio__intro p,.voice-studio__state>p{margin:8px 0 0;color:#a6adba;font-size:15px;line-height:1.5}
.voice-studio__step{display:inline-flex;margin-bottom:12px;color:var(--hub-color-ff9a00,#ff9a00);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.voice-studio__helper{margin:8px 0 20px;color:#858d9c;font-size:13px;line-height:1.45}
.voice-studio__primary,.voice-studio__secondary,.voice-studio__stop{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;border-radius:14px;font:inherit;font-size:15px;font-weight:800;cursor:pointer;touch-action:manipulation}
.voice-studio__primary{border:1px solid transparent;background:var(--hub-color-ff9a00,#ff9a00);color:var(--hub-color-15100a,#15100a)}
.voice-studio__primary:active:not(:disabled){transform:translateY(1px);background:var(--hub-color-f09200,#f09200)}
.voice-studio__primary:disabled{background:#2a2d34;color:#777e8b;cursor:not-allowed}
.voice-studio__secondary{border:1px solid #343945;background:#171a21;color:#f1f3f7}
.voice-studio__secondary:active{background:#20242d}
.voice-studio__new{margin-top:16px}
.voice-studio__list{display:grid;gap:12px;margin-top:20px}
.voice-studio__empty{display:grid;justify-items:center;margin-top:20px;padding:32px 20px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#12151b;text-align:center}
.voice-studio__empty>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:16px;background:#20232b;color:var(--hub-color-ff9a00,#ff9a00);font-size:24px}
.voice-studio__empty b{font-size:17px}
.voice-studio__empty p{max-width:320px;margin:8px 0 0;color:#9199a7;font-size:14px;line-height:1.45}
.voice-card{position:relative;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#14171d}
.voice-card__identity{display:flex;align-items:center;min-width:0;gap:12px}
.voice-card__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#22262e;color:var(--hub-color-ff9a00,#ff9a00);font-size:20px}
.voice-card__copy{min-width:0;line-height:1.25}
.voice-card__copy b{display:-webkit-box;overflow:hidden;color:#f8f9fb;font-size:16px;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.voice-card__copy span,.voice-card__copy small{display:block;margin-top:3px}
.voice-card__copy span{font-size:12px;font-weight:700}
.voice-card__copy .is-ready{color:#67d49b}
.voice-card__copy .is-pending{color:var(--hub-color-d8a85e,#d8a85e)}
.voice-card__copy small{color:#8d95a3;font-size:12px}
.voice-card__actions{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;margin-top:14px}
.voice-card__use{min-width:0}
.voice-card__menu-wrap{position:relative}
.voice-card__more{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #343945;border-radius:14px;background:#1b1e25;color:#fff;font-size:16px;letter-spacing:1px;cursor:pointer}
.voice-card__menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:5;width:min(220px,calc(100vw - 48px));padding:6px;border:1px solid #343945;border-radius:14px;background:#20232a;box-shadow:0 14px 36px #0009}
.voice-card__menu button{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#f4f5f7;text-align:left;font:inherit;font-size:14px;cursor:pointer}
.voice-card__menu button:active{background:rgba(255,255,255,.07)}
.voice-card__menu button.is-danger{color:#ff8f99}
.voice-studio__recorder{display:grid;justify-items:center;margin-top:20px;padding:24px 16px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#12151b;text-align:center}
.voice-studio__recorder>b{margin-top:12px;font-size:17px}
.voice-studio__recorder>p{margin:6px 0 0;color:#8e96a4;font-size:13px}
.voice-studio__recorder .voice-studio__secondary{max-width:260px;margin-top:18px}
.voice-studio__mic{display:grid;place-items:center;width:64px;height:64px;padding:0;border:1px solid var(--hub-color-ffb23d,#ffb23d);border-radius:50%;background:var(--hub-color-ff9a00,#ff9a00);color:var(--hub-color-15100a,#15100a);font-size:27px;box-shadow:0 8px 22px rgba(var(--hub-rgb-ff9a00,255,154,0),.18);cursor:pointer;touch-action:manipulation}
.voice-studio__mic:active{transform:scale(.96)}
.voice-studio__recorder.is-recording{border-color:rgba(var(--hub-rgb-ff9a00,255,154,0),.35);background:#18150f}
.voice-studio__record-head{display:flex;align-items:center;justify-content:space-between;width:100%;font-variant-numeric:tabular-nums}
.voice-studio__record-head span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800}
.voice-studio__record-head span i{width:9px;height:9px;border-radius:50%;background:var(--hub-color-ff9a00,#ff9a00);animation:voice-studio-blink 1s steps(2,start) infinite}
.voice-studio__record-head strong{font-size:22px}
.voice-studio__wave,.voice-studio__loader{display:flex;align-items:center;justify-content:center;gap:4px;height:54px}
.voice-studio__wave{width:100%;margin:12px 0}
.voice-studio__wave i,.voice-studio__loader i{width:4px;height:12px;border-radius:999px;background:var(--hub-color-ff9a00,#ff9a00);animation:voice-studio-wave .7s ease-in-out infinite alternate}
.voice-studio__wave i:nth-child(2n),.voice-studio__loader i:nth-child(2n){animation-delay:.13s}
.voice-studio__wave i:nth-child(3n),.voice-studio__loader i:nth-child(3n){animation-delay:.28s}
.voice-studio__wave i:nth-child(4n){animation-delay:.41s}
.voice-studio__stop{border:1px solid rgba(var(--hub-rgb-ff9a00,255,154,0),.45);background:rgba(var(--hub-rgb-ff9a00,255,154,0),.1);color:var(--hub-color-ffd497,#ffd497)}
.voice-studio__stop:disabled{opacity:.58}
.voice-studio__preview{margin-top:20px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:#14171d}
.voice-studio__preview-head{display:flex;align-items:center;min-width:0;gap:11px}
.voice-studio__preview-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#232730;color:var(--hub-color-ff9a00,#ff9a00);font-size:19px}
.voice-studio__preview-head div{min-width:0}
.voice-studio__preview-head b,.voice-studio__preview-head small{display:block}
.voice-studio__preview-head b{font-size:15px}
.voice-studio__preview-head small{overflow:hidden;margin-top:3px;color:#8d95a3;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.voice-studio__preview audio{display:block;width:100%;height:42px;margin-top:14px}
.voice-studio__preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.voice-studio__preview-actions button{min-height:44px;border:1px solid #343945;border-radius:12px;background:#1b1f27;color:#eef0f4;font:inherit;font-size:13px;cursor:pointer}
.voice-studio__preview-actions button:last-child{color:#ff9ba4}
.voice-studio__advanced{margin-top:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#12151b}
.voice-studio__advanced summary{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 15px;color:#c8cdd6;font-size:14px;font-weight:700;list-style:none;cursor:pointer}
.voice-studio__advanced summary::-webkit-details-marker{display:none}
.voice-studio__advanced[open] summary span{transform:rotate(90deg)}
.voice-studio__advanced-body{display:grid;gap:14px;padding:0 14px 14px;border-top:1px solid rgba(255,255,255,.07)}
.voice-studio__advanced-body>label{padding-top:14px;color:#9ca4b2;font-size:12px}
.voice-studio__advanced-body select{margin-top:7px}
.voice-studio__advanced-body fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}
.voice-studio__advanced-body legend{grid-column:1/-1;margin-bottom:7px;color:#9ca4b2;font-size:12px}
.voice-studio__advanced-body fieldset label{color:#89919f;font-size:11px}
.voice-studio__advanced-body fieldset input{margin-top:6px}
.voice-studio__dock{position:sticky;bottom:0;z-index:2;margin:20px -4px -24px;padding:14px 4px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(9,11,16,0),#090b10 24%,#090b10)}
.voice-studio__phrase{margin-top:20px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#15181f}
.voice-studio__phrase>span{color:var(--hub-color-ff9a00,#ff9a00);font-size:11px;font-weight:800;letter-spacing:.1em}
.voice-studio__phrase blockquote{margin:12px 0 0;color:#fff;font-size:19px;line-height:1.5;overflow-wrap:anywhere}
.voice-studio__name{display:block;margin-top:18px;color:#a8afbb;font-size:13px;font-weight:700}
.voice-studio__name input{margin-top:8px;min-height:50px;font-size:16px}
.voice-studio__state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.voice-studio__loader{margin-bottom:18px}
.voice-studio__loader i{width:5px}
.voice-studio__progress{display:grid;width:min(100%,340px);gap:10px;margin:26px 0;text-align:left}
.voice-studio__progress span{color:#737b89;font-size:13px}
.voice-studio__progress .is-done{color:#78c89c}
.voice-studio__progress .is-active{color:#f0f2f6}
.voice-studio__state>.voice-studio__primary{margin-top:24px}
.voice-studio__state>.voice-studio__secondary{margin-top:10px}
.voice-studio__success,.voice-studio__error-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border-radius:50%;font-size:26px;font-weight:900}
.voice-studio__success{background:#173126;color:#70d89e}
.voice-studio__error-icon{background:#34191d;color:#ff8f99}
.voice-studio__state.is-error>p{color:#d6a7ac}
.voice-studio__ready-card{width:100%;margin-top:22px;text-align:left}
.voice-studio__ready-card .voice-card__actions{display:none}
.voice-studio button:focus-visible,.voice-studio input:focus-visible,.voice-studio select:focus-visible,.voice-studio audio:focus-visible,.voice-studio summary:focus-visible{outline:2px solid var(--hub-color-ff9a00,#ff9a00);outline-offset:2px}
@keyframes voice-studio-blink{50%{opacity:.28}}
@keyframes voice-studio-wave{to{height:38px}}
@media(max-width:374px){.voice-studio__screen,.voice-studio__state{padding-right:12px;padding-left:12px}.voice-studio__intro h2,.voice-studio__state h2{font-size:22px}.voice-studio__phrase blockquote{font-size:17px}.voice-card{padding:12px}}
@media(max-height:620px){.voice-studio__screen,.voice-studio__state{padding-top:18px}.voice-studio__recorder{padding-top:18px;padding-bottom:18px}.voice-studio__state{justify-content:flex-start}}
@media(min-width:700px){.voice-studio__header{grid-template-columns:44px minmax(0,560px) 44px;justify-content:center}.voice-studio__header .voice-studio__back{justify-self:start}.voice-studio__screen,.voice-studio__state{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.voice-studio__record-head span i,.voice-studio__wave i,.voice-studio__loader i{animation:none}.voice-studio__primary:active,.voice-studio__mic:active{transform:none}}
.createProjectModal{z-index:160}.createProjectModal .modal{padding-top:18px}.createProjectActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.createProjectActions .btn{min-height:42px}.createProjectActions .primary:disabled{opacity:.65;cursor:wait}
.modelchoice{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:13px;margin:7px 0;background:#0d121c;cursor:pointer}
.modelchoice b{font-size:12px}.modelchoice small{display:block;color:var(--m);margin-top:2px}.modelchoice .go{margin-left:auto;color:#9e8cff}


.musicSourceHint{margin:0 0 12px;padding:12px;border:1px solid #303a4d;border-radius:14px;background:#0e141d}.musicSourceHint b{display:block;font-size:12px}.musicSourceHint p{margin:5px 0 10px;color:#8f9aaf;font-size:10px;line-height:1.45}.musicSourceHint .btn{width:100%}
.help{font-size:10px;color:#7f8ba1;line-height:1.4;margin:5px 2px 0}
.charField{position:relative}.charField textarea.field{padding-bottom:30px}.charField input.field{padding-right:56px}.charCounter{position:absolute;right:10px;bottom:9px;min-width:28px;padding:2px 5px;border-radius:7px;background:#0a0e16d9;color:#7f8ba1;font-size:10px;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}.charCounter.near{color:var(--hub-color-f2bd67,#f2bd67)}.charCounter.over{color:var(--r);font-weight:700}
.lyricsAssistBtn{display:none;width:100%;margin-top:10px;border-color:#55497e;background:linear-gradient(145deg,#211b38,#151928);color:#d9d1ff;font-weight:750}.lyricsGeneratorModal{z-index:170}.lyricsGeneratorModal .modal{max-height:88vh}.lyricsGeneratorHead{justify-content:space-between}.lyricsGeneratorHead h3{margin:2px 0 0}.lyricsGeneratorPrompt{min-height:112px;resize:vertical;line-height:1.45}.lyricsGeneratorMeta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 2px 12px;color:#7f8ba1;font-size:9.5px;line-height:1.4}.lyricsGeneratorMeta span{flex:1}.lyricsGeneratorMeta b{white-space:nowrap;color:#d8deea}.lyricsGeneratorStart,.lyricsGeneratorReset{width:100%;min-height:44px}.lyricDraftCard{margin-top:12px;padding:12px;border:1px solid #313a4d;border-radius:15px;background:#0d121b}.lyricDraftCard>b{font-size:13px}.lyricDraftText{max-height:230px;margin:8px 0 10px;padding:10px;border-radius:11px;background:#090d14;color:#d7ddea;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow:auto}.lyricDraftActions{display:flex;gap:7px}.lyricDraftActions .btn{flex:1;font-size:10px}.lyricsGeneratorReset{margin-top:12px}
.rangeRow{display:flex;align-items:center;gap:10px}.rangeRow input{flex:1}.rangeVal{min-width:34px;text-align:right;font-size:11px;color:#c9d2e4}
.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.actions .btn{font-size:10px;padding:8px 9px}
.lyricCard{padding:11px;border:1px solid var(--line);border-radius:13px;margin-top:9px;background:#0d121b}.lyricText{white-space:pre-wrap;font-size:11px;line-height:1.45;max-height:210px;overflow:auto;margin:8px 0;color:#d6dceb}
.stemLabel{font-size:10px;color:#9ca7bb;margin:8px 0 4px}


.topLeft{display:flex;align-items:center;gap:8px;min-width:110px}
.backBtn{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#111111;color:#fff;display:none;align-items:center;justify-content:center;font-size:22px;line-height:1;cursor:pointer;padding:0}
.backBtn.on{display:flex}


.heroCompact{padding:6px 2px 12px}.heroCompact h1{font-size:27px;line-height:1.08;margin:6px 0}
.bigChoice{padding:15px;min-height:126px;cursor:pointer;position:relative;overflow:hidden}.bigChoice .ico{font-size:28px;margin-bottom:16px}.bigChoice b{display:block;font-size:15px}.bigChoice p{margin:5px 0 0;font-size:10px;color:var(--m);line-height:1.35}.bigChoice:after{content:"›";position:absolute;right:12px;top:11px;color:#66718a;font-size:20px}
.homeGrid{column-gap:18px;row-gap:26px;margin-top:56px}.homeChoice{isolation:isolate;min-height:132px;padding:14px;border-color:#252f43;background:linear-gradient(155deg,#181e2c 0%,#111620 72%);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.homeChoice:before{content:"";position:absolute;z-index:-1;width:95px;height:95px;left:-28px;top:-32px;border-radius:50%;background:#5967ff12;filter:blur(3px)}.homeChoice:after{display:none}.homeChoice:active{transform:scale(.975);border-color:#4e5a75}.homeChoiceTop{height:48px;display:flex;align-items:flex-start;justify-content:space-between}.homeChoiceIcon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #34405a;border-radius:14px;background:linear-gradient(145deg,#20283a,#151b28);color:#aebbd2;box-shadow:inset 0 1px 0 #ffffff0a}.homeChoiceIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.homeChoiceArrow{color:#69758a;font-size:22px;line-height:1}.homeChoice b{margin-top:10px;font-size:15px;letter-spacing:-.01em}.homeChoice p{font-size:9.5px;line-height:1.4}.homeChat{border-color:#4c4684;background:radial-gradient(circle at 0 0,#443a9229,transparent 48%),linear-gradient(155deg,#1a1b31,#111620 72%);box-shadow:0 10px 30px #0002}.homeChat:before{background:#745cff2b}.homeChat .homeChoiceIcon{border-color:#685bb5;background:linear-gradient(145deg,#5e4bc0,#315eb0);color:#fff;box-shadow:0 8px 22px #5046bb45}.homeDeveloper{border-color:#35324b;background:linear-gradient(155deg,#181729,#111620 72%)}.homeDeveloper .homeChoiceIcon{border-color:#4a4368;color:#b9adff;background:linear-gradient(145deg,#28213e,#181729)}.homeImages .homeChoiceIcon{border-color:#315d59;color:#71d8c2;background:linear-gradient(145deg,#183934,#142321)}.homeVideo .homeChoiceIcon{border-color:#5b3b52;color:#e896bd;background:linear-gradient(145deg,#3b1e30,#241823)}.homeMusic .homeChoiceIcon{border-color:#554c31;color:var(--hub-color-e4c876,#e4c876);background:linear-gradient(145deg,#352f1d,#211e16)}.homeOther .homeChoiceIcon{border-color:#3c4e64;color:#9bbbe0;background:linear-gradient(145deg,#1e3044,#171f2c)}.choiceBadge{position:absolute;right:10px;top:10px;padding:4px 7px;border:1px solid #514777;border-radius:999px;background:#211c37;color:#b9adff;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.homeComingSoon{cursor:default;opacity:.68;filter:saturate(.72)}.homeComingSoon:active{transform:none!important}.homeComingSoon .homeChoiceArrow{display:none}
.homeBannerSlot{min-height:220px}.homeBannerSlot+.homeGrid{margin-top:16px}
.profileAdminEntry{width:100%;margin-top:12px;padding:12px;display:flex;align-items:center;gap:11px;color:#e7ecf6;text-align:left}.profileAdminIcon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#1b2030;font-size:20px}.profileAdminCopy{min-width:0;flex:1}.profileAdminCopy b{display:block;font-size:13px}.profileAdminCopy small{display:block;margin-top:3px;color:#7f8ba0;font-size:9px}.profileAdminArrow{font-size:22px;color:#7f8ba0}
.profileSectionKicker{margin:18px 3px 7px;color:#8e8e8e;font-size:9px;font-weight:850;letter-spacing:.09em}.profileSettingsCard{padding:0;overflow:hidden}.profileSettingRow{position:relative;width:100%;min-height:62px;padding:10px 12px;border:0;border-bottom:1px solid #292929;background:transparent;color:#eee;display:flex;align-items:center;gap:11px;text-align:left}.profileSettingRow:last-child{border-bottom:0}.profileSettingRow:active{background:#171717}.profileSettingIcon{width:38px;height:38px;min-width:38px;border-radius:12px;border:1px solid #383838;background:#171717;color:var(--hub-color-ffae31,#ffae31);display:grid;place-items:center;font-size:11px;font-weight:900}.profileSettingCopy{flex:1;min-width:0}.profileSettingCopy b{display:block;font-size:13px}.profileSettingCopy small{display:block;margin-top:3px;color:#8d8d8d;font-size:9px;line-height:1.35}.profileSettingValue{color:#aaa;font-size:10px}.profileSettingToggle{cursor:pointer}.profileSettingToggle input{position:absolute;opacity:0;pointer-events:none}.profileToggleTrack{position:relative;width:42px;height:24px;min-width:42px;border-radius:99px;background:#333;transition:background .18s ease}.profileToggleTrack:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#aaa;transition:transform .18s ease,background .18s ease}.profileSettingToggle input:checked+.profileToggleTrack{background:var(--hub-color-ff9a00,#ff9a00)}.profileSettingToggle input:checked+.profileToggleTrack:after{transform:translateX(18px);background:#090909}.profileHelpEntry{width:100%;padding:12px;display:flex;align-items:center;gap:11px;color:#eee;text-align:left}.profileAdminArea{margin-top:22px}.profileAdminArea .profileSectionKicker{color:var(--hub-color-ffae31,#ffae31)}.profileHelpSheet{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.profileHelpHead{justify-content:space-between}.profileHelpHead h3{margin:0}.profileHelpItem{padding:12px 0;border-bottom:1px solid #292929}.profileHelpItem b{font-size:12px}.profileHelpItem p{margin:5px 0 0;color:#999;font-size:10px;line-height:1.5}.profileHelpSheet .actionWide{margin-top:14px}
.taskGrid{display:grid;grid-template-columns:1fr;gap:8px}.taskCard{display:flex;align-items:center;gap:12px;padding:13px;cursor:pointer}.taskIcon{width:43px;height:43px;min-width:43px;border-radius:13px;display:grid;place-items:center;background:#0d121c;font-size:20px}.taskText{flex:1}.taskText b{font-size:13px}.taskText small{display:block;color:var(--m);font-size:10px;line-height:1.35;margin-top:3px}.chev{color:#65718a;font-size:20px}
.stepper{display:flex;gap:5px;margin:4px 0 13px}.step{height:4px;flex:1;border-radius:99px;background:#222a39}.step.on{background:linear-gradient(90deg,var(--a),var(--a2))}
.contextBar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0 12px}.contextPill{font-size:10px;color:#c7cfde;padding:7px 9px;border-radius:999px;border:1px solid var(--line);background:#10151e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modelSectionTitle{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 8px}.modelSectionTitle b{font-size:13px}.modelSectionTitle span{font-size:10px;color:var(--m)}
.model.rec{border-color:#514790;background:linear-gradient(180deg,#1a1730,#111520)}.tagrow{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.mtag{font-size:8px;padding:3px 5px;border-radius:999px;background:#20283a;color:#aebbd0}.mtag.best{background:#332a64;color:#d8d0ff}
.catalogLink{width:100%;margin-top:10px}.categoryHeroIcon{font-size:34px;margin:4px 0}.emptyState{text-align:center;padding:30px 16px;color:var(--m)}.createTop{margin-bottom:10px}.changeModel{font-size:10px;padding:7px 9px}.homeActions{display:flex;gap:8px;margin-top:12px}.homeActions .btn{flex:1}
.createCheckout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;margin-top:12px}.createCheckoutCopy{min-width:0}.createCheckout #quote{display:block;font-size:16px;line-height:1.2}.createCheckout #runBtn{flex:0 0 auto;min-width:122px;min-height:44px;margin-left:auto}


.page{animation:pageIn .24s cubic-bezier(.22,.8,.24,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
.card{transition:transform .18s ease,border-color .18s ease,background .18s ease}.card:active{transform:scale(.985)}
.btn{transition:transform .14s ease,opacity .14s ease,border-color .14s ease}.btn:active{transform:scale(.96)}
.step.on{animation:stepGlow .5s ease}@keyframes stepGlow{0%{transform:scaleX(.2);transform-origin:left;opacity:.4}100%{transform:scaleX(1);opacity:1}}
.academyHero{padding:16px;background:linear-gradient(135deg,#191536,#111827);border:1px solid #312b59;border-radius:20px;margin-bottom:12px}.academyHero h1{font-size:27px;margin:4px 0 7px}
.courseCard{padding:14px;margin-bottom:9px;cursor:pointer}.courseHead{display:flex;align-items:center;gap:12px}.courseIcon{font-size:26px;width:42px;text-align:center}.courseMeta{flex:1}.courseMeta b{font-size:14px}.courseMeta small{display:block;color:var(--m);font-size:10px;line-height:1.4;margin-top:3px}
.progressTrack{height:5px;background:#222a39;border-radius:99px;overflow:hidden;margin-top:10px}.progressFill{height:100%;background:linear-gradient(90deg,var(--a),var(--a2));border-radius:99px;transition:width .35s ease}
.lessonCard{padding:13px;margin-bottom:8px;cursor:pointer;display:flex;gap:11px;align-items:center}.lessonNum{width:35px;height:35px;min-width:35px;border-radius:11px;background:#111827;border:1px solid var(--line);display:grid;place-items:center;font-size:11px}.lessonNum.done{background:#153329;color:#75e0bd;border-color:#275e4d}.lessonText{flex:1}.lessonText b{font-size:12px}.lessonText small{display:block;color:var(--m);font-size:9px;margin-top:3px}
.lessonStep{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #1d2432;font-size:12px;line-height:1.45}.lessonStepNo{width:23px;height:23px;min-width:23px;border-radius:50%;display:grid;place-items:center;background:#1b2231;color:#b8c4d9;font-size:9px}
.exampleBox{padding:11px;border-radius:12px;background:#0c111a;border:1px solid #252e40;margin:9px 0;font-size:11px;line-height:1.5;color:#cbd4e4}
.lessonActions{display:flex;gap:8px;margin:15px 0}.lessonActions .btn{flex:1}
.demoBanner{padding:12px;border-radius:14px;border:1px solid #4e437e;background:linear-gradient(135deg,#241b4a,#15192a);margin-bottom:10px}.demoBanner b{font-size:12px}.demoBanner p{margin:4px 0 0;font-size:10px;color:#b0bad0}
.motionStage{height:185px;border-radius:16px;background:radial-gradient(circle at 50% 45%,#282246,#0c1019 65%);position:relative;overflow:hidden;border:1px solid #293148;margin:12px 0}.motionObject{position:absolute;width:72px;height:72px;border-radius:20px;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#836bff,#2c8cff);display:grid;place-items:center;font-weight:900;box-shadow:0 18px 50px #523eff55}
.motionStage.ease .motionObject{animation:motionEase 2.2s cubic-bezier(.22,.85,.22,1) infinite alternate}@keyframes motionEase{from{transform:translate(-145px,-50%) rotate(-8deg) scale(.8)}to{transform:translate(70px,-50%) rotate(8deg) scale(1.08)}}
.motionStage.camera .motionObject{animation:motionCamera 3s ease-in-out infinite alternate}@keyframes motionCamera{from{transform:translate(-50%,-50%) scale(.7)}to{transform:translate(-50%,-50%) scale(1.35)}}
.motionStage.logo .motionObject{animation:motionLogo 2.4s cubic-bezier(.2,.9,.25,1) infinite}@keyframes motionLogo{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-25deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(4deg)}45%,75%{transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-30%) scale(.92)}}
.freeDemo{font-size:9px;color:#78dfbc;margin-top:5px}


/* v15 — motion design самого обучения */
.learnStory{border:1px solid #2a3244;border-radius:20px;background:#0d131d;overflow:hidden;min-height:365px;position:relative;margin:12px 0}
.learnScene{min-height:365px;padding:16px;position:relative;animation:learnSceneIn .38s cubic-bezier(.18,.8,.18,1)}
@keyframes learnSceneIn{from{opacity:0;transform:translateX(18px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.learnDots{display:flex;gap:5px;margin:8px 0 12px}
.learnDot{width:20px;height:4px;border-radius:99px;background:#232b39}
.learnDot.on{background:linear-gradient(90deg,var(--a),var(--a2));animation:learnGrow .45s ease}
@keyframes learnGrow{from{width:4px;opacity:.3}to{width:20px;opacity:1}}
.learnTitle{font-size:19px;font-weight:850;margin:5px 0 7px;letter-spacing:-.3px}
.learnText{font-size:11px;color:#a7b2c4;line-height:1.55;max-width:330px}
.learnMock{position:relative;margin:18px auto 0;width:250px;height:225px;border-radius:27px;border:1px solid #35405a;background:linear-gradient(180deg,#101722,#0b1018);box-shadow:0 28px 90px #0008;overflow:hidden;padding:12px}
.learnMockTop{height:16px;border-radius:8px;background:#151d29;margin-bottom:9px;width:55%;opacity:.7}
.learnRow{height:42px;border:1px solid #263044;background:#111927;border-radius:13px;margin:8px 0;position:relative;overflow:hidden}
.learnRow.short{width:78%}
.learnRow:after{content:"";position:absolute;left:12px;top:10px;width:68px;height:7px;border-radius:6px;background:#4c586d}
.learnRow:before{content:"";position:absolute;left:12px;top:23px;width:112px;height:5px;border-radius:6px;background:#2e3849}
.learnHighlight{position:absolute;border:2px solid #8f79ff;border-radius:15px;box-shadow:0 0 0 999px #03050a99,0 0 35px #7863ff88;animation:learnPulse 1.4s ease-in-out infinite}
@keyframes learnPulse{50%{box-shadow:0 0 0 999px #03050a99,0 0 55px #806affcc;transform:scale(1.025)}}
.learnPointer{position:absolute;width:40px;height:40px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:20px;box-shadow:0 10px 30px #0008;animation:learnTap 1.5s ease-in-out infinite}
@keyframes learnTap{0%,100%{transform:scale(1)}55%{transform:scale(.82)}75%{transform:scale(1.05)}}
.timestampLyricsList{max-height:300px;margin-top:10px;padding:4px 10px;border:1px solid #293244;border-radius:12px;background:#090d14;overflow:auto}.timestampLyricsList>div{display:grid;grid-template-columns:48px 1fr;gap:9px;padding:7px 0;border-bottom:1px solid #1b2330;font-size:11px;line-height:1.4}.timestampLyricsList>div:last-child{border-bottom:0}.timestampLyricsList time{color:var(--hub-color-f5a623,#f5a623);font-variant-numeric:tabular-nums}.timestampLyricsList span{white-space:pre-wrap;color:#d8deea}
.learnWords{margin-top:18px}
.learnWord{display:inline-block;padding:7px 9px;border-radius:999px;margin:4px 2px;font-size:10px;background:#171f2c;border:1px solid #2b3548;opacity:0;transform:translateY(8px);animation:learnWordIn .35s ease forwards}
.learnWord:nth-child(2){animation-delay:.16s}.learnWord:nth-child(3){animation-delay:.32s}.learnWord:nth-child(4){animation-delay:.48s}.learnWord:nth-child(5){animation-delay:.64s}
@keyframes learnWordIn{to{opacity:1;transform:none}}
.learnCompare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.learnCompareBox{height:165px;border-radius:16px;border:1px solid #273145;background:linear-gradient(145deg,#181f2c,#0f141d);position:relative;overflow:hidden}
.learnCompareBox:before{content:"";position:absolute;inset:18px;border-radius:16px;background:linear-gradient(135deg,#222c40,#111825)}
.learnCompareBox.good:after{content:"";position:absolute;inset:22px;border-radius:15px;background:radial-gradient(circle at 60% 35%,#7f67ff55,transparent 28%),linear-gradient(135deg,#1a2740,#122033);animation:learnGood 2.8s ease-in-out infinite alternate}
@keyframes learnGood{to{transform:scale(1.06) translateX(-3px)}}
.learnLabel{position:absolute;left:9px;bottom:9px;z-index:2;font-size:9px;padding:5px 7px;border-radius:999px;background:#090d14cc}
.learnLabel.bad{color:#e89e9e}.learnLabel.good{color:#82e5c4}
.learnNav{display:flex;gap:8px;margin:12px 0}.learnNav .btn{flex:1}
.learnFinal{padding:14px;border-radius:16px;background:linear-gradient(135deg,#21194a,#141c2d);border:1px solid #4d437d;margin-top:18px}
.learnFinal b{font-size:12px}.learnFinal p{font-size:10px;color:#b6c1d3;line-height:1.5;margin:5px 0 0}
.learnCoach{position:fixed;z-index:95;left:50%;bottom:88px;transform:translateX(-50%);width:min(390px,calc(100vw - 28px));padding:12px;border-radius:16px;background:#151b2aee;border:1px solid #554b8a;backdrop-filter:blur(18px);box-shadow:0 18px 60px #0009}
.learnCoach b{font-size:11px}.learnCoach p{font-size:10px;color:#b7c0d1;line-height:1.4;margin:4px 0 8px}
.learnCoachActions{display:flex;gap:7px}.learnCoachActions .btn{padding:8px;font-size:10px}

/* v18 modular workspaces */
.workspaceDock{position:sticky;top:62px;z-index:19;display:flex;gap:7px;overflow-x:auto;padding:4px 0 9px;background:linear-gradient(#090b10 72%,transparent);scrollbar-width:none}
.workspaceDock::-webkit-scrollbar{display:none}.workspaceTab{border:1px solid #293247;background:#10151f;color:#7f8ba1;border-radius:999px;padding:7px 10px;font-size:10px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:5px}.workspaceTab.active{color:#fff;border-color:#5c4fc0;background:linear-gradient(135deg,#2b2454,#17233d)}.workspaceTab.dirty:after{content:'•';color:#8e7aff;font-size:15px;line-height:8px}.workspaceTab.done{border-color:#28604e}.workspaceTab.done:after{content:'✓';color:#68ddb6;font-size:9px}.workspaceHint{padding:8px 10px;border:1px solid #2a3346;border-radius:12px;background:#0e141e;color:#97a3b8;font-size:9px;margin:0 0 10px}

/* v18.5 — persistent chat history + project folders */
.chatHistoryBtn{font-weight:800}.projectPill{align-items:center;gap:6px;width:max-content;max-width:100%;padding:7px 9px;margin-top:10px;border:1px solid var(--line);border-radius:999px;background:#121722;color:#cdd6e7;font-size:11px}.projectPill button{border:0;background:none;color:#8f9bb2;font-size:15px;padding:0 2px;cursor:pointer}.freeUsageLine{margin-top:7px;padding:7px 9px;border-radius:10px;background:#0f151d;border:1px solid #263043}.chatDrawer{display:none;position:fixed;inset:0;z-index:120;background:#0009;backdrop-filter:blur(5px)}.chatDrawer.on{display:block}.chatDrawerPanel{height:100%;width:min(94vw,470px);background:#0b0e14;border-right:1px solid var(--line);padding:16px 12px 28px;overflow:auto;box-shadow:20px 0 55px #0008}.drawerTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawerTop h2{margin:2px 0 0;font-size:24px}.drawerNew{width:100%;margin:14px 0 9px}.drawerPane[hidden]{display:none!important}.drawerSearch{margin:14px 0}.drawerCreateProject{width:100%;margin:16px 0 12px;min-height:44px}.drawerSectionHead{display:flex;align-items:center;justify-content:space-between;margin:15px 4px 7px;color:#dfe5f1;font-size:12px}.drawerPlus,.rowmenu{border:0;background:none;color:#9ca7bb;cursor:pointer}.drawerPlus{font-size:22px}.projectrow,.chatrow{display:flex;align-items:center;gap:9px;padding:10px 9px;border-radius:12px;cursor:pointer;min-height:48px}.projectrow:hover,.chatrow:hover,.projectrow.on,.chatrow.on{background:#151b27}.projectrow b,.chatrow b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.projectrow small,.chatrow small{display:block;color:#77839a;font-size:9px;margin-top:3px}.rowmenu{font-size:20px;padding:4px 7px;border-radius:8px}.rowmenu:hover{background:#222a39;color:#fff}.allProjects{margin-bottom:3px}.drawerLabel{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#667188;margin:12px 8px 5px}.drawerEmpty{padding:16px 9px;color:#707b91;font-size:11px}.actionWide{width:100%;margin-top:9px;text-align:left}.dangerBtn{border-color:#5a2a32;color:#ff8995;background:#1a1115}.chatHistoryList{padding-bottom:24px}.chat-head{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center}.chat-head>.muted{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal .label{margin-top:12px}


/* v18.6 — custom mobile model picker */
.chatModelPickerButton{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border:1px solid #2d374b;border-radius:15px;background:linear-gradient(180deg,#111824,#0d121b);color:#fff;cursor:pointer;min-height:66px}
.chatModelPickerButton:active{transform:scale(.995)}.chatModelPickerButton.free{border-color:#285846;background:linear-gradient(180deg,#102019,#0d1512)}.chatModelPickerText{flex:1;min-width:0}.chatModelPickerText b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatModelPickerText small{display:block;color:#8794aa;font-size:10px;line-height:1.45;margin-top:4px;white-space:normal}.chatModelChevron{font-size:22px;color:#8f9bb1;line-height:1}.chatModelPickerBack{backdrop-filter:blur(9px);background:#000b}.chatModelPickerSheet{padding:15px 14px calc(20px + env(safe-area-inset-bottom));max-height:84vh;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#111722,#0b0f16);overflow:hidden;display:flex;flex-direction:column}.chatModelPickerHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}.chatModelPickerHead h3{font-size:22px;margin:2px 0 0}.pickerClose{width:40px;height:40px;padding:0;font-size:22px}.chatModelSearch{margin:13px 0 9px;flex:0 0 auto}.pickerFilters{margin:0 0 10px;flex:0 0 auto}.chatModelPickerList{overflow:auto;overscroll-behavior:contain;padding:1px 1px 8px;scrollbar-width:none}.chatModelPickerList::-webkit-scrollbar{display:none}.chatModelCard{width:100%;border:1px solid #252f41;background:#0e141d;color:#e8edf6;border-radius:15px;padding:12px;display:flex;align-items:center;gap:11px;text-align:left;margin:7px 0;cursor:pointer}.chatModelCard.selected{border-color:#6b5bda;background:linear-gradient(135deg,#1c1833,#111a28);box-shadow:0 0 0 1px #6b5bda33 inset}.chatModelCard.disabled{opacity:.45;cursor:not-allowed}.chatModelCardMain{flex:1;min-width:0}.chatModelCardTitle{display:flex;align-items:center;gap:7px;min-width:0}.chatModelCardTitle b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatModelCardMeta{display:flex;gap:6px 10px;flex-wrap:wrap;color:#7f8da4;font-size:9px;line-height:1.35;margin-top:5px}.chatModelCardMeta b{color:#b9c5d9;font-weight:700}.pickerFree{color:#69dcb5!important;font-weight:800}.modelRadio{width:25px;height:25px;min-width:25px;border-radius:50%;border:1.5px solid #536078;display:grid;place-items:center;color:#fff;font-size:12px}.chatModelCard.selected .modelRadio{border-color:#8978ff;background:#725fe3}.pickerEmpty{text-align:center;color:#718097;padding:28px 12px;font-size:11px}

/* v18.8.0 — inline media inside AI Chat */
.msgmedia{display:grid;gap:7px;margin-top:8px;max-width:100%}
.chatImageButton{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:13px;overflow:hidden;cursor:zoom-in;text-align:inherit}
.chatInlineImage{display:block;width:100%;max-height:430px;object-fit:contain;background:#090d14;border-radius:13px}
.chatInlineVideo{display:block;width:100%;max-height:430px;border-radius:13px;background:#05070a}
.chatInlineAudio{display:block;width:min(100%,360px);height:38px}
.msgfileLink{display:flex!important;align-items:center;gap:7px;text-decoration:none;width:max-content;max-width:100%}
.msgfileLink span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}
.assistantArtifacts{display:grid;gap:7px;margin:0 0 8px;max-width:100%}
.assistantArtifactCard{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border:0;border-radius:13px;background:#151515;color:#ededf0;box-shadow:inset 0 1px 0 #ffffff0a}
.assistantArtifactIcon{flex:0 0 auto;font-size:17px;line-height:1}.assistantArtifactInfo{display:grid;gap:2px;min-width:0;flex:1}.assistantArtifactInfo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.assistantArtifactInfo small{color:#96969d;font-size:9px}
.assistantArtifactDownload{flex:0 0 auto;border:0;border-radius:9px;background:transparent;color:var(--a);font:700 10px/1 Inter,system-ui,-apple-system,sans-serif;padding:7px 5px;cursor:pointer}.assistantArtifactDownload:active{background:var(--hub-color-ff9a0017,#ff9a0017)}
.msg.user:has(.chatInlineImage),.msg.user:has(.chatInlineVideo){max-width:94%;padding:7px}
.msg.user:has(.chatInlineImage)>:not(.msgmedia):first-child{margin:5px 6px 7px}
.attachchip.image{padding:4px 7px 4px 4px;max-width:250px}
.attachThumb{width:38px;height:38px;min-width:38px;object-fit:cover;border-radius:8px;background:#080b10}
.chatImageViewer{position:fixed;inset:0;z-index:140;display:none;align-items:center;justify-content:center;background:#000e;padding:52px 12px calc(26px + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}
.chatImageViewer.on{display:flex;flex-direction:column}
.chatImageViewer img{display:block;max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:12px;box-shadow:0 20px 70px #0008}
.chatImageViewerClose{position:absolute;right:15px;top:calc(12px + env(safe-area-inset-top));width:42px;height:42px;border-radius:50%;border:1px solid #ffffff33;background:#111826dd;color:white;font-size:27px;line-height:1;cursor:pointer}
.chatImageViewerCaption{margin-top:10px;max-width:90vw;color:#bac4d4;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.mediaViewerOpen{overflow:hidden}
@supports not selector(:has(*)){.msg.user .chatInlineImage,.msg.user .chatInlineVideo{max-width:100%}}


/* v18.8.1 — stable mobile Chat viewport + assistant inline image links */
body.chatActive{overflow:hidden;overscroll-behavior:none}
body.chatActive .app{height:var(--chat-vh,100dvh);min-height:0;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}
body.chatActive .top{position:relative;top:auto;flex:0 0 auto;background:#090b10;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
body.chatActive .workspaceDock{position:relative;top:auto;flex:0 0 auto;background:#090b10;padding-bottom:7px}
body.chatActive #chat.page.on{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;position:relative;overflow:hidden;padding-bottom:0}
body.chatActive #chat.page.on::-webkit-scrollbar{display:none}
body.chatActive .bottom{display:none}
body.chatActive #chat .compose{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(442px,calc(100vw - 28px));z-index:35;margin:0;padding:9px 0 calc(9px + env(safe-area-inset-bottom));background:transparent!important;border-top:0!important}
body.chatActive #chat .chat{min-height:280px;margin:10px 0 0;padding:0 0 88px;overflow:visible}
body.chatActive #chatAttachments{position:relative;z-index:27;background:#090b10}
body.chatActive #chatAttachments:empty{display:none}
body.chatActive #chat .compose,body.developerActive .developerComposer,body.developerActive .developerComposer .compose{background:transparent!important}
body.chatActive #chat .compose .field,body.developerActive .developerComposer .field{background:transparent!important}
body.chatActive,body.chatActive .app,body.chatActive #chat{background:#000!important}
body.chatActive #chat .msg{overflow-wrap:anywhere;word-break:break-word}
.msgtext{white-space:pre-wrap;min-width:0}
.msg.assistant{position:relative;padding-right:42px}
/* ChatGPT-like assistant messages: the response sits on the chat surface;
   only executable/copyable blocks keep a framed container. */
body.chatActive #chat .msg.assistant{max-width:100%;padding:4px 38px 8px 0;background:transparent;border:0;border-radius:0}
body.chatActive #chat .msg.assistant .msgtext{min-width:0}
.msgActions{position:absolute;top:7px;right:7px;display:flex;margin:0}
.msgCopy{width:25px;height:25px;padding:4px;border:0;border-radius:7px;background:transparent;color:#7f8da5;line-height:1;cursor:pointer;display:grid;place-items:center}
.msgCopy svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.msgCopy:hover{background:#222b3a;color:#dce5f3}.msgCopy.done{color:#72dcb8;background:#122b24}.copyDone{font-size:16px;font-weight:800}
.msgSourcesWrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}
.msgSources{padding:3px 0;border:0;background:transparent;color:#8b9ab2;font-size:11px;line-height:1.3;cursor:pointer}
.msgSources:hover{color:#dce5f3;text-decoration:underline}
.chatSourcesPanel{display:flex;flex-direction:column;gap:5px;max-width:min(360px,85vw);padding:8px 10px;border:1px solid #293348;border-radius:8px;background:#0b1018}
.chatSourcesPanel[hidden]{display:none}
.chatSourcesHeading{color:#e7edf8;font-size:11px;font-weight:700}
.chatSourceItem{display:flex;flex-direction:column;gap:1px;color:#dce5f3;text-decoration:none;font-size:11px;line-height:1.3}
.chatSourceItem:hover .chatSourceTitle{text-decoration:underline}
.chatSourceTitle{overflow-wrap:anywhere}.chatSourceDomain{color:#7f8da5;font-size:10px}.chatSourceSnippet{color:#aeb9ca;font-size:10px;overflow-wrap:anywhere}
.chatMdHeading{font-weight:800;font-size:1.05em;margin:2px 0 3px}
.chatBullet{padding-left:3px}
.chatQuote{border-left:2px solid #58647b;padding-left:9px;color:#c2cbd9}
.chatCode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0b1018;border:1px solid #293348;border-radius:6px;padding:1px 4px;font-size:.92em}
.chatCodeBlock{margin:9px 0;border:1px solid #293348;border-radius:10px;overflow:hidden;background:#0b1018}
.chatCodeHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;background:#121a27;color:#7f8da5;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:lowercase}
.chatCodeCopy{width:24px;height:24px;padding:4px;border:0;border-radius:6px;background:transparent;color:#91a0b6;cursor:pointer;display:grid;place-items:center}
.chatCodeCopy:hover{background:#263247;color:#e3eaf5}.chatCodeCopy.done{color:#72dcb8;background:#122b24}.chatCodeCopy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.chatCodeBlock pre{margin:0;padding:10px;overflow:auto;color:#e7edf8;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;tab-size:2}
.msg.assistant .chatInlineImage{max-height:min(52vh,430px)}
@media(max-width:520px){
  :root{--hub-page-inset:10px}
  body.chatActive #chat>.hero{padding-top:8px;padding-bottom:8px}
  body.chatActive #chat>.hero h1{font-size:23px;margin:5px 0}
  body.chatActive #chat .msg{max-width:91%;font-size:13px}
  body.chatActive #chat .msg.user{max-width:88%}
  body.chatActive #chat .compose .field{min-width:0}
  body.chatActive #chat .compose .btn{flex:0 0 auto}
}

/* v18.8.3 — normalized assistant media: local mirror + stable gallery/fallback */
.chatImageGrid{display:grid;gap:7px;margin:0 0 9px;max-width:100%;overflow:hidden;border-radius:13px}
.chatImageGrid.one{grid-template-columns:1fr}
.chatImageGrid.two,.chatImageGrid.many{grid-template-columns:repeat(2,minmax(0,1fr))}
.chatImageGrid.many .chatImageButton:first-child:nth-last-child(3){grid-column:1/-1}
.chatImageGrid.one .chatInlineImage{width:100%;height:auto;max-height:min(56vh,460px);object-fit:contain}
.chatImageGrid.two .chatInlineImage,.chatImageGrid.many .chatInlineImage{width:100%;height:160px;object-fit:cover}
.chatImageGrid .chatImageButton{min-width:0;background:#090d14;border:1px solid #222c3d}
/* Outgoing attachments are media inside the user bubble, not nested cards. */
.msg.user .chatImageGrid,.msg.user .chatImageGrid .chatImageButton{background:transparent;border:0;box-shadow:none}
.chatImageFallback{display:flex;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px 10px;border:1px solid #2b3548;border-radius:12px;background:#0d131d;color:#d6deeb;text-decoration:none;overflow:hidden}
.chatImageFallback>span:first-child{font-size:22px}.chatImageFallback>span:nth-child(2){flex:1;min-width:0}.chatImageFallback b,.chatImageFallback small{display:block}.chatImageFallback b{font-size:11px}.chatImageFallback small{font-size:9px;color:#7f8ca2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chatImageFallback i{font-style:normal;font-size:9px;color:#8fa0b9}
.msg.assistant:has(.chatImageGrid){max-width:94%;padding:8px 38px 8px 8px;background:#151515;border:1px solid #303030;border-radius:15px}.msg.assistant:has(.chatImageGrid) .msgtext{padding:3px 4px 2px}
.chatHr{border:0;border-top:1px solid #2a3345;margin:9px 0}
@media(max-width:380px){.chatImageGrid.two .chatInlineImage,.chatImageGrid.many .chatInlineImage{height:132px}}

/* v18.8.6 — strict model UX + compact Chat controls + jump navigation */
body.chatActive #chat .chatHero{padding:6px 2px 7px}
body.chatActive #chat .chatHero h1{font-size:20px;line-height:1.12;margin:5px 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.chatActive #chat .chatHero #chatDesc{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatModelPanel{padding:10px;margin-bottom:7px}
.chatModelPanelTop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.chatModelPanelTop .label{margin:0 2px}
.chatAdvancedToggle{border:0;background:transparent;color:#8f9bb1;font-size:10px;padding:5px 2px;cursor:pointer;display:flex;align-items:center;gap:5px}
.chatAdvancedToggle span{font-size:13px;transition:transform .18s ease}.chatAdvancedToggle.open span{transform:rotate(180deg)}
.chatModelPanel .chatModelPickerButton{min-height:56px;padding:10px 12px;border-radius:13px}
.chatCapabilityLine{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:7px 2px 0;color:#8996aa;font-size:9px;line-height:1.35}
.chatCapabilityPill{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#0e141d;border:1px solid #273145;color:#95a2b6;white-space:nowrap}
.chatCapabilityPill.good{border-color:#285746;color:#72dcb8;background:#0d1815}.chatCapabilityPill.warn{border-color:#4a3b29;color:var(--hub-color-d8b77c,#d8b77c);background:#17130e}
.chatAdvancedControls{display:none;padding:3px 2px 1px;margin-top:5px;border-top:1px solid #202838}.chatAdvancedControls.open{display:block}
.chatAdvancedControls .label{margin-top:9px}.chatAdvancedControls #searchWrap{margin-top:10px}.chatAdvancedControls #reasonNote{margin-top:8px}
.chatModelCardCaps{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.chatModelCap{font-size:8px;line-height:1;padding:4px 6px;border-radius:999px;border:1px solid #2c3548;color:#8996aa}.chatModelCap.imagegen{border-color:#285746;color:#6ddbb5}.chatModelCap.vision{border-color:#3a4262;color:#a8b4d2}
.chatScrollNav{position:fixed;right:max(16px,calc((100vw - 470px)/2 + 16px));bottom:calc(78px + env(safe-area-inset-bottom));z-index:36;display:flex;flex-direction:column;gap:7px;pointer-events:none}
.chatScrollNav button{width:38px;height:38px;border-radius:50%;border:1px solid #39445a;background:#121927e8;color:#e6ebf5;font-size:19px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 24px #0007;backdrop-filter:blur(10px);opacity:0;transform:translateY(6px) scale(.94);pointer-events:none;transition:opacity .16s ease,transform .16s ease,border-color .16s ease}
.chatScrollNav button.show{opacity:1;transform:none;pointer-events:auto}.chatScrollNav button:active{transform:scale(.92);border-color:#7467d9}
@media(max-width:520px){.chatScrollNav{right:14px}.chatModelPanel{padding:9px}.chatModelPickerText small{font-size:9px}}
/* v18.8.6 clean chat + admin */
.chatScrollNav button{background:#5b6472;color:#fff;border-color:#7b8492}
.chatScrollNav button.generating{display:flex;align-items:center;justify-content:center;gap:3px}
.chatScrollNav button:active{border-color:#aeb7c5}
.chatGenDot{width:3px;height:3px;border-radius:50%;background:#fff;animation:chatGenDot 1.1s ease-in-out infinite}
.chatGenDot:nth-child(2){animation-delay:.16s}.chatGenDot:nth-child(3){animation-delay:.32s}
@keyframes chatGenDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.chatScrollNav .chatGenDot{animation:none}}
/* iPhone/Telegram WebApp: keep the home tiles in the same 2x2 layout as Android. */
body{overflow-x:hidden}
.app{width:100%;min-width:0}
.grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.quick{min-width:0;max-width:100%;overflow:hidden}
/* Work results: generated file links must wrap instead of sitting on top of each other. */
.work,.work .media{min-width:0;overflow:hidden}
.work .media>.btn{display:inline-flex;vertical-align:top;max-width:100%;margin:0 6px 7px 0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.work .media audio,.work .media video,.work .media img{display:block;max-width:100%;margin:8px 0}
.work .actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px}
.work .actions .btn{margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.worksFilters{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;margin:0 0 4px;scrollbar-width:none}
.worksFilters::-webkit-scrollbar{display:none}
.worksFilter{flex:0 0 auto;border:1px solid #293247;background:#10151f;color:#8995aa;border-radius:999px;padding:8px 11px;font-size:10px;cursor:pointer;white-space:nowrap}
.worksFilter.on{border-color:var(--hub-color-f59b19,#f59b19);background:linear-gradient(135deg,var(--hub-color-f59b19,#f59b19),var(--hub-color-ffad24,#ffad24));color:var(--hub-color-17100a,#17100a);font-weight:800}
.worksEmpty{padding:14px 2px}
.worksMore{padding:4px 0 18px}.worksMoreButton{width:100%;min-height:42px}.work{padding:13px}.worktop{align-items:flex-start;gap:10px}.worktop>b,.worktop b{display:block;font-size:13px;line-height:1.3}.workMeta{margin-top:7px;color:#8f98ab;font-size:10px}.workPending{display:flex;align-items:center;gap:8px;padding:12px 0 2px;color:#aab4c6;font-size:11px}.workPending .loader{width:14px;height:14px;flex:0 0 auto}.workFailure{display:grid;gap:5px;padding:11px 0 1px;color:#f1c7cc;font-size:11px}.workRefund{width:max-content;margin-top:2px;padding:5px 8px;border:1px solid #35624d;border-radius:999px;color:#7de0aa;background:#102319;font-size:10px}.workTracks{display:grid;gap:9px}.workTrack{display:flex;gap:10px;padding:10px;border:1px solid #30394b;border-radius:14px;background:#0d121b}.workTrackCover{width:64px;height:64px;flex:0 0 64px;object-fit:cover;border-radius:10px}.workTrackBody{min-width:0;flex:1}.workTrackBody>b{display:block;margin:1px 0 3px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workTrackBody audio{margin:7px 0 0}.workMoreActions{margin-top:8px}.workMoreActions summary{width:max-content;padding:7px 9px;border:1px solid #30384d;border-radius:10px;color:#bac5d9;background:#141925;font-size:10px;cursor:pointer;list-style:none}.workMoreActions summary::-webkit-details-marker{display:none}.workMoreActions[open] summary{margin-bottom:7px}.workPrimaryActions{margin-top:8px}
.developerHero{display:flex;align-items:flex-start;gap:12px;padding:14px;margin:14px 0 10px;background:linear-gradient(135deg,#17152b,#101722);border-color:#3c3562}
.developerHeroIcon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#0b1018;color:var(--hub-color-f5a21c,#f5a21c);border:1px solid #59452b;font:700 12px ui-monospace,monospace}
.developerHero b{font-size:14px}.developerHero p{margin:5px 0 0;font-size:10px;line-height:1.45}
.developerCreateBtn{width:100%;margin-bottom:18px}
.developerActions{display:grid;gap:7px;margin:0 0 18px}.developerActions .btn{width:100%;min-height:42px}.developerGithubBtn{background:#171b25;border-color:#39445a;color:#edf2fb}.developerGithubMark{font-size:13px;color:#fff}.developerZipBtn{background:#111722;border-color:#2d394d;color:#c8d2e2}.developerActions .developerCreateBtn{margin:0}
.developerSectionHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 2px 8px}.developerSectionHead>b{font-size:14px}.developerSectionHead .muted{font-size:9px}
.developerProjects{display:grid;gap:8px}.developerProject{width:100%;display:flex;align-items:center;gap:10px;padding:12px;text-align:left;color:#e8edf6;cursor:pointer}.developerProjectIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#111824;color:var(--hub-color-f5a21c,#f5a21c);border:1px solid #2e394c;font:700 15px ui-monospace,monospace}.developerProjectCopy{flex:1;min-width:0}.developerProjectCopy b,.developerProjectCopy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.developerProjectCopy b{font-size:12px}.developerProjectCopy small{margin-top:4px;color:#7f8ba0;font-size:9px}.developerProjectArrow{color:#9ba7bb;font-size:22px}.developerEmpty{padding:10px 2px;font-size:11px}
.developerChatHead{padding:5px 2px 8px}.developerChatHead h1{font-size:22px;margin:4px 0 0}
.developerTopButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 9px}.developerTopButtons .btn{min-width:0;height:38px;padding:0 5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.developerTopButtons .developerNewBtn{background:linear-gradient(135deg,var(--a),var(--a2));border-color:transparent;color:#fff;font-weight:800}
.developerModelPanel{padding:7px;margin-bottom:8px;background:#0d1119;border-color:#20293a}.developerModelButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border:1px solid #2d374b;border-radius:13px;background:#111722;color:#fff;text-align:left;cursor:pointer}.developerModelButton b,.developerModelButton small{display:block}.developerModelButton b{font-size:13px}.developerModelButton small{color:#8996aa;font-size:9px;margin-top:3px}.developerChatBox{min-height:calc(100dvh - 350px);padding:12px 2px 12px;display:flex;flex-direction:column;gap:9px}.developerEmptyChat{margin:auto;text-align:center;max-width:290px;color:#e8edf6}.developerEmptyChat .developerHeroIcon{margin:0 auto 10px}.developerEmptyChat b{font-size:18px}.developerEmptyChat p{margin-top:6px;font-size:11px}.developerPending{padding:10px 12px;border:1px solid #30394c;border-radius:13px;background:#151a25;color:#9aa6b9;font-size:11px}.developerComposer{position:sticky;bottom:0;z-index:5;display:flex;gap:7px;padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:transparent!important;border-top:0!important}.developerComposer .field{min-width:0;flex:1}.developerComposer .btn{flex:0 0 auto}
.chatTopActions{display:block!important}
.developerChatBox{padding-bottom:88px}
.developerEmptyChat{max-width:340px}.developerEmptyList{display:grid;gap:10px;text-align:left}.developerEmptyList span{position:relative;padding-left:18px;color:#d2d7df;font-size:14px;line-height:1.35}.developerEmptyList span:before{content:'•';position:absolute;left:2px;color:var(--hub-color-f59b19,#f59b19);font-weight:900}
.developerComposer{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(442px,calc(100vw - 28px));z-index:35}
.developerComposer .compose{position:static;bottom:auto;width:100%;padding:9px 0 calc(9px + env(safe-area-inset-bottom));background:transparent!important;border-top:0!important}
.developerActive .bottom{display:none}
.chatModelCardDescription{margin-top:5px;color:#aab5c7;font-size:10px;line-height:1.35}
.developerFreeBadge{margin-left:auto;padding:3px 7px;border:1px solid #2c8b68;border-radius:999px;color:#69dcb5;background:#10261f;font-size:8px;font-weight:800;letter-spacing:.5px;line-height:1}
#developerModelPicker{align-items:stretch;padding:0}
#developerModelPicker .chatModelPickerSheet{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;padding-top:calc(15px + env(safe-area-inset-top))}
#developerModelPicker .chatModelPickerList{margin-inline:-14px;padding:8px 12px 25px}
#chatModelPicker{align-items:stretch;padding:0}
#chatModelPicker .chatModelPickerSheet{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;padding-top:calc(15px + env(safe-area-inset-top))}
#chatModelPicker .chatModelPickerList{margin-inline:-14px;padding:8px 12px 25px}
#generationModelPicker{align-items:stretch;padding:0}
#generationModelPicker .chatModelPickerSheet{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;padding-top:calc(15px + env(safe-area-inset-top))}
#generationModelPicker .chatModelPickerList{margin-inline:-14px;padding:8px 12px 25px}
#developerModelPicker .mc-card{border-color:#2c2c2c;background:#121212}
#developerModelPicker .mc-card:active{background:#181818}
#developerModelPicker .mc-card.selected{border-color:var(--hub-color-c97816,#c97816);background:linear-gradient(105deg,var(--hub-color-271909,#271909),#15110c 55%,#111);box-shadow:inset 3px 0 0 var(--hub-color-ff9a00,#ff9a00),0 0 0 1px var(--hub-color-ff9a0022,#ff9a0022)}
#developerModelPicker .mc-card-name{color:#f2f2f2}
#developerModelPicker .mc-card-desc{color:#999}
#developerModelPicker .mc-card-chip{border:1px solid #303030;background:#191919;color:#aaa}
#developerModelPicker .mc-card-price{color:#c6c6c6}
#developerModelPicker .mc-card-star{color:#666}
#developerModelPicker .mc-card-star.on{color:var(--hub-color-ffae31,#ffae31)}
.vpsModal{align-items:flex-start;padding:0;background:#000d;backdrop-filter:blur(8px)}
.vpsSheet{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;padding:15px 14px 24px;background:#080808;border-color:#303030;overflow:auto}
.vpsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vpsHead h3{margin:3px 0 0;font-size:22px}.vpsIntro{display:grid;gap:5px;margin:18px 0 11px;padding:13px;border:1px solid #2c2c2c;border-radius:13px;background:#121212}.vpsIntro b{font-size:14px}.vpsIntro span,.vpsFormHint{color:#999;font-size:10px;line-height:1.4}
.vpsOptions{display:grid;gap:8px}.vpsOption{width:100%;display:flex;align-items:center;gap:10px;padding:12px;text-align:left;border:1px solid #2c2c2c;border-radius:13px;background:#121212;color:#f2f2f2;cursor:pointer}.vpsOption:active{background:#181818}.vpsOptionIcon{width:34px;height:34px;display:grid;place-items:center;flex:none;border:1px solid #59452b;border-radius:10px;color:var(--hub-color-f5a21c,#f5a21c);font-size:17px}.vpsOption b,.vpsOption small{display:block}.vpsOption b{font-size:12px}.vpsOption small{margin-top:4px;color:#999;font-size:9px}.vpsOption>span:nth-child(2){flex:1}.vpsOptionArrow{font-size:22px;color:#999}.vpsContent{margin-top:14px}.vpsEmpty{display:grid;justify-items:center;gap:6px;padding:34px 18px;border:1px dashed #303030;border-radius:13px;text-align:center}.vpsEmptyIcon{font-size:30px;color:var(--hub-color-f5a21c,#f5a21c)}.vpsEmpty b{font-size:14px}.vpsEmpty small{max-width:290px;color:#888;font-size:10px;line-height:1.4}.vpsForm{display:grid;gap:10px;padding:14px;border:1px solid #2c2c2c;border-radius:13px;background:#121212}.vpsFormTitle{font-size:14px;font-weight:800}.vpsForm label{display:grid;gap:5px;color:#c8c8c8;font-size:10px}.vpsForm .field{width:100%;min-height:40px}.vpsFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vpsWideBtn{width:100%;margin-top:2px}.vpsPlans{display:grid;gap:8px}.vpsPlan{display:grid;gap:5px;padding:12px;text-align:left;border:1px solid #2c2c2c;border-radius:13px;background:#121212;color:#f2f2f2;cursor:pointer}.vpsPlan b{font-size:13px}.vpsPlan span{color:#999;font-size:10px}.vpsPlan strong{color:var(--hub-color-ffae31,#ffae31);font-size:11px}@media(min-width:700px){.vpsSheet{width:min(720px,100%);height:min(94dvh,900px);margin:0;border-radius:0 0 22px 22px}}
.developerPickerMore{width:100%;margin:7px 0 2px;padding:11px 12px;border:1px solid #3a3022;border-radius:13px;background:#19140e;color:var(--hub-color-f5a21c,#f5a21c);font-size:11px;font-weight:800;cursor:pointer}
.developerModelPanel{padding:0!important;background:transparent!important;border-color:transparent!important}
.developerModelPanel .developerModelButton{background:#151515!important;border-color:#303030!important}
.developerModelPanel .chatModelChevron{color:var(--hub-color-f59b19,#f59b19)}
.developerComposer .attachbtn,.developerComposer .btn.primary{width:43px;height:43px;min-width:43px;padding:8px 10px;display:grid;place-items:center}
.chatTopButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:7px;width:100%;margin-top:7px}
.chatTopButtons .chatActionBtn{width:100%;height:38px;min-height:38px;padding:0 8px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;font-weight:800;white-space:nowrap}
.chatActionBtn svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chatActionBtn:active{transform:scale(.94)}
.chatActionText{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis}
.chatTopButtons .chatHistoryBtn,.chatTopButtons .chatProjectBtn{border-color:transparent!important;background:#111111!important}
.chatNewBtn{border-color:transparent!important;background:var(--a)!important;color:#090909!important;box-shadow:0 7px 18px var(--brand-accent-glow)}
.chatProjectBtn{background:#111111;border-color:#303a4f;color:#b9c5d8}
.chatModelCount{font-size:9px;letter-spacing:.06em;white-space:nowrap}
body.chatActive #chat .chatHero h1{font-size:18px;line-height:1.15;margin:7px 2px 2px;-webkit-line-clamp:1;white-space:normal}
.chatModelPanel{padding:7px;margin-bottom:7px;background:#0d1119;border-color:#20293a}
.chatModelPanel .chatModelPickerButton{min-height:52px;padding:9px 11px;border-radius:13px;background:#111111}
/* Shared neutral controls — color is fixed by DESIGN.md. */
.bal,.compose .attachbtn,.developerComposer .attachbtn{background:#111111}
.chatModelPanel .chatModelPickerText b{font-size:13px}
.chatModelPanel .chatModelPickerText small{font-size:9px;line-height:1.35;margin-top:3px}
.chatCapabilityLine,.chatCapabilityPill,.chatAdvancedControls,.chatAdvancedToggle,.chatModelCapabilityBadges{display:none!important}
.drawerNew{display:none!important}
.adminStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.adminStat{padding:12px 10px;border:1px solid var(--line);border-radius:14px;background:#0d1119;min-width:0}
.adminStat b{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adminStat span{display:block;margin-top:4px;color:#78849a;font-size:9px}
.adminStorageCard{padding:13px;margin:10px 0}
.adminStorageTop,.adminUserTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.adminStorageTop .status{font-size:9px}
.adminUsersList{display:grid;gap:9px;margin-top:11px;padding-bottom:22px}
.adminUserCard{padding:13px}
.adminUserTop b{font-size:12px}.adminUserTop small{display:block;color:#768197;font-size:9px;margin-top:4px}.adminUserTop strong{font-size:15px;white-space:nowrap}
.adminUserMeta{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.adminUserMeta span{font-size:9px;color:#8995aa;background:#111722;border:1px solid #253047;padding:4px 7px;border-radius:999px}
.adminUserActions{display:flex;gap:7px;flex-wrap:wrap}.adminUserActions .btn{font-size:10px;padding:8px 10px}
.vpsStatusCard{display:grid;gap:13px;padding:14px;border:1px solid #285746;border-radius:13px;background:linear-gradient(105deg,#101c17,#121212 55%)}.vpsStatusTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.vpsStatusTop b,.vpsStatusTop small{display:block}.vpsStatusTop b{font-size:14px}.vpsStatusTop small{margin-top:4px;color:#999;font-size:10px}.vpsOnline{flex:none;color:#69dcb5;font-size:10px;font-weight:800}.vpsMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.vpsMetrics>div{display:grid;gap:5px;padding:9px;border:1px solid #293c35;border-radius:9px;background:#0d1512}.vpsMetrics span{color:#8f9c95;font-size:9px}.vpsMetrics b{font-size:10px;line-height:1.25}.vpsUptime{color:#89968f;font-size:9px}
@media(max-width:520px){
  .chatModelCount{display:block}.chatTopButtons{width:100%}.chatTopButtons .chatActionBtn{padding:0 6px;font-size:9.5px}
  .adminStats{grid-template-columns:1fr 1fr}.adminStat:last-child{grid-column:1/-1}.adminUserActions .btn{flex:1}
}
/* Frameless rows for the AI Chat model picker only. */
#chatModelPicker .chatModelCard{border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:13px 4px;align-items:center}
#chatModelPicker .chatModelCard:first-child{border-top:0}
#chatModelPicker .chatModelCard:hover{background:transparent}
#chatModelPicker .chatModelCard.selected{border-color:transparent;background:transparent;box-shadow:none}
#chatModelPicker .chatModelCard.selected .modelRadio{border-color:var(--hub-color-ff9d00,#ff9d00);background:var(--hub-color-ff9d00,#ff9d00);color:var(--hub-color-17100a,#17100a)}
/* Единственный оранжевый акцент AI HUB: точный цвет плашки HUB. */
.msg.user,
.compose .btn.primary,
.developerComposer .btn.primary,
.chatNewBtn,
.developerTopButtons .developerNewBtn,
.plus,
.worksFilter.on{
  background:var(--a)!important;
  background-image:none!important;
}
.compose .btn.primary,
.developerComposer .btn.primary{color:#090909!important}
.msg.user{color:#090909}
/* Media sends are a semantic state: only their caption retains the orange bubble. */
.msg.user.has-attachments{max-width:94%;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--t)}
.msg.user.has-attachments .msgtext{display:table;max-width:100%;margin:0 0 7px auto;padding:9px 11px;border-radius:15px;background:var(--a);color:#090909}
.msg.user.has-attachments .chatImageGrid{margin-bottom:0}

/* v18.13.30 — instant, ChatGPT-like image preview in the composer */
body.chatActive #chat .chatComposerDock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:35;width:min(442px,calc(100vw - 28px));margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border:1px solid #30394c;border-bottom:0;border-radius:18px 18px 0 0;background:#111722;box-shadow:0 -12px 32px #0006}
body.chatActive #chat .chatComposerDock .compose{position:static;transform:none;width:100%;margin:0;padding:0;background:transparent!important}
body.chatActive #chat .chatComposerDock .attachbar{position:static;z-index:auto;min-height:0;padding:0 0 6px;background:transparent;overflow-x:auto}
body.chatActive #chat .chatComposerDock .attachbar:empty{display:none}
body.chatActive #chat .chat{padding-bottom:148px}
body.chatActive #chat .attachchip.image{position:relative;flex:0 0 82px;width:82px;height:64px;max-width:none;padding:0;overflow:hidden;border-radius:12px;border-color:#39445a;background:#080b10}
body.chatActive #chat .attachchip.image .attachThumb{display:block;width:100%;height:100%;min-width:0;border-radius:0;object-fit:cover}
body.chatActive #chat .attachchip.image button{position:absolute;top:3px;right:3px;z-index:2;width:19px;height:19px;padding:0;border-radius:50%;background:#090b10d9;color:#fff;font-size:15px;line-height:17px}
body.chatActive #chat .attachchip.image.uploading:after{content:"";position:absolute;inset:0;background:#0006}
body.chatActive #chat .attachUploadSpinner{position:absolute;left:50%;top:50%;z-index:2;width:21px;height:21px;margin:-10.5px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:s .8s linear infinite}
body.chatActive #chat .attachchip:not(.image){position:relative}
body.chatActive #chat .attachchip:not(.image).uploading{padding-right:30px}
/* Keep the original composer geometry; only attachment preview behavior changes. */
body.chatActive #chat .chatComposerDock{position:static;left:auto;bottom:auto;transform:none;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
/* Match the mobile app content rail (10px page insets), not the older 14px
   composer-only rail.  The 442px cap remains the desktop app content width. */
body.chatActive #chat .chatComposerDock .compose{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(442px,calc(100vw - 20px));max-width:442px;margin:0;padding:9px 0 calc(9px + env(safe-area-inset-bottom));background:transparent!important}
body.chatActive #chat .composeInputWrap{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid transparent;border-radius:19px;background:#111111;box-shadow:none;overflow:visible}
body.chatActive #chat .composeInputWrap .attachbar{position:static;z-index:auto;min-height:0;padding:0 0 7px;background:transparent;overflow-x:auto}
body.chatActive #chat .composeInputWrap .composeRow,body.chatActive #chat .composeToolsRow{display:contents}
body.chatActive #chat .composeInputWrap .field{border:0;border-radius:0;background:transparent!important;padding:9px 5px}
body.chatActive #chat .composeInputWrap .field,
body.chatActive #chat .composeInputWrap .field:focus{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
body.chatActive #chat .composeInputWrap .attachbtn{border:0;background:transparent!important;color:var(--hub-color-ff9a00,#ff9a00)!important;font-size:25px;font-weight:400;line-height:1;padding:5px 7px;min-width:34px;flex:0 0 auto;margin-inline-start:0;margin-inline-end:0}
body.chatActive #chat .composeInputWrap .btn.primary{width:38px;height:38px;padding:0;border-radius:50%;background:var(--hub-color-ff9a00,#ff9a00)!important}
body.chatActive #chat #chatSendBtn{color:#090909!important}
body.chatActive #chat #chatSendIcon{display:grid;place-items:center;width:100%;height:100%;line-height:1}
body.chatActive #chat #chatSendIcon .chatStopIcon{display:block;width:13px;height:13px;background:currentColor;border-radius:1px}
body.chatActive #chat .composeInputWrap .attachbar:empty{display:none}
body.chatActive #chat .composeInputWrap .attachbtn{order:1}
body.chatActive #chat .composeInputWrap .field{order:2;flex:1 1 auto;min-width:0}
body.chatActive #chat .chatReasoningControl{order:4;flex:none;position:relative;z-index:1}
body.chatActive #chat #chatSendBtn{order:5;flex:none;position:relative;z-index:2}
body.chatActive #chat .chatComposerTool{position:relative;display:inline-flex;align-items:center;gap:3px;min-height:26px;margin:0;padding:3px 3px;border:0;border-radius:8px;background:transparent;color:#7d8592;font:600 10px/1 Inter,system-ui,-apple-system,sans-serif;white-space:nowrap}
body.chatActive #chat .chatComposerTool:not(:disabled){cursor:pointer}
body.chatActive #chat .chatReasoningControl{padding:0}
body.chatActive #chat .chatReasoningControl{z-index:20;pointer-events:auto}
body.chatActive #chat .chatReasoningTrigger{display:inline-flex;align-items:center;gap:3px;min-height:26px;padding:3px 3px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;white-space:nowrap}
body.chatActive #chat .chatReasoningTrigger{position:relative;z-index:21;pointer-events:auto;touch-action:manipulation}
body.chatActive #chat .chatReasoningControl.supported .chatReasoningTrigger{color:#c2c7cf;cursor:pointer}
body.chatActive #chat .chatReasoningControl.disabled{opacity:.42}
/* Canonical surface for compact AI HUB dropdowns and popovers. */
.aihub-glass-popover{background:var(--aihub-glass-surface-bg);border:0;border-radius:var(--glass-popover-radius);box-shadow:var(--aihub-glass-surface-shadow);backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation))}
body.chatActive #chat .chatReasoningMenu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:70;display:grid;min-width:128px;padding:5px}
body.chatActive #chat .chatReasoningMenu[hidden]{display:none}
body.chatActive #chat .chatReasoningOption{min-height:36px;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:var(--glass-popover-text);text-align:left;font:600 11px/1.1 Inter,system-ui,-apple-system,sans-serif}
body.chatActive #chat .chatReasoningOption{pointer-events:auto;touch-action:manipulation}
body.chatActive #chat .chatReasoningOption.selected{background:var(--glass-popover-selected-bg);color:var(--glass-popover-selected-text);box-shadow:var(--glass-popover-selected-shadow)}
@media(hover:hover){body.chatActive #chat .chatReasoningOption:hover{background:var(--glass-popover-pressed-bg)}}
body.chatActive #chat .chatReasoningOption:active{background:var(--glass-popover-pressed-bg);color:var(--glass-popover-text)}
body.chatActive #chat .chatScrollNav.reasoning-menu-open{opacity:0;visibility:hidden;pointer-events:none}
body.chatActive #chat .chat{padding-bottom:88px}
/* One permanent composer geometry: the input always owns the full upper row.
   Autosize changes only its height, so crossing a soft-wrap threshold cannot
   alter the input's width, placement, or the controls' bottom row. */
body.chatActive #chat .composeInputWrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-rows:auto auto auto;column-gap:4px;row-gap:0;align-items:end;padding:4px 8px}
body.chatActive #chat .composeInputWrap .attachbar{grid-column:1/-1;grid-row:1;width:100%;padding:0 0 7px}
body.chatActive #chat .composeInputWrap #chatInput{grid-column:1/-1;grid-row:2;width:100%;min-width:0;max-width:none;box-sizing:border-box;align-self:stretch;height:32px;min-height:32px;max-height:120px;margin:0 0 4px;padding:6px 5px;resize:none;overflow-x:hidden;overflow-y:hidden;line-height:20px}
body.chatActive #chat .composeInputWrap .attachbtn{grid-column:1;grid-row:3;align-self:end;margin:0}
body.chatActive #chat .composeInputWrap .chatReasoningControl{grid-column:3;grid-row:3;align-self:end;margin:0}
body.chatActive #chat .composeInputWrap #chatSendBtn{grid-column:4;grid-row:3;align-self:end;margin:0}
body.chatActive #chat .chatScrollNav{bottom:var(--chat-scroll-bottom,calc(90px + env(safe-area-inset-bottom)))}
body.chatActive #chat .chatReasoningControl{justify-content:center;margin:0}
/* Режим разработчика использует тот же нейтральный вид карточек, что и AI Chat. */
#developerModelPicker{background:#000!important;backdrop-filter:none!important}
#developerModelPicker .chatModelPickerSheet{background:#000!important;border:0!important;box-shadow:none!important}
#developerModelPicker .chatModelPickerHead{background:#000!important;border-bottom:0!important}
#developerModelPicker .chatModelPickerList{background:#000!important}
#developerModelPicker .mc-card{border:0!important;border-radius:16px!important;background:#111111!important;box-shadow:none!important;margin:7px 0!important;padding:13px 12px!important}
#developerModelPicker .mc-card.selected{border:1px solid var(--hub-color-ff9a00,#ff9a00)!important;background:#111111!important;box-shadow:none!important}
#developerModelPicker .mc-card-star{align-self:flex-start!important;margin-top:0!important;color:#666!important}
#developerModelPicker .mc-card-star.on{color:var(--hub-color-ffae31,#ffae31)!important}
/* Общий вид режима разработчика: те же плоские поверхности и акценты, что в AI Chat. */
.developerTopButtons .btn{border-color:transparent!important}
.developerTopButtons .developerNewBtn{background:var(--hub-color-ff9a00,#ff9a00)!important;background-image:none!important;border:0!important}
.developerTopButtons .btn:not(.developerNewBtn){background:#111111!important}
.developerModelPanel{background:transparent!important;border-color:transparent!important}
.developerModelPanel .developerModelButton{background:#111111!important;border-color:transparent!important}
.developerChatHead:before{content:"";display:block;height:18px}
/* AI Chat и Developer имеют одинаковую вертикальную композицию: заголовок, кнопки, модель. */
body.chatActive #chat .chatHero{display:flex;flex-direction:column;padding:5px 2px 8px}
body.chatActive #chat .chatHero:before{content:"";display:block;height:18px;order:0}
body.chatActive #chat #chatTitle{order:1;font-size:22px;line-height:1.12;margin:4px 0 0}
body.chatActive #chat .chatTopActions{order:2}
body.chatActive #chat .chatTopButtons{margin-top:0}
body.chatActive #chat .chatHero,
body.chatActive #chat .chatTopActions{
  background:transparent!important;
}
/* AI Chat использует тот же слой фона, что и разработчик: без отдельного
   градиента в секции, со штатным плавным затуханием верхней панели. */
/* Keyboard resize must not rescale the header's ambient light. */
body.chatActive{
  background:radial-gradient(circle 240px at 50% -90px,var(--hub-color-3a210c,#3a210c) 0,transparent 100%),#050505!important;
}
body.chatActive .app{background:transparent!important}
body.chatActive #chat{background:transparent!important}
body.chatActive .top{background:linear-gradient(#050505 70%,transparent)!important}
body.chatActive .workspaceDock{background:linear-gradient(#050505 72%,transparent)!important}
/* Главный экран использует ту же вертикальную позицию шапки, что и AI Chat. */
body.homeActive .top{
  padding-top:max(12px,env(safe-area-inset-top));
  padding-bottom:12px;
}
/* На главной стрелка невидима, но сохраняет своё место — как в AI Chat. */
body.homeActive .backBtn{
  display:flex;
  visibility:hidden;
  pointer-events:none;
}
/* Единая шапка на всех экранах: логотип и баланс всегда на одной позиции. */
.app .top,
#customVoiceStudio .voice-studio__top{
  padding-top:max(12px,env(safe-area-inset-top));
  padding-bottom:12px;
}
.charactersList{display:grid;gap:10px;margin:12px 0}.characterCard{padding:14px}.characterCardTop{display:flex;align-items:center;gap:11px}.characterAvatar{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;overflow:hidden;color:var(--hub-color-ff9d00,#ff9d00);background:#16130d;border:1px solid var(--hub-color-3c2a10,#3c2a10);font-size:21px}.characterAvatar img{width:100%;height:100%;object-fit:cover}.characterName{font-size:15px;font-weight:900}.characterPrimary{display:inline-block;margin-left:5px;padding:3px 6px;border-radius:999px;background:#173828;color:#75e3af;font-size:8px;vertical-align:2px}.characterDescription{margin:12px 0 0;color:#a9b1c1;font-size:11px;line-height:1.45}.characterActions{display:flex;gap:7px;margin-top:12px}.characterActions .btn{font-size:10px;padding:8px 10px}.characterTextarea{min-height:82px;resize:vertical}.characterFile{padding:9px;font-size:11px}.characterHint{font-size:10px;line-height:1.4;margin:6px 0 12px}.characterModal{max-height:88vh;overflow:auto}
.characterReferenceQuote{display:flex;justify-content:space-between;align-items:center;margin:12px 0 4px;padding:11px 12px;border-radius:12px;background:#151515;color:#aaa;font-size:11px}.characterReferenceQuote b{font-size:14px;color:var(--hub-color-ff9d00,#ff9d00)}
/* AI Chat: геометрия заголовка, кнопок и селектора совпадает с Developer. */
body.chatActive #chat .chatHero{padding:5px 2px 9px}
body.chatActive #chat #chatTitle{font-size:22px;line-height:normal;margin:4px 0 0}
body.chatActive #chat .chatTopActions{padding-top:8px;padding-bottom:0}
body.chatActive #chat .chatTopButtons .chatActionBtn{
  height:38px;min-height:38px;padding:0 5px;border-radius:8px;font-size:9px;
}
body.chatActive #chat .chatModelPanel{
  padding:7px;margin-bottom:8px;background:transparent!important;border-color:transparent!important;
}
body.chatActive #chat .chatModelPanel .chatModelPickerButton{
  min-height:66px;padding:10px 11px;border-radius:13px;
  background:#111111!important;border-color:transparent!important;
}
body.chatActive #chat .chatModelPickerText b{font-size:13px}
body.chatActive #chat .chatModelPickerText small{font-size:9px;line-height:normal;margin-top:3px}
/* Карточки задач повторяют поверхность селектора модели. */
#category .taskCard{
  min-height:66px;
  padding:12px;
  border:0!important;
  border-radius:15px;
  background:#111111!important;
  box-shadow:none!important;
  outline:0!important;
  gap:0;
  margin:7px 0;
}
/* Для остальных разделов сохраняем компактную текстовую строку. */
#category .taskCard:not(.musicTaskCard):not(.imageTaskCard) .taskIcon,
#category .taskCard:not(.musicTaskCard):not(.imageTaskCard) .chev{
  display:none!important;
}
#category .musicTaskCard .taskIcon,
#category .imageTaskCard .taskIcon{
  display:grid!important;
  width:38px;
  min-width:38px;
  height:38px;
  margin-right:12px;
  place-items:center;
  border:0!important;
  border-radius:11px;
  background:transparent!important;
  color:var(--hub-color-ff9a00,#ff9a00)!important;
  font-size:0;
}
#category .musicTaskCard .chev,
#category .imageTaskCard .chev{
  display:none!important;
}
#category .musicTaskCard,
#category .imageTaskCard{
  margin:3px 0;
}
#category .musicTaskCard .musicTaskSvg,
#category .imageTaskCard .imageTaskSvg{
  display:block;
  width:23px;
  height:23px;
  color:currentColor;
  overflow:visible;
}
#category .taskCard .taskText{
  width:100%;
}
#category .taskCard .taskText b{
  font-size:13px;
}
#category .taskCard .taskText small{
  margin-top:3px;
  font-size:9px;
  line-height:normal;
}
/* Экран создания музыки: большие поверхности как селектор модели. */
body.musicCreateActive #create #form,
body.musicCreateActive #create .createCheckout{
  border:0!important;
  border-radius:13px;
  background:#111111!important;
  box-shadow:none!important;
  outline:0!important;
}

/* На экране создания песни не показываем служебную подпись и лишнюю кнопку. */
body.musicCreateActive #create .createTop,
body.musicCreateActive #create .changeModel{
  display:none!important;
}

/* Музыкальный экран использует тот же фон, что AI Chat и разработчик. */
body.musicCreateActive{
  background:var(--hub-page-background)!important;
  background-attachment:fixed!important;
}
body.musicCreateActive .app{background:transparent!important}
body.musicCreateActive #create,
body.musicCreateActive .top{
  background:transparent!important;
}
body.musicCreateActive .top{
  background:var(--hub-top-fade)!important;
}
body.musicCreateActive #create .switch{
  gap:9px;
  min-height:30px;
  cursor:pointer;
}
:is(body.musicCreateActive #create .switch, #create.videoWorkspacePage .videoParamToggle) input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:42px;
  height:24px;
  margin:0;
  flex:none;
  border:0;
  border-radius:999px;
  background:#333333;
  cursor:pointer;
  transition:background .18s ease;
}
:is(body.musicCreateActive #create .switch, #create.videoWorkspacePage .videoParamToggle) input[type="checkbox"]::after{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#b6b6b6;
  transition:transform .18s ease,background .18s ease;
}
:is(body.musicCreateActive #create .switch, #create.videoWorkspacePage .videoParamToggle) input[type="checkbox"]:checked{background:var(--hub-color-ff9a00,#ff9a00)}
:is(body.musicCreateActive #create .switch, #create.videoWorkspacePage .videoParamToggle) input[type="checkbox"]:checked::after{
  transform:translateX(18px);
  background:#090909;
}
body.musicCreateActive #create .switch span{font-size:13px;font-weight:800}

/* Экран выбора раздела (в том числе «Музыка») повторяет фон главного
   экрана буквально: та же чёрная основа, позиция оранжевого ореола и
   плавное затухание шапки. Сами карточки задач здесь не меняются. */
body.homeActive,
body.categoryActive{
  background:var(--hub-page-background)!important;
  background-attachment:fixed!important;
}
/* Фон рисуется только на body: и «Главная», и «Музыка» используют один
   и тот же слой в одной и той же координатной системе окна. */
body.homeActive .app,
body.categoryActive .app{background:transparent!important}
body.categoryActive #category{background:transparent!important}
body.homeActive .top,
body.categoryActive .top{background:var(--hub-top-fade)!important}

/* Единый вид окон выбора модели во всех режимах (AI Chat, Developer и
   генерация изображений): чёрная поверхность, плоские серые карточки и
   один оранжевый акцент только у выбранной модели. */
#chatModelPicker,
#developerModelPicker,
#generationModelPicker{
  align-items:stretch!important;
  padding:0!important;
  background:#000!important;
  backdrop-filter:none!important;
}
#chatModelPicker .chatModelPickerSheet,
#developerModelPicker .chatModelPickerSheet,
#generationModelPicker .chatModelPickerSheet{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000!important;
  padding:calc(15px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom))!important;
}
#chatModelPicker .chatModelPickerHead,
#developerModelPicker .chatModelPickerHead,
#generationModelPicker .chatModelPickerHead,
#chatModelPicker .chatModelPickerList,
#developerModelPicker .chatModelPickerList,
#generationModelPicker .chatModelPickerList{background:#000!important}
#chatModelPicker .chatModelCard,
#generationModelPicker .chatModelCard,
#developerModelPicker .mc-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:66px!important;
  margin:7px 0!important;
  padding:13px 12px!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:#111!important;
  box-shadow:none!important;
}
#chatModelPicker .chatModelCard:hover,
#generationModelPicker .chatModelCard:hover,
#developerModelPicker .mc-card:hover,
#developerModelPicker .mc-card:active{background:#111!important}
#chatModelPicker .chatModelCard.selected,
#generationModelPicker .chatModelCard.selected,
#developerModelPicker .mc-card.selected{
  border:1px solid var(--hub-color-ff9a00,#ff9a00)!important;
  background:#111!important;
  box-shadow:none!important;
}
#chatModelPicker .modelRadio,
#generationModelPicker .modelRadio,
#developerModelPicker .mc-card-choice{display:none!important}
#chatModelPicker .chatModelCardDescription,
#generationModelPicker .chatModelCardDescription,
#developerModelPicker .mc-card-desc{color:#999!important}
#chatModelPicker .chatModelCardMeta,
#generationModelPicker .chatModelCardMeta,
#developerModelPicker .mc-card-price{color:#c6c6c6!important}

#chatModelPicker .chatModelCardDescription{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
#chatModelPicker .chatModelCardCaps{display:flex;flex-wrap:nowrap;gap:6px;margin-top:7px;min-width:0;overflow:hidden}
#chatModelPicker .chatModelCapIcon{width:15px;height:15px;min-width:15px;padding:0;border:0;border-radius:0;display:grid;place-items:center;color:#6f7784;opacity:1}
#chatModelPicker .chatModelCapIcon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#chatModelPicker .chatModelCapIcon.active{color:var(--hub-color-ff9a00,#ff9a00)}
#chatModelPicker .chatModelCapIcon.provider-only{color:var(--hub-color-ff9a00,#ff9a00);opacity:.42}
#chatModelPicker .chatModelCapIcon.unsupported{color:#6f7784;opacity:.72}

/* Shared picker favorite indicator */
.chatModelFavorite{width:26px;min-width:26px;height:26px;display:grid;place-items:center;margin-left:8px;color:#707070;font-size:22px;line-height:1}
.chatModelFavorite.on{color:var(--hub-color-ff9a00,#ff9a00)}

.chatScrollNav{bottom:calc(86px + env(safe-area-inset-bottom));gap:8px}
.chatScrollNav button{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);background:#303030;color:#fff;font-size:18px;box-shadow:0 2px 8px #0005}
.chatScrollNav button.generating{display:flex;align-items:center;justify-content:center;gap:3px}
.chatScrollNav button:active{border-color:rgba(255,255,255,.16)}
.chatScrollNav{left:50%;right:auto;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;gap:0}
.chatScrollNav #chatScrollTop{display:none!important}
.chatScrollNav button{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.10);background:var(--aihub-glass-surface-bg);color:#fff;font-size:18px;box-shadow:var(--aihub-glass-surface-shadow);backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation))}
.chatScrollNav button:before{content:"";position:absolute;inset:-4px;border-radius:50%}
.chatScrollNav button.generating{gap:3px}
body.chatActive #chat .chatReasoningControl{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--m);font-size:10px;line-height:1}
body.chatActive #chat .chatReasoningControl select{max-width:120px;padding:6px 24px 6px 9px;border:1px solid var(--line);border-radius:999px;background:#111;color:#dce2ef;font:inherit;outline:none}

#chatModelPicker .chatModelFamily{margin:0 0 14px}
#chatModelPicker .chatModelFamily h4{margin:15px 4px 7px;color:#aeb7c6;font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1.25;text-transform:none}
#chatModelPicker .chatModelFamily:first-child h4{margin-top:3px}
#chatModelPicker .chatModelFavorite{border:0;background:transparent;padding:0;cursor:pointer}
#chatModelPicker .chatModelFavorite:focus-visible{outline:2px solid var(--hub-color-ff9a00,#ff9a00);outline-offset:2px;border-radius:6px}
#chatModelPicker .chatModelFavorite:disabled{cursor:wait;opacity:.55}
#chatModelPicker .chatModelFavorite.on{color:var(--hub-color-ff9a00,#ff9a00)}
@media(max-width:430px){#chatModelPicker .chatModelFamily h4{font-size:10px}#chatModelPicker .chatModelFavorite{margin-left:4px}}

/* AI Chat uses two physical regions: a collapsible header and a clipped message viewport. */
body.chatActive #chat .chatNavigationHeader{
  position:relative;
  flex:0 0 auto;
  z-index:27;
  height:var(--chat-navigation-height,auto);
  min-height:0;
  overflow:hidden;
  transition:height .18s ease;
}
body.chatActive #chat .chatNavigationHeaderContent{
  transform:translate3d(0,0,0);
  will-change:transform;
  transition:transform .18s ease;
}
body.chatActive #chat .chatNavigationSlot{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  contain:paint;
}
body.chatActive #chat .chatNavigationSlot::-webkit-scrollbar{display:none}
body.chatActive #chat #chatBox{
  transform:none;
  padding-bottom:var(--chat-bottom-safe-inset,96px)!important;
}
body.chatActive #chat.chatNavigationHidden .chatNavigationHeader{height:0}
body.chatActive #chat.chatNavigationHidden .chatNavigationHeaderContent{
  transform:translate3d(0,-100%,0);
  pointer-events:none;
}
body.chatActive #chat .chatNavigationHeader .chatTopActions,
body.chatActive #chat .chatNavigationHeader .chatModelPanel{
  position:static;
  top:auto;
  z-index:auto;
  transform:none;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
/* Owner-only, on-demand Chat header diagnostic; it does not participate in Chat layout. */
.chatHeaderDiagnosticPanel{position:fixed;z-index:80;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-height:min(62vh,520px);padding:12px;border:1px solid #4a556d;border-radius:14px;background:#0d1119;color:#e7ecf6;box-shadow:0 18px 42px #000b;overflow:auto}
.chatHeaderDiagnosticPanel[hidden]{display:none}
.chatHeaderDiagnosticHead{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.chatHeaderDiagnosticPanel button{border:1px solid #3a465c;border-radius:8px;background:#171d29;color:#e7ecf6;padding:7px 9px;font:inherit}
.chatHeaderDiagnosticPanel pre{margin:10px 0;white-space:pre-wrap;word-break:break-word;color:#bdc8d8;font:10px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}
.chatHeaderDiagnosticActions{display:flex;gap:8px;flex-wrap:wrap}

/* Recent Chats — compact graphite history surface. */
#chatDrawer.chatDrawer{background:rgba(0,0,0,.78);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#chatDrawer .chatDrawerPanel{width:min(100vw,470px);padding:14px 10px calc(18px + env(safe-area-inset-bottom));border:0;background:#000;box-shadow:18px 0 42px rgba(0,0,0,.42)}
#chatDrawer .drawerTop{min-height:34px;padding:0 2px}
#chatDrawer .drawerTop .muted{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--m)}
#chatDrawer .drawerTop h2{margin:1px 0 0;color:var(--t);font-size:20px;line-height:1.15;letter-spacing:-.02em}
#chatDrawer .drawerTop>.btn{display:grid;place-items:center;width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:50%;background:var(--aihub-glass-surface-bg);color:var(--t);font-size:20px;line-height:1;box-shadow:var(--aihub-glass-surface-shadow);backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation))}
#chatDrawer .drawerSearch{width:100%;height:36px;min-height:36px;margin:12px 0 7px;padding:0 11px;border:0;border-radius:11px;background:#151515;color:var(--t);font-size:11px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)}
#chatDrawer .drawerSearch::placeholder{color:#85858b}
#chatDrawer .drawerSearch:focus{outline:0;box-shadow:0 0 0 1px var(--a),inset 0 0 0 1px rgba(255,255,255,.045)}
#chatDrawer #drawerRecentPane>.drawerSectionHead{display:none}
#chatDrawer .chatHistoryList{padding-bottom:10px}
#chatDrawer .historyGroup{margin:0 0 7px}
#chatDrawer .drawerLabel{margin:9px 2px 3px;padding:0;color:#8d8d93;font-size:9px;font-weight:800;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
#chatDrawer .historyGroup:first-child .drawerLabel{margin-top:2px}
#chatDrawer .chatrow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:6px;min-height:50px;margin:2px 0;padding:8px 3px 8px 10px;border-radius:11px;background:transparent;cursor:pointer}
#chatDrawer .chatrow .grow{min-width:0}
#chatDrawer .chatrow b{max-width:none;color:var(--t);font-size:12px;font-weight:750;line-height:1.25}
#chatDrawer .chatrow small{margin-top:3px;color:#8d8d93;font-size:9px;line-height:1.2}
#chatDrawer .chatrow.on{background:rgba(48,48,48,.55);box-shadow:none}
#chatDrawer .chatrow.on:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:999px;background:var(--a)}
#chatDrawer .chatrow:active{background:rgba(255,255,255,.055)}
#chatDrawer .chatrow.on:active{background:rgba(48,48,48,.68)}
#chatDrawer .rowmenu{display:grid;place-items:center;justify-self:end;align-self:start;width:28px;height:28px;min-width:28px;margin:-2px 0 0;padding:0;border:0;border-radius:9px;background:transparent;color:#9b9ba1;font-size:18px;line-height:1}
#chatDrawer .rowmenu:active{background:rgba(255,255,255,.08);color:var(--t)}
#chatActionModal .modal.aihub-glass-popover{background:var(--aihub-glass-surface-bg);border:0;box-shadow:var(--aihub-glass-surface-shadow);backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation))}
@media(max-width:360px){#chatDrawer .chatDrawerPanel{padding-left:9px;padding-right:9px}#chatDrawer .chatrow{min-height:48px}}


/* Composer attachment action menu: floating and independent from composer geometry. */
body.chatActive #chat .composeInputWrap{position:relative}
#chatAttachmentMenu.chatAttachmentMenu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:60;width:min(244px,calc(100vw - 24px));visibility:hidden;pointer-events:none;opacity:0;transform:translateY(8px) scale(.96);transform-origin:left bottom;transition:opacity 200ms cubic-bezier(.2,.8,.2,1),transform 200ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 200ms}
#chatAttachmentMenu.chatAttachmentMenu.on{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0) scale(1);transition-delay:0s}
#chatAttachmentMenu .chatAttachmentActionMenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border:0;border-radius:17px;background:var(--aihub-glass-surface-bg);box-shadow:0 12px 28px rgba(0,0,0,.34),var(--aihub-glass-surface-shadow),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur)) saturate(var(--aihub-glass-surface-saturation))}
#chatAttachmentMenu .chatAttachmentAction{min-width:0;min-height:48px;padding:0 9px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.045);color:#e9e9ec;font:600 11px/1 Inter,system-ui,-apple-system,sans-serif;white-space:nowrap;transition:transform 160ms cubic-bezier(.2,.8,.2,1),background 160ms ease,color 160ms ease}
#chatAttachmentMenu .chatAttachmentAction:nth-child(2){transition-delay:35ms}
#chatAttachmentMenu .chatAttachmentAction:active{transform:scale(.97);background:rgba(255,255,255,.09);color:var(--a)}
#chatAttachmentMenu .chatAttachmentActionIcon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto}
#chatAttachmentMenu .chatAttachmentActionIcon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.chatActive #chat #attachBtn{transition:transform 200ms cubic-bezier(.2,.8,.2,1)}
body.chatActive #chat #attachBtn[aria-expanded="true"]{transform:rotate(45deg)}
body.chatAttachmentMenuOpen #chatScrollBottom,body.chatAttachmentMenuOpen #chatScrollTop{opacity:0;pointer-events:none}
@media(max-width:340px){#chatAttachmentMenu.chatAttachmentMenu{width:min(232px,calc(100vw - 20px))}#chatAttachmentMenu .chatAttachmentAction{padding:0 7px;gap:5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){#chatAttachmentMenu.chatAttachmentMenu,#chatAttachmentMenu .chatAttachmentAction,body.chatActive #chat #attachBtn{transition:none}#chatAttachmentMenu.chatAttachmentMenu{transform:none}#chatAttachmentMenu.chatAttachmentMenu:not(.on){visibility:hidden}}


/* Composer Web Search: compact icon-only toggle; state and request handling remain in app JS. */
body.chatActive #chat .composeInputWrap #chatSearchControl{display:grid;place-items:center;order:3;flex:0 0 34px;width:34px;height:34px;min-width:34px;min-height:34px;margin:0;padding:0;border:0!important;border-radius:50%;background:transparent;color:var(--a);box-shadow:none;filter:none;appearance:none;-webkit-appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.chatActive #chat .composeInputWrap #chatSearchControl:not(:disabled){cursor:pointer}
body.chatActive #chat .composeInputWrap #chatSearchControl .chatSearchIcon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body.chatActive #chat .composeInputWrap #chatSearchControl.on{color:var(--a);background:transparent;box-shadow:none;filter:drop-shadow(0 7px 18px var(--brand-accent-glow))}
body.chatActive #chat .composeInputWrap #chatSearchControl:not(:disabled):active{background:transparent}
body.chatActive #chat .composeInputWrap #chatSearchControl:focus{outline:0}
body.chatActive #chat .composeInputWrap #chatSearchControl:focus-visible{outline:2px solid rgba(var(--hub-rgb-ff9a00,255,154,0),.72);outline-offset:2px}
body.chatActive #chat .composeInputWrap #chatSearchControl:disabled{opacity:.42}

/* Images: one compact in-place workspace. */
#create:is(.imageWorkspacePage,.videoWorkspacePage){padding-top:12px}
#form.imageWorkspace{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.imageWorkspace{min-width:0;color:#f2f2f2}.imageWorkspaceHead{margin-bottom:14px}.imageWorkspaceHead>.muted{margin-bottom:9px;color:#8f8f94;font-size:10px;font-weight:800;letter-spacing:.08em}.imageModeTabs{display:flex;gap:6px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.imageModeTabs::-webkit-scrollbar{display:none}.imageModeTab{flex:0 0 auto;min-height:35px;padding:0 11px;border:0;border-radius:11px;background:#252527;color:#bdbdc2;font:700 11px/1 Inter,system-ui,sans-serif;white-space:nowrap;cursor:pointer}.imageModeTab.on{background:var(--a);color:var(--hub-color-16110a,#16110a)}.imageWorkspaceBody{display:grid;gap:13px}.imagePromptLabel,.imageModelLabel{display:grid;gap:7px;color:#c5c5ca;font-size:11px;font-weight:700}.imageWorkspacePrompt{min-height:86px;max-height:148px;padding:12px;border-color:#313133;background:#151517;color:#f6f6f7;resize:vertical;line-height:1.42}.imageWorkspacePrompt:focus{border-color:var(--a);box-shadow:0 0 0 2px rgba(var(--hub-rgb-ff9a00,255,154,0),.14)}.imageModelSelect{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:47px;padding:0 13px;border:0;border-radius:13px;background:#1b1b1d;color:#f5f5f6;text-align:left;font:700 13px/1 Inter,system-ui,sans-serif}.imageModelSelect span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imageModelSelect b{color:var(--a);font-size:18px}.imageParams{display:grid;gap:11px}.imageParam{display:grid;gap:7px}.imageParam>span{color:#c5c5ca;font-size:11px;font-weight:700}.imageChoiceRow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.imageChoice{flex:0 0 auto;min-height:34px;padding:0 12px;border:0;border-radius:10px;background:#252527;color:#c4c4c8;font:700 11px/1 Inter,system-ui,sans-serif}.imageChoice.on{background:rgba(var(--hub-rgb-ff9a00,255,154,0),.16);color:var(--a);box-shadow:inset 0 0 0 1px rgba(var(--hub-rgb-ff9a00,255,154,0),.32)}.imageUploadBlock{display:grid;gap:8px}.imageUploadButton{min-height:50px;border:1px dashed #4a4a4d;border-radius:13px;background:#161618;color:#d4d4d7;font:700 12px/1 Inter,system-ui,sans-serif}.imageUploadPreview{position:relative;display:flex;gap:7px;align-items:center;min-height:64px}.imageUploadPreview img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:#171719}.imageUploadPreview button{position:absolute;left:50px;top:-7px;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:#38383b;color:#fff;font-size:17px;line-height:1}.imageWorkspacePage .createCheckout{position:sticky;bottom:0;z-index:2;margin-top:15px;background:linear-gradient(180deg,rgba(0,0,0,0),#000 24%,#000);border:0!important;padding:16px 0 calc(10px + env(safe-area-inset-bottom))}.imageWorkspacePage .createCheckoutCopy b{font-size:15px}.imageWorkspacePage .createCheckout #runBtn{min-width:154px;background:var(--a);color:var(--hub-color-15100a,#15100a)}
@media(max-width:340px){.imageModeTab{padding:0 9px;font-size:10px}.imageWorkspacePage .createCheckout{gap:9px}.imageWorkspacePage .createCheckout #runBtn{min-width:138px;font-size:11px}.imageWorkspacePrompt{min-height:78px}}

/* Video V2: one contract-driven workspace for every enabled KIE operation. */
#create.videoWorkspacePage{padding-top:12px;min-width:0}
#form.videoWorkspaceForm{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;color:#f2f2f2}
.videoWorkspace{display:grid;gap:15px;min-width:0;padding-bottom:8px}
.videoWorkspaceHead{display:grid;gap:10px;min-width:0}
.videoWorkspaceEyebrow{color:#8f8f94;font-size:10px;font-weight:850;letter-spacing:.09em}
.videoActionTabs{display:flex;gap:6px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0}
.videoActionTabs::-webkit-scrollbar{display:none}
.videoActionTab{flex:0 0 auto;min-height:40px;padding:0 13px;border:0;border-radius:12px;background:#202022;color:#bdbdc2;font:700 11px/1 Inter,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.videoActionTab.on{background:var(--a);color:var(--hub-color-17120b,#17120b)}
.videoPromptLabel,.videoModelLabel,.videoParam{display:grid;gap:7px;color:#c5c5ca;font-size:11px;font-weight:700;min-width:0}
.videoWorkspacePrompt{display:block;width:100%;min-height:112px;max-height:220px;resize:vertical;padding:12px;border:1px solid #303033;border-radius:14px;background:#151517;color:#f6f6f7;font:400 13px/1.45 Inter,system-ui,sans-serif}
.videoWorkspacePrompt:focus{border-color:var(--a);box-shadow:0 0 0 2px rgba(var(--hub-rgb-ff9a00,255,154,0),.13);outline:0}
.videoMaterials{position:relative;display:grid;gap:10px;min-width:0}
.videoAddMaterials{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:0 13px;border:0;border-radius:13px;background:#1b1b1d;color:#e5e5e7;text-align:left;font:700 12px/1 Inter,system-ui,sans-serif}
.videoAddMaterials span{color:var(--a);font-size:18px}
.videoAddMenu{position:absolute;z-index:5;top:50px;left:0;right:0;display:flex;gap:7px;padding:8px;border-radius:13px;background:rgba(25,25,27,.97);box-shadow:0 12px 28px #0009}
.videoAddMenu[hidden]{display:none}
.videoAddChoice{flex:1;min-height:44px;border:0;border-radius:10px;background:#303033;color:#eee;font:700 11px/1 Inter,system-ui,sans-serif}
.videoAddChoice:active,.videoUploadButton:active{color:var(--a)}
.videoMaterialFields{display:grid;gap:9px;min-width:0}
.videoMaterialField{display:grid;gap:6px;min-width:0}
.videoMaterialLabel{color:#99999e;font-size:10px;font-weight:700}
.videoUploadButton{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;min-height:46px;padding:7px 11px;overflow:hidden;border:1px dashed #414144;border-radius:12px;background:#151517;color:#d3d3d7;text-align:center;font:650 11px/1.3 Inter,system-ui,sans-serif;cursor:pointer}
.videoUploadButton img{width:38px;height:38px;object-fit:cover;border-radius:8px}
.videoFileChips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.videoFileChip{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:38px;padding:4px 7px;border-radius:11px;background:#1b1b1d;color:#d9d9dc;font-size:10px}
.videoFileChip>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.videoFileChip img{width:29px;height:29px;border-radius:7px;object-fit:cover}
.videoFileIcon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#29292c;color:var(--a)}
.videoFileChip button,.videoRemoveFile{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;background:#303033;color:#cfcfd2;font-size:18px;line-height:1}
.videoFrameSlots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.videoFrameSlot{position:relative;min-width:0}
.videoFrameSlot .videoUploadButton{min-height:72px}
.videoRemoveFile{position:absolute;top:-5px;right:-4px;width:28px;height:28px;background:#29292c}
.videoModelSelect{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:48px;padding:0 13px;border:0;border-radius:13px;background:#1b1b1d;color:#f3f3f4;text-align:left;font:700 12px/1.3 Inter,system-ui,sans-serif}
.videoModelSelect span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.videoModelSelect b{flex:0 0 auto;color:var(--a);font-size:18px}
.videoMainParams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.videoParam select,.videoParam input:not([type=checkbox]),.videoParam textarea{width:100%;min-width:0;min-height:44px;padding:0 11px;border:0;border-radius:11px;background:#1b1b1d;color:#eee;font-size:12px}
.videoParamToggle{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 11px;border-radius:11px;background:#1b1b1d}
.videoParamToggle input{width:20px;height:20px;accent-color:var(--a)}
.videoAdvanced{min-width:0;border-top:1px solid #252527;padding-top:11px}
.videoAdvancedToggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:#aaa;text-align:left;font:700 11px/1 Inter,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.videoAdvancedToggle span{font-size:18px;transition:transform .15s ease}
.videoAdvancedToggle[aria-expanded="true"] span{transform:rotate(180deg)}
.videoAdvancedToggle:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.videoAdvancedFields{display:grid;gap:10px;padding:5px 0 3px}
.videoAdvancedFields[hidden]{display:none}
.videoNoMaterials{padding:11px;border-radius:12px;background:#151517;color:#929297;font-size:10px;line-height:1.45}
.videoWorkspaceCheckout{position:sticky;bottom:0;z-index:2;gap:10px;margin-top:10px;padding:14px 0 calc(10px + env(safe-area-inset-bottom));border:0!important;border-radius:0;background:linear-gradient(180deg,rgba(0,0,0,0),#000 24%,#000)!important;box-shadow:none!important}
.videoWorkspaceCheckout .createCheckoutCopy{min-width:0}
.videoWorkspaceCheckout .createCheckoutCopy b{font-size:15px}
.videoWorkspaceCheckout #runBtn{min-width:148px;min-height:46px;border:0;background:var(--a);color:var(--hub-color-15100a,#15100a);font-weight:800}
@media(max-width:340px){.videoWorkspace{gap:12px}.videoActionTabs{gap:5px}.videoActionTab{min-height:40px;padding:0 10px;font-size:10px}.videoWorkspaceCheckout{gap:7px}.videoWorkspaceCheckout #runBtn{min-width:132px;padding-inline:9px;font-size:11px}.videoWorkspacePrompt{min-height:96px}}

/* Readable chat navigation labels and symbols. */
body.chatActive #chat .chatTopButtons .chatActionBtn{font-size:11px;gap:6px}
#chat .chatTopButtons .chatActionBtn svg{width:18px;height:18px}

/* Web search lives beside attachment, reasoning and send controls. */
body.chatActive #chat .composeInputWrap #chatSearchControl{grid-column:2;grid-row:3;justify-self:start;align-self:center;display:flex;align-items:center;justify-content:flex-start;gap:5px;width:auto;min-width:0;height:36px;padding:0 4px;border-radius:9px;color:#999;font-size:10px;font-weight:600;white-space:nowrap;filter:none}
body.chatActive #chat .composeInputWrap #chatSearchControl.on{color:var(--a);background:rgba(var(--hub-rgb-ff9a00,255,154,0),.08);filter:none}
body.chatActive #chat .composeInputWrap #chatSearchControl[hidden]{display:none}
body.chatActive #chat .composeInputWrap #chatSearchControl .chatSearchIcon{flex:none;width:17px;height:17px}
@media(max-width:350px){body.chatActive #chat .composeInputWrap #chatSearchControl{font-size:9px;gap:3px;padding:0 2px}body.chatActive #chat .composeInputWrap #chatSearchControl .chatSearchIcon{width:15px;height:15px}}

/* Compact search shares the reasoning baseline; color alone indicates on. */
body.chatActive #chat .composeInputWrap #chatSearchControl{justify-self:end;align-self:end;height:26px;min-height:26px;gap:4px;margin:0 5px 0 0;padding:3px;font-size:10px;line-height:1;background:transparent;box-shadow:none;filter:none}
body.chatActive #chat .composeInputWrap #chatSearchControl.on{color:var(--a);background:transparent;box-shadow:none;filter:none}

/* Neutral reply blocks and actions, matching AI HUB's gray surfaces. */
body.chatActive #chat .msg.assistant{padding-right:0}
#chat .msgActions{position:static;display:flex;margin-top:8px}
#chat .msgCopy,#chat .chatCodeCopy{width:30px;height:30px;color:#999;background:transparent}
#chat .msgCopy:hover,#chat .chatCodeCopy:hover{background:#252525;color:#f2f2f2}
#chat .msgCopy.done,#chat .chatCodeCopy.done{color:#f2f2f2;background:transparent}
#chat .chatCodeBlock{border:1px solid #292929;background:#111111;border-radius:12px}
#chat .chatCodeHeader{background:#191919;color:#999}
#chat .chatCodeBlock pre{color:#eee}
#chat .chatPromptBlock pre{white-space:pre-wrap;overflow-wrap:anywhere}
#chat .chatCode{background:#191919;border-color:#303030;color:#eee}
#chat .chatQuote{border-color:#555;color:#ccc}
#chat .chatSourcesPanel{background:#111111;border-color:#303030}
#chat .msgSources,#chat .chatSourceDomain{color:#999}
#chat .chatSourceItem,#chat .chatSourcesHeading{color:#eee}

/* Remaining actionable notices use the neutral brand surface. */
#toast.toast{background:#191919!important;border:1px solid #333!important;color:#eee!important;box-shadow:0 8px 24px #0005}

/* Compact image workspace: prompt first, optional controls under Settings. */
.imageWorkspace .imageWorkspaceHead{margin-bottom:18px}
.imageWorkspace .imageModeTabs{gap:8px;max-width:300px;padding:0}
.imageWorkspace .imageModeTab{min-height:40px;padding:0 18px;font-size:13px;border-radius:13px}
.imageWorkspace .imageWorkspaceBody{gap:18px}
.imagePromptCard{padding:16px;border:1px solid #303033;border-radius:20px;background:#151517}
.imagePromptCard .imagePromptLabel{gap:9px;font-size:12px;color:#a3a3a8}
.imagePromptCard .imageWorkspacePrompt{width:100%;min-height:155px;max-height:320px;padding:0!important;resize:vertical;border:0!important;border-radius:0;background:transparent!important;color:#f5f5f7;font-size:16px;line-height:1.5;box-shadow:none!important}
.imagePromptCard:focus-within{border-color:#66605a}
.imageWorkspacePrompt::placeholder{color:#747479}
.imageAttachments{margin-top:12px}
.imageAttachments .imageUploadButton{min-height:34px;padding:6px 11px;width:max-content;max-width:100%;border:0;border-radius:10px;background:#252527;color:#c9c9ce;font-size:12px;font-weight:600}
.imageUploadButton>span{font-size:19px;line-height:1;vertical-align:-1px;margin-right:3px}
.imageAttachments .imageUploadPreview{overflow-x:auto;padding:6px 0}
.imageWorkspace .imageModelLabel{gap:8px;font-size:12px;color:#a3a3a8}
.imageWorkspace .imageModelSelect{min-height:52px;font-size:15px;font-weight:600;padding:0 15px;border-radius:15px}
.imageSettings{border:1px solid #2b2b2e;border-radius:15px;background:#171719}
.imageSettings summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 14px;list-style:none;color:#c8c8ce;font-size:13px;font-weight:600;cursor:pointer}
.imageSettings summary::-webkit-details-marker{display:none}
.imageSettings summary>svg{width:19px;height:19px;flex:0 0 19px}
.imageSettingsHint{margin-left:auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#89898f;font-size:12px;font-weight:400}
.imageSettingsChevron{color:#89898f;transition:transform .18s}
.imageSettings[open] .imageSettingsChevron{transform:rotate(180deg)}
.imageSettings .imageParams{padding:4px 14px 15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.imageSettings .imageParam{min-width:0;gap:7px}
.imageSettings .imageParam>span{font-size:11px;font-weight:500;color:#a3a3a8}
.imageSettings .imageParam select{width:100%;min-width:0;min-height:40px;padding:8px 10px;background:#242427;border:1px solid #343438;border-radius:10px;font-size:14px;color:#ededf0}
.imageWorkspacePage .createCheckout{margin-top:18px;padding-top:14px;gap:12px}
.imageWorkspacePage .createCheckoutCopy b{font-size:16px;font-weight:650;line-height:1.2}
.imageWorkspacePage .createCheckoutCopy .muted{font-size:11px;line-height:1.3;max-width:180px}
.imageWorkspacePage .createCheckout #runBtn{min-width:138px;min-height:48px;font-size:14px}
@media(min-width:768px){#form.imageWorkspace{max-width:660px;margin-left:auto;margin-right:auto}.imagePromptCard .imageWorkspacePrompt{min-height:200px}}
@media(max-height:650px){.imagePromptCard .imageWorkspacePrompt{min-height:110px}.imageWorkspace .imageWorkspaceBody{gap:13px}.imageWorkspace .imageWorkspaceHead{margin-bottom:13px}}

.imageWorkspace{font-family:Inter,system-ui,sans-serif}.imagePromptCard .imageWorkspacePrompt{font-family:inherit}

/* Images/video model picker shares AI Chat catalog surfaces and typography. */
#generationModelPicker{align-items:flex-start!important;justify-content:center;background:#000d!important;backdrop-filter:blur(8px)!important;z-index:5000}
#generationModelPicker .chatModelPickerSheet{width:min(720px,100%)!important;max-width:720px!important;height:min(94dvh,900px)!important;max-height:94dvh!important;border:1px solid #303030!important;border-radius:0 0 22px 22px!important;box-shadow:0 25px 80px #000a!important;padding:14px!important}
#generationModelPickerKicker{display:none}
#generationModelPicker .chatModelPickerHead h3{font-size:20px;color:#f5f5f5;margin:0}
#generationModelPicker .pickerClose{width:36px;height:36px;border:1px solid #303030;background:#151515;color:#b8b8b8;border-radius:10px;font-size:20px}
#generationModelPicker .chatModelSearch{border:1px solid #333;background:#050505;color:#fff;border-radius:12px;padding:12px;font-size:13px;margin:12px 0}
#generationModelPicker .chatModelSearch:focus{border-color:var(--hub-color-ff9a00,#ff9a00);box-shadow:0 0 0 2px var(--hub-color-ff9a0022,#ff9a0022);outline:0}
#generationModelPicker .chatModelPickerList{min-height:0;margin:0;padding:0 5px 14px 0;scrollbar-width:thin;scrollbar-color:#666 #151515;scrollbar-gutter:stable;overscroll-behavior:contain}
#generationModelPicker .chatModelPickerList::-webkit-scrollbar{display:block;width:5px}
#generationModelPicker .chatModelPickerList::-webkit-scrollbar-track{background:#151515;border-radius:5px}
#generationModelPicker .chatModelPickerList::-webkit-scrollbar-thumb{background:#666;border-radius:5px}
#generationModelPicker .chatModelCard{font-family:inherit;align-items:flex-start}
#generationModelPicker .chatModelCardTitle{flex-wrap:wrap;align-items:flex-start}
#generationModelPicker .chatModelCardTitle b{font-size:13px;font-weight:800;line-height:1.2;white-space:normal;overflow-wrap:anywhere;color:#f2f2f2}
#generationModelPicker .chatModelCardDescription{font-size:9.5px;line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#generationModelPicker .chatModelCardCaps{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
#generationModelPicker .chatModelCap{border:1px solid #303030;background:#191919;color:#aaa;border-radius:6px;padding:2px 6px;font-size:8px;font-weight:750}
#generationModelPicker .chatModelCardMeta{margin-top:7px;font-size:13px;line-height:1.35}
#generationModelPicker .chatModelCardMeta b{color:#f2f2f2;font-weight:800}
#generationModelPicker .pickerFree{font-size:8px;color:var(--hub-color-ff9a00,#ff9a00)!important}
#generationModelPicker .chatModelFavorite{font-size:0;width:24px;min-width:24px;height:24px;align-self:center;border:1px solid #353535;border-radius:50%;color:#999;display:grid;place-items:center}
#generationModelPicker .chatModelFavorite.on{background:var(--hub-color-ff9a00,#ff9a00);border-color:var(--hub-color-ff9a00,#ff9a00);color:#090909}
#generationModelPicker .chatModelFavorite.on:after{content:'✓';font-size:14px}
#generationModelPicker .chatModelCard:focus-visible{outline:2px solid var(--hub-color-ff9a00,#ff9a00);outline-offset:2px}

#generationModelPicker .generationPickerTabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex:none;margin:0 0 16px}
#generationModelPicker .generationPickerTabs button{border:0;border-radius:11px;padding:12px 8px;background:#111;color:var(--hub-color-ff9a00,#ff9a00);font:inherit;font-size:13px;font-weight:800}
#generationModelPicker .generationPickerTabs button.on{background:var(--hub-color-ff9a00,#ff9a00);color:#090909}
#generationModelPicker #generationFavoritesTab{font-size:24px;line-height:1}
#generationModelPicker .generationSection{margin:14px 3px 6px;color:#8b8b8b;font-size:9px;font-weight:850;letter-spacing:.08em}
#generationModelPicker .generationFavorite{flex:none;align-self:flex-start;width:34px;height:34px;border:0;background:transparent;color:#666;font-size:22px;line-height:1;padding:0;cursor:pointer}
#generationModelPicker .generationFavorite.on{color:var(--hub-color-ff9a00,#ff9a00)}
#generationModelPicker .generationDescription{position:relative;padding-right:27px;margin-top:4px;color:#999;font-size:9.5px;line-height:1.35}
#generationModelPicker .generationDescription span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
#generationModelPicker .generationDescription.expanded span{display:block;overflow:visible}
#generationModelPicker .generationDescriptionToggle{position:absolute;right:0;bottom:0;width:27px;height:27px;border:0;background:transparent;color:#aaa;font-size:14px;cursor:pointer}

#generationModelPicker .generationDescription.expanded span{display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;-webkit-box-orient:initial!important;max-height:none!important;height:auto!important;overflow:visible!important;white-space:pre-wrap}

/* Keep the image workspace focused on prompt, model and settings. */
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageWorkspaceHead,
#create:is(.imageWorkspacePage,.videoWorkspacePage) .createCheckout .muted{display:none!important}

.imagePromptCount{display:block;text-align:right;color:#85858b;font-size:12px;font-weight:400;line-height:1.4}
.imageAttachments .imageUploadPreview{align-items:flex-start;padding:0;gap:8px;overflow-x:auto}
.imageReferenceItem{position:relative;flex:0 0 auto;padding:5px 5px 0 0}
.imageUploadPreview .imageReferenceItem button{left:auto;right:0;top:0;width:28px;height:28px;border:2px solid #171719;font-size:20px;display:grid;place-items:center;cursor:pointer}

.imageWorkspacePage .imagePromptCount{display:none!important}

/* Image form follows the Music workspace surfaces and control geometry. */
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageWorkspaceBody{gap:12px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imagePromptCard,
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageSettings,
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageModelSelect,
#create:is(.imageWorkspacePage,.videoWorkspacePage) .createCheckout{background:#111111!important;border:0!important;border-radius:13px;box-shadow:none!important;outline:0}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imagePromptCard{padding:12px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imagePromptLabel{font-size:11px;font-weight:600;color:#a1a1a1;gap:6px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageWorkspacePrompt{min-height:132px;max-height:320px;padding:12px!important;border:1px solid #353535!important;border-radius:8px;background:#0d0d0d!important;color:#fff;font-size:15px;line-height:1.5}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageWorkspacePrompt:focus{border-color:var(--hub-color-ff9a00,#ff9a00)!important;box-shadow:0 0 0 2px var(--hub-color-ff9a0024,#ff9a0024)!important}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageModelLabel{gap:6px;font-size:11px;color:#a1a1a1}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageModelSelect{min-height:48px;padding:12px;font-size:13px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageSettings summary{min-height:44px;padding:12px;font-size:13px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageSettings .field{border:1px solid #353535;border-radius:8px;background:#0d0d0d;font-size:14px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageUploadButton{background:#191919;color:#eee;border:1px solid #353535;border-radius:8px;min-height:36px;font-size:12px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .createCheckout{position:static;margin-top:12px;padding:12px;gap:16px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .createCheckout #runBtn{min-height:44px;min-width:122px;border-radius:8px;font-size:13px}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageReferenceItem button{border-color:#111111}

#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageSettings select[hidden]{display:none!important}
#create:is(.imageWorkspacePage,.videoWorkspacePage) .imageSettingTrigger{display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:40px;font-family:inherit;font-size:14px;cursor:pointer}
.imageSettingMenu{position:fixed;z-index:250;display:grid;gap:0;min-width:144px;max-height:240px;padding:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;color:var(--glass-popover-text)}
.imageSettingMenu[hidden]{display:none!important}
.imageSettingOption{min-height:36px;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:var(--glass-popover-text);text-align:left;font:600 11px/1.1 Inter,system-ui,-apple-system,sans-serif;cursor:pointer;touch-action:manipulation}
.imageSettingOption.selected{background:var(--glass-popover-selected-bg);color:var(--glass-popover-selected-text);box-shadow:var(--glass-popover-selected-shadow)}
.imageSettingOption:hover,.imageSettingOption:active{background:var(--glass-popover-pressed-bg)}

:is(.imageSettingMenu,.chatReasoningMenu){--aihub-glass-surface-bg:rgba(32,32,32,.55);--glass-popover-selected-bg:rgba(48,48,48,.55)}

#create.videoWorkspacePage .videoWorkspaceHead{display:none}
#create.videoWorkspacePage .videoWorkspace{gap:12px}
#create.videoWorkspacePage .videoMaterials{margin-top:12px;padding:0;border:0;background:transparent}
#create.videoWorkspacePage .videoAddMaterials,#create.videoWorkspacePage .videoMaterialLabel{display:none}
#create.videoWorkspacePage .videoMaterialFields{margin:0;padding:0}
#create.videoWorkspacePage .videoModelSelect{font-weight:600}
#create.videoWorkspacePage .createCheckout .muted{display:none!important}
#create.videoWorkspacePage .videoPromptLabel{font-weight:600}
#create.videoWorkspacePage .videoUploadButton{min-height:36px;border:1px solid #353535;border-radius:8px;background:#191919;color:#eee;font-size:12px}
#create.videoWorkspacePage .videoFrameSlots{gap:8px}
#create.videoWorkspacePage .videoParamToggle{display:flex;align-items:center;justify-content:space-between;gap:8px}
#create.videoWorkspacePage .videoParamToggle input{accent-color:var(--hub-color-ff9a00,#ff9a00)}

/* Project folders — shared neutral AI Chat surfaces. */
#chatProjectPill.projectPill{gap:7px;padding:5px 6px 5px 10px;max-width:100%;min-height:32px;border:0;border-radius:12px;background:#111111;color:var(--t);font-size:11px;line-height:1.3}
.projectFolderIcon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--a)}
.projectFolderIcon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#chatProjectPill .projectPillName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#chatProjectPill button{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:6px;border:0;border-radius:8px;background:transparent;color:#999;cursor:pointer}
#chatProjectPill button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#chatProjectPill button:active{background:#ffffff0d;color:var(--t)}
#chatDrawer .drawerCreateProject{background:var(--a);color:#090909;font-weight:800;border:0;border-radius:12px}
#chatDrawer .projectrow{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:9px;min-height:56px;margin:6px 0;padding:10px;border:0;border-radius:12px;background:#111111;color:var(--t)}
#chatDrawer .projectrow .grow{min-width:0}
#chatDrawer .projectrow b{max-width:none;color:var(--t);font-size:12px;line-height:1.3}
#chatDrawer .projectrow small{color:#999;font-size:10px;line-height:1.3}
#chatDrawer .projectrow.on{box-shadow:inset 2px 0 var(--a);background:#111111}
#chatDrawer .projectrow .rowmenu{align-self:center;margin:0}
#chatDrawer .drawerEmpty{color:#999}
:is(#createProjectModal,#projectActionModal) .modal{background:var(--aihub-glass-surface-bg);border:0;border-radius:22px 22px 0 0;color:var(--t);backdrop-filter:blur(var(--aihub-glass-surface-blur));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur));box-shadow:var(--aihub-glass-surface-shadow)}
:is(#createProjectModal,#projectActionModal) h3{overflow-wrap:anywhere}
:is(#createProjectModal,#projectActionModal) :is(.label,.muted){color:#999}
:is(#createProjectModal,#projectActionModal) .field{background:#111111;border:1px solid #333;color:var(--t);font:inherit}
:is(#createProjectModal,#projectActionModal) .field:focus{border-color:var(--a)}
:is(#createProjectModal,#projectActionModal) .btn{background:#111111;border:0;color:var(--t)}
:is(#createProjectModal,#projectActionModal) .btn.primary{background:var(--a);color:#090909}
#projectActionModal .dangerBtn{background:#111111;color:#ff8995}
@media(hover:hover){#chatDrawer .projectrow:hover{background:#1b1b1b}#chatDrawer .rowmenu:hover{background:#ffffff0d;color:var(--t)}#chatProjectPill button:hover{background:#ffffff0d;color:var(--t)}}

/* Own Voice — AI HUB neutral surfaces and explicit recording controls. */
#customVoiceStudio{background:var(--hub-page-background);background-attachment:fixed;color:var(--t);color-scheme:dark}
#customVoiceStudio .voice-studio__header{display:block;width:min(100%,470px);margin:0 auto;padding:0 var(--hub-page-inset);background:transparent;border:0}
#customVoiceStudio .voice-studio__top{display:flex;align-items:center;gap:8px;width:100%;margin:0 auto;padding-left:2px;padding-right:2px;background:var(--hub-top-fade)}
#customVoiceStudio .voice-studio__header h1{width:100%;margin:12px auto 0;text-align:left;font-size:30px;line-height:1.2}
#customVoiceStudio :is(.voice-studio__screen,.voice-studio__state){max-width:470px}
#customVoiceStudio .voice-studio__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#111111;border:1px solid #343434;border-radius:11px;font-size:22px}
#customVoiceStudio :is(.voice-studio__intro p,.voice-studio__state>p,.voice-studio__helper,.voice-studio__empty p,.voice-card__copy small,.voice-studio__preview-head small,.voice-studio__name,.voice-studio__advanced-body label,.voice-studio__advanced-body legend){color:#999}
#customVoiceStudio :is(.voice-studio__empty,.voice-card,.voice-studio__recorder,.voice-studio__preview,.voice-studio__advanced,.voice-studio__phrase){background:#111111;border:0;border-radius:18px}
#customVoiceStudio :is(.voice-card__icon,.voice-studio__preview-icon,.voice-studio__empty>span){background:transparent;color:var(--a)}
#customVoiceStudio svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#customVoiceStudio .voice-studio__recorder{padding:24px 18px}
#customVoiceStudio .voice-studio__record-symbol{display:grid;place-items:center;width:48px;height:48px;color:var(--a)}
#customVoiceStudio .voice-studio__record-symbol svg{width:32px;height:32px}
#customVoiceStudio .voice-studio__recorder>b{margin-top:9px;font-size:18px}
#customVoiceStudio .voice-studio__recorder>p{max-width:280px;margin:7px 0 20px;color:#999;font-size:13px;line-height:1.5}
#customVoiceStudio :is(.voice-studio__mic,.voice-studio__stop){display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;height:auto;padding:14px 16px;border:0;border-radius:12px;background:var(--a);color:#090909;font:800 15px/1.3 Inter,system-ui,-apple-system,sans-serif;box-shadow:none;cursor:pointer;touch-action:manipulation}
#customVoiceStudio .voice-studio__stop svg{fill:currentColor;stroke:none;width:20px;height:20px}
#customVoiceStudio :is(.voice-studio__mic,.voice-studio__primary,.voice-studio__stop):active:not(:disabled){background:var(--a);transform:translateY(1px)}
#customVoiceStudio .voice-studio__record-divider{display:flex;align-items:center;gap:12px;width:100%;margin:16px 0;color:#888;font-size:12px}
#customVoiceStudio .voice-studio__record-divider:before,#customVoiceStudio .voice-studio__record-divider:after{content:"";height:1px;flex:1;background:#ffffff0d}
#customVoiceStudio .voice-studio__recorder .voice-studio__secondary{display:flex;align-items:center;gap:9px;width:100%;max-width:none;min-height:48px;margin:0;border:1px solid #333;border-radius:12px;background:#111111;color:var(--t);font-size:14px}
#customVoiceStudio .voice-studio__recorder.is-recording{background:#111111}
#customVoiceStudio .voice-studio__record-head{gap:12px;text-align:left}
#customVoiceStudio .voice-studio__record-head span{font-size:14px}
#customVoiceStudio .voice-studio__record-head strong{font-size:26px;font-weight:750;letter-spacing:.02em}
#customVoiceStudio .voice-studio__wave{height:64px;margin:24px 0}
#customVoiceStudio :is(.voice-studio__stop,.voice-studio__primary):disabled{background:#222;color:#888;opacity:1;cursor:not-allowed}
#customVoiceStudio :is(.voice-studio__secondary,.voice-card__more,.voice-studio__preview-actions button){background:#111111;border-color:#333;color:var(--t)}
#customVoiceStudio .voice-studio__primary{background:var(--a);color:#090909;border:0;border-radius:12px}
#customVoiceStudio .voice-studio__primary:disabled{background:#222;color:#888}
#customVoiceStudio .voice-studio__preview-actions button:last-child{color:#ff9ba4}
#customVoiceStudio .voice-studio__advanced summary{color:var(--t)}
#customVoiceStudio .field{background:#111111;border-color:#333;color:var(--t)}
#customVoiceStudio .voice-studio__dock{background:linear-gradient(180deg,#05050500,var(--bg) 24%)}
#customVoiceStudio .voice-card__menu{background:var(--aihub-glass-surface-bg);border:0;backdrop-filter:blur(var(--aihub-glass-surface-blur));-webkit-backdrop-filter:blur(var(--aihub-glass-surface-blur))}
#customVoiceStudio .voice-studio__preview audio{color-scheme:dark}
@media(prefers-reduced-motion:reduce){#customVoiceStudio :is(.voice-studio__mic,.voice-studio__stop,.voice-studio__primary):active{transform:none}}

/* Keep the recording timer on one line on narrow screens. */
#customVoiceStudio .voice-studio__record-head strong{font-size:22px;white-space:nowrap}

/* All single-value selectors share the image/video popover. */
select[data-hub-select][hidden]{display:none!important}
.hubSelectTrigger{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;width:100%;min-height:40px;text-align:left;font:inherit;font-size:14px;cursor:pointer}
.hubSelectLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hubSelectChevron{flex:none;color:#999}
.hubSelectTrigger:disabled{opacity:.5;cursor:default}
.hubSelectTrigger[aria-invalid=true]{border-color:var(--r)}
.hubSelectMenu{z-index:5500}
.hubSelectMenu .imageSettingOption{flex:none;overflow-wrap:anywhere}
.hubSelectMenu .imageSettingOption:disabled{opacity:.4;cursor:default}
.hubSelectMenu .imageSettingOption:focus-visible{outline:1px solid var(--a);outline-offset:-1px}

/* Product-wide touch and keyboard feedback, including native controls. */
*{-webkit-tap-highlight-color:transparent}
:root{accent-color:var(--a)}


/* Model name and explanation live in one clickable music selector. */
.musicVersionCard{min-height:72px;align-items:center}
.musicVersionCopy{display:grid;gap:5px;flex:1;min-width:0}
.musicVersionCard .hubSelectLabel{font-weight:750;white-space:normal;overflow-wrap:anywhere}
.musicVersionMeta{display:grid;justify-items:start;gap:5px}
.musicVersionDescription{color:#999;font-size:10px;font-weight:400;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.musicVersionCard .musicModelRecommended{padding:2px 5px;border-radius:6px;background:var(--a);color:#090909;font-size:8px;font-weight:800;line-height:1.2;text-transform:uppercase}

/* Video reference inputs use the same neutral materials controls as Images. */
#create.videoWorkspacePage .videoAddMaterials{display:flex;width:max-content;max-width:100%;min-height:36px;padding:8px 12px;border:1px solid #353535;border-radius:8px;background:#191919;color:#eee;font-size:12px;cursor:pointer}
#create.videoWorkspacePage .videoAddMenu{top:42px;right:auto;min-width:210px;max-width:100%;border:1px solid #353535;background:rgba(25,25,25,.96)}
#create.videoWorkspacePage .videoMaterialField.is-reference:not(:has(.videoFileChips)){display:none}
#create.videoWorkspacePage .videoMaterialField.is-reference .videoMaterialLabel{display:block;color:#a1a1a1;font-size:11px}
#create.videoWorkspacePage .videoMaterialField.is-reference .videoUploadButton{display:none}
#create.videoWorkspacePage .videoRemoveFile{top:3px;right:3px}

/* Unified owner admin hub; personal preferences stay in the user profile. */
#admin .adminKicker{color:var(--hub-color-ff9d00,#ff9d00);font-size:11px;letter-spacing:.12em}#admin .heroCompact h1{margin:7px 0 20px}.adminTabs{display:flex;gap:16px;overflow-x:auto;margin-bottom:20px;border-bottom:1px solid #1a1a1a;scrollbar-width:none}.adminTabs button{flex:none;background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:#888;font:600 11px/1.3 Menlo,monospace;text-transform:uppercase;cursor:pointer}.adminTabs button[aria-selected=true]{color:var(--hub-color-ff9d00,#ff9d00);border-bottom-color:var(--hub-color-ff9d00,#ff9d00)}.adminTabs button:focus-visible{outline:1px solid var(--hub-color-ff9d00,#ff9d00);outline-offset:-1px}.adminPanel[hidden]{display:none!important}#admin .card,#admin .radioPanel{background:#090909;border:1px solid #1a1a1a;border-radius:22px}#admin .radioPanel{padding:18px}#admin .radioPanel h2{margin:0;font-size:21px}#admin .radioAdmin{padding-top:0}#admin .radioAdmin h3{margin:20px 0 12px;font-size:15px}#admin .radioAdmin .field{background:#0c0c0c;border:1px solid #242424}#admin .radioListRow{flex-wrap:wrap}#admin .radioListRow>div{max-width:100%}#admin .radioListRow .btn{margin:3px}#admin .radioAdmin input[type=range]{width:100%;accent-color:var(--hub-color-ff9d00,#ff9d00)}#profile .profileAdminIcon{background:#111;border:1px solid #242424;color:var(--hub-color-ff9d00,#ff9d00)}#profile .profileAdminEntry{background:#090909;border:1px solid #1a1a1a}#profile .profileAdminCopy small{color:#888}
