:root{--color-bg:#07090e;--color-surface:#101521b8;--color-surface-raised:#1a223494;--color-surface-overlay:#24304aa6;--color-surface-hover:#ffffff0f;--color-surface-active:#ffffff1a;--color-accent:#3dd6d0;--color-accent-dim:#3dd6d01f;--color-accent-hover:#5ce6e0;--color-accent-glow:#3dd6d040;--color-success:#30d158;--color-success-dim:#30d15824;--color-warning:#ff9f0a;--color-warning-dim:#ff9f0a24;--color-danger:#ff453a;--color-danger-dim:#ff453a24;--color-info:#64d2ff;--color-info-dim:#64d2ff24;--color-text:#f5f5f7;--color-text-secondary:#a1a1a6;--color-text-muted:#6e6e73;--color-text-inverse:#000;--color-border:#ffffff14;--color-border-strong:#ffffff26;--color-border-accent:#3dd6d061;--glass-highlight:#ffffff0f;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-display:2rem;--text-h1:1.5rem;--text-h2:1.125rem;--text-h3:.9375rem;--text-body-lg:.9375rem;--text-body:.875rem;--text-body-sm:.8125rem;--text-caption:.75rem;--text-micro:.6875rem;--leading-tight:1.25;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-.022em;--tracking-normal:-.005em;--tracking-wide:.03em;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-float:0 12px 40px #0009;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-instant:80ms;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-slower:.6s;--z-base:1;--z-overlay:10;--z-sticky:20;--z-modal:100;--z-toast:200}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-slower:0s}}.panel{background:var(--color-surface);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:border-color var(--duration-fast) var(--ease-out);border-top:1px solid #ffffff1f;box-shadow:0 8px 32px #0000005c}.panel-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.panel-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text);margin:0}.badge{font-size:var(--text-micro);font-weight:var(--weight-medium);padding:3px var(--space-2);border-radius:var(--radius-pill);letter-spacing:var(--tracking-wide);border:1px solid #0000}.badge--success{color:var(--color-success);background:var(--color-success-dim);border-color:#30d15840}.badge--accent{color:var(--color-accent);background:var(--color-accent-dim);border-color:#3dd6d047}.badge--warning{color:var(--color-warning);background:var(--color-warning-dim);border-color:#ff9f0a40}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);min-height:38px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-instant) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);white-space:nowrap;line-height:var(--leading-tight);-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn--primary{color:#041010;font-weight:var(--weight-semibold);background:linear-gradient(#4ee5df 0%,#2cbdb7 100%);border:1px solid #fff3;box-shadow:0 2px 10px #3dd6d059}.btn--primary:hover:not(:disabled){background:linear-gradient(#5cf0ea 0%,#35cec8 100%);box-shadow:0 4px 16px #3dd6d073}.btn--secondary{color:var(--color-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff1f}.btn--secondary:hover:not(:disabled){color:var(--color-text);background:#ffffff17;border-color:#ffffff38}.btn--ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn--full{width:100%}.btn--sm{font-size:var(--text-caption);min-height:32px;padding:var(--space-1) var(--space-3)}.btn--lg{font-size:var(--text-body-lg);min-height:44px;padding:var(--space-3) var(--space-6)}.input{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);transition:border-color var(--duration-fast) var(--ease-out);outline:none}.input:focus{border-color:var(--color-accent)}.input::placeholder{color:var(--color-text-muted)}.textarea{resize:none;font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);line-height:var(--leading-relaxed);transition:border-color var(--duration-fast) var(--ease-out);outline:none}.textarea:focus{border-color:var(--color-accent)}.textarea::placeholder{color:var(--color-text-muted)}.upload-panel{gap:var(--space-3);flex-direction:column;display:flex}.preset-section{border-radius:var(--radius-md);padding:var(--space-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff08;border:1px solid #ffffff14}.preset-label{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.preset-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.preset-btn{align-items:center;gap:var(--space-2);min-height:38px;padding:var(--space-2) var(--space-3);font-size:var(--text-caption);font-family:var(--font-sans);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-instant) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:#ffffff08;border:1px solid #ffffff12;display:flex}.preset-btn:hover{color:var(--color-text);background:#ffffff12;border-color:#ffffff29}.preset-btn:active{transform:scale(.98)}.preset-btn.is-active{color:#5ce6e0;background:#3dd6d01f;border-color:#3dd6d066;box-shadow:0 0 12px #3dd6d02e}.upload-zone{padding:var(--space-3);border-radius:var(--radius-md);text-align:center;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:#ffffff05;border:1px dashed #ffffff2e}.upload-zone:hover{border-color:var(--color-accent);background:#3dd6d008}.upload-zone__header{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.upload-zone__title{font-size:var(--text-body);font-weight:var(--weight-medium);margin:0}.upload-zone__status{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-accent);word-break:break-all}.upload-zone__placeholder{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text-muted)}.query-panel{flex-direction:column;flex:1;display:flex}.query-input{flex:1;min-height:80px}.query-actions{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.map-viewer{flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.map-viewer__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);justify-content:space-between;align-items:center;display:flex}.map-viewer__body{flex-direction:row;flex:1;min-height:0;display:flex}.map-viewer__pane{background:var(--color-bg);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.map-viewer__pane+.map-viewer__pane{border-left:1px solid var(--color-border)}.map-viewer__pane-label{top:var(--space-2);left:var(--space-2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-medium);z-index:var(--z-base);color:var(--color-text);background:#0009;position:absolute}.map-viewer__image{object-fit:contain;width:100%;height:100%;display:block}.map-viewer__empty{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text-muted)}.result-panel{flex-direction:column;height:100%;display:flex}.result-answer{padding:var(--space-4);background:var(--color-accent-dim);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent);font-size:var(--text-body-lg);line-height:var(--leading-relaxed);color:var(--color-text)}.result-confidence{background:var(--color-surface-raised);padding:var(--space-3);border-radius:var(--radius-sm)}.result-confidence__label{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:var(--space-1)}.result-confidence__bar{align-items:center;gap:var(--space-2);display:flex}.result-confidence__track{background:var(--color-surface-overlay);border-radius:var(--radius-pill);flex:1;height:6px;overflow:hidden}.result-confidence__fill{border-radius:var(--radius-pill);height:100%;transition:width var(--duration-slow) var(--ease-out)}.result-confidence__fill--high{background:var(--color-accent)}.result-confidence__fill--medium{background:var(--color-warning)}.result-confidence__value{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text-secondary);text-align:right;min-width:32px}.math-inventory-panel{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.math-inventory-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.math-inventory-title-group{align-items:center;gap:var(--space-2);display:flex}.math-inventory-icon{font-size:18px;line-height:1}.math-inventory-title{font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--color-text);letter-spacing:var(--tracking-wide);text-transform:uppercase}.math-inventory-subtitle{font-size:11px;font-family:var(--font-mono);color:var(--color-text-muted);margin-top:1px}.math-composition-bar{border-radius:var(--radius-pill);background:var(--color-surface-overlay);gap:1px;width:100%;height:10px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.math-composition-segment{height:100%;transition:width var(--duration-slow) var(--ease-out)}.math-composition-segment:hover{filter:brightness(1.2);cursor:pointer}.math-classes-list{gap:var(--space-2);flex-direction:column;display:flex}.math-class-item{background:var(--color-surface-hover);border-radius:var(--radius-sm);padding:var(--space-2);flex-direction:column;gap:4px;display:flex}.math-class-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.math-class-icon{font-size:14px;line-height:1}.math-class-name{font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.2}.math-class-metric{color:var(--color-text-muted);font-size:10px;font-family:var(--font-mono)}.math-class-pct{font-size:12px;font-weight:var(--weight-bold);font-family:var(--font-mono)}.math-class-area{font-size:10px;font-family:var(--font-mono)}.math-class-progress-track{background:var(--color-surface-overlay);border-radius:var(--radius-pill);width:100%;height:4px;overflow:hidden}.math-class-progress-fill{border-radius:var(--radius-pill);height:100%;transition:width var(--duration-slow) var(--ease-out)}.math-objects-section{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.math-objects-header{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);justify-content:space-between;align-items:center;display:flex}.math-objects-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.math-object-card{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);flex-direction:column;gap:3px;display:flex}.math-object-top{justify-content:space-between;align-items:center;display:flex}.math-object-icon{font-size:16px}.math-object-count{font-size:11px;font-weight:var(--weight-bold);color:var(--color-accent);border-radius:var(--radius-sm);background:#3dd6d01f;padding:1px 5px}.math-object-name{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.2}.math-object-detail{font-size:10px;line-height:1.3}.math-object-badge{color:var(--color-text-muted);border-top:1px dashed var(--color-border);margin-top:2px;padding-top:2px;font-size:9px}.math-comparison-section{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.math-comparison-header{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.math-comparison-list{flex-direction:column;gap:4px;display:flex}.math-comparison-row{background:var(--color-surface-hover);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:4px 6px;display:flex}.result-model{font-size:var(--text-caption);color:var(--color-text-muted);padding-top:var(--space-3);margin-top:auto}.result-model__name{font-family:var(--font-mono)}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.empty-state__icon{opacity:.4;font-size:1.5rem}.empty-state__text{font-size:var(--text-body);color:var(--color-text-muted);line-height:var(--leading-normal);max-width:240px}.empty-state__hint{font-size:var(--text-caption);color:var(--color-text-muted);opacity:.7}.evidence-panel{flex-direction:column;height:100%;display:flex}.evidence-list{gap:var(--space-3);padding-bottom:var(--space-2);display:flex;overflow-x:auto}.evidence-card{background:var(--color-surface-raised);border:1px solid var(--color-border);min-width:220px;max-width:280px;padding:var(--space-3);border-radius:var(--radius-sm);gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.evidence-card__step{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:var(--weight-medium)}.evidence-card__desc{font-size:var(--text-body);line-height:var(--leading-normal);flex:1}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in var(--duration-normal) var(--ease-out);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{width:min(80%,800px);height:80%;animation:modal-enter var(--duration-normal) var(--ease-spring);flex-direction:column;display:flex}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-close{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;font-size:1.25rem;line-height:1}.modal-close:hover{color:var(--color-text);background:var(--color-surface-hover)}.modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.audit-table{border-collapse:collapse;width:100%;font-size:var(--text-body)}.audit-table th{text-align:left;padding:var(--space-2);color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:1px solid var(--color-border)}.audit-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border)}.chat-toggle{bottom:var(--space-4);z-index:var(--z-modal);position:fixed;right:8.5rem}.chat-toggle__btn{align-items:center;gap:var(--space-2);background:var(--color-surface-raised);color:var(--color-text);font-weight:var(--weight-medium);font-size:var(--text-body-sm);font-family:var(--font-sans);border:1px solid var(--color-border-strong);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex}.chat-toggle__btn:hover{background:var(--color-surface-overlay);border-color:var(--color-border-accent)}.chat-drawer{bottom:4.5rem;right:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:380px;height:520px;box-shadow:var(--shadow-float);z-index:calc(var(--z-modal) + 1);animation:chat-enter var(--duration-normal) var(--ease-spring);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes chat-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-drawer__header{padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.chat-drawer__title{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text)}.chat-drawer__subtitle{font-size:var(--text-caption);color:var(--color-text-muted)}.chat-suggestions{padding:var(--space-2) var(--space-3);background:var(--color-surface-raised);gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.chat-suggestion-btn{white-space:nowrap;font-size:var(--text-micro);font-family:var(--font-sans);background:var(--color-surface-hover);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px var(--space-2);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.chat-suggestion-btn:hover{background:var(--color-surface-active)}.chat-messages{padding:var(--space-3);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-body);line-height:var(--leading-normal);white-space:pre-wrap;animation:bubble-in var(--duration-fast) var(--ease-out)}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-bubble--user{background:var(--color-accent);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.chat-bubble--assistant{background:var(--color-surface-raised);color:var(--color-text);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.chat-bubble--loading{background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-body-sm);align-self:flex-start;font-style:italic}.chat-footer{padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-raised);gap:var(--space-2);display:flex}.chat-input{flex:1}.app-header{padding:0 var(--space-4);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);min-height:48px;margin-bottom:var(--space-2);background:#101521a6;border:1px solid #ffffff14;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex;box-shadow:0 4px 20px #00000040}.app-header__brand{align-items:center;gap:var(--space-3);display:flex}.app-header__logo{letter-spacing:-.025em;color:var(--color-text);align-items:center;gap:4px;font-size:1.0625rem;font-weight:700;display:flex}.app-header__logo-accent{background:linear-gradient(135deg,#5cf0ea 0%,#2cbdb7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.app-header__tag{font-size:var(--text-micro);color:var(--color-text-muted);font-family:var(--font-mono);border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid #ffffff0f;padding:2px 8px}.app-header__actions{align-items:center;gap:var(--space-2);display:flex}.floating-actions{bottom:var(--space-4);right:var(--space-4);gap:var(--space-2);z-index:var(--z-sticky);display:flex;position:fixed}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.hidden{display:none}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root{font-family:var(--font-sans);line-height:var(--leading-normal);font-weight:var(--weight-normal);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background-color:#0000;background-image:radial-gradient(70% 50% at 20% -10%,#3dd6d014,#0000 70%),radial-gradient(60% 40% at 85% 105%,#64d2ff0f,#0000 70%),linear-gradient(#07090e 0%,#0b0e17 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#ffffff26}::-webkit-scrollbar-thumb:hover{background:#ffffff47}::selection{background:var(--color-accent);color:var(--color-text-inverse)}.app-layout{gap:var(--space-2);height:100vh;padding:var(--space-3);padding-top:var(--space-2);grid-template-rows:auto 1fr 220px;grid-template-columns:320px 1fr 280px;display:grid}.app-layout__sidebar-left{gap:var(--space-2);flex-direction:column;grid-area:2/1/4/2;min-height:0;display:flex;overflow-y:auto}.app-layout__main{grid-area:2/2/3/3;min-height:0}.app-layout__sidebar-right{gap:var(--space-2);flex-direction:column;grid-area:2/3/4/4;min-height:0;display:flex;overflow-y:auto}.app-layout__bottom{grid-area:3/2/4/3;min-height:0}@media (width<=1200px){.app-layout{grid-template-rows:auto 1fr 200px auto;grid-template-columns:280px 1fr}.app-layout__sidebar-right{flex-direction:row;grid-area:4/1/5/-1;overflow-x:auto}}@media (width<=768px){.app-layout{padding:var(--space-2);grid-template-rows:auto auto 300px auto auto;grid-template-columns:1fr}.app-layout__sidebar-left{grid-area:2/1;overflow-y:visible}.app-layout__main{grid-area:3/1;min-height:300px}.app-layout__bottom{grid-area:4/1}.app-layout__sidebar-right{flex-direction:column;grid-area:5/1}}
