.app-shell{display:flex;flex-direction:column;min-width:0;color:var(--text, #e7edf4);font-family:var(--font, "Segoe UI", system-ui, sans-serif);background:var(--raised, #121b24)}.app-shell-primary,.app-shell-secondary{display:flex;align-items:center;min-width:0;gap:12px;padding:0 14px}.app-shell-primary{min-height:52px;gap:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--raised, #121b24) 92%,#1a2a3a) 0%,var(--raised, #121b24) 100%);border-bottom:1px solid color-mix(in srgb,var(--interaction, #4da3f5) 18%,transparent);box-shadow:inset 0 -1px #ffffff08}.app-shell[data-surface=dev] .app-shell-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--raised, #121b24) 88%,#2a2414) 0%,var(--raised, #121b24) 100%);border-bottom-color:color-mix(in srgb,var(--pass, #d7a847) 28%,transparent)}.app-shell[data-surface=lab] .app-shell-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--raised, #121b24) 88%,#1e1830) 0%,var(--raised, #121b24) 100%);border-bottom-color:color-mix(in srgb,#a78bfa 30%,transparent);flex-wrap:wrap;row-gap:10px;padding-block:10px}.app-shell-secondary{min-height:40px;gap:8px;background:color-mix(in srgb,var(--canvas, #080d12) 88%,var(--surface, #0d141b));border-top:1px solid color-mix(in srgb,var(--border-subtle, #263442) 80%,transparent)}.app-shell-secondary>*{flex-shrink:0}.app-shell-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;white-space:nowrap;min-width:0}.app-shell-mark{flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:linear-gradient(145deg,color-mix(in srgb,var(--interaction, #4da3f5) 88%,#fff) 0%,var(--interaction, #4da3f5) 48%,color-mix(in srgb,var(--long, #2db6a3) 70%,var(--interaction, #4da3f5)) 100%);box-shadow:0 0 0 1px #ffffff14 inset,0 4px 10px #00000047;position:relative}.app-shell-mark:after{content:"";position:absolute;top:6px;right:5px;bottom:5px;left:6px;border-radius:2px;border-left:2px solid rgba(255,255,255,.92);border-bottom:2px solid rgba(255,255,255,.72);transform:skew(-12deg);opacity:.95}.app-shell[data-surface=dev] .app-shell-mark{background:linear-gradient(145deg,color-mix(in srgb,var(--pass, #d7a847) 90%,#fff) 0%,var(--pass, #d7a847) 55%,#b8862e 100%)}.app-shell[data-surface=lab] .app-shell-mark{background:linear-gradient(145deg,#c4b5fd,#8b5cf6 55%,#6d28d9)}.app-shell-brand-text{display:inline-flex;align-items:center;gap:8px;min-width:0}.app-shell-name{font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary, #e7edf4)}.app-shell-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.app-shell-badge[data-surface=trader]{color:#5eead4;background:color-mix(in srgb,var(--long, #2db6a3) 16%,transparent);border-color:color-mix(in srgb,var(--long, #2db6a3) 42%,transparent)}.app-shell-badge[data-surface=dev]{color:#f0c674;background:color-mix(in srgb,var(--pass, #d7a847) 16%,transparent);border-color:color-mix(in srgb,var(--pass, #d7a847) 48%,transparent)}.app-shell-badge[data-surface=lab]{color:#c4b5fd;background:#8b5cf629;border-color:#a78bfa73}.app-shell-market,.app-shell-account,.app-shell-data{display:flex;align-items:center;min-width:0;gap:10px}.app-shell-market{flex:0 0 auto;gap:12px}.app-shell-venue-cluster{display:inline-flex;align-items:center;gap:8px;min-width:0}.app-shell-venue{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-strong, #3a4c5f) 90%,transparent);background:color-mix(in srgb,var(--canvas, #080d12) 70%,transparent);color:var(--text-secondary, #91a0af);font-family:var(--mono, ui-monospace, monospace);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.app-shell-data{flex:1 1 220px;gap:8px;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--border-subtle, #263442) 90%,transparent);overflow:hidden}.app-shell-account{flex:0 0 auto;gap:6px;margin-left:auto;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--border-subtle, #263442) 90%,transparent)}.app-shell-field{display:inline-flex;align-items:center;gap:6px;color:var(--muted, #91a0af);font-size:11px}.app-shell-field>span,.app-shell-cluster-label{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700;color:#6f8295}.app-shell-secondary-label{flex:0 0 auto}.app-shell-symbol{color:var(--text, #e7edf4);font-family:var(--mono, ui-monospace, monospace);font-size:13px;font-weight:650;letter-spacing:.02em}.app-shell .tf-group,.app-shell-seg{display:inline-flex;align-items:center;gap:0}.app-shell-seg>span{margin-right:6px}.app-shell .tf-btn{background:color-mix(in srgb,var(--canvas, #080d12) 85%,transparent);border:1px solid color-mix(in srgb,var(--border-strong, #3a4c5f) 90%,transparent);color:var(--muted, #91a0af);min-width:34px;min-height:30px;border-radius:0;padding:4px 8px;cursor:pointer;font-weight:650;font-size:12px;margin-left:-1px}.app-shell .tf-btn:first-of-type{margin-left:0;border-radius:var(--control-radius, 6px) 0 0 var(--control-radius, 6px)}.app-shell .tf-btn:last-of-type{border-radius:0 var(--control-radius, 6px) var(--control-radius, 6px) 0}.app-shell .tf-btn:only-of-type{border-radius:var(--control-radius, 6px)}.app-shell .tf-btn:hover{color:var(--text, #e7edf4);border-color:#4a6078;z-index:1}.app-shell .tf-btn.active{background:color-mix(in srgb,var(--interaction, #4da3f5) 18%,transparent);border-color:var(--accent, #4da3f5);color:var(--text, #e7edf4);z-index:1}.app-shell[data-surface=dev] .tf-btn.active{background:color-mix(in srgb,var(--pass, #d7a847) 18%,transparent);border-color:var(--pass, #d7a847)}.app-shell-mode{flex:0 0 auto;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--border-subtle, #263442) 90%,transparent)}.app-shell-status-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--text-secondary, #91a0af) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-secondary, #91a0af) 12%,transparent)}.app-shell-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono, ui-monospace, monospace);font-size:12px;color:#b7c6d6}.app-shell-auth{min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--muted, #91a0af)}.app-shell .btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:var(--control-radius, 6px);border:1px solid color-mix(in srgb,var(--border-strong, #3a4c5f) 95%,transparent);background:color-mix(in srgb,var(--surface, #0d141b) 92%,transparent);color:var(--text, #e7edf4);font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}.app-shell .btn.quiet{background:transparent;color:var(--muted, #91a0af)}.app-shell .btn.quiet:hover{color:var(--text, #e7edf4);border-color:#4a6078}.app-shell .btn.primary{background:linear-gradient(180deg,#3d8fd6,#2f73ad);border-color:var(--interaction, #4da3f5);color:#f4f9ff}.app-shell .btn.primary:hover{filter:brightness(1.06)}.app-shell[data-surface=dev] .btn.primary{background:linear-gradient(180deg,#c9a04a,#9a782f);border-color:var(--pass, #d7a847);color:#1a1408}.app-shell .toolbar-link{display:inline-flex;align-items:center;min-height:30px;padding:0 8px;border:1px solid transparent;border-radius:var(--control-radius, 6px);color:var(--accent, #4da3f5);font-size:11px;font-weight:650;text-decoration:none;white-space:nowrap}.app-shell .toolbar-link:hover{border-color:color-mix(in srgb,var(--border-strong, #3a4c5f) 90%,transparent);background:color-mix(in srgb,var(--raised, #121b24) 80%,transparent)}.app-shell-lab-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.app-shell-lab-title{margin:0;font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.2}.app-shell-lab-links{display:inline-flex;gap:10px}.app-shell-lab-links a{color:var(--accent, #4da3f5);text-decoration:none;font-size:12px}.app-shell-lab-links a:hover{text-decoration:underline}.app-shell-lab-meta{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--muted, #91a0af);padding-left:12px;border-left:1px solid color-mix(in srgb,var(--border-subtle, #263442) 90%,transparent)}.app-shell-lab-meta #lab-status[data-kind=err]{color:var(--danger, #f06461)}.app-shell-lab-meta #lab-status[data-kind=busy]{color:var(--pass, #d7a847)}.app-shell-lab-meta #lab-status[data-kind=err]~.app-shell-status-dot,.app-shell-lab-meta:has(#lab-status[data-kind=err]) .app-shell-status-dot{background:var(--danger, #f06461);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger, #f06461) 18%,transparent)}.app-shell-lab-meta:has(#lab-status[data-kind=busy]) .app-shell-status-dot{background:var(--pass, #d7a847);box-shadow:0 0 0 3px color-mix(in srgb,var(--pass, #d7a847) 18%,transparent)}.app-shell #lab-counts{display:flex;flex-wrap:wrap;gap:6px}.app-shell-lab-tools{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto;align-items:center}.app-shell-lab-tools input{background:var(--bg, #080d12);border:1px solid var(--border, #263442);color:var(--text, #e7edf4);border-radius:var(--control-radius, 6px);padding:5px 8px;font-family:var(--mono, ui-monospace, monospace);font-size:12px;width:180px}.app-shell-lab-tools button{background:var(--bg, #080d12);border:1px solid var(--border, #263442);color:var(--text, #e7edf4);border-radius:var(--control-radius, 6px);padding:5px 10px;font-size:12px;cursor:pointer}.app-shell-lab-tools button.active,.app-shell-lab-tools button.primary,.app-shell-lab-pages button.active{border-color:var(--accent, #4da3f5);color:var(--accent, #4da3f5)}.app-shell-lab-tools button.primary{background:color-mix(in srgb,var(--interaction, #4da3f5) 14%,transparent);font-weight:650}.app-shell-lab-pages{display:flex;gap:6px;width:100%;padding:0 14px 10px;background:color-mix(in srgb,var(--canvas, #080d12) 55%,var(--raised, #121b24));border-bottom:1px solid color-mix(in srgb,var(--border-subtle, #263442) 80%,transparent)}.app-shell-lab-pages button{background:var(--bg, #080d12);border:1px solid var(--border, #263442);color:var(--text, #e7edf4);border-radius:var(--control-radius, 6px);padding:5px 12px;font-size:12px;cursor:pointer}.app-shell .field select{background:var(--bg, #080d12);border:1px solid var(--border, #263442);color:var(--text, #e7edf4);border-radius:var(--control-radius, 6px);padding:5px 8px;font-family:var(--font, "Segoe UI", system-ui, sans-serif);font-size:12px;font-weight:600;min-width:128px;cursor:pointer}@media(max-width:1023px){.app-shell-primary{gap:10px;padding-inline:12px}.app-shell-name{font-size:11px}.app-shell-data{flex-basis:120px}.app-shell-auth{max-width:80px}}@media(max-width:900px){.app-shell-auth{display:none}.app-shell-primary{flex-wrap:wrap;padding-block:8px}.app-shell-data{order:4;flex-basis:100%;min-height:24px;padding-left:0;border-left:0}.app-shell-account{margin-left:0}}@media(max-width:639px){.app-shell-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:8px}.app-shell-brand{grid-column:1;grid-row:1}.app-shell-account{grid-column:2;grid-row:1;padding-left:0;border-left:0}.app-shell-account .btn{padding-inline:7px;font-size:11px}.app-shell-mode{grid-column:1 / -1;grid-row:2;padding-left:0;border-left:0}.app-shell-market{grid-column:1 / -1;grid-row:3;justify-content:space-between;gap:6px;flex-wrap:wrap}.app-shell-data{grid-column:1 / -1;grid-row:4}.app-shell .tf-btn{min-width:32px;padding-inline:6px}.app-shell-secondary{min-height:40px;padding-inline:8px}.app-shell-venue{display:none}}
