/* Tikitago Consola — sistema único de diseño/UX.
   Fuente única de estilos de la consola flotante.
   No contiene capas visuales históricas ni estilos de “control deck”. */

:root{
  /* La consola consume directamente los materiales de Tikitago.com.
     No mantiene una segunda paleta: estos alias existen solo para legibilidad local. */
  --tk-bg:var(--n-fondo,#0b0b12);
  --tk-bg-elev:var(--n-fondo-alto,#121220);
  --tk-surface:var(--n-plano,#17172a);
  --tk-surface-2:var(--n-plano-alto,#1d1d33);
  --tk-relief:var(--n-relieve,#23233c);
  --tk-border:var(--n-filo,rgba(255,255,255,.075));
  --tk-border-strong:var(--n-filo-vivo,rgba(255,255,255,.14));
  --tk-text:var(--n-tinta,#f2f2f8);
  --tk-muted:var(--n-tinta-med,#b6b6d0);
  --tk-muted-2:var(--n-tinta-baja,#8484a1);
  --tk-gold:var(--n-oro,#f5c842);
  --tk-gold-2:var(--n-oro-claro,#ffe9a8);
  --tk-gold-deep:var(--n-oro-hondo,#c9870f);
  --tk-violet:var(--n-viol,#9d6bff);
  --tk-violet-2:var(--n-viol-claro,#c9acff);
  --tk-gold-soft:rgba(245,200,66,.12);
  --tk-green:var(--n-verde,#2ecc8f);
  --tk-red:var(--n-rojo,#ff5c7a);
  --tk-radius:var(--r-md,14px);
  --tk-radius-sm:var(--r-sm,8px);
  --tk-radius-lg:var(--r-lg,20px);
  --tk-shadow:var(--n-sombra-3,0 12px 32px -10px rgba(14,8,32,.62));
  --tk-motion:var(--m-curva,cubic-bezier(.22,1.2,.36,1));
}

*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  color:var(--tk-text);
  background:
    radial-gradient(700px 340px at 20% -15%,rgba(245,200,66,.07),transparent 60%),
    radial-gradient(700px 360px at 90% 0%,rgba(157,107,255,.09),transparent 62%),
    linear-gradient(180deg,var(--tk-bg-elev),var(--tk-bg) 38%);
  font-family:var(--font-ui,'Geist Sans','Inter',system-ui,-apple-system,'Segoe UI',sans-serif);
  -webkit-user-select:none;
  user-select:none;
}
button,input,select{font:inherit}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--tk-gold);outline-offset:2px}
[hidden]{display:none!important}

/* Header */
/* Cabecera compacta · una sola jerarquía visual */
.bt-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.bt-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bt-head{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:48px;padding:7px 9px;border-bottom:1px solid var(--tk-border);background:color-mix(in srgb,var(--tk-bg) 96%,transparent);-webkit-app-region:drag}
.bt-head button,.bt-head-actions,.bt-workspace-switch,.bt-seg,.bt-linkstate{-webkit-app-region:no-drag}
.bt-logo{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}
.bt-mark{width:31px;height:31px;flex:0 0 31px;border-radius:var(--tk-radius-sm);overflow:hidden;box-shadow:0 0 0 1px rgba(245,200,66,.14)}
.bt-mark img{display:block;width:100%;height:100%;object-fit:contain}
.bt-wordmark{font-size:12px;font-weight:780;letter-spacing:-.02em;color:var(--tk-text)}
.bt-head-spacer{flex:1 1 auto;min-width:4px}
.bt-workspace-switch,.bt-seg{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:rgba(255,255,255,.025)}
.bt-icon-tab,.bt-head-icon{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .08s ease}
.bt-icon-tab svg,.bt-head-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.bt-icon-tab:hover,.bt-head-icon:hover{color:var(--tk-text);background:rgba(255,255,255,.045)}
.bt-icon-tab:active,.bt-head-icon:active{transform:translateY(1px)}
.bt-icon-tab.on,.bt-icon-tab[aria-selected="true"]{color:var(--tk-gold-2);border-color:rgba(245,200,66,.22);background:var(--tk-gold-soft)}
.bt-linkstate{position:relative;display:grid;place-items:center;width:28px;height:32px;flex:0 0 28px}
.bt-link-led{width:8px;height:8px;border-radius:50%;background:#756f7e;box-shadow:0 0 0 4px rgba(255,255,255,.03)}
.bt-linkstate.ok .bt-link-led{background:var(--tk-green);box-shadow:0 0 0 4px rgba(85,217,149,.08)}
.bt-linkstate.warn .bt-link-led{background:var(--tk-gold);box-shadow:0 0 0 4px rgba(245,200,66,.08)}
.bt-linkstate.err .bt-link-led{background:var(--tk-red);box-shadow:0 0 0 4px rgba(255,107,115,.08)}
.bt-head-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.bt-close{color:#ff9ba0}.bt-close:hover{color:#ffc1c4;background:rgba(255,107,115,.07);border-color:rgba(255,107,115,.13)}
/* Actualizaciones */
.bt-update-notice{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin:7px 8px 0;padding:8px 9px;border:1px solid rgba(245,200,66,.23);border-radius:var(--tk-radius);background:rgba(245,200,66,.07)}
.bt-update-led{width:7px;height:7px;border-radius:50%;background:var(--tk-gold)}
.bt-update-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.bt-update-copy b{font-size:9px}.bt-update-copy small{font-size:9px;color:var(--tk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-update-view{height:28px;padding:0 9px;border:1px solid rgba(245,200,66,.18);border-radius:var(--tk-radius-sm);background:rgba(245,200,66,.07);color:var(--tk-gold-2);font-size:8px;font-weight:800;cursor:pointer}.bt-update-view:hover{background:rgba(245,200,66,.12)}.bt-update-dismiss{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);cursor:pointer}.bt-update-dismiss:hover{background:rgba(255,255,255,.045);color:var(--tk-text)}.bt-update-dismiss svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.bt-release-center{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px;background:rgba(5,4,10,.72);backdrop-filter:blur(8px)}
.bt-release-card{width:min(560px,100%);max-height:min(720px,90vh);display:flex;flex-direction:column;border:1px solid var(--tk-border-strong);border-radius:var(--tk-radius-lg);background:var(--tk-bg-elev);box-shadow:0 24px 70px rgba(0,0,0,.5);overflow:hidden}
.bt-release-head{position:relative;padding:18px 20px 12px;border-bottom:1px solid var(--tk-border)}
.bt-release-eyebrow{display:flex;gap:7px;align-items:center}.bt-release-level,.bt-release-version{font-size:9px;font-weight:800;color:var(--tk-gold-2)}
.bt-release-head h2{margin:7px 32px 4px 0;font-size:18px}.bt-release-head p{margin:0;color:var(--tk-muted);font-size:11px;line-height:1.45}
.bt-release-x{position:absolute;top:14px;right:14px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.04);color:var(--tk-muted);cursor:pointer}.bt-release-x:hover{background:rgba(255,255,255,.075);color:var(--tk-text)}.bt-release-x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.bt-release-body{overflow:auto;padding:12px 20px}.bt-release-group{padding:10px 0;border-bottom:1px solid var(--tk-border)}.bt-release-group-title{font-size:10px;color:var(--tk-gold-2);font-weight:800}.bt-release-item{margin-top:6px;color:#d8d4df;font-size:11px;line-height:1.4}.bt-release-empty{color:var(--tk-muted);font-size:11px}
.bt-release-update-status{margin:0 20px 10px;padding:10px;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:3px;font-size:10px}.bt-release-update-status span{color:var(--tk-muted)}.bt-release-update-status a{color:var(--tk-gold-2)}
.bt-release-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--tk-border)}.bt-release-date{min-width:0;font-size:9px;color:var(--tk-muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-release-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;min-width:0}.bt-release-later,.bt-release-update{max-width:100%;min-height:32px;padding:0 11px;border-radius:var(--tk-radius-sm);border:1px solid var(--tk-border);cursor:pointer;font-size:10px;font-weight:800;white-space:normal}.bt-release-later{background:transparent;color:var(--tk-muted)}.bt-release-update{background:var(--tk-gold);color:#2c2106;border-color:transparent}

/* Estado del sistema: una sola lectura, sin paneles operativos duplicados. */
.bt-system-drawer{flex:0 0 auto;margin:6px 8px 0;padding:9px;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:var(--tk-bg-elev)}
.bt-system-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--tk-border)}.bt-system-head strong{font-size:9px}.bt-system-head small{color:var(--tk-muted-2);font-size:8px}
.bt-system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px;padding-top:7px}.bt-system-item{min-width:0;padding:7px;border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.03)}.bt-system-item b{display:block;color:var(--tk-muted-2);font-size:7px}.bt-system-item span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}

/* Perfiles */
.bt-profiles{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:7px clamp(6px,1.2vw,9px) 5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.bt-profiles::-webkit-scrollbar{display:none}
.bt-prof{position:relative;min-width:86px;max-width:150px;height:38px;display:grid;grid-template-columns:26px minmax(0,1fr) 8px;align-items:center;gap:6px;padding:0 8px 0 6px;border:1px solid var(--tk-border);border-radius:var(--tk-radius-sm);background:var(--tk-surface);color:var(--tk-text);cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease,transform .08s ease}.bt-prof:hover{border-color:color-mix(in srgb,var(--pc) 38%,var(--tk-border));transform:translateY(-1px)}.bt-prof.on{border-color:color-mix(in srgb,var(--pc) 58%,var(--tk-border));background:color-mix(in srgb,var(--pc) 9%,var(--tk-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc) 18%,transparent)}
.bt-prof-avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--tk-radius-sm);background:color-mix(in srgb,var(--pc) 13%,rgba(255,255,255,.035));color:color-mix(in srgb,var(--pc) 72%,white);font-size:10px;font-weight:850}.bt-prof-avatar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bt-prof-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:760}.bt-prof-status{width:7px;height:7px;border-radius:50%;background:var(--tk-green);box-shadow:0 0 0 2px rgba(85,217,149,.08)}.bt-prof-status.off{background:#716b78;box-shadow:none}.bt-prof-color-1{--pc:#e8c25a}.bt-prof-color-2{--pc:#5ec8ff}.bt-prof-color-3{--pc:#ff7ab8}.bt-prof-color-4{--pc:#7cff9b}.bt-prof-color-5{--pc:#c084fc}.bt-prof-color-all{--pc:#fff}.bt-prof-all{min-width:84px;grid-template-columns:26px minmax(0,1fr) auto}.bt-prof-count{min-width:16px;height:16px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.06);color:var(--tk-muted);font-size:7px;font-weight:800}
.bt-state{display:flex;align-items:center;gap:10px;min-width:0;color:var(--tk-muted)}
.bt-state-grid{grid-column:1/-1;align-self:start;width:min(360px,100%);min-height:78px;padding:14px;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}
.bt-state-inline{min-height:42px;padding:4px 6px}
.bt-state-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.045);color:var(--tk-muted)}
.bt-state-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bt-state-copy{display:grid;gap:2px;min-width:0}
.bt-state-copy b{color:var(--tk-text);font-size:10px;font-weight:800;letter-spacing:.01em}
.bt-state-copy small{max-width:280px;color:var(--tk-muted);font-size:9px;line-height:1.35;white-space:normal}
.bt-state-action{margin-left:auto;min-width:72px;height:30px;padding:0 10px;border:1px solid rgba(246,201,72,.28);border-radius:var(--tk-radius-sm);background:rgba(246,201,72,.08);color:var(--tk-gold);font:800 8px/1 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.bt-state-action:hover{background:rgba(246,201,72,.13)}
.bt-state[data-state="error"] .bt-state-icon,.bt-state[data-state="offline"] .bt-state-icon{color:#ff8b93;background:rgba(255,107,115,.08)}
.bt-state[data-state="empty"] .bt-state-icon{color:var(--tk-gold);background:rgba(246,201,72,.07)}
.bt-state[data-state="loading"] .bt-state-icon svg{animation:bt-state-spin 1.05s linear infinite}
@keyframes bt-state-spin{to{transform:rotate(360deg)}}

.bt-controlrail{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:5px clamp(6px,1.2vw,9px) 6px;border-bottom:1px solid var(--tk-border)}
.bt-ktabs{display:flex;gap:3px;flex:0 0 auto;padding-right:6px;border-right:1px solid var(--tk-border)}.bt-ktab{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);cursor:pointer}.bt-ktab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bt-ktab.on{color:var(--tk-gold-2);border-color:rgba(245,200,66,.22);background:var(--tk-gold-soft)}
.bt-cats{display:flex;gap:4px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}.bt-cats::-webkit-scrollbar{display:none}.bt-chip{height:27px;padding:0 clamp(7px,1vw,8px);border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);font-size:9px;font-weight:720;cursor:pointer;white-space:nowrap}.bt-chip:hover{background:rgba(255,255,255,.035);color:var(--tk-text)}.bt-chip.on{color:var(--tk-gold-2);border-color:rgba(245,200,66,.18);background:var(--tk-gold-soft)}

/* Grid de disparadores · F84: tamaño estable, contenido gráfico */
.bt-grid{--bt-cols:1;--bt-cell:96px;flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-columns:repeat(var(--bt-cols),var(--bt-cell));grid-auto-rows:var(--bt-cell);align-content:start;justify-content:start;gap:8px;padding:10px;overflow:hidden;overscroll-behavior:contain}
.bt-key{position:relative;width:96px;height:96px;padding:0;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:var(--tk-surface);overflow:hidden;cursor:pointer;contain:layout paint;isolation:isolate;transition:transform .08s ease,border-color .12s ease,opacity .12s ease,box-shadow .12s ease}
.bt-key:hover:not(.busy){transform:translateY(-1px);border-color:rgba(245,200,66,.34);box-shadow:0 8px 22px rgba(0,0,0,.24)}.bt-key:focus-visible{outline:2px solid var(--tk-gold);outline-offset:2px}
.bt-key:active,.bt-key.down,.bt-key.is-pressed{transform:translateY(1px) scale(.985)}
.bt-key.busy{opacity:.58;pointer-events:none}.bt-key.success{border-color:rgba(85,217,149,.7)}.bt-key.failure{border-color:rgba(255,107,115,.72)}
.bt-key-media{position:absolute;inset:0;display:block;background:var(--tk-bg-elev);overflow:hidden}
.bt-key-media::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(6,5,11,.78) 68%,rgba(6,5,11,.94));pointer-events:none}
.bt-key-media img,.bt-key img{display:block;width:100%;height:100%;object-fit:cover}
.bt-key-placeholder{display:grid;place-items:center;color:rgba(245,200,66,.72);background:radial-gradient(circle at 50% 35%,rgba(245,200,66,.09),transparent 46%),#12101c}
.bt-key-placeholder::after{display:none}.bt-key-placeholder svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.bt-key-caption{position:absolute;z-index:2;left:7px;right:7px;bottom:7px;min-width:0;pointer-events:none}
.bt-key-name{display:block;color:#fff;font-size:9px;font-weight:760;line-height:1.15;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 5px rgba(0,0,0,.72)}
.bt-slot-index{position:absolute;z-index:3;top:7px;left:7px;min-width:22px;height:18px;display:grid;place-items:center;padding:0 5px;border:1px solid rgba(255,255,255,.10);border-radius:7px;background:rgba(7,6,12,.64);color:rgba(255,255,255,.68);font-size:7px;font-weight:760;letter-spacing:.04em;backdrop-filter:blur(5px);pointer-events:none}
.bt-fav,.bt-owned{position:absolute;z-index:4;top:6px;right:6px;width:25px;height:25px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.11);border-radius:var(--tk-radius-sm);background:rgba(7,6,12,.68);color:#918a9d;backdrop-filter:blur(5px)}
.bt-fav{cursor:pointer}.bt-fav svg,.bt-owned svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bt-fav.on,.bt-key.is-favorite .bt-fav{color:var(--tk-gold-2);border-color:rgba(245,200,66,.30);background:rgba(245,200,66,.10)}
.bt-owned{color:var(--tk-violet-2);border-color:rgba(157,107,255,.24);background:rgba(157,107,255,.08);pointer-events:none}
.bt-key.is-creation{border-color:rgba(157,107,255,.18)}
.bt-key.last-fired::before{content:"";position:absolute;z-index:3;inset:3px;border:1px solid rgba(245,200,66,.42);border-radius:var(--tk-radius-sm);pointer-events:none}
.bt-flash{position:absolute;z-index:5;inset:0;border-radius:13px;background:radial-gradient(circle at center,rgba(245,200,66,.24),transparent 58%);box-shadow:inset 0 0 0 2px var(--tk-gold);opacity:0;pointer-events:none}

.bt-loading .bt-key{cursor:wait}.bt-loading .bt-fav{pointer-events:none}

/* Cámara */
body.bt-view-camera .bt-seg,body.bt-view-camera .bt-profiles,body.bt-view-camera .bt-controlrail,body.bt-view-camera .bt-grid,body.bt-view-camera .bt-foot{display:none!important}
body:not(.bt-view-camera) .bt-camera-panel{display:none!important}
.bt-camera-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin:8px;padding:8px;border:1px solid var(--tk-border);border-radius:15px;background:rgba(17,15,27,.92);overflow:hidden}
.bt-camera-hero{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:34px;padding:2px 3px 7px;border-bottom:1px solid var(--tk-border)}
.bt-camera-brandstate{min-width:0;display:flex;align-items:center;gap:7px;flex:1;color:var(--tk-muted);font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden}.bt-camera-brandstate span:last-child{overflow:hidden;text-overflow:ellipsis}
.bt-camera-led{width:8px;height:8px;border-radius:50%;background:#756f7e;flex:0 0 auto}.bt-camera-panel[data-engine="online"] .bt-camera-led{background:var(--tk-green);box-shadow:0 0 0 3px rgba(85,217,149,.09)}.bt-camera-panel[data-engine="offline"] .bt-camera-led{background:var(--tk-red);box-shadow:0 0 0 3px rgba(255,107,115,.09)}.bt-camera-panel[data-engine="degraded"] .bt-camera-led{background:#f2b94b;box-shadow:0 0 0 3px rgba(242,185,75,.10)}
.bt-camera-iconbtn{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);cursor:pointer}.bt-camera-iconbtn:hover{background:rgba(255,255,255,.045);color:var(--tk-text)}.bt-camera-iconbtn:disabled{opacity:.4;cursor:default}.bt-camera-iconbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bt-camera-nav{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 0;border-bottom:1px solid var(--tk-border)}
.bt-camera-nav button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);cursor:pointer}.bt-camera-nav button:hover{background:rgba(255,255,255,.04);color:var(--tk-text)}.bt-camera-nav button.on{color:var(--tk-gold-2);background:var(--tk-gold-soft);border-color:rgba(245,200,66,.18)}.bt-camera-nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.bt-camera-pane{min-height:0;display:flex;flex-direction:column;gap:8px;padding-top:8px;overflow:auto}.bt-camera-pane[hidden]{display:none!important}
.bt-camera-core{display:flex;flex-direction:column;gap:7px}
.bt-camera-use{width:min(420px,100%);min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) 10px;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(245,200,66,.22);border-radius:13px;background:linear-gradient(135deg,rgba(245,200,66,.10),rgba(255,255,255,.025));color:var(--tk-text);text-align:left;cursor:pointer}.bt-camera-use:hover{border-color:rgba(245,200,66,.38);background:linear-gradient(135deg,rgba(245,200,66,.14),rgba(255,255,255,.035))}.bt-camera-use.on{border-color:rgba(85,217,149,.3);background:linear-gradient(135deg,rgba(85,217,149,.10),rgba(255,255,255,.025))}.bt-camera-use:disabled{opacity:.48;cursor:default}
.bt-camera-use-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--tk-radius-sm);background:rgba(245,200,66,.10);color:var(--tk-gold-2)}.bt-camera-use.on .bt-camera-use-icon{background:rgba(85,217,149,.10);color:var(--tk-green)}.bt-camera-use-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bt-camera-use-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.bt-camera-use-copy b{font-size:10px;letter-spacing:.015em}.bt-camera-use-copy small{color:var(--tk-muted);font-size:8px}.bt-camera-use-led{width:8px;height:8px;border-radius:50%;background:#6d6675}.bt-camera-use.on .bt-camera-use-led{background:var(--tk-green);box-shadow:0 0 0 3px rgba(85,217,149,.08)}
.bt-camera-health{display:grid;grid-template-columns:repeat(3,84px);gap:5px;justify-content:start;margin:0}.bt-camera-health span{height:38px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;padding:0 7px;border:1px solid rgba(255,255,255,.045);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.025);color:var(--tk-muted)}.bt-camera-health svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bt-camera-health b{min-width:0;color:var(--tk-text);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-camera-advanced{border:1px solid var(--tk-border);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.018)}.bt-camera-advanced summary{height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;color:var(--tk-muted);font-size:9px;font-weight:700;cursor:pointer;list-style:none}.bt-camera-advanced summary::-webkit-details-marker{display:none}.bt-camera-advanced summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bt-camera-advanced[open] summary{color:var(--tk-text);border-bottom:1px solid var(--tk-border)}
.bt-camera-advanced-body{display:grid;gap:7px;padding:8px}.bt-camera-field{display:grid;grid-template-columns:76px minmax(120px,1fr);align-items:center;gap:7px;color:var(--tk-muted);font-size:8px}.bt-camera-field select{min-width:0;width:100%;height:30px;padding:0 26px 0 8px;border:1px solid var(--tk-border);border-radius:var(--tk-radius-sm);background:var(--tk-bg);color:var(--tk-text);font-size:9px}.bt-camera-advanced-status{display:flex;gap:5px;flex-wrap:wrap}.bt-camera-advanced-status span{min-width:86px;padding:6px 7px;border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.025);color:var(--tk-muted-2);font-size:7px}.bt-camera-advanced-status b{display:block;margin-top:2px;color:var(--tk-text);font-size:8px}
.bt-camera-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.bt-camera-pane-head b{display:block;font-size:11px}.bt-camera-pane-head small{display:block;margin-top:2px;color:var(--tk-muted);font-size:8px;line-height:1.3}
.bt-camera-group{padding:9px;border:1px solid var(--tk-border);border-radius:var(--tk-radius);background:rgba(255,255,255,.02)}.bt-camera-group-single{width:max-content;max-width:100%}.bt-camera-group-title{height:24px;display:flex;align-items:center;gap:6px;margin-bottom:7px;color:#ddd8e5;font-size:9px;font-weight:750}.bt-camera-group-title svg{width:14px;height:14px;fill:none;stroke:var(--tk-gold-2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bt-camera-control-grid{display:grid;grid-template-columns:repeat(auto-fill,176px);gap:7px;justify-content:start;align-items:start}.bt-camera-control{width:176px;height:56px;display:grid;grid-template-rows:auto 16px;gap:7px;padding:8px 9px;border:1px solid rgba(255,255,255,.05);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.025);cursor:pointer}.bt-camera-control:hover{border-color:rgba(245,200,66,.18);background:rgba(245,200,66,.035)}.bt-camera-control-head{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.bt-camera-control-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbc6d2;font-size:8px;font-weight:700}.bt-camera-control output{flex:0 0 auto;min-width:30px;padding:2px 5px;border-radius:6px;background:rgba(0,0,0,.22);color:var(--tk-muted);font-size:7px;text-align:center}.bt-camera-control input[type="range"]{width:100%;height:16px;margin:0;appearance:none;background:transparent;cursor:pointer}.bt-camera-control input[type="range"]::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(245,200,66,.55),rgba(255,255,255,.10))}.bt-camera-control input[type="range"]::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px;appearance:none;border:2px solid var(--tk-surface);border-radius:50%;background:var(--tk-gold-2);box-shadow:0 0 0 1px rgba(245,200,66,.25)}.bt-camera-control input[type="range"]:focus-visible{outline:none}.bt-camera-control:has(input:focus-visible){border-color:rgba(245,200,66,.42);box-shadow:0 0 0 2px rgba(245,200,66,.10)}
.bt-camera-switch{width:176px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:7px 9px;border:1px solid rgba(255,255,255,.05);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.02);cursor:pointer}.bt-camera-switch>span{min-width:0}.bt-camera-switch b{display:block;color:#cbc6d2;font-size:8px}.bt-camera-switch small{display:block;margin-top:2px;color:var(--tk-muted-2);font-size:7px}.bt-camera-switch input{position:absolute;opacity:0;pointer-events:none}.bt-camera-switch i{position:relative;width:30px;height:16px;flex:0 0 auto;border-radius:999px;background:#393441;transition:background .16s ease}.bt-camera-switch i:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#aaa2b1;transition:transform .16s ease,background .16s ease}.bt-camera-switch input:checked+i{background:rgba(245,200,66,.24)}.bt-camera-switch input:checked+i:after{transform:translateX(14px);background:var(--tk-gold-2)}
.bt-camera-swatch{width:176px;height:56px;display:grid;grid-template-columns:minmax(0,1fr) 30px;grid-template-rows:1fr auto;gap:2px 8px;align-items:center;padding:7px 9px;border:1px solid rgba(255,255,255,.05);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.025);cursor:pointer}.bt-camera-swatch>span{min-width:0}.bt-camera-swatch b{display:block;color:#cbc6d2;font-size:8px}.bt-camera-swatch small{display:block;color:var(--tk-muted-2);font-size:7px}.bt-camera-swatch input[type="color"]{grid-column:2;grid-row:1/3;width:30px;height:30px;padding:2px;border:1px solid rgba(255,255,255,.09);border-radius:var(--tk-radius-sm);background:var(--tk-bg);cursor:pointer}.bt-camera-swatch output{font-size:7px;color:var(--tk-muted-2)}
.bt-camera-note{margin:2px 0;color:var(--tk-muted);font-size:8px;line-height:1.4}.bt-camera-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2px}.bt-camera-footer p{margin:0}.bt-camera-footer code{color:var(--tk-muted-2);font-size:8px}.bt-camera-error{color:#ff9aa0!important}

/* Footer / paginación */
.bt-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 9px 7px}.bt-page-arrow,.bt-pages button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--tk-radius-sm);background:transparent;color:var(--tk-muted);font-size:9px;font-weight:750;cursor:pointer}.bt-page-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bt-page-arrow:hover,.bt-pages button:hover{background:rgba(255,255,255,.035);color:var(--tk-text)}.bt-pages{min-width:0;display:flex;align-items:center;justify-content:center;gap:2px;overflow:hidden}.bt-pages button.on{color:var(--tk-gold-2);border-color:rgba(245,200,66,.2);background:var(--tk-gold-soft)}.bt-foot button:disabled,.bt-head button:disabled,.bt-ktab:disabled,.bt-chip:disabled{opacity:.38;cursor:default}.bt-page-gap{padding:0 2px;color:var(--tk-muted-2);font-size:8px}.bt-page{color:var(--tk-gold-2);font-size:9px;font-weight:800}

