:root{--mp-header-height:64px;--youtube-topbar-height:64px;--bg:#1c1d1b;--panel:#242522;--soft:#30322e;--line:#464940;--text:#f4f5ef;--muted:#adb0a5;--accent:#65eee5;--danger:#ff6675;--mp-bg:var(--bg);--mp-panel:var(--panel);--mp-text:var(--text);--mp-muted:var(--muted);--mp-line:var(--line);--mp-accent:var(--accent);color-scheme:dark}
html[data-theme="light"]{--bg:#fff;--panel:#fff;--soft:#f2f2f2;--line:#ddd;--text:#0f0f0f;--muted:#606060;--danger:#c91f38;color-scheme:light}
html[data-theme="ambient"]{--bg:#080808;--panel:#1b111a;--soft:#2a1828;--line:#4b3047;--text:#fff;--muted:#c8b8c6;--accent:#ff74d5;--danger:#ff7184;color-scheme:dark}
html,body{max-width:100%;overflow-x:clip;background:var(--bg);color:var(--text)}
html[data-theme="ambient"] body{background:radial-gradient(circle at 84% -8%,rgba(104,35,96,.42) 0,rgba(72,20,66,.2) 18rem,transparent 38rem),#090809 fixed}
.topbar{display:none!important}
.app-header{position:sticky;z-index:1000;top:0;display:grid;grid-template-columns:44px max-content minmax(220px,680px) 44px minmax(0,1fr) 38px;align-items:center;gap:10px;height:var(--mp-header-height);padding:0 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 96%,transparent);color:var(--text);backdrop-filter:blur(16px)}
.app-header[data-service=""]{grid-template-columns:44px max-content minmax(0,1fr) 38px}.app-header[data-service=""] .profile-button{grid-column:4}.profile-button{grid-column:6}
.icon-button{display:grid;place-items:center;width:40px;height:40px;min-width:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text)}.icon-button:hover{background:var(--soft)}
.menu-toggle{grid-template-rows:repeat(3,2px);align-content:center;gap:2px}.menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:currentColor}
.service-identity{display:flex;align-items:center;gap:9px;min-width:0;margin-right:clamp(6px,2vw,28px)}.service-identity img{display:block;width:34px;height:34px}.service-identity strong{font-size:19px;letter-spacing:-.04em;white-space:nowrap}
.global-search{display:grid;grid-template-columns:minmax(0,1fr) 58px;width:100%;height:42px;margin:0 auto;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--bg)}.global-search:focus-within{border-color:var(--text);box-shadow:inset 1px 0 var(--text)}.global-search input{width:100%;min-width:0;min-height:0;height:40px;padding:0 18px;border:0;border-radius:0;background:transparent;color:var(--text);outline:0}.global-search input::placeholder{color:var(--muted)}.global-search button{display:grid;place-items:center;width:58px;height:40px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--soft);color:var(--text)}.global-search svg,.voice-search svg,.mobile-search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.voice-search{background:var(--soft)}.voice-search.listening{color:#fff;background:var(--danger);animation:voicePulse 1s infinite}@keyframes voicePulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--danger) 22%,transparent)}}.mobile-search-toggle{display:none}
.profile-button{justify-self:end;display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;overflow:hidden;background:var(--soft);color:var(--text);font-weight:900}.profile-button span,.profile-menu>header>span{display:grid;place-items:center}.profile-avatar-image{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar-fallback{display:grid;place-items:center;width:100%;height:100%}.profile-avatar-fallback[hidden],.profile-avatar-image[hidden]{display:none!important}
.drawer-backdrop{position:fixed;z-index:1090;inset:0;background:#0008}.drawer-backdrop[hidden]{display:none}
.service-drawer{position:fixed;z-index:1100;top:0;left:0;width:min(286px,86vw);height:100dvh;padding:12px;overflow:auto;border-right:1px solid var(--line);background:var(--bg);color:var(--text);box-shadow:20px 0 60px #0006;transform:translateX(-105%);transition:transform .22s ease}.service-drawer.open{transform:none}.service-drawer>header{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:9px;height:48px;padding:0 5px 10px}.drawer-home{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0;border-radius:10px}.service-drawer>header img{width:34px;height:34px}.service-drawer>header strong{overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.drawer-close{font-size:28px}.service-drawer nav{display:grid;gap:5px;margin-top:8px}.service-drawer nav a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:68px;padding:9px 12px;border-radius:13px}.service-drawer nav a:hover{background:var(--soft)}.service-drawer nav a.active{background:color-mix(in srgb,var(--text) 12%,var(--soft));box-shadow:none}.service-drawer nav img{width:38px;height:38px}.service-drawer nav b,.service-drawer nav small{display:block}.service-drawer nav b{font-size:15px}.service-drawer nav small{margin-top:4px;color:var(--muted);font-size:12px}
.profile-menu{position:fixed;z-index:1120;top:58px;right:16px;width:min(310px,calc(100vw - 24px));padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:0 18px 55px #0007}.profile-menu[hidden]{display:none}.profile-menu>header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:10px}.profile-menu>header>span{width:40px;height:40px;overflow:hidden;border-radius:50%;background:var(--soft);color:var(--text);font-weight:900}.profile-menu>header strong,.profile-menu>header small{display:block}.profile-menu>header small{margin-top:4px;color:var(--muted)}.profile-menu>a,.profile-menu form button{display:flex;align-items:center;width:100%;min-height:43px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left}.profile-menu>a:hover,.profile-menu form button:hover{background:var(--soft)}.profile-menu form{margin:0}.profile-image-controls{display:grid;grid-template-columns:1fr auto;gap:6px;padding:4px 10px 10px}.profile-image-controls button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font-size:12px;font-weight:750}.profile-image-controls small{grid-column:1/-1;min-height:15px;color:var(--muted);font-size:11px}.theme-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 8px;padding:10px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.theme-picker>span{font-weight:750}.theme-picker>div{display:flex;padding:3px;border-radius:999px;background:var(--soft)}.theme-picker button{min-height:32px;padding:0 11px;border:0;border-radius:999px;background:transparent;color:var(--muted)}.theme-picker button[aria-pressed="true"]{background:var(--bg);color:var(--text);box-shadow:0 1px 5px #0003}
.room-logo{width:52px!important;height:52px!important;border-radius:13px!important}.room{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 91%,#fff 9%),var(--panel));border-color:var(--line)}.room small{color:var(--muted)}
html:is([data-theme="dark"],[data-theme="ambient"]) :is(.profile-menu>a,.profile-menu form button,.profile-image-controls button,.theme-picker button):hover,html:is([data-theme="dark"],[data-theme="ambient"]) :is(.profile-menu>a,.profile-menu form button,.profile-image-controls button,.theme-picker button):focus-visible{outline-color:var(--text);background:var(--soft);box-shadow:none}
html[data-theme="light"] .landing>header small{color:#c6002b}html[data-theme="light"] .room{box-shadow:0 10px 32px #0001}html[data-theme="light"] .panel,html[data-theme="light"] .api-key-card{background:#fff}html[data-theme="light"] input,html[data-theme="light"] select{border-color:#ccc;background:#fff;color:#111}html[data-theme="light"] label{color:#333}html[data-theme="light"] .checks label{background:#f2f2f2}
.ui-icon-sprite{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.login-page{position:relative;display:block;min-height:100dvh;overflow-x:hidden;isolation:isolate}
.login-page::before,.login-page::after{content:"";position:fixed;z-index:0;width:min(72vw,760px);aspect-ratio:1;border-radius:50%;pointer-events:none;filter:blur(28px);will-change:transform,opacity}
.login-page::before{top:-34%;left:-18%;background:radial-gradient(circle,rgba(255,0,51,.28) 0,rgba(117,12,39,.13) 36%,transparent 70%);animation:loginBloomA 16s ease-in-out infinite alternate}
.login-page::after{right:-24%;bottom:-42%;background:radial-gradient(circle,rgba(153,16,57,.24) 0,rgba(75,11,35,.12) 38%,transparent 72%);animation:loginBloomB 19s ease-in-out infinite alternate}
.login-page .page{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.login-card{max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain}
.login-logo{gap:14px}.login-logo img{display:block;width:64px;height:46px;object-fit:contain}.login-logo strong{font-size:28px;line-height:1;font-weight:900;letter-spacing:-.04em}.login-page .primary{border-color:#ff0033;background:#ff0033;color:#fff}.login-page .primary:hover,.login-page .primary:focus-visible{border-color:#cc0029;background:#cc0029;box-shadow:0 0 0 3px #ff003333}
@keyframes loginBloomA{0%{transform:translate3d(-5%,-4%,0) scale(.9);opacity:.58}55%{transform:translate3d(24%,17%,0) scale(1.08);opacity:.9}100%{transform:translate3d(7%,35%,0) scale(.96);opacity:.68}}
@keyframes loginBloomB{0%{transform:translate3d(8%,8%,0) scale(.88);opacity:.52}48%{transform:translate3d(-24%,-20%,0) scale(1.08);opacity:.82}100%{transform:translate3d(-8%,-38%,0) scale(.98);opacity:.62}}

/* Responsive centered service cards with a restrained moving service bloom. */
.room{container-type:inline-size;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;place-items:center!important;align-items:stretch!important;gap:18px!important;min-height:clamp(220px,24vw,300px)!important;padding:clamp(22px,3.2vw,38px)!important;text-align:center!important}
.room::before{inset:-28%!important;aspect-ratio:auto!important;border-radius:38%!important;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--room-color) 48%,transparent) 0,transparent 58%)!important;opacity:.38!important;filter:blur(12px);animation:roomBloom 15s ease-in-out infinite alternate;will-change:transform,opacity}
.room:nth-child(2)::before{animation-delay:-5s}.room:nth-child(3)::before{animation-delay:-10s}
.room-logo,.room>div{position:relative;z-index:1}.room-logo{align-self:center;width:clamp(58px,22cqw,84px)!important;height:clamp(58px,22cqw,84px)!important;border-radius:clamp(13px,4cqw,20px)!important}.room>div{align-self:end;width:100%;min-width:0;text-align:center}.room b,.room small{max-width:100%;overflow-wrap:anywhere}.room b{font-size:clamp(22px,8cqw,34px)!important;line-height:1.1}.room small{font-size:clamp(12px,3.8cqw,15px);line-height:1.45}
@keyframes roomBloom{0%{transform:translate3d(-13%,-8%,0) scale(.9);opacity:.25}50%{transform:translate3d(12%,8%,0) scale(1.07);opacity:.43}100%{transform:translate3d(4%,-13%,0) scale(.96);opacity:.3}}
@media(max-width:600px){.login-logo{gap:12px}.login-logo img{width:56px;height:40px}.login-logo strong{font-size:24px}.room{min-height:190px!important;padding:22px!important}.room .room-logo{width:clamp(58px,19cqw,72px)!important;height:clamp(58px,19cqw,72px)!important}}
@media(max-width:760px){:root{--mp-header-height:58px;--youtube-topbar-height:58px}.app-header{grid-template-columns:40px minmax(0,1fr) 40px 38px;height:58px;padding:0 9px;gap:4px}.service-identity{margin:0}.service-identity img{width:30px;height:30px}.service-identity strong{overflow:hidden;font-size:17px;text-overflow:ellipsis}.global-search{display:none;grid-column:1/-1;grid-row:2;width:100%;margin:6px 0 9px}.global-search input{font-size:16px}.voice-search{display:none}.mobile-search-toggle{display:grid}.app-header.search-open{height:112px;grid-template-rows:58px 48px}.app-header.search-open .global-search{display:grid}.app-header.search-open+.drawer-backdrop+.service-drawer{}.profile-menu{top:52px;right:8px}.page{padding:10px}.room-grid{gap:12px;margin-top:28px}.room{min-height:155px;padding:19px}.room-logo{width:44px!important;height:44px!important}.landing>header h1{font-size:clamp(35px,11vw,50px)}}
@media(max-width:760px){.profile-button{grid-column:4}}
@media(prefers-reduced-motion:reduce){.service-drawer{transition:none}.voice-search.listening,.login-page::before,.login-page::after,.room::before{animation:none}}
