:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{min-width:320px}button,input{font:inherit}.app-shell{color:#e2e8f0;background:radial-gradient(circle at top,#38bdf80f,#0000 28%),linear-gradient(#050b1d 0%,#091225 48%,#040815 100%);min-height:100vh;padding:0;position:relative;overflow:hidden}.leva-scene{z-index:90;position:fixed;top:72px;right:20px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#7dd3fc;margin:0 0 8px;font-size:12px;font-weight:700}.app-grid{z-index:1;min-height:100vh;position:relative}.app-shell.embed-mode{background:#050b1d;min-height:100vh}.app-shell.embed-mode .scene-column{margin-right:0}.app-shell.embed-mode .transport-bar{border-radius:24px;width:min(560px,100vw - 32px);bottom:16px;left:50%;right:auto;transform:translate(-50%)}.scene-column{height:100vh;margin-right:var(--open-sidebar-width,0px);transition:margin .18s;position:relative}.transport-bar{justify-content:flex-start;align-items:center;gap:8px;padding:8px 10px;display:flex}.transport-spacer{flex:auto}.transport-button,.transport-icon-button{appearance:none;cursor:pointer;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;transition:transform .14s,background .14s,color .14s;display:inline-flex}.transport-button{color:#eff6ff;background:#60a5fa38;width:44px;height:44px;font-weight:700}.transport-icon-button{color:#dbeafe;background:#dbeafe1a;width:38px;height:38px}.transport-button:hover,.transport-button:focus-visible,.transport-icon-button:hover,.transport-icon-button:focus-visible{background:#60a5fa47;transform:translateY(-1px)}.overlay-card,.panel-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#091023b8;border:1px solid #94a3b829;border-radius:24px;box-shadow:0 30px 70px #02061759}.selected-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.selected-header-actions{align-items:center;gap:8px;display:inline-flex}.selected-close{appearance:none;color:#e2e8f0;width:32px;height:32px;font:inherit;cursor:pointer;background:#94a3b824;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.selected-close:hover,.selected-close:focus-visible{background:#94a3b83d}.scene-overlay-bottom p{color:#e2e8f0d1;margin:0;font-size:.84rem;line-height:1.42}.selected-meta{color:#bfdbfee0;flex-wrap:wrap;gap:8px;font-size:.8rem;display:flex}.selected-focus{appearance:none;color:#e0f2fe;font:inherit;cursor:pointer;background:#3b82f62e;border:1px solid #7dd3fc2e;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:700;line-height:1}.selected-focus:hover,.selected-focus:focus-visible{background:#3b82f647}.control-panel{top:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:min(var(--sidebar-width,380px), 100vw);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:80;background:#030814b8;transition:transform .18s;position:fixed;overflow:hidden;transform:translate(100%)}.control-panel.open{transform:translate(0)}.control-panel-resize{cursor:ew-resize;touch-action:none;z-index:2;justify-content:center;align-items:center;width:16px;display:flex;position:absolute;top:0;bottom:0;left:-8px}.control-panel-grip{background:#7dd3fce6;border-radius:999px;width:4px;height:64px;box-shadow:0 0 0 4px #7dd3fc24}.control-panel-scroll{align-content:start;gap:16px;height:100%;padding:16px;display:grid;overflow:auto}.control-panel-scroll:has(.chat-panel-card){padding:0;overflow:hidden}.chat-panel-card{height:100%;min-height:0;box-shadow:none;background:radial-gradient(circle at 18% 0,#0ea5e924,#0000 32%),linear-gradient(#070d1ff5,#030814f0);border-color:#7dd3fc1a;border-radius:0;flex-direction:column;padding:0;overflow:hidden;display:flex!important}.chat-panel-card .legend-header{border-bottom:1px solid #94a3b81f;padding:24px 26px 18px}.chat-panel-card .legend-hint{color:#cbd5e1b8;margin-top:8px;font-size:.86rem}.native-chat-messages{flex:1;align-content:end;gap:14px;min-height:0;padding:22px 26px;display:grid;overflow:auto}.native-chat-bubble{color:#e2e8f0e6;background:#0f172aad;border:1px solid #94a3b829;border-radius:22px;padding:14px 16px;line-height:1.55}.native-chat-empty{color:#cbd5e1b8;background:radial-gradient(circle at 100% 0,#0ea5e91f,#0000 45%),#0f172a85;border:1px solid #94a3b824;border-radius:26px;justify-self:stretch;align-items:center;min-height:116px;margin:auto 0 0;padding:20px 22px;font-size:1.03rem;line-height:1.65;display:flex;box-shadow:inset 0 1px #ffffff0a}.native-chat-bubble{white-space:pre-wrap;max-width:min(88%,520px);box-shadow:0 18px 45px #02061733}.native-chat-bubble-user{color:#f8fafc;background:linear-gradient(135deg,#0e7490a3,#2563eb5c);border-color:#7dd3fc38;border-bottom-right-radius:8px;justify-self:end}.native-chat-bubble-assistant{border-bottom-left-radius:8px;justify-self:start}.native-chat-bubble-error{color:#fecaca;border-color:#f871717a}.native-chat-composer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#050b1db8,#050b1df5);border-top:1px solid #94a3b824;grid-template-columns:1fr auto;align-items:end;gap:10px;padding:18px 26px 24px;display:grid}.native-chat-composer textarea{resize:none;color:#f8fafc;min-height:54px;max-height:128px;font:inherit;background:#f8fafc14;border:1px solid #94a3b82e;border-radius:999px;outline:none;padding:15px 18px;box-shadow:inset 0 1px #ffffff0a}.native-chat-composer textarea:focus{border-color:#7dd3fc8c;box-shadow:0 0 0 3px #0ea5e91f}.native-chat-composer textarea::placeholder{color:#cbd5e185}.native-chat-composer button{color:#f8fafc;min-width:54px;min-height:54px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#0e7490,#2563eb);border:0;border-radius:999px;align-self:end;padding:0 20px;font-weight:800;box-shadow:0 16px 35px #0e749038}.native-chat-composer button:hover,.native-chat-composer button:focus-visible{background:#0891b2}.native-chat-composer button:disabled{cursor:not-allowed;opacity:.45}.mode-tabs{background:#0003;border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex}.mode-tabs .transport-icon-button{background:0 0;width:34px;height:34px}.mode-tabs .transport-icon-button:hover{background:#ffffff0d}.transport-icon-button.active{box-shadow:0 0 12px #3b82f64d;color:#fff!important;background:#3b82f666!important}.panel-card{gap:16px;padding:18px;display:grid}.panel-card h2,.panel-card h3{margin:4px 0 0}.scene-overlay-right h3{margin:0;font-size:.95rem}.legend-toggle{appearance:none;cursor:pointer;color:#f8fafceb;font:inherit;letter-spacing:.12em;text-transform:uppercase;background:#091023d6;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;font-size:.78rem;display:flex}.legend-toggle:hover,.legend-toggle:focus-visible{background:#0f172af5}.button-stack{gap:10px;display:grid}.button-stack button,.legend-chip,.legend-item{appearance:none;cursor:pointer;font:inherit;border:0}.button-stack button{color:#dbeafe;background:#dbeafe1a;border-radius:14px;padding:14px 16px;font-weight:600;transition:transform .14s,background .14s}.button-stack button:hover,.button-stack button:focus-visible{background:#60a5fa33;transform:translateY(-1px)}.slider-field{gap:6px;font-size:.95rem;display:grid}.slider-stack{gap:12px;display:grid}.domain-groups{gap:18px;display:grid}.domain-group{gap:12px;padding-top:2px;display:grid}.domain-group+.domain-group{border-top:1px solid #94a3b824;padding-top:18px}.domain-group-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-heading-row,.slider-label-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.domain-group-header h3{margin:0;font-size:1rem}.domain-score-pill{color:#eff6ff;text-align:center;background:#60a5fa2e;border-radius:999px;min-width:44px;padding:4px 10px;font-size:.9rem;font-weight:700}.checkbox-field{color:#e2e8f0e6;align-items:center;gap:10px;display:flex}.checkbox-field input{accent-color:#7dd3fc}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-card{padding:12px}.stat-card span{color:#e2e8f0b8;font-size:.82rem}.stat-card strong{color:#f8fafc;font-size:1.5rem}.select-field{gap:6px;display:grid}.select-label{color:#e2e8f0db;font-size:.95rem}.select-field select{color:#e2e8f0;width:100%;font:inherit;background:#0f172ab8;border:1px solid #94a3b838;border-radius:12px;padding:10px 12px}.slider-label{color:#e2e8f0db;justify-content:space-between;align-items:center;gap:12px;display:flex}.slider-field input{accent-color:#7c3aed;width:100%}.info-chip{appearance:none;color:#bfdbfeeb;cursor:pointer;background:#94a3b81a;border:1px solid #94a3b829;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.info-chip:hover,.info-chip:focus-visible{background:#3b82f633;border-color:#7dd3fc47;transform:translateY(-1px)}.legend-header{gap:4px;display:grid}.legend-hint{color:#cbd5e1b8;margin:0;font-size:.72rem}.legend-sections{flex-wrap:wrap;gap:8px;display:flex}.legend-chip{color:#e2e8f0d6;background:#ffffff0f;border-radius:999px;padding:5px 8px;font-size:.8rem}.legend-chip.active{color:#eff6ff;background:#3b82f63d}.legend-list{gap:2px;max-height:220px;padding-right:2px;display:grid;overflow:auto}.legend-list-sidebar{max-height:none}.legend-item{text-align:left;color:#f8fafceb;background:0 0;border-radius:9px;padding:6px 8px;font-size:.78rem;line-height:1.25;transition:background .14s,transform .14s;display:block}.legend-item small{color:#bfdbfea8;margin-top:2px;font-size:.64rem;display:block}.legend-item:hover,.legend-item:focus-visible{background:#38bdf814;transform:translateY(-1px)}.legend-item.active{background:#3b82f61f;outline:1px solid #7dd3fc2e}.legend-item-accordion{border-radius:16px;gap:0;padding:0;display:grid;overflow:hidden}.legend-item-trigger{appearance:none;cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;display:flex}.legend-item-score-pill{color:#eff6fff5;text-align:center;background:#3b82f62e;border:1px solid #60a5fa47;border-radius:999px;flex:none;min-width:2.2rem;padding:4px 8px;font-size:.74rem;font-weight:700;line-height:1}.legend-item-body{gap:12px;padding:0 14px 14px;display:grid}.legend-copy{gap:12px;display:grid}.legend-copy-block{gap:6px;display:grid}.legend-copy-label{color:#7dd3fceb;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.legend-item-body p{color:#e2e8f0d6;margin:0;font-size:.88rem;line-height:1.5}.legend-item-actions{flex-wrap:wrap;gap:8px;display:flex}.legend-item-action{appearance:none;cursor:pointer;color:#dbeafe;font:inherit;background:#94a3b81a;border:1px solid #94a3b82e;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;transition:background .14s,transform .14s,border-color .14s}.legend-item-action:hover,.legend-item-action:focus-visible{background:#60a5fa2e;border-color:#7dd3fc52;transform:translateY(-1px)}.legend-item-action-primary{color:#eff6ff;background:#3b82f63d;border-color:#60a5fa57}.legend-item-action-active{box-shadow:inset 0 0 0 1px #7dd3fc3d}.status-card{color:#e2e8f0d6;background:#0f172a8a;border-radius:16px;gap:8px;padding:14px;display:grid}.status-card code{color:#c4b5fd;background:#020617b8;border-radius:12px;padding:10px 12px;display:block;overflow-x:auto}.transport-bar{z-index:85;border-bottom-right-radius:0;border-bottom-left-radius:0;position:fixed;bottom:0;left:0;right:0}@media (width<=1200px){.leva-scene{top:72px;right:20px}.control-panel{width:min(var(--sidebar-width,380px), calc(100vw - 24px))}}@media (width<=900px){.scene-column{margin-right:var(--open-sidebar-width,0px)}.leva-scene{top:72px;right:12px}.control-panel{width:min(var(--sidebar-width,380px), 100vw)}.control-panel-scroll{padding:68px 12px 12px}.transport-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));border-bottom-right-radius:0;border-bottom-left-radius:0;gap:6px;bottom:0;left:0;right:0}}@media (width<=900px) and (orientation:portrait){.scene-column{margin-bottom:0;margin-right:0}.control-panel{top:auto;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:100vw;height:calc(var(--sidebar-height,50vh) - 72px);border-radius:24px 24px 0 0;transform:translateY(100%)}.control-panel.open{transform:translateY(0)}.control-panel-resize{cursor:ns-resize;width:auto;height:16px;inset:-8px 0 auto}.control-panel-grip{width:64px;height:4px}.control-panel-scroll{padding:20px 12px calc(12px + env(safe-area-inset-bottom,0px))}.control-panel-scroll:has(.chat-panel-card){padding:0}.chat-panel-card .legend-header{padding:18px 18px 12px}.native-chat-messages{padding:16px 18px}.native-chat-composer{padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 52px}.native-chat-composer button{min-width:52px;padding:0;font-size:0}.native-chat-composer button:before{content:"Send";font-size:.84rem}}.camera-control-group{z-index:100;gap:8px;display:flex;position:absolute;top:24px;right:24px}.camera-menu{z-index:101;gap:4px;min-width:180px;padding:8px;animation:.2s slideDownFade;display:grid;position:absolute;top:calc(100% + 12px);right:0}.camera-menu-item{appearance:none;color:#e2e8f0db;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;font-weight:600;transition:background .14s,color .14s;display:flex}.camera-menu-item:hover{color:#eff6ff;background:#3b82f633}.camera-menu-divider{background:#94a3b824;height:1px;margin:4px 8px}.camera-menu-label{letter-spacing:.1em;text-transform:uppercase;color:#7dd3fc99;padding:4px 12px;font-size:.72rem;font-weight:700}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