/* Diagnóstico opcional (?diag=1): mismo sistema visual, sin estilos inline. */
.bt-diag-panel{position:fixed;top:8px;right:8px;width:min(340px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;z-index:999999;padding:10px;border:1px solid var(--tk-border-strong);border-radius:var(--tk-radius);background:rgba(18,16,28,.97);box-shadow:var(--tk-shadow);color:var(--tk-text);font-size:9px;line-height:1.4}
.bt-diag-head{display:grid;gap:3px;margin-bottom:8px}.bt-diag-head>b{color:var(--tk-gold-2);font-size:10px}.bt-diag-head>span{color:var(--tk-muted)}.bt-diag-state{font-weight:800}.bt-diag-state.up{color:#aaf1c8}.bt-diag-state.down{color:#ffadb2}.bt-diag-state.unknown{color:var(--tk-muted)}
.bt-diag-actions{display:flex;gap:6px;margin-bottom:8px}.bt-diag-btn{flex:1;height:28px;padding:0 7px;border:1px solid var(--tk-border);border-radius:var(--tk-radius-sm);background:rgba(255,255,255,.035);color:var(--tk-text);font-size:8px;font-weight:700;cursor:pointer}.bt-diag-btn:hover{border-color:rgba(245,200,66,.22);background:var(--tk-gold-soft)}
.bt-diag-rows{display:grid;gap:2px;padding-top:7px;border-top:1px solid var(--tk-border)}.bt-diag-event{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px}.bt-diag-event.good{color:#aaf1c8}.bt-diag-event.bad{color:#ffadb2}.bt-diag-event.neutral{color:var(--tk-muted)}

/* Feedback */
.bt-status{position:fixed;left:10px;right:10px;bottom:10px;z-index:120;min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 11px;border:1px solid var(--tk-border);border-radius:var(--tk-radius-sm);background:rgba(18,16,28,.96);box-shadow:var(--tk-shadow);color:var(--tk-text);font-size:9px;font-weight:650;text-align:left;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.bt-status.on{opacity:1;transform:none}.bt-status-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:rgba(255,255,255,.045)}.bt-status-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bt-status-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.bt-status.ok{border-color:rgba(85,217,149,.38);color:#aaf1c8}.bt-status.warn{border-color:rgba(245,200,66,.38);color:#ffe59a}.bt-status.err{border-color:rgba(255,107,115,.4);color:#ffadb2}.bt-status.info{color:var(--tk-text)}
.bt-session-end{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;background:rgba(9,8,18,.96);text-align:center}.bt-session-end div{max-width:390px}.bt-session-end h2{margin:0 0 8px;font-size:19px}.bt-session-end p{margin:0;color:var(--tk-muted);font-size:11px;line-height:1.5}

/* Geometría/adaptabilidad: tamaños estables y modo compacto de la misma consola. */
.bt-compact-launcher{position:fixed;inset:6px;width:60px;height:60px;padding:0;border:1px solid rgba(245,200,66,.24);border-radius:var(--tk-radius-lg);background:radial-gradient(circle at 35% 25%,rgba(245,200,66,.16),transparent 48%),#100e19;box-shadow:0 12px 34px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.025);cursor:pointer;z-index:500;-webkit-app-region:no-drag;transform-origin:center}
.bt-compact-drag{position:absolute;top:2px;left:18px;right:18px;height:6px;border-radius:999px;-webkit-app-region:drag;cursor:grab;background:rgba(255,255,255,.08)}
.bt-compact-launcher[hidden]{display:none!important}.bt-compact-logo{position:absolute;inset:9px;display:grid;place-items:center;border-radius:13px;overflow:hidden;-webkit-app-region:no-drag}.bt-compact-logo img{width:100%;height:100%;object-fit:contain}.bt-compact-led{position:absolute;right:7px;bottom:7px;width:8px;height:8px;border:2px solid var(--tk-bg-elev);border-radius:50%;background:var(--tk-green);box-shadow:0 0 0 2px rgba(85,217,149,.10)}
body.bt-console-compact{background:transparent!important}body.bt-console-compact> :not(.bt-icon-sprite):not(.bt-compact-launcher){display:none!important}body.bt-console-compact .bt-compact-launcher{display:block!important;animation:btCompactIn .18s var(--tk-motion)}
body.bt-console-compacting> :not(.bt-icon-sprite):not(.bt-compact-launcher){opacity:.25;transform:scale(.975);transform-origin:top right;transition:opacity .15s ease,transform .15s ease}body.bt-console-expanding> :not(.bt-icon-sprite):not(.bt-compact-launcher){animation:btConsoleExpand .18s var(--tk-motion)}
@keyframes btCompactIn{from{opacity:0;transform:scale(.72) rotate(-4deg)}to{opacity:1;transform:none}}@keyframes btConsoleExpand{from{opacity:.25;transform:scale(.975)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .bt-head{gap:5px;padding:7px}.bt-wordmark{display:none}.bt-mark{width:30px;height:30px;flex-basis:30px}.bt-icon-tab,.bt-head-icon{width:30px;height:30px}.bt-camera-pane-head small{display:none}
}
@media(max-width:540px){
  .bt-seg{display:none}.bt-camera-panel{margin:5px;padding:7px}.bt-release-center{padding:8px}
}
@media(max-width:300px){
  .bt-head{gap:2px;padding:6px 4px}.bt-mark{width:28px;height:28px;flex-basis:28px}.bt-workspace-switch{gap:1px;padding:2px}.bt-icon-tab,.bt-head-icon{width:28px;height:28px}.bt-linkstate{width:18px;flex-basis:18px}.bt-head-actions{gap:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.bt-state[data-state="loading"] .bt-state-icon svg{animation:none!important}}

.bt-clipboard-proxy{position:fixed;left:-9999px;top:-9999px;opacity:0;pointer-events:none}

/* F102.5.2 · orientación privada de CameraLayer. */
.bt-camera-transform-box{display:grid;gap:7px;padding:9px;border:1px solid var(--tk-line);border-radius:10px;background:rgba(255,255,255,.018)}
.bt-camera-transform-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-camera-transform-head>span{display:grid;gap:1px}.bt-camera-transform-head b{font-size:9px;color:var(--tk-text)}.bt-camera-transform-head small{font-size:8px;color:var(--tk-muted)}
.bt-camera-mini-btn{border:1px solid var(--tk-line);border-radius:7px;background:var(--tk-panel-2);color:var(--tk-muted);font:700 8px/1.1 inherit;padding:6px 8px;cursor:pointer}.bt-camera-mini-btn:hover{color:var(--tk-text);border-color:var(--tk-line-strong)}
.bt-camera-transform-switch{margin-top:0}.bt-camera-transform-warning{margin:0;color:#c7b77f;font-size:8px;line-height:1.45}.bt-camera-transform-warning b{color:#e5d291}

/* F103.31.37 · autoría + favorito sin solaparse. Mantiene HTML libre de estilos inline. */
.bt-key.is-creation .bt-owned{right:36px}
