/* Shared EasyCodeAPI theme for the authenticated portal and technical admin. */
:root{
  --portal-bg:#100f14;
  --portal-panel:#1a1821;
  --portal-panel2:#241d2a;
  --portal-input:#0e0c13;
  --portal-line:#3b3042;
  --portal-line-soft:#2a2230;
  --portal-text:#fff7f1;
  --portal-muted:#b9acbe;
  --portal-dim:#93839d;
  --portal-accent:#ffc69f;
  --portal-accent-hover:#ffe0c3;
  --portal-accent-soft:rgba(255,198,159,.12);
  --portal-violet:#b59bea;
  --portal-good:#b9dc9d;
  --portal-warn:#ffd093;
  --portal-bad:#ff9eb3;
}
body:has(.app-shell),body:has(.auth){
  color-scheme:dark;
  background:
    radial-gradient(ellipse at 78% 0%,rgba(211,151,113,.16),transparent 38%),
    radial-gradient(ellipse at 6% 30%,rgba(145,112,202,.12),transparent 35%),
    var(--portal-bg);
  color:var(--portal-text);
}
.app-shell,.auth{--bg:var(--portal-bg);--panel:var(--portal-panel);--panel2:var(--portal-panel2);--input:var(--portal-input);--line:var(--portal-line);--line-soft:var(--portal-line-soft);--text:var(--portal-text);--muted:var(--portal-muted);--dim:var(--portal-dim);--accent:var(--portal-accent);--accent-hover:var(--portal-accent-hover);--accent-soft:var(--portal-accent-soft);--good:var(--portal-good);--warn:var(--portal-warn);--bad:var(--portal-bad);--ink:#281825;--blue:var(--portal-accent);font-family:var(--font-ui)}
.app-shell:before,.auth:before{background:radial-gradient(ellipse at 78% 0%,#dc9b7420,transparent 42%),radial-gradient(ellipse at 5% 36%,#9f7be41a,transparent 38%)}
.app-shell .site-header{background:rgba(16,15,20,.78);border-bottom-color:#f6d9cb18;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}
.app-shell .wordmark{font-family:var(--font-ui);font-weight:750;color:var(--portal-text)}
.app-shell .brand-mark{color:var(--portal-accent)}
.app-shell .brand-mark img,.auth .auth-brand-image{filter:saturate(1.18) brightness(1.12) drop-shadow(0 0 10px #ffb89a66)}
.app-shell .header-link{border-radius:12px;color:var(--portal-muted)}
.app-shell .header-link:hover{color:var(--portal-text);background:#f4c9af0d}
.app-shell .header-link.selected{color:#ffe2ca;background:linear-gradient(130deg,#eab79d2c,#a88de617);box-shadow:inset 0 1px #fff4, inset 0 0 0 1px #ffcfb52b}
.app-shell .language-label,.app-shell .tag,.app-shell .badge{border-radius:999px}
.app-shell .panel,.app-shell .settings-page>.page-head,.app-shell .referral-link-box,.app-shell .hero-art,.app-shell .price-preview{
  background:linear-gradient(135deg,rgba(48,35,52,.68),rgba(22,18,28,.82));
  border-color:#e5c5dc20;border-radius:22px;box-shadow:inset 0 1px #fff8,0 15px 45px #0002;
}
.app-shell .inset-card,.app-shell .model-family,.app-shell .key-list-panel,.app-shell .domain-option,.app-shell .range-panel,.app-shell .muted-box{background:#0e0c1388;border-color:#e4c8dd1b;border-radius:15px}
.app-shell .card-icon,.app-shell .heading-icon{background:#e7bfdc10;border-color:#eac8de2b;border-radius:14px;color:#ffd1b3}
.app-shell .card-icon.accent,.app-shell .balance-highlight .card-icon{background:#ffbd9517;border-color:#f8c0a33f;color:#ffd2b7}
.app-shell button,.app-shell .button,.auth button{border-radius:12px}
.app-shell button:hover,.app-shell .button:hover,.auth button:hover{border-color:#f6c5ad55;box-shadow:0 8px 22px #0003}
.app-shell .primary,.auth .primary{color:#2b1925;background:linear-gradient(145deg,#ffe0bd,#f3b39e);border-color:#ffe2c2;box-shadow:inset 0 1px #fff9,0 7px 22px #e8a68125}
.app-shell .primary:hover,.auth .primary:hover{background:linear-gradient(145deg,#ffedd5,#ffd0b9);color:#21131e}
.app-shell a{color:#f4c6ab}.app-shell a:hover{color:#fff1e7}
.app-shell .copy-field{background:#0b0a108c;border-color:#e9c9de29;border-radius:13px}
.app-shell .copy-field:focus-within{border-color:#ffc7a477}
.app-shell .support-button{background:#211a29e8;border-color:#e3b9ce44;border-radius:16px}
.app-shell .support-button>span{background:linear-gradient(145deg,#ffe0bc,#eead9f);color:#2a1825}
.app-shell .dashboard-greeting{border-bottom-color:#e6c9dc1e}
.app-shell .chart-panel>.section-title{background:#e7bad208}
.app-shell .segmented{background:#0b091080;border-color:#e8c9dd24}
.app-shell .segmented button.selected{background:#f2c3aa2b;color:#ffe1c7;box-shadow:inset 0 0 0 1px #f9c9ab4c}
.app-shell .chart-line{stroke:#ffd0af;filter:drop-shadow(0 0 5px #f6b29b66)}
.app-shell .bar>span{background:linear-gradient(90deg,#a586da,#ffd0af)}
.app-shell .model-picker-trigger{background:linear-gradient(110deg,#e8b59e12,#30233c77);border-color:#e3bcdc3d}
.app-shell .model-all-option{background:linear-gradient(110deg,#e8b59e23,#8b70bd1a);border-color:#f4c7a655}
.app-shell .model-choice:has(input:checked){border-color:#f4c8ae88;background:#f0bdab18}
.app-shell .model-choice-icon{background:#ffcfb413;color:#ffd0b6}
.app-shell .key-model-choice{background:#f0c1ac0d;border-color:#e5c2d72b}
.app-shell .notice{border-color:#e6bd9c32;background:#f3c09f0c}
.app-shell .notice.warn{color:#ffe1aa}
.app-shell .table-wrap{border-color:#e5c5dc22}
.app-shell th{color:#c6afc8;background:#241b2b}
.app-shell td{border-color:#e5c5dc18}
.app-shell .metric,.app-shell .balance-number,.app-shell .request-bottom>strong{color:#fff3ea}
.app-shell .request-bottom{min-width:0}
.app-shell .request-bottom>strong{font-size:var(--request-size,clamp(32px,3.5vw,54px))!important;line-height:1!important;letter-spacing:-.055em;max-width:100%;overflow-wrap:anywhere}
.app-shell .balance-number{font-size:clamp(44px,4.5vw,68px)}
.auth{min-height:100vh;background:transparent}
.auth .brand{font-family:var(--font-ui);font-weight:750;color:var(--portal-text)}
.auth .panel{background:linear-gradient(135deg,#2a2031dd,#17131edc);border-color:#e7c9dc2c;border-radius:24px;box-shadow:0 25px 70px #0004,inset 0 1px #fff8}
.auth input{background:#0c0a1188;border-color:#e7c7dd2a;color:var(--portal-text);border-radius:12px}
/* Native checkboxes/radios become one soft square component across portal/admin. */
.app-shell input[type=checkbox],.app-shell input[type=radio],.auth input[type=checkbox],.auth input[type=radio]{
  appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:20px;height:20px;min-height:20px;padding:0;margin:0;border:1px solid #ddb9d05c;border-radius:7px;background:#0d0a1299;cursor:pointer;vertical-align:middle;flex:none
}
.app-shell input[type=radio]{border-radius:50%}
.app-shell input[type=checkbox]::before,.app-shell input[type=radio]::before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .14s ease;background:#2b1927;border-radius:3px}
.app-shell input[type=radio]::before{border-radius:50%}
.app-shell input[type=checkbox]:checked,.app-shell input[type=radio]:checked{background:linear-gradient(145deg,#ffe0bb,#efad9c);border-color:#ffe6ca;box-shadow:0 0 0 4px #efb39d17}
.app-shell input[type=checkbox]:checked::before,.app-shell input[type=radio]:checked::before{transform:scale(1)}
.app-shell input[type=checkbox]:focus-visible,.app-shell input[type=radio]:focus-visible{outline:2px solid #ffd0b2;outline-offset:3px}
/* A compact, unmistakable checkmark instead of the browser's native tick. */
.app-shell input[type=checkbox]::before,.auth input[type=checkbox]::before{content:"✓";width:auto;height:auto;background:none!important;color:#2b1925;font:800 14px/1 var(--font-ui);transform:scale(0) rotate(-15deg);transition:transform .16s cubic-bezier(.2,.8,.2,1)}
.app-shell input[type=checkbox]:checked::before,.auth input[type=checkbox]:checked::before{transform:scale(1) rotate(0)}
.app-shell input[type=radio]::before,.auth input[type=radio]::before{content:"";width:8px;height:8px;background:#2b1925;border-radius:50%;transform:scale(0);transition:transform .16s cubic-bezier(.2,.8,.2,1)}
.app-shell input[type=radio]:checked::before,.auth input[type=radio]:checked::before{transform:scale(1)}
.auth input[type=checkbox],.auth input[type=radio]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:20px;height:20px;min-height:20px;padding:0;margin:0;border:1px solid #ddb9d05c;border-radius:7px;background:#0d0a1299;cursor:pointer;vertical-align:middle;flex:none}
.auth input[type=radio]{border-radius:50%}
.auth input[type=checkbox]:checked,.auth input[type=radio]:checked{background:linear-gradient(145deg,#ffe0bb,#efad9c);border-color:#ffe6ca;box-shadow:0 0 0 4px #efb39d17}
.auth input[type=checkbox]:focus-visible,.auth input[type=radio]:focus-visible{outline:2px solid #ffd0b2;outline-offset:3px}
dialog.glass-dialog{width:min(820px,calc(100% - 24px));background:linear-gradient(140deg,#2a2034f7,#15111deF);border-color:#edc9dc45;border-radius:28px}
dialog.dialog-wide{width:min(1240px,calc(100% - 24px))}
.modal-head{background:#f0bdad0b;border-bottom-color:#eccadd25}
.modal-head h2{font-family:var(--font-ui);font-size:25px}
.modal-body{padding:28px 32px 34px}
.media-api-actions{display:flex;align-items:center;gap:10px}
.image-help-button{display:grid!important;place-content:center;width:36px;height:36px;min-height:36px;padding:0!important;border-radius:50%!important;background:linear-gradient(145deg,#ff7185,#c83c62)!important;border-color:#ffadba!important;color:#fff!important;font:800 18px/1 var(--font-ui);box-shadow:0 6px 18px #e84c6c40!important}
.image-help-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #e84c6c62!important}
.media-help-dialog{display:grid;gap:20px}
.media-help-hero{display:flex;align-items:flex-start;gap:16px;padding:20px;border:1px solid #ffadba38;border-radius:20px;background:linear-gradient(135deg,#ff71851a,#9c7de51a)}
.media-help-hero h3{margin:4px 0 6px;font-size:25px;color:#fff0e8}
.media-help-hero p{max-width:780px;margin:0;color:#c8b9c8;line-height:1.7}
.media-help-question{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#ff7185,#c83c62);border:1px solid #ffadba;color:#fff;font:800 25px/1 var(--font-ui);box-shadow:0 8px 22px #e84c6c55}
.media-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.media-help-grid .inset-card{display:grid;gap:7px}
.media-help-grid .inset-card code{color:#ffd0b6;overflow-wrap:anywhere}
.media-help-grid .inset-card strong{font-size:14px;color:#fff0e8}
.media-help-section{padding-top:4px}
.media-help-section h3{margin:0 0 8px;color:#ffe6d5}
.media-help-section p{margin:0 0 12px}
.media-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.media-prices>div{display:grid;gap:6px;padding:14px;border:1px solid #e9c9dc24;border-radius:14px;background:#0e0c1388}
.media-prices span,.media-size-list span{font-size:11px;color:#bcaabd;text-transform:uppercase;letter-spacing:.08em}
.media-prices strong{color:#ffd0b6;font-size:17px}
.media-size-list{display:flex;flex-wrap:wrap;gap:8px}
.media-size-list span{padding:8px 11px;border:1px solid #e9c9dc24;border-radius:10px;background:#0e0c1388;color:#ffe4d1;text-transform:none;letter-spacing:0}
.media-help-code{margin-top:10px}
@media(max-width:760px){.app-shell .request-bottom>strong{font-size:var(--request-size,42px)!important}.media-help-grid,.media-prices{grid-template-columns:1fr}.media-help-hero{padding:16px}.media-help-hero h3{font-size:21px}.modal-body{padding:22px 20px 24px}dialog.glass-dialog,dialog.dialog-wide{width:calc(100% - 16px)}}

/* Warm accent pass: blue remains atmospheric in the background only. */
.app-shell .inset-card,
.app-shell .tinted,
.app-shell .muted-box,
.app-shell .range-panel,
.app-shell .table-wrap{
  background:#15111b;
  border-color:#e5c5dc24;
}
.app-shell .notice{
  background:#f0bdad0d;
  border-color:#e8b99a35;
  color:#e8d3d8;
}
.app-shell .tag,
.app-shell .badge{
  background:#211a29;
  border-color:#e5c5dc28;
  color:#d9c8d7;
}
.app-shell .tag.good,
.app-shell .badge.good{
  background:#b9dc9d16;
  border-color:#b9dc9d42;
  color:#c9e5b4;
}
.app-shell .tag.warn,
.app-shell .badge.warn{
  background:#ffc69f18;
  border-color:#ffc69f48;
  color:#ffd3b1;
}
.app-shell tbody tr:hover{background:#211a29}
.app-shell th{background:#241b2b;color:#d0bcca}
.app-shell td{border-color:#e5c5dc18}
.app-shell .chart-tooltip,
.chart-tooltip{
  border-color:#e8b99a55;
  background:#211824f5;
  box-shadow:0 14px 38px #0008;
}
.chart-tooltip>span,
.chart-tooltip>small{color:#cbb8c6}
.chart-tooltip>strong{color:#fff1e5}
.chart-tooltip>strong small{color:#ffd0b0}
.app-shell .bar>span{background:linear-gradient(90deg,#df936d,#ffd0af)}

/* Model dossiers and picker surfaces use the same orange signal as pricing. */
.app-shell .catalog-card,
dialog.glass-dialog .catalog-card{
  background:linear-gradient(135deg,rgba(40,28,44,.82),rgba(19,15,25,.9));
  border-color:#e5c5dc28;
}
.app-shell .catalog-metric,
dialog.glass-dialog .catalog-metric{
  background:#100d16b8;
  border-color:#e5c5dc28;
}
.app-shell .catalog-metric.accent,
dialog.glass-dialog .catalog-metric.accent{
  background:#ffc69f12;
  border-color:#ffc69f52;
  color:#ffc69f;
}
.app-shell .catalog-tags .catalog-tag,
dialog.glass-dialog .catalog-tags .catalog-tag{
  border-color:#ffc69f42;
  background:#ffc69f12;
  color:#ffd0b0;
}
.app-shell .catalog-facts>div,
dialog.glass-dialog .catalog-facts>div{
  background:#100d168c;
  border-color:#e5c5dc20;
}
.app-shell .catalog-assessment,
dialog.glass-dialog .catalog-assessment{
  background:#ffc69f09;
  border-color:#e5c5dc22;
}
.app-shell .model-family-button,
dialog.glass-dialog .model-family-button{
  background:#15111b;
  border-color:#e5c5dc24;
}
.app-shell .model-family-button:hover,
dialog.glass-dialog .model-family-button:hover{
  background:#ffc69f12;
  border-color:#ffc69f45;
}

/* Referral and chat should read as warm product surfaces, not a second blue theme. */
.app-shell .referral-hero{
  background:radial-gradient(ellipse at 85% 10%,#d796711f,transparent 65%),linear-gradient(135deg,#2c2232dd,#17131fef);
  border-color:#e5c5dc28;
}
.app-shell .referral-link-box{
  background:#15111bd9;
  border-color:#e5c5dc2c;
}
.app-shell .chat-layout,
.app-shell .chat-main{background:var(--portal-bg)}
.app-shell .chat-history,
.app-shell .chat-composer,
.app-shell .chat-toolbar{
  background:#17131d;
  border-color:#e5c5dc24;
}
.app-shell .conversation-item.selected{
  background:#ffc69f12;
  color:#ffd0b0;
}
.app-shell .chat-toolbar>select{color:#fff0e5}
.app-shell .message.user>div{background:#211a29;border-color:#e5c5dc28}

/* Dialog content lives outside .app-shell in the DOM, so give it the same tokens. */
dialog.glass-dialog{
  --bg:#100f14;
  --panel:#1a1821;
  --panel2:#241d2a;
  --input:#0e0c13;
  --line:#3b3042;
  --line-soft:#2a2230;
  --text:#fff7f1;
  --muted:#b9acbe;
  --dim:#93839d;
  --accent:#ffc69f;
  --accent-hover:#ffe0c3;
  --accent-soft:rgba(255,198,159,.12);
  --blue:#ffc69f;
  color:var(--text);
}
dialog.glass-dialog .inset-card,
dialog.glass-dialog .amount-section,
dialog.glass-dialog .quote-card,
dialog.glass-dialog .model-all-option{
  background:#15111b;
  border-color:#e5c5dc28;
}
dialog.glass-dialog input,
dialog.glass-dialog select,
dialog.glass-dialog textarea{
  background:#0e0c13;
  border-color:#e5c5dc30;
  color:#fff7f1;
}
dialog.glass-dialog .code-window{
  background:#0e0c13;
  border-color:#e5c5dc30;
}
dialog.glass-dialog .code-titlebar{
  background:linear-gradient(180deg,#2a2030,#211a29);
  border-bottom-color:#e5c5dc25;
}
dialog.glass-dialog .code-filename{color:#e8d3d8}
dialog.glass-dialog .code-language{color:#c5aebf}
dialog.glass-dialog .code-window pre{color:#eadde0}
dialog.glass-dialog .code-comment{color:#a8909f}
dialog.glass-dialog .code-keyword{color:#ffc69f}
dialog.glass-dialog .code-string{color:#c8dfa8}
dialog.glass-dialog .code-number{color:#f0bd8f}
dialog.glass-dialog .code-variable{color:#c5a9e9}
dialog.glass-dialog .amount-range::-webkit-slider-runnable-track{
  background:linear-gradient(to right,#e99b72 0%,#ffc69f var(--fill,2.69%),#4b3945 var(--fill,2.69%),#4b3945 100%);
}
dialog.glass-dialog .amount-range::-webkit-slider-thumb{
  background:linear-gradient(130deg,#fff0df,#ffb692);
  border-color:#ffe0c3;
  box-shadow:0 2px 10px #0006,0 0 0 5px #ffc69f18;
}
dialog.glass-dialog .amount-range::-moz-range-progress{background:#ffc69f}
dialog.glass-dialog .amount-range::-moz-range-thumb{background:#ffe0c3;border-color:#ffb692}
dialog::backdrop{
  background:rgba(12,8,15,.74);
  backdrop-filter:blur(10px) saturate(105%);
  -webkit-backdrop-filter:blur(10px) saturate(105%);
}
dialog.glass-dialog .modal-close{
  background:#15111b;
  border-color:#e5c5dc35;
  color:#cdb9c9;
}
dialog.glass-dialog .modal-heading{min-width:0}
dialog.glass-dialog .modal-header-note{
  max-width:min(42%,420px);
  margin-left:auto;
  color:#cdb9c9;
  font-size:11px;
  line-height:1.45;
  text-align:right;
}
dialog.glass-dialog .modal-close:hover{
  background:#ffc69f16;
  border-color:#ffc69f62;
  color:#ffe3cf;
}
dialog.glass-dialog .modal-intro{color:#d1c1cb}
dialog.glass-dialog .modal-body form>p:first-child{
  background:#ffc69f09;
  border-color:#e5c5dc24;
}
dialog.glass-dialog .footer-actions{border-top-color:#e5c5dc24}
dialog.glass-dialog .billing-part{
  background:#15111b;
  border-color:#e5c5dc28;
}
dialog.glass-dialog .part-icon{
  background:#ffc69f12;
  color:#ffc69f;
}
dialog.glass-dialog .calculation-card{
  background:linear-gradient(125deg,#ffc69f0e,#100d1666);
  border-color:#ffc69f32;
}

/* Header identity. Keep the nickname compact beside RU/menu on narrow widths. */
.app-shell .header-user-name{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ffe0ca;
  font-size:12px;
  font-weight:650;
}
.app-shell .profile-email{color:var(--portal-muted);font-size:13px}
.app-shell .chat-content{
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.app-shell .chat-layout{
  width:100%;
  min-height:calc(100dvh - 65px);
  margin:0;
  background:#100f14;
}
.app-shell .chat-history{
  background:#17131d;
  border-right-color:#e5c5dc24;
}
.app-shell .chat-toolbar{
  background:#17131d;
  border-bottom-color:#e5c5dc24;
}
.app-shell .chat-composer{
  background:#211a29;
  border-color:#e5c5dc35;
  border-radius:18px;
  box-shadow:0 14px 36px #0004;
}
.app-shell .composer-row>textarea{
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.app-shell .composer-row>textarea:focus{
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
}
.app-shell .composer-row>textarea::selection{background:#ffc69f35}
.app-shell .message.user>div{
  background:#211a29;
  border-color:#e5c5dc30;
}
.app-shell .message.assistant>div{
  padding:17px 19px;
  border:1px solid #e5c5dc28;
  border-radius:17px;
  background:linear-gradient(135deg,#2a2030,#17131f);
  box-shadow:inset 0 1px #fff5,0 12px 28px #0002;
}
.app-shell .pending-message>div{
  display:flex;
  align-items:center;
  gap:10px;
  color:#ffe0ca;
}
.thinking-card strong{font-size:13px}
.thinking-card small{display:block;margin-left:25px;color:#bcaabd}
.thinking-dots{display:inline-flex;gap:4px;align-items:center}
.thinking-dots i{width:5px;height:5px;border-radius:50%;background:#ffc69f;animation:thinking-dot 1.15s infinite ease-in-out}
.thinking-dots i:nth-child(2){animation-delay:.14s}
.thinking-dots i:nth-child(3){animation-delay:.28s}
@keyframes thinking-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.chat-select{position:relative;min-width:0}
.chat-select>summary{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  max-width:330px;
  padding:7px 10px;
  border:1px solid #e5c5dc2d;
  border-radius:11px;
  background:#15111b;
  color:#ffe8da;
  cursor:pointer;
  list-style:none;
  font-size:12px;
  font-weight:650;
}
.chat-select>summary::-webkit-details-marker{display:none}
.chat-select>summary::after{content:"⌄";margin-left:auto;color:#cbb4c2}
.chat-select[open]>summary{border-color:#ffc69f69;background:#ffc69f12}
.chat-select-menu{
  position:absolute;
  z-index:30;
  top:calc(100% + 7px);
  left:0;
  min-width:240px;
  max-height:300px;
  overflow:auto;
  display:grid;
  gap:3px;
  padding:6px;
  border:1px solid #e5c5dc35;
  border-radius:14px;
  background:#201824f8;
  box-shadow:0 18px 40px #0009;
  backdrop-filter:blur(18px);
}
.chat-select-menu button{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#d9c7d4;
  text-align:left;
  font-size:12px;
}
.chat-select-menu button:hover{
  background:#ffc69f16;
  border-color:#ffc69f3d;
  color:#ffe1cb;
}
.chat-select-menu button small{
  grid-column:2;
  color:#a991a2;
  font-size:10px;
  overflow-wrap:anywhere;
}
.chat-select-empty{padding:10px;color:#bcaabd;font-size:12px}
.chat-reasoning-select{margin-left:auto}
.chat-reasoning-select>summary{min-width:125px;justify-content:space-between}
.app-shell .agent-guide-panel{
  background:linear-gradient(135deg,#2a2030d9,#17131fee);
  border-color:#e5c5dc30;
}
.agent-guide-callout{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:18px 0;
  padding:16px;
  border:1px solid #ffc69f35;
  border-radius:16px;
  background:#ffc69f0d;
}
.agent-guide-callout b{color:#ffe3cf}
.agent-guide-callout p{margin:4px 0 0;font-size:12px}
.agent-guide-preview{
  margin:16px 0;
  border:1px solid #e5c5dc28;
  border-radius:14px;
  background:#100d16;
}
.agent-guide-preview summary{
  padding:14px 16px;
  color:#f1d9cc;
  cursor:pointer;
  font-weight:650;
}
.agent-guide-preview pre{
  max-height:420px;
  overflow:auto;
  margin:0;
  border:0;
  border-top:1px solid #e5c5dc22;
  border-radius:0 0 14px 14px;
  background:#0e0c13;
  color:#d9c7d4;
  font-size:11px;
}

/* Native range controls are replaced with one consistent warm slider. */
.app-shell input[type=range]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:24px;
  min-height:24px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  accent-color:transparent;
  cursor:pointer;
}
.app-shell input[type=range]::-webkit-slider-runnable-track{
  height:7px;
  border-radius:999px;
  background:linear-gradient(to right,#e99b72 0,#ffc69f var(--range-fill,0%),#4a3947 var(--range-fill,0%),#4a3947 100%);
  border:1px solid #e5c5dc20;
}
.app-shell input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:20px;
  height:20px;
  margin-top:-8px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0df,#ffb692);
  border:2px solid #ffe0c3;
  box-shadow:0 2px 10px #0007,0 0 0 5px #ffc69f18;
}
.app-shell input[type=range]::-moz-range-track{
  height:7px;
  border-radius:999px;
  background:#4a3947;
  border:1px solid #e5c5dc20;
}
.app-shell input[type=range]::-moz-range-progress{height:7px;border-radius:999px;background:#f0a578}
.app-shell input[type=range]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ffe0c3;
  border:2px solid #ffb692;
  box-shadow:0 0 0 5px #ffc69f18;
}
.app-shell input[type=range]:focus-visible{outline:2px solid #ffc69f;outline-offset:4px}
.app-shell .range-panel label{display:grid;gap:6px}

/* Keyboard-friendly custom status selector. */
.custom-select{position:relative;min-width:0}
.custom-select>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:11px 13px;
  border:1px solid #e5c5dc30;
  border-radius:12px;
  background:#0e0c13;
  color:#f3e5e1;
  cursor:pointer;
  list-style:none;
  font-size:13px;
}
.custom-select>summary::-webkit-details-marker{display:none}
.custom-select>summary::after{content:"⌄";color:#c7aebf;font-size:16px;line-height:1;transition:transform .16s ease}
.custom-select[open]>summary{border-color:#ffc69f73;box-shadow:0 0 0 3px #ffc69f12}
.custom-select[open]>summary::after{transform:rotate(180deg)}
.custom-select-menu{
  position:absolute;
  z-index:20;
  top:calc(100% + 7px);
  left:0;
  right:0;
  display:grid;
  gap:3px;
  padding:6px;
  border:1px solid #e5c5dc32;
  border-radius:14px;
  background:#201824f8;
  box-shadow:0 18px 36px #0008;
  backdrop-filter:blur(18px);
}
.custom-select-menu button{
  display:block;
  width:100%;
  min-height:36px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#d7c5d2;
  text-align:left;
  font-size:12px;
}
.custom-select-menu button:hover,
.custom-select-menu button[aria-selected=true]{
  background:#ffc69f16;
  border-color:#ffc69f3d;
  color:#ffe1cb;
}

/* The picker is a dialog sibling of #app, so it needs its own custom checks. */
dialog.glass-dialog input[type=checkbox],
dialog.glass-dialog input[type=radio]{
  appearance:none;
  -webkit-appearance:none;
  display:inline-grid;
  place-content:center;
  width:20px;
  height:20px;
  min-height:20px;
  padding:0;
  margin:0;
  flex:none;
  border:1px solid #e5c5dc52;
  border-radius:7px;
  background:#0e0c13;
  cursor:pointer;
}
dialog.glass-dialog input[type=radio]{border-radius:50%}
dialog.glass-dialog input[type=checkbox]::before{
  content:"✓";
  color:#2b1925;
  font:800 14px/1 var(--font-ui);
  transform:scale(0) rotate(-15deg);
  transition:transform .16s cubic-bezier(.2,.8,.2,1);
}
dialog.glass-dialog input[type=radio]::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2b1925;
  transform:scale(0);
  transition:transform .16s cubic-bezier(.2,.8,.2,1);
}
dialog.glass-dialog input[type=checkbox]:checked,
dialog.glass-dialog input[type=radio]:checked{
  background:linear-gradient(145deg,#ffe0bb,#efad9c);
  border-color:#ffe6ca;
  box-shadow:0 0 0 4px #efb39d17;
}
dialog.glass-dialog input[type=checkbox]:checked::before,
dialog.glass-dialog input[type=radio]:checked::before{transform:scale(1) rotate(0)}
dialog.glass-dialog input[type=checkbox]:focus-visible,
dialog.glass-dialog input[type=radio]:focus-visible{outline:2px solid #ffc69f;outline-offset:3px}
dialog.glass-dialog .model-all-option{
  background:#ffc69f0d;
  border-color:#ffc69f3d;
}
dialog.glass-dialog .model-search-field{
  border-color:#e5c5dc30;
  background:#0e0c13;
}
dialog.glass-dialog .model-filters button{
  border-color:#e5c5dc30;
  color:#d7c5d2;
}
dialog.glass-dialog .model-filters button.selected,
dialog.glass-dialog .model-filters button:hover{
  background:#ffc69f16;
  border-color:#ffc69f5a;
  color:#ffe1cb;
}
dialog.glass-dialog .compact-model-option{
  background:#15111b;
  border-color:#e5c5dc30;
}
dialog.glass-dialog .compact-model-option:hover,
dialog.glass-dialog .compact-model-option:has(input:checked){
  background:#ffc69f12;
  border-color:#ffc69f63;
}
dialog.glass-dialog .compact-model-name code{color:#bcaabd}
dialog.glass-dialog .compact-picker-footer{
  background:#15111b;
  border-top-color:#e5c5dc25;
}
@media(max-width:760px){
  .app-shell .header-user-name{max-width:92px;font-size:11px}
  .filter-row .custom-select{width:100%}
}

/* Setup: a ready command, not a second wizard or downloadable setup ticket. */
.app-shell .setup-os-label{margin:23px 0 10px;color:var(--portal-muted);font-size:12px}
.app-shell .setup-wizard .option-buttons button{min-height:44px;min-width:78px}
.app-shell .setup-wizard .option-buttons button.selected{
  background:#ffc69f18;color:#ffe1cb;border-color:#ffc69f63;
}
.app-shell .setup-wizard .guide-output{min-width:0;border-color:#e5c5dc25;background:#17131dc9}
.app-shell .setup-wizard .code-window{background:#100d16;border-color:#e5c5dc28;border-radius:16px}
.app-shell .setup-wizard .code-titlebar{background:#251e2b;border-color:#e5c5dc25}
.app-shell .setup-wizard .code-filename{color:#d7c6d2}
.app-shell .setup-wizard .code-language{color:#bcaabd}
.app-shell .setup-wizard .code-window pre{color:#f5e4dd;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}
.app-shell .setup-wizard .code-keyword{color:#ffc69f}
.app-shell .setup-wizard .code-variable{color:#e5bbd5}
.app-shell .setup-wizard .restore-note{padding:18px;margin-top:24px;background:#17131d;border:1px solid #e5c5dc28;border-radius:17px}
.app-shell .setup-wizard .restore-note>summary{color:#ffe1cb;font-size:14px}
.app-shell .setup-wizard .restore-note>p{margin:16px 0;color:#bcaabd}
.app-shell .setup-wizard #remove-code{margin:16px 0}
.setup-code-loading,.setup-code-unavailable{padding:24px 16px;color:var(--portal-muted);line-height:1.7}
.setup-code-loading .skeleton{display:block;height:46px;margin-top:12px;border-radius:10px;background:#ffc69f0c}
.app-shell .setup-wizard .guide-status{background:#ffc69f0a;border-color:#e5c5dc25;color:#ffc69f}
.app-shell .setup-wizard .guide-status p{color:#cdb9c9}
.app-shell .setup-wizard .setup-terminal .code-titlebar{padding:8px 14px 0;gap:14px;min-height:44px}
.terminal-tab{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#100d16;border:1px solid #e5c5dc22;border-bottom:0;border-radius:9px 9px 0 0;color:#ffd3b9}
.terminal-tab b{font-size:11px;font-weight:550}
.terminal-controls{margin-left:auto;display:flex;gap:17px;padding-bottom:8px;align-items:center}
.terminal-controls i{width:9px;height:1px;background:#947f90}
.terminal-controls i:nth-child(2){height:8px;background:none;border:1px solid #947f90}
.terminal-controls i:nth-child(3){height:9px;background:linear-gradient(45deg,transparent 43%,#947f90 44% 55%,transparent 56%),linear-gradient(-45deg,transparent 43%,#947f90 44% 55%,transparent 56%)}
.terminal-file-label{font:10px/1.6 Consolas,monospace;color:#948092;padding:13px 20px 0}
.app-shell .setup-wizard .setup-terminal pre{min-height:0;padding-top:13px;padding-bottom:22px}
.catalog-specification{margin-top:16px;border:1px solid #e5c5dc24;border-radius:12px;background:#100d1666}
.catalog-specification>summary{padding:12px 14px;color:#d0b9c6;font-size:12px;cursor:pointer}
.catalog-specification>dl{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;margin:0 14px 12px}
.catalog-specification dt{font-size:11px;color:#ac97a8}
.catalog-specification dd{margin:7px 0 0;color:#ffe3cf;font-size:14px}
.catalog-specification>p{margin:0;padding:0 14px 14px;font-size:11px;color:#ac97a8;line-height:1.7}
@media(max-width:540px){.catalog-specification>dl{grid-template-columns:1fr}.app-shell .setup-wizard .guide-actions{width:100%}}

/* Temporarily unavailable feature. Real inputs are not focusable beneath blur. */
.telegram-soon-stage{position:relative;min-height:245px;isolation:isolate;overflow:hidden;border-radius:16px}
.telegram-blurred{filter:blur(5px);opacity:.3;pointer-events:none;user-select:none;padding:10px}
.telegram-preview-icon{color:#ffc69f;margin:6px 0 24px}
.telegram-preview-line{height:9px;border-radius:10px;background:#bcaabd40;width:86%;margin:14px 0}
.telegram-preview-line.short{width:55%}
.telegram-preview-input,.telegram-preview-button{margin-top:20px;padding:14px;border:1px solid #cdb9c938;border-radius:11px;color:#cdb9c9;font-size:12px}
.telegram-preview-button{background:#ffc69f2b;text-align:center}
.telegram-soon-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px;background:linear-gradient(180deg,#1a182144,#1a1821c9)}
.telegram-soon-overlay>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffc69f45;border-radius:14px;background:#ffc69f16;color:#ffc69f;margin-bottom:16px}
.telegram-soon-overlay strong{font-size:18px;font-weight:650;color:#ffe8da}
.telegram-soon-overlay p{font-size:12px;line-height:1.8;margin:12px 0 0}

/* Four-second landing-only brand introduction. API loading proceeds behind it. */
.landing-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#100f14;overflow:hidden;color:#fff7f1}
.landing-intro-glow{position:absolute;width:min(850px,140vw);height:min(850px,140vw);border-radius:50%;background:radial-gradient(circle,#da936020,transparent 60%),radial-gradient(ellipse at 60% 42%,#9274bc20,transparent 63%);animation:intro-glow 4s ease both}
.landing-intro-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px;animation:intro-arrive .6s ease-out both}
.landing-intro-content>img{margin-bottom:24px;filter:drop-shadow(0 0 24px #ffbc9166)}
.landing-intro-caption{font-size:10px;letter-spacing:.21em;color:#bdaaba}
.landing-intro-content>strong{font:750 clamp(35px,7.5vw,56px)/1.35 var(--font-ui);letter-spacing:-.055em;margin:10px 0}
.landing-intro-content>strong>span{color:#ffc69f}
.landing-intro-content>p{color:#d3bdcb;font-size:14px;margin:4px 0 31px}
.landing-intro-progress{width:220px;height:3px;border-radius:3px;background:#ffc69f14;overflow:hidden}
.landing-intro-progress>i{display:block;height:100%;width:100%;border-radius:3px;transform-origin:left;background:linear-gradient(90deg,#e59f78,#ffd4b9);animation:intro-progress 4s cubic-bezier(.15,.65,.35,1) both}
.landing-intro-content>small{margin-top:16px;color:#948495;font-size:11px}
@keyframes intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes intro-glow{0%{opacity:.3;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.landing-intro *{animation:none!important}.landing-intro-progress>i{width:100%}}
