:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #060a11;--surface: #0d1420;--surface-2: #111c2b;--surface-3: #172537;--line: rgba(154, 178, 204, .17);--text: #edf4fb;--muted: #93a5ba;--dim: #63758a;--accent: #55d9f5;--accent-strong: #40c9e9;--good: #58d885;--warn: #f2bf45;--bad: #ff6565}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100dvh;display:grid;grid-template-rows:58px minmax(0,1fr);background:radial-gradient(circle at 18% 8%,rgba(85,217,245,.12),transparent 28%),linear-gradient(135deg,#070b12,#0a101a 46%,#050813)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line);background:#080d16eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark{display:flex;align-items:center;gap:12px}.brand-mark svg{color:var(--accent)}.brand-mark strong,.brand-mark span{display:block}.brand-mark strong{font-size:14px;letter-spacing:.02em}.brand-mark span,.system-pill{color:var(--muted);font-size:12px}.system-pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#ffffff09}.system-pill svg{color:var(--good)}.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 332px}.inspection-stage{position:relative;min-width:0;min-height:0;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(circle at 50% 50%,rgba(85,217,245,.08),transparent 38%),linear-gradient(135deg,rgba(255,255,255,.026) 25%,transparent 25%),linear-gradient(225deg,rgba(255,255,255,.016) 25%,transparent 25%),#081321;background-size:auto,10px 10px,10px 10px,auto}.inspection-stage.dragging{cursor:grabbing}.stage-hint{position:absolute;z-index:4;top:18px;left:18px;max-width:calc(100% - 36px);padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#03070db8;color:#edf4fbc2;font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--dim);text-align:center}.empty-state strong{color:#edf4fb8f;font-weight:700}.empty-state span{font-size:13px}.inspection-image{position:absolute;top:50%;left:50%;max-width:72%;max-height:72%;object-fit:contain;transform-origin:center;pointer-events:none;filter:drop-shadow(0 26px 50px rgba(0,0,0,.34))}.timegrapher-image{position:absolute;inset:44px;width:calc(100% - 88px);height:calc(100% - 88px);object-fit:contain;pointer-events:none;filter:drop-shadow(0 26px 50px rgba(0,0,0,.34))}.watch-overlay{position:absolute;left:50%;top:50%;width:min(82vmin,920px);aspect-ratio:1;color:var(--accent);transform:var(--overlay-transform);transform-origin:center;pointer-events:none}.indices-overlay{width:100%;height:100%;overflow:visible;display:block}.overlay-line{stroke:currentColor;stroke-width:1.15;vector-effect:non-scaling-stroke;opacity:.92}.overlay-ring{fill:none;stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:.42}.overlay-center{fill:none;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.95}.grid-overlay{position:absolute;inset:0;border:1px solid currentColor;opacity:.7;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-position:center;background-size:calc(100% / 6) calc(100% / 6)}.side-rail{min-height:0;overflow-y:auto;border-left:1px solid var(--line);background:linear-gradient(180deg,#0d1420fa,#060911fc),var(--surface)}.toolbar{padding:14px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#ffffff09}.mode-switch button,.tool,.secondary-action,.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px}.mode-switch button{min-height:34px;color:var(--muted);background:transparent}.mode-switch button.active{color:var(--text);background:var(--surface-3)}.upload-box{margin-top:14px;min-height:82px;display:grid;place-items:center;gap:7px;border:1px dashed rgba(147,165,186,.35);border-radius:13px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.upload-box:hover{color:var(--accent);border-color:#55d9f5b8}.upload-box input{display:none}.control-card,.result-card{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#111c2bc7;box-shadow:inset 0 1px #ffffff0a}.control-card h2{margin:0 0 12px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool{min-height:58px;flex-direction:column;color:var(--muted);background:#050911b3;border-color:#9ab2cc24}.tool.active{color:var(--accent);border-color:var(--accent);background:#55d9f51c;box-shadow:0 0 0 2px #55d9f529 inset}.range-row{display:grid;gap:7px;margin-top:13px}.range-row span{display:flex;justify-content:space-between;color:#edf4fbc2;font-size:13px}.range-row output{color:var(--accent);font-variant-numeric:tabular-nums}.range-row input{width:100%;accent-color:var(--accent)}.swatches{display:flex;gap:9px;margin-top:14px}.swatch{width:24px;height:24px;padding:0;border:2px solid transparent;border-radius:999px}.swatch.active{border-color:#fff}.action-stack{display:grid;gap:9px;margin-top:14px}.secondary-action,.primary-action{min-height:43px;width:100%;font-weight:800}.secondary-action{color:var(--text);background:#ffffff0b;border-color:var(--line)}.secondary-action:disabled{color:var(--dim);opacity:.62}.primary-action{color:#03121c;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-color:transparent;box-shadow:0 14px 30px #55d9f529}.primary-action:disabled{opacity:.52}.result-card{margin:0 14px 14px}.result-title,.result-heading-row{display:flex;align-items:center;gap:8px}.result-title{color:var(--text);font-size:13px;font-weight:850;letter-spacing:.03em}.result-title svg{color:var(--accent)}.result-heading-row{justify-content:space-between}.result-summary,.result-card p{margin:12px 0 0;color:#edf4fbc2;font-size:13px;line-height:1.55}.result-card-empty{color:var(--muted)}.result-card-error{border-color:#ff656559;background:#4b161e73}.result-card-error .result-title svg,.issue-row svg{color:var(--bad)}.result-card-loading{overflow:hidden}.skeleton{height:12px;margin-top:13px;border-radius:999px;background:linear-gradient(90deg,#ffffff12,#55d9f529,#ffffff12);background-size:240% 100%;animation:shimmer 1.3s linear infinite}.skeleton-wide{width:92%}.skeleton-short{width:54%}.verdict{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.verdict-excellent{color:var(--good);background:#58d8851f}.verdict-acceptable{color:var(--warn);background:#f2bf451f}.verdict-reject{color:var(--bad);background:#ff65651f}.issue-list{display:grid;gap:8px;margin-top:14px}.issue-label{color:var(--dim);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.issue-row{display:flex;align-items:flex-start;gap:8px;color:#edf4fbc7;font-size:12px;line-height:1.45}.issue-row-good svg{color:var(--good)}.metric-grid{display:grid;gap:8px;margin-top:13px}.metric{display:flex;justify-content:space-between;align-items:baseline;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0308106b}.metric span{color:var(--muted);font-size:12px;text-transform:uppercase}.metric strong{font-size:18px;font-variant-numeric:tabular-nums}.metric-good strong{color:var(--good)}.metric-warn strong{color:var(--warn)}.metric-bad strong{color:var(--bad)}@keyframes shimmer{to{background-position:-240% 0}}@media(max-width:980px){.workspace{grid-template-columns:1fr;grid-template-rows:54dvh auto}.side-rail{border-left:0;border-top:1px solid var(--line)}.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-switch,.upload-box,.control-card,.action-stack{margin-top:0}.action-stack{align-self:end}.result-card{margin-top:0}}@media(max-width:640px){.app-shell{grid-template-rows:58px minmax(0,1fr)}.brand-mark span,.system-pill{display:none}.workspace{grid-template-rows:48dvh auto}.toolbar{grid-template-columns:1fr}.timegrapher-image{inset:22px;width:calc(100% - 44px);height:calc(100% - 44px)}}
