:root{--background: #f3f5f8;--foreground: #1b2230;--card: #ffffff;--card-foreground: #1b2230;--primary: #14a394;--primary-foreground: #ffffff;--accent: #14a394;--accent-foreground: #ffffff;--secondary: #eceff4;--secondary-foreground: #46506a;--muted: #eceff4;--muted-foreground: #65708b;--success: #16a34a;--warning: #d97706;--danger: #f97316;--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .16);--input: rgba(15, 23, 42, .14);--ring: #14a394;--radius: .5rem;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}.dark{--background: #0a0d14;--foreground: #e8eaf0;--card: #111520;--card-foreground: #e8eaf0;--primary: #60cfc5;--primary-foreground: #06201d;--accent: #60cfc5;--accent-foreground: #06201d;--secondary: #1a2035;--secondary-foreground: #9aa3b8;--muted: #151c2e;--muted-foreground: #6b7694;--success: #22c55e;--warning: #f59e0b;--danger: #f97316;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--input: rgba(255, 255, 255, .1);--ring: #60cfc5}*,*:before,*:after{box-sizing:border-box;border-color:var(--border)}html,body,#root{min-height:100%}body{margin:0;color:var(--foreground);font-family:var(--font-body);background:var(--background);transition:background-color .2s ease,color .2s ease}button,input,textarea{font:inherit}.app-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.75rem 0 3.5rem}.brand-row{position:relative;z-index:30;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;animation:rise .7s ease both}.brand-row-toggle-only{justify-content:flex-end;margin-bottom:0}.brand-row-main{display:flex;align-items:center;gap:1rem;min-width:0;flex:1;text-decoration:none;color:inherit}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.brand-logo{height:1.75rem;width:auto;display:block}.brand-logo-dark,.dark .brand-logo-light{display:none}.dark .brand-logo-dark{display:block}.dark .brand-logo-dark,.dark .login-card-mark .login-mark-dark{filter:brightness(1.25)}.brand-text{display:flex;flex-direction:column;gap:.05rem;padding-left:1rem;border-left:1px solid var(--border-strong)}.brand-text strong{font-size:.95rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--foreground)}.brand-text span{color:var(--muted-foreground);font-size:.75rem}.theme-toggle{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.theme-toggle:hover{color:var(--primary);border-color:var(--border-strong)}.theme-toggle svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:.55rem;min-height:2.6rem;height:auto;padding:.28rem .65rem .28rem .35rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--foreground);font-size:.8125rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.user-menu-trigger:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--secondary) 70%,transparent)}.user-menu-trigger svg{width:.9rem;height:.9rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--muted-foreground);transition:transform .15s ease}.user-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.user-trigger-meta{display:grid;gap:.05rem;text-align:left;min-width:0}.user-avatar{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 28%,var(--muted));color:var(--primary);font-size:.625rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.user-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.15}.user-role{font-size:.625rem;color:var(--muted-foreground);line-height:1.1}.user-menu-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;min-width:14.5rem;display:grid;padding:.35rem;border-radius:.75rem;border:1px solid var(--border-strong);background:var(--card);box-shadow:0 12px 32px color-mix(in srgb,#05070c 16%,transparent);animation:rise .16s ease both}.user-menu-head{display:flex;align-items:center;gap:.6rem;padding:.55rem .55rem .7rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.user-menu-head-text{display:grid;gap:.1rem;min-width:0}.user-menu-head strong{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.user-menu-head span{font-size:.6875rem;color:var(--muted-foreground)}.user-menu-panel a,.user-menu-panel button{display:flex;align-items:center;gap:.6rem;border:none;background:transparent;color:var(--foreground);text-align:left;padding:.5rem .55rem;border-radius:8px;font-size:.8125rem;cursor:pointer;text-decoration:none;width:100%}.user-menu-icon{display:grid;place-items:center;width:1.15rem;height:1.15rem;flex-shrink:0;color:var(--muted-foreground)}.user-menu-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.user-menu-panel a:hover,.user-menu-panel button:hover{background:var(--secondary);color:var(--primary)}.user-menu-panel a:hover .user-menu-icon,.user-menu-panel button:hover .user-menu-icon{color:var(--primary)}.user-menu-sep{height:1px;margin:.25rem .4rem;background:var(--border)}.user-menu-logout,.user-menu-logout .user-menu-icon{color:var(--danger)}.user-menu-panel button.user-menu-logout:hover{background:color-mix(in srgb,var(--danger) 12%,var(--card));color:var(--danger)}.user-menu-panel button.user-menu-logout:hover .user-menu-icon{color:var(--danger)}.hero{margin-bottom:1.5rem;animation:rise .8s ease .05s both}.hero h1{margin:0;max-width:22ch;font-size:clamp(1.35rem,2.8vw,1.75rem);font-weight:600;letter-spacing:-.025em;line-height:1.25;color:var(--foreground)}.hero p{margin:.55rem 0 0;max-width:52ch;color:var(--muted-foreground);font-size:.9rem;line-height:1.5}.eyebrow{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.workspace{display:grid;gap:1rem;animation:rise .85s ease .12s both}@media (min-width: 920px){.workspace{grid-template-columns:1.15fr .85fr;align-items:start}}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.15rem}.panel h2{margin:0 0 .85rem;font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:var(--foreground)}.panel-heading{display:flex;align-items:center;gap:.3rem}.panel-heading .field-help-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:inherit}.panel-heading .field-help-panel{left:auto;right:0}.panel .lede{margin:0 0 1rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.45}.source-tabs{display:inline-flex;flex-wrap:wrap;gap:.15rem;margin-bottom:1rem;padding:.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.source-tabs button{border:none;background:transparent;color:var(--muted-foreground);border-radius:6px;padding:.35rem .7rem;font-size:.75rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,color .15s ease}.source-tabs button:hover{color:var(--foreground)}.source-tabs button.active{background:var(--primary);color:var(--primary-foreground)}.upload-row{display:grid;gap:.75rem;margin-bottom:1rem}@media (min-width: 640px){.upload-row{grid-template-columns:1fr 1fr}}.drop{position:relative;border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:.9rem 1rem;background:var(--background);min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:.2rem;transition:border-color .15s ease,background .15s ease}.drop:hover,.drop.dragover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--background))}.drop strong{color:var(--foreground);font-size:.8125rem;font-weight:600}.drop span{color:var(--muted-foreground);font-size:.75rem}.drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.field-grid{display:grid;gap:.7rem}.field{display:grid;gap:.25rem}.field label,.field-help-text{font-size:.6875rem;font-weight:600;color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase}.field-help{display:inline-flex;align-items:center;gap:.3rem;max-width:100%}.field-help label,.field-help .field-help-text{margin:0}.field-help-tip{position:relative;display:inline-flex;flex-shrink:0}.field-help-btn{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted-foreground);cursor:help;opacity:.85;transition:color .15s ease,opacity .15s ease,background .15s ease}.field-help-btn svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.field-help-btn:hover,.field-help-btn:focus-visible{color:var(--primary);opacity:1;background:color-mix(in srgb,var(--primary) 12%,transparent);outline:none}.field-help-panel{position:absolute;left:0;top:calc(100% + .4rem);z-index:20;width:max-content;max-width:min(16.5rem,70vw);padding:.5rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);box-shadow:0 8px 24px color-mix(in srgb,#05070c 18%,transparent);font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.4;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translateY(-.15rem);transition:opacity .12s ease,transform .12s ease}.field-help-tip:hover .field-help-panel,.field-help-tip:focus-within .field-help-panel{opacity:1;transform:translateY(0)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);padding:.55rem .7rem;color:var(--foreground);font-size:.8125rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{min-height:76px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--muted-foreground)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.login-panel{max-width:26rem;animation:rise .85s ease .12s both}.admin-layout{display:grid;gap:1rem;animation:rise .85s ease .12s both}.admin-panel-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start;justify-content:space-between;margin-bottom:.85rem}.admin-panel-header>div{min-width:0}.admin-panel-header h2{margin-bottom:.25rem}.admin-panel-header .lede{margin-bottom:0}.admin-list{display:grid;gap:.5rem}.admin-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);animation:slideIn .35s ease both}.admin-row-main{display:grid;gap:.15rem;min-width:0}.admin-row-main strong{font-size:.8125rem;font-weight:600}.admin-row-main span{font-size:.75rem;color:var(--muted-foreground);font-family:var(--font-mono)}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.admin-control{display:inline-flex;flex-direction:column;gap:.2rem;align-items:flex-start}.admin-control .field-help-panel{z-index:25}.admin-row-actions select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);padding:.4rem .5rem;font-size:.75rem;font-family:var(--font-mono)}.admin-row-actions .btn{padding:.4rem .7rem;font-size:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:start center;padding:12vh 1rem 1rem;background:color-mix(in srgb,#05070c 65%,transparent);animation:fadeIn .16s ease both;overflow-y:auto}.modal{width:min(28rem,100%);max-height:86vh;overflow-y:auto;padding:1.45rem 1.5rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--card);animation:rise .22s ease both}.modal.modal-wide{width:min(32rem,100%)}.modal .field-grid{gap:.9rem}.modal .actions{margin-top:1.35rem}.advanced-settings{margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.advanced-settings>summary{cursor:pointer;list-style:none;padding:.65rem .75rem;font-size:.8125rem;font-weight:600;color:var(--foreground);-webkit-user-select:none;user-select:none}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary:before{content:"▸";display:inline-block;margin-right:.4rem;color:var(--muted-foreground);transition:transform .15s ease}.advanced-settings[open]>summary:before{transform:rotate(90deg)}.advanced-settings-body{display:grid;gap:.85rem;padding:.85rem .85rem 1rem;border-top:1px solid var(--border)}.field-check{display:flex;gap:.55rem;align-items:flex-start;font-size:.8125rem}.field-check input[type=checkbox]{margin-top:.2rem;accent-color:var(--primary)}.field-check span{color:var(--muted-foreground);line-height:1.4}.switch{display:inline-flex;align-items:center;gap:.55rem;font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{position:relative;flex-shrink:0;width:2.25rem;height:1.25rem;border-radius:999px;background:var(--muted);border:1px solid var(--border-strong);transition:background-color .15s ease,border-color .15s ease}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.25rem - 6px);height:calc(1.25rem - 6px);border-radius:999px;background:var(--secondary-foreground);transition:transform .15s ease,background-color .15s ease}.switch input:checked+.switch-track{background:var(--primary);border-color:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(1rem);background:var(--primary-foreground)}.switch input:focus-visible+.switch-track{outline:2px solid var(--ring);outline-offset:2px}.switch input:disabled+.switch-track,.switch input:disabled~.switch-label{opacity:.5}.switch:has(input:disabled){cursor:not-allowed}.switch-label{color:var(--muted-foreground);line-height:1.4}.modal h2{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.modal .lede{margin:0 0 1.25rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.45}.password-rules{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.35rem}.password-rule{display:flex;align-items:flex-start;gap:.45rem;margin:0;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4}.password-rule-marker{flex:0 0 1rem;width:1rem;height:1rem;margin-top:.1rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--muted-foreground) 45%,transparent);display:inline-flex;align-items:center;justify-content:center}.password-rule--met{color:var(--success)}.password-rule--met .password-rule-marker{border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.password-rule-tick{width:.7rem;height:.7rem;fill:none;stroke:var(--success);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.reveal-once-value{font-family:var(--font-mono);letter-spacing:.02em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-block{margin-top:1rem;display:grid;gap:.75rem}.image-url-row{display:flex;gap:.5rem;align-items:stretch}.image-url-row input{flex:1;min-width:0}.image-url-row .btn{flex-shrink:0;align-self:stretch}.image-url-status{margin:.35rem 0 0;font-size:.75rem}.image-url-status.fail{color:var(--destructive, #b42318)}.image-url-status.ok{color:var(--muted-foreground)}.clear-image-btn{justify-self:start}.image-preview{width:100%;max-height:220px;object-fit:contain;border-radius:var(--radius);background:var(--background);border:1px solid var(--border)}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.btn{border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 88%,var(--foreground))}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--muted-foreground)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.results{display:grid;gap:.7rem}.meta-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.results-download{margin-left:auto}.results-download .copy-gpc{width:2rem;height:2rem;border-radius:0;background:transparent;color:var(--foreground)}.results-download.copy-gpc-wrap .copy-gpc-tip{left:auto;right:0;transform:translate(0) translateY(.1rem)}.results-download.copy-gpc-wrap:hover .copy-gpc-tip,.results-download.copy-gpc-wrap:focus-within .copy-gpc-tip{transform:translate(0) translateY(0)}.results-download .copy-gpc svg{width:1.25rem;height:1.25rem;stroke-width:2.25}.results-download .copy-gpc:hover,.results-download .copy-gpc:focus-visible{color:var(--primary);background:transparent}.chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--radius);padding:.25rem .55rem;background:var(--muted);color:var(--secondary-foreground);font-size:.6875rem;font-weight:600;font-family:var(--font-mono);border:1px solid var(--border)}.chip-mode{font-family:var(--font-body);font-size:.75rem;font-weight:600;border-radius:999px;padding:.28rem .7rem}.chip-mode-text{background:color-mix(in srgb,#2563eb 14%,var(--card));border-color:color-mix(in srgb,#2563eb 38%,var(--border));color:#1d4ed8}.chip-mode-image{background:color-mix(in srgb,var(--success) 14%,var(--card));border-color:color-mix(in srgb,var(--success) 38%,var(--border));color:var(--success)}.chip-mode-multimodal{background:color-mix(in srgb,var(--warning) 16%,var(--card));border-color:color-mix(in srgb,var(--warning) 42%,var(--border));color:var(--warning)}.dark .chip-mode-text{color:#93c5fd}.chip.gemini{background:color-mix(in srgb,var(--primary) 18%,var(--muted));border-color:var(--primary);color:var(--primary)}.source-badge{display:inline-block;margin-right:.45rem;padding:.05rem .4rem;border-radius:999px;font-size:.625rem;font-style:normal;font-weight:700;letter-spacing:.02em;border:1px solid var(--border)}.source-badge.source-local{color:var(--secondary-foreground)}.source-badge.source-gemini{color:var(--primary);border-color:var(--primary)}.source-badge.source-both{color:var(--primary)}.gemini-toggle{margin-right:auto}.prediction{position:relative;overflow:visible;border-radius:var(--radius);border:1px solid var(--border);background:var(--background);padding:.8rem .9rem;animation:slideIn .45s ease both}.prediction>summary{list-style:none;cursor:pointer}.prediction>summary::-webkit-details-marker{display:none}.prediction-summary{display:flex;align-items:flex-start;gap:.55rem}.prediction-summary-main{min-width:0;flex:1}.prediction-chevron{display:inline-grid;place-items:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem;color:var(--muted-foreground);transition:transform .15s ease}.prediction-chevron svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.prediction[open]>summary .prediction-chevron{transform:rotate(180deg)}.prediction-body{margin-top:.75rem;padding-top:.7rem;border-top:1px solid var(--border)}.prediction-taxonomy{display:grid;gap:.85rem;margin:0}.prediction-taxonomy>div{display:grid;gap:.22rem;min-width:0}.prediction-taxonomy dt{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted-foreground)}.prediction-taxonomy dd{margin:0;font-size:.8125rem;line-height:1.45;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.prediction-definition dd{line-height:1.6;padding:.15rem 0 .35rem}.prediction:nth-child(2){animation-delay:.05s}.prediction:nth-child(3){animation-delay:.1s}.prediction:nth-child(4){animation-delay:.15s}.prediction.top{border-color:color-mix(in srgb,var(--primary) 50%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--background))}.prediction-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.prediction-head-meta{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.prediction-title{display:flex;align-items:center;gap:.35rem;min-width:0}.prediction-head strong{font-size:.875rem;font-weight:600;color:var(--foreground);overflow-wrap:anywhere}.prediction-head-meta span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700;color:var(--primary)}.prediction code{display:inline-block;font-family:var(--font-mono);font-size:.75rem;color:var(--muted-foreground)}.gpc-row{display:flex;align-items:center;gap:.4rem;margin-top:.2rem}.copy-gpc-wrap{position:relative;display:inline-flex;flex-shrink:0}.copy-gpc{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;padding:0;border:none;border-radius:999px;background:var(--muted);color:var(--muted-foreground);cursor:pointer;transition:color .15s ease,background .15s ease}.copy-gpc svg{width:.75rem;height:.75rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.copy-gpc:hover,.copy-gpc:focus-visible{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--muted));outline:none}.copy-gpc-tip{position:absolute;left:50%;bottom:calc(100% + .35rem);z-index:8;transform:translate(-50%) translateY(.1rem);padding:.28rem .5rem;border-radius:.35rem;background:#2a3142;color:#f4f6fb;font-size:.6875rem;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.dark .copy-gpc-tip{background:#e8eaf0;color:#111520}.copy-gpc-wrap:hover .copy-gpc-tip,.copy-gpc-wrap:focus-within .copy-gpc-tip{opacity:1;transform:translate(-50%) translateY(0)}.results-loader{display:grid;place-items:center;gap:1rem;min-height:12rem;padding:1.5rem 1rem;color:var(--muted-foreground);font-size:.8125rem}.results-loader p{margin:0;letter-spacing:.02em}.brick-stack{position:relative;width:4.6rem;height:3.6rem}.brick-stack .brick{position:absolute;left:50%;height:.72rem;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 55%,var(--card)),var(--primary),color-mix(in srgb,var(--primary) 70%,#fff));background-size:200% 100%;box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 28%,transparent);animation:brickFloat 1.35s ease-in-out infinite,brickSheen 1.6s linear infinite}.brick-stack .brick-a{width:3.5rem;bottom:0;margin-left:-1.75rem;animation-delay:0s,0s}.brick-stack .brick-b{width:2.7rem;bottom:.95rem;margin-left:-1.35rem;animation-delay:.12s,.15s;opacity:.9}.brick-stack .brick-c{width:1.9rem;bottom:1.9rem;margin-left:-.95rem;animation-delay:.24s,.3s;opacity:.8}.toast-bar{position:fixed;left:50%;bottom:1.25rem;z-index:40;transform:translate(-50%);max-width:min(28rem,calc(100vw - 2rem));padding:.7rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--card);color:var(--foreground);box-shadow:0 10px 28px color-mix(in srgb,#05070c 22%,transparent);font-size:.8125rem;font-weight:500;animation:toastIn .25s ease both}.bar{margin-top:.55rem;height:6px;border-radius:999px;background:var(--secondary);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:var(--primary);transform-origin:left center;animation:growBar .7s ease both}.empty-state,.error-banner,.status-banner{border-radius:var(--radius);padding:.85rem .95rem;border:1px solid var(--border);font-size:.8125rem}.empty-state{background:var(--background);color:var(--muted-foreground)}.error-banner{background:color-mix(in srgb,var(--danger) 10%,var(--card));border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);margin-bottom:1rem}.status-banner{background:color-mix(in srgb,var(--success) 10%,var(--card));border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success);margin-bottom:1rem}.loading-dot:after{content:"";display:inline-block;width:.45rem;height:.45rem;margin-left:.4rem;border-radius:50%;background:currentColor;animation:pulse .9s ease infinite}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes growBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes brickFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes brickSheen{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.login-stage{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(1200px 520px at 50% -10%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%),var(--background)}.login-stage-top{position:absolute;top:0;left:0;right:0;z-index:4}.login-stage-top .app-shell{width:100%;max-width:none;padding:1rem 1.25rem 0}.login-stage-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.login-stage-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.login-stage-art .login-art-dark,.dark .login-stage-art .login-art-light{display:none}.dark .login-stage-art .login-art-dark{display:block}@media (max-width: 900px){.login-stage-art{opacity:.28}}.login-card-wrap{position:relative;z-index:2;display:grid;align-items:start;justify-items:center;min-height:100vh;padding:20vh 1rem 8vh}.login-card{width:min(28rem,100%);min-height:48vh;padding:1.85rem 2rem 1.75rem;border-radius:calc(var(--radius) + .25rem);border:1px solid var(--border);background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 50px color-mix(in srgb,#0a0d14 10%,transparent);animation:rise .85s ease .12s both}.login-card-mark{display:flex;justify-content:center;margin:0 auto .7rem;background:transparent;overflow:visible;width:auto;height:auto;border-radius:0}.login-card-mark img{height:2.75rem;width:auto;max-width:min(20rem,100%);display:block}.login-card-mark .login-mark-dark,.dark .login-card-mark .login-mark-light{display:none}.dark .login-card-mark .login-mark-dark{display:block}.login-card-kicker{margin:0 0 .2rem;text-align:center;font-size:.9rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--primary)}.login-card h1{margin:.2rem 0 1.15rem;text-align:center;font-size:1.45rem;font-weight:650;letter-spacing:-.03em}.login-card .field-grid{grid-template-columns:1fr}.login-card .actions{margin-top:1.5rem}.login-card .actions .btn-primary{width:100%}.page-stage{position:relative;min-height:100vh}.page-stage-art{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.page-stage-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}.page-stage-art .page-art-dark,.dark .page-stage-art .page-art-light{display:none}.dark .page-stage-art .page-art-dark{display:block}.page-stage .app-shell{position:relative;z-index:1}@media (max-width: 900px){.page-stage-art{opacity:.35}}.usage-shell{width:min(1200px,calc(100% - 2rem))}.usage-stack{display:grid;gap:1.15rem}.usage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.usage-kpi{padding:1rem 1.1rem 1.05rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.usage-kpi h3{margin:0;font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.usage-kpi h3 .field-help-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:inherit}.usage-kpi-value{margin:.45rem 0 0;font-size:1.65rem;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.usage-kpi-split{list-style:none;margin:.55rem 0 0;padding:.45rem 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:.2rem .75rem;font-size:.72rem;color:var(--muted-foreground)}.usage-kpi-split li{display:flex;justify-content:space-between;gap:.5rem;font-variant-numeric:tabular-nums}.usage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.usage-range-label{font-size:.8125rem;color:var(--muted-foreground)}.usage-presets{margin-bottom:0}.usage-export{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem}.usage-export svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.8}.usage-admin-filters,.usage-type-filter{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.usage-heatmap-card,.usage-table-card{padding:1rem 1.1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:visible}.usage-table-card{overflow:visible}.usage-heatmap-head{margin-bottom:.5rem}.usage-heatmap-head h3{margin:0;font-size:.95rem}.usage-heatmap-head h3 .field-help-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:inherit}.usage-heatmap-body{width:100%;max-width:100%;overflow-x:auto}.usage-heatmap-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem 1.5rem;margin-top:.65rem}.usage-heatmap-stats{display:flex;gap:1.5rem;margin:0}.usage-heatmap-stats dt{font-size:.6875rem;color:var(--muted-foreground)}.usage-heatmap-stats dd{margin:.15rem 0 0;font-size:.8125rem;font-weight:600}.usage-heatmap{display:flex;width:max-content;margin-inline:auto;justify-content:center;gap:.5rem;overflow:visible;padding:2.6rem .15rem .35rem}.usage-heatmap-days{display:grid;grid-template-rows:repeat(7,13px);gap:3px;font-size:.5625rem;color:var(--muted-foreground);padding-top:calc(.85rem + 4px)}.usage-heatmap-plot{position:relative;display:flex;flex-direction:column;gap:4px}.usage-heatmap-months{position:relative;height:.85rem;font-size:.625rem;color:var(--muted-foreground)}.usage-heatmap-month{position:absolute;top:0;white-space:nowrap}.usage-heatmap-month.is-last:not(.is-first){left:auto;right:0}.usage-heatmap-grid{display:flex;gap:3px}.usage-heatmap-week{display:grid;grid-template-rows:repeat(7,13px);gap:3px}.usage-heat-cell{position:relative;width:13px;height:13px}.usage-heat{width:13px;height:13px;padding:0;border:none;border-radius:2px;background:var(--muted);display:block;cursor:default}button.usage-heat:focus-visible{outline:1px solid var(--foreground);outline-offset:0}.usage-heat-cell:hover button.usage-heat,.usage-heat-cell:focus-within button.usage-heat{outline:1px solid var(--foreground);outline-offset:0}.usage-heat-pop{position:absolute;z-index:24;left:50%;bottom:calc(100% + .45rem);transform:translate(-50%);width:max-content;padding:.5rem .65rem .55rem;border:1px solid var(--border-strong);border-radius:.45rem;background:var(--card);color:var(--card-foreground);box-shadow:0 8px 24px color-mix(in srgb,var(--foreground) 12%,transparent);pointer-events:none;text-align:left}.usage-heat-cell.is-start .usage-heat-pop{left:0;transform:none}.usage-heat-cell.is-end .usage-heat-pop{left:auto;right:0;transform:none}.usage-heat-pop-date{display:block;font-size:.75rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.usage-heat-pop-metric{display:block;margin-top:.2rem;font-size:.75rem;font-weight:600;color:var(--primary)}.usage-heat-0{background:color-mix(in srgb,var(--primary) 8%,var(--muted))}.usage-heat-1{background:color-mix(in srgb,var(--primary) 28%,var(--muted))}.usage-heat-2{background:color-mix(in srgb,var(--primary) 48%,var(--muted))}.usage-heat-3{background:color-mix(in srgb,var(--primary) 72%,var(--card))}.usage-heat-4{background:var(--primary)}.usage-heat--1{background:transparent}.usage-heatmap-legend{display:flex;align-items:center;gap:.25rem;margin:0;font-size:.6875rem;color:var(--muted-foreground)}.usage-table-wrap{overflow:visible}.usage-table{width:100%;border-collapse:collapse;font-size:.8125rem}.usage-table th{text-align:left;font-size:.6875rem;font-weight:600;color:var(--muted-foreground);padding:.4rem .6rem .55rem;border-bottom:1px solid var(--border)}.usage-table td{padding:.7rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle}.usage-empty-row{color:var(--muted-foreground);text-align:center;padding:1.5rem .6rem!important}.usage-mono{font-family:var(--font-mono);font-size:.75rem}.usage-muted{color:var(--muted-foreground)}.usage-type{font-size:.75rem}.usage-token-cell{position:relative;display:inline-block}.usage-table tbody tr:has(.usage-token-pop){position:relative;z-index:21}.usage-token-btn{border:none;background:transparent;color:inherit;padding:0;font:inherit;font-variant-numeric:tabular-nums;cursor:default}.usage-token-pop{position:absolute;z-index:20;right:0;bottom:calc(100% + .4rem);top:auto;min-width:11rem;display:grid;gap:.3rem;padding:.65rem .75rem .75rem;border:1px solid var(--border-strong);border-radius:.45rem;background:var(--card);font-size:.75rem;color:var(--muted-foreground);line-height:1.4;box-shadow:0 8px 24px color-mix(in srgb,var(--foreground) 12%,transparent)}.usage-token-pop>span{display:flex;justify-content:space-between;gap:1rem}.usage-token-total{margin-top:.25rem;padding-top:.4rem;padding-bottom:.1rem;border-top:1px solid var(--border);color:var(--foreground);font-weight:600}.usage-pager{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.75rem;font-size:.75rem;color:var(--muted-foreground)}@media (max-width: 1100px){.usage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.usage-kpis{grid-template-columns:1fr}.usage-export{margin-left:0}}.admin-frame{display:flex;min-height:100vh;align-items:stretch}.admin-rail{position:sticky;top:0;z-index:20;flex:0 0 13.75rem;display:flex;flex-direction:column;justify-content:flex-start;height:100vh;padding:1.1rem .7rem .85rem;border-right:1px solid var(--border);background:color-mix(in srgb,var(--card) 94%,var(--background))}.admin-frame.is-collapsed .admin-rail{flex-basis:3.6rem;padding-inline:.45rem}.admin-rail-sep{border:0;border-top:1px solid var(--border);margin:.35rem .45rem .65rem;width:auto}.admin-rail-nav{display:grid;gap:.2rem}.admin-rail-link,.admin-rail-toggle{display:flex;align-items:center;gap:.7rem;width:100%;min-height:2.4rem;padding:.45rem .65rem;border:0;border-radius:.55rem;background:transparent;color:var(--muted-foreground);text-decoration:none;font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.admin-rail-link:hover,.admin-rail-toggle:hover{background:var(--muted);color:var(--foreground)}.admin-rail-link.active{background:color-mix(in srgb,var(--primary) 14%,var(--card));color:var(--foreground)}.admin-rail-icon{display:flex;flex-shrink:0}.admin-rail-icon svg,.admin-rail-toggle svg{width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.admin-frame.is-collapsed .admin-rail-link,.admin-frame.is-collapsed .admin-rail-toggle{justify-content:center;padding-inline:.4rem}.admin-frame.is-collapsed .admin-rail-label{display:none}.admin-main{flex:1;min-width:0}.admin-main-inner{position:relative;z-index:1;width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:1.75rem 0 3.5rem}.overview-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.overview-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.15rem}.overview-section h2{margin:0 0 .85rem;font-size:.95rem}.overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.overview-metrics-tokens{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-metric-label{display:block;font-size:.75rem;color:var(--muted-foreground)}.overview-metrics .field-help-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:inherit}.overview-metrics strong{display:block;margin-top:.2rem;font-size:1.15rem;font-weight:600;letter-spacing:-.02em}.overview-bar{display:flex;height:.45rem;margin-top:1rem;overflow:hidden;border-radius:999px;background:var(--muted)}.overview-bar-internal{background:var(--muted-foreground)}.overview-bar-gemini{background:var(--primary)}.overview-reasons{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.4rem}.overview-reasons li{display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem}.overview-leaderboard{margin-top:1rem}.overview-leaderboard .lede{margin:0 0 .85rem}@media (max-width: 900px){.overview-grid,.overview-metrics{grid-template-columns:1fr}}
