/* Reference composition: live controls over independent photographic backgrounds. */
:root[data-theme=dark] {
  --b1x-muted:#b7cde5;
  --b1x-border:rgba(166,211,244,.6);
  --b1x-glass:rgba(6,24,40,.58);
  --b1x-control:rgba(16,41,62,.62);
  --b1x-shadow:0 4px 16px rgba(0,8,18,.16);
  --b1x-sheen:rgba(152,206,246,.22);
}
:root[data-theme=light] {
  --b1x-text:#061743;
  --b1x-muted:#31538a;
  --b1x-glass:rgba(238,248,255,.43);
  --b1x-control:rgba(248,253,255,.68);
  --b1x-shadow:0 3px 12px rgba(43,118,193,.12);
}
.shell { --sidebar:262px;--header:60px;padding:10px;column-gap:10px;row-gap:0; }
.sidebar { margin:0;height:auto;padding:20px 9px 16px;border-radius:17px; }
.topbar { margin:0;padding:6px 16px;gap:12px;min-height:0;border-radius:17px; }
.topbar .icon { min-width:32px;width:32px;padding:6px; }
.topbar .icon .icon-2d { width:17px;height:17px; }
.topbar .theme-toggle-btn { border-radius:24px;font-size:13px;padding:6px 14px;min-height:38px; }
.topbar .connection { font-size:11px;font-weight:500; }
.topbar #richard-launcher { width:40px;height:44px;margin-left:8px; }
.launch-signin { margin-left:auto;min-width:114px;min-height:44px;font-size:15px;font-weight:600; }
.brand.identity, :root[data-theme] .brand.identity { background:none;border:0;box-shadow:none;padding:0 0 18px;margin:0 0 10px; }
.brand.identity img { width:184px;height:80px;max-height:80px;object-fit:fill;border-radius:6px;filter:drop-shadow(0 0 8px #00c8e02e); }
.brand.identity small { font-size:10px;letter-spacing:2px;margin-top:8px; }
.sidebar .nav, .new-chat { min-height:44px;font-size:14px;font-weight:400; }
.new-chat { min-height:48px;font-size:13px;font-weight:600;border-radius:10px; }
.sidebar .nav.active { font-weight:600; }
.sidebar .section-label { margin:22px 10px 8px;font:10px/1.5 var(--mono);letter-spacing:1px; }
.sidebar .nav .icon-2d { color:var(--muted); }
.sidebar .nav.active .icon-2d, .sidebar #deck-open .icon-2d { color:var(--cyan); }
.sidebar #deck-open { margin-top:8px;border:1px solid var(--cyan);border-radius:10px;color:var(--cyan); }
.sidebar .company { font-size:13px;line-height:1.6;padding:16px 10px 0; }
.sidebar .company small { font-size:10px;opacity:1;margin-top:7px; }
.launch-home { max-width:1116px;padding:78px 36px 28px;position:relative;left:-6px; }
.launch-eyebrow { font:600 13px/1.6 var(--mono);letter-spacing:2px;margin:0 0 12px; }
.launch-home h1 { font-size:50px;font-weight:600;letter-spacing:-1.6px;line-height:1.152;margin:0 0 25px; }
.launch-home .composer-area { padding:0;margin:0;width:100%; }
.composer-area>.task-monitor { margin:0 0 10px; }
.task-monitor summary { padding:10px 14px;font-size:13px;font-weight:500;line-height:1.4; }
.task-monitor summary::before { color:var(--text); }
.launch-home .composer { margin:0;width:100%;max-width:none;min-height:120px;padding:14px 18px 12px;border-radius:20px; }
:root[data-theme=dark] .launch-home .composer { border-color:#00e5ff;box-shadow:inset 0 1px 10px #00dcff50,0 0 16px #00d9ff25; }
:root[data-theme=light] .launch-home .composer { border:1px solid #58a8ff;outline:3px solid #f5fcff;outline-offset:3px;box-shadow:inset 0 0 12px #fff,0 0 14px #65b0ff30; }
.launch-home #prompt { padding:4px 0;min-height:44px;height:44px!important;font-size:16px; }
.launch-home #prompt::placeholder { opacity:1; }
.composer-toolbar { padding:4px 0 0;gap:8px; }
.composer-toolbar .composer-btn, .composer-toolbar .send, .composer-toolbar .stop-btn { width:32px;min-width:32px;height:32px;color:var(--text); }
#composer-image-btn { border-radius:9px!important; }
.composer-toolbar .icon-2d { width:15px;height:15px; }
.composer-toolbar #profile { height:32px;max-width:180px;width:auto;flex:0 1 180px;font-size:12px;border-radius:16px;padding:0 26px 0 10px; }
.composer-toolbar .send { width:32px;min-width:32px;height:32px; }
.launch-grid { margin:24px 0 0;gap:16px; }
.launch-tool { min-height:147px;padding:18px 16px;gap:9px;border-radius:19px; }
.launch-tool svg, .launch-tool .icon-2d.sm { width:34px;height:34px; }
.launch-tool strong { font-size:20px;font-weight:650;line-height:1.4;margin:0; }
.launch-tool small { font-size:14px;line-height:1.5; }
:root[data-theme=dark] .launch-tool { border-color:rgba(170,214,247,.65);box-shadow:inset 0 1px 2px #c3e9ff66,inset 0 -2px 10px #4bbbff20,0 3px 9px #00102030; }
:root[data-theme=light] .launch-tool { border:1px solid #faffff;box-shadow:inset 0 2px 6px #fff,inset 0 -2px 5px #fff,0 0 0 3px #eef9ff66,0 4px 12px #508ad51f; }
.launch-tool .companion-icon-box { width:40px;height:40px;border-radius:4px;background:#001321; }
.launch-tool .companion-icon-box img { width:38px;height:38px; }
:root[data-theme=dark] .launch-tool {
  background-image:linear-gradient(132deg,transparent 5%,#86caff20 12%,transparent 20%,transparent 68%,#7dc8ff18 80%,transparent 92%),var(--surface-sheen);
}
:root[data-theme=light] .launch-signin, :root[data-theme=light] .composer-toolbar .send {
  border:1px solid #f0fdff;background:linear-gradient(180deg,#37cfff 0%,#0075fa 34%,#0054d9 70%,#119fff 100%);
  box-shadow:inset 0 1px 5px #fff,inset 0 -1px 4px #56d9ff,0 4px 12px #178ddd55;
}
:root[data-theme=light] .composer-toolbar .composer-btn { box-shadow:inset 0 1px 3px #fff,0 5px 10px #4d91cf30; }
.launch-footer { min-height:68px;align-items:center;font-size:11px;padding:18px 20px;border-color:var(--line); }
#floating-lens-btn { right:-8px;bottom:90px;width:70px;height:60px;border-radius:32px 0 0 32px;border-color:var(--cyan); }
#floating-lens-btn svg { width:34px;height:34px; }
@media(min-width:1101px) and (min-height:900px) { .sidebar-foot { padding-bottom:88px; } }
@media(max-width:1100px) {
  .launch-home { left:0;padding:36px 24px 24px; }
  .launch-home h1 { font-size:36px; }
  .launch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .topbar .breadcrumb, .topbar .connection, .topbar #theme-label { display:none; }
}
@media(max-width:900px) { .sidebar { position:fixed;z-index:50; } }
@media(max-width:768px) {
  .shell { --sidebar:0px;--header:64px;padding:0;column-gap:0; }
  .sidebar { height:100dvh;border-radius:0;padding:20px 14px; }
  .topbar { border-radius:0;padding:8px 12px;gap:8px; }
  .mobile-brand { display:block;width:100px;max-width:26vw;height:36px;object-fit:contain; }
  .topbar #canvas-toggle, .topbar #inspector-toggle, .topbar #richard-launcher { display:none; }
  .topbar .theme-toggle-btn { display:inline-flex;min-width:44px;min-height:44px;margin-left:auto;padding:8px; }
  .launch-signin { min-width:0;margin-left:0;padding:9px 14px;font-size:13px; }
  .launch-home { padding:28px 18px 24px; }
  .launch-home h1 { font-size:32px;margin-bottom:24px; }
  .launch-eyebrow { font-size:10px;letter-spacing:1.2px; }
  .launch-home .composer { padding:16px; }
  .launch-home #prompt { font-size:16px; }
  .composer-toolbar { gap:8px; }
  .composer-toolbar .composer-btn, .composer-toolbar .send { width:44px;min-width:44px;height:44px; }
  .composer-toolbar #profile { max-width:none;min-width:0;flex:1; }
  .launch-tool { min-height:144px; }
  .launch-tool strong { font-size:17px; }
  .launch-tool small { font-size:13px; }
  .launch-footer { flex-direction:column;gap:4px; }
  #floating-lens-btn { right:8px;bottom:12px;width:44px;height:44px;border-radius:50%; }
}
@media(max-width:640px) {
  .launch-grid { grid-template-columns:1fr; }
  .composer-toolbar { display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px 44px; }
  .composer-toolbar #profile { grid-row:2;grid-column:1/-1;width:100%; }
  .composer-toolbar #composer-voice-btn { grid-column:4;grid-row:1;margin:0; }
  .composer-toolbar #send, .composer-toolbar #stop { grid-column:5;grid-row:1; }
  .task-monitor summary { white-space:normal;font-size:12px; }
}
@media(max-width:350px) { .launch-home { padding:24px 12px; }.launch-home .composer { padding:12px; }.composer-toolbar { gap:4px; }.launch-home h1 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .launch-tool:hover, .launch-tool:hover svg, .launch-tool:hover img, .composer-toolbar .send:hover { transform:none; } }
@media(prefers-reduced-transparency:reduce) { .sidebar,.topbar,.launch-tool,.task-monitor,.launch-home .composer { background:var(--surface-strong);backdrop-filter:none; } }
@media(forced-colors:active) { .launch-tool,.launch-home .composer { border-color:ButtonText!important;outline:none!important;box-shadow:none!important; } }
