:root{--bg:#05080c;--bg-2:#081019;--surface:#0b131c;--surface-2:#101b27;--surface-3:#15222f;--line:#1b2b3a;--line-strong:#27405a;--text:#e3eef5;--muted:#8297aa;--dim:#5b6f82;--accent:#29e0c7;--accent-2:#45a9ff;--accent-ink:#03110f;--good:#3ee08f;--warn:#ffb547;--bad:#ff5c6c;--region:#ffb547;--radius:6px;--glow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 18%, transparent);--font:"Manrope", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--display:"Unbounded", "Manrope", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--border:var(--line);--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;font-family:var(--font);color:var(--text);background:radial-gradient(1100px 620px at 8% -12%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 62%), radial-gradient(900px 520px at 108% 4%, color-mix(in srgb, var(--accent-2) 9%, transparent), transparent 60%), linear-gradient(color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(90deg, color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px) 0 0 / 44px 44px, var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;padding-bottom:34px;font-size:14.5px;line-height:1.45}body:after{content:"";z-index:100;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}a{color:var(--accent)}code{background:var(--surface-2);font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:.9em}.icon{flex:none}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:var(--mono);font-size:12.5px}.mono-label{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);font-size:11px}.section-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:10.5px}.cursor{color:var(--accent);margin-left:2px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.app{flex-direction:column;min-height:calc(100vh - 34px);display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:10px 22px;display:flex;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent) 30%, var(--accent-2) 70%, transparent);opacity:.5;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{align-items:center;gap:12px;display:flex}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:16px;font-weight:700}.brand-sub{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:3px;font-size:10px}.services{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.service{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:default;border-radius:4px;align-items:center;gap:7px;padding:4px 10px;font-size:10.5px;display:inline-flex}.service .dot{border-radius:50%;width:6px;height:6px}.service.on{color:var(--text)}.service.on .dot{background:var(--good);box-shadow:0 0 8px var(--good)}.service.off .dot{background:var(--bad);box-shadow:0 0 8px var(--bad)}.service.optional .dot{border:1.5px solid var(--dim)}.layout{flex:1;grid-template-columns:minmax(380px,5fr) minmax(420px,7fr);align-items:start;gap:22px;padding:26px 22px 30px;display:grid}.column{flex-direction:column;gap:24px;min-width:0;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 92%, transparent), color-mix(in srgb, var(--surface) 94%, transparent));padding:18px 16px 16px;position:relative;box-shadow:0 18px 40px -24px #000c}.panel:before,.upload-zone:before,.frame-corners{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(var(--accent), var(--accent)) top left / 14px 2px, linear-gradient(var(--accent), var(--accent)) top left / 2px 14px, linear-gradient(var(--accent), var(--accent)) top right / 14px 2px, linear-gradient(var(--accent), var(--accent)) top right / 2px 14px, linear-gradient(var(--accent), var(--accent)) bottom left / 14px 2px, linear-gradient(var(--accent), var(--accent)) bottom left / 2px 14px, linear-gradient(var(--accent), var(--accent)) bottom right / 14px 2px, linear-gradient(var(--accent), var(--accent)) bottom right / 2px 14px;opacity:.7;background-repeat:no-repeat;position:absolute;inset:-1px}.panel-tag{z-index:3;border:1px solid var(--line-strong);background:var(--bg);color:var(--accent);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:1px 8px;font-size:10px;font-weight:500;line-height:1.5;position:absolute;top:-9px;left:14px}.banner{border:1px solid color-mix(in srgb, var(--accent-2) 40%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 8%, var(--surface));align-items:center;gap:10px;margin:14px 22px 0;padding:10px 14px;font-size:13.5px;display:flex}.banner>span{flex:1}.banner.error{border-color:color-mix(in srgb, var(--bad) 50%, var(--line));background:color-mix(in srgb, var(--bad) 9%, var(--surface))}.banner.error>.icon{color:var(--bad)}.btn{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface-2) 80%, transparent);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:7px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{gap:5px;padding:4px 9px;font-size:12px}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{border-color:var(--line-strong);box-shadow:none}.btn.primary{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:var(--accent-ink);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 60%, transparent), 0 8px 28px -8px color-mix(in srgb, var(--accent) 70%, transparent);border:none;padding:11px 20px;font-size:12.5px;font-weight:700;position:relative;overflow:hidden}.btn.primary:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}.btn.primary:hover{color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent), 0 10px 34px -6px color-mix(in srgb, var(--accent) 85%, transparent)}.btn.primary:hover:after{transform:translate(120%)}.btn.danger{border:1px solid var(--bad);background:color-mix(in srgb, var(--bad) 14%, transparent);color:var(--bad);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;padding:11px 20px;font-size:12.5px;font-weight:700;animation:1.6s ease-in-out infinite alarm}.btn.danger:hover{color:#fff;background:color-mix(in srgb, var(--bad) 30%, transparent)}@keyframes alarm{50%{box-shadow:0 0 22px color-mix(in srgb, var(--bad) 45%, transparent)}}.input{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg) 70%, var(--surface));color:var(--text);font:inherit;border-radius:4px;padding:8px 11px;font-size:13.5px}.input::placeholder{color:var(--dim)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.input.small{padding:5px 8px;font-size:12.5px}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.spinner.large{border-width:3px;width:36px;height:36px}.spinner.tiny{width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:3px;padding:3px 9px;font-size:12px}.chip.subtle{border-color:var(--line);background:var(--surface-2)}.badge{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:10.5px}.badge.good{border-color:color-mix(in srgb, var(--good) 40%, transparent);background:color-mix(in srgb, var(--good) 12%, transparent);color:var(--good)}.verify-note{color:var(--warn);align-items:flex-start;gap:6px;margin:8px 0 0;font-size:12.5px;display:flex}.verify-note .icon{flex:none;margin-top:2px}.radar{border-radius:50%;flex:none;display:inline-block;position:relative}.radar svg{width:100%;height:100%;overflow:visible}.radar circle{fill:none;stroke:var(--accent);stroke-width:1.4px;opacity:.45}.radar circle:first-of-type{opacity:.8;stroke-width:1.8px}.radar path{stroke:var(--accent);stroke-width:.8px;opacity:.22}.radar .blip{fill:var(--accent);stroke:none;opacity:0;animation:3s ease-out infinite blip}.radar .blip.second{animation-delay:1.5s}.radar:not(.sweeping) .blip{opacity:.8;animation:none}@keyframes blip{0%,20%{opacity:0}30%{opacity:1}to{opacity:0}}.radar-beam{background:conic-gradient(from 0deg, transparent 0deg 290deg, color-mix(in srgb, var(--accent) 6%, transparent) 300deg, color-mix(in srgb, var(--accent) 55%, transparent) 360deg);border-radius:50%;animation:3s linear infinite spin;position:absolute;inset:3%}.upload-zone{border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:var(--radius);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 55%), color-mix(in srgb, var(--surface) 88%, transparent);min-height:470px;color:var(--muted);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:36px 28px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.upload-zone:hover{border-color:var(--accent);box-shadow:inset 0 0 60px color-mix(in srgb, var(--accent) 8%, transparent)}.upload-zone p{max-width:460px;margin:0}.upload-zone .radar{margin-bottom:10px}.upload-title{color:var(--text);font-family:var(--display);letter-spacing:.02em;font-size:21px;font-weight:700}.upload-lead{color:var(--text);font-size:14.5px}.link-like{color:var(--accent);text-underline-offset:3px;align-items:center;gap:4px;font-weight:600;text-decoration:underline;display:inline-flex}.upload-tip{max-width:400px}.progress{background:var(--line);border-radius:2px;width:70%;height:4px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;box-shadow:0 0 12px var(--accent);transition:width .2s}.drop-overlay{z-index:60;border:2px solid var(--accent);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--accent);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 0 120px color-mix(in srgb, var(--accent) 18%, transparent);pointer-events:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:18px;font-weight:700;display:flex;position:fixed;inset:12px}.photo-head{justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.photo-title{flex-direction:column;gap:3px;min-width:0;display:flex}.photo-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.photo-actions{gap:2px;display:flex}.viewer{border:1px solid var(--line);background:linear-gradient(color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px) 0 0 / 22px 22px, #03060a;border-radius:4px;justify-content:center;padding:14px;display:flex}.viewer-frame{max-width:100%;line-height:0;display:inline-block;position:relative}.viewer-frame img{-webkit-user-select:none;user-select:none;max-width:100%;max-height:60vh;display:block}.frame-corners{opacity:.9;border-radius:0;inset:-7px}.viewer.scanning .frame-corners{animation:1.2s ease-in-out infinite lock}@keyframes lock{50%{opacity:1;inset:-3px}}.scan{pointer-events:none;background:linear-gradient(color-mix(in srgb, var(--accent) 12%, transparent) 1px, transparent 1px) 0 0 / 100% 25%, linear-gradient(90deg, color-mix(in srgb, var(--accent) 12%, transparent) 1px, transparent 1px) 0 0 / 25% 100%;position:absolute;inset:0;overflow:hidden}.scan-line{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--accent) 22%, transparent) 85%, var(--accent));border-bottom:2px solid var(--accent);height:90px;box-shadow:0 6px 22px color-mix(in srgb, var(--accent) 60%, transparent);animation:2.6s cubic-bezier(.45,0,.55,1) infinite sweep;position:absolute;left:0;right:0}@keyframes sweep{0%{top:-90px}to{top:100%}}.scan-label{border:1px solid var(--accent);background:color-mix(in srgb, var(--bg) 70%, transparent);color:var(--accent);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;padding:2px 8px;font-size:10.5px;line-height:1.6;animation:1.2s step-end infinite blink;position:absolute;top:10px;left:10px}.overlay{touch-action:none;position:absolute;inset:0}.overlay.selectable{cursor:crosshair}.region{border:1.5px solid var(--region);background:color-mix(in srgb, var(--region) 10%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--region) 40%, transparent);pointer-events:none;position:absolute}.region.mirror{border-style:dashed}.region.hover{background:color-mix(in srgb, var(--region) 28%, transparent)}.region.draft{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 45%, transparent)}.region-num{background:var(--region);color:#1a1000;font:600 10.5px/1 var(--mono);padding:3px 6px;position:absolute;top:-2px;left:-2px;transform:translateY(-100%)}.hint{color:var(--muted);align-items:center;gap:7px;margin:12px 2px;font-size:12.5px;display:flex}.hint .icon{color:var(--region)}.region-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.region-list li{align-items:center;gap:8px;display:flex}.region-list .input{flex:1;min-width:0}.region-badge{border:1.5px solid var(--region);width:22px;height:22px;color:var(--region);font-family:var(--mono);flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.toggle{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.toggle input{accent-color:var(--accent)}.note{resize:vertical;width:100%;margin-bottom:14px}.ai-settings{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);border-radius:4px;flex-direction:column;gap:9px;margin-bottom:16px;padding:12px;display:flex}.segmented{border:1px solid var(--line);background:var(--bg);border-radius:4px;align-self:flex-start;padding:3px;display:inline-flex}.segmented button{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:5px 16px;font-size:11.5px}.segmented button.active{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.choice-grid{gap:8px;display:grid}.choice-grid.models{grid-template-columns:repeat(auto-fit,minmax(122px,1fr))}.choice-grid.modes{grid-template-columns:1fr 1fr}.choice-grid button{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:4px;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 11px;font-size:13.5px;transition:border-color .15s,background .15s;display:flex;position:relative}.choice-grid button:hover{border-color:var(--line-strong);background:var(--surface-2)}.choice-grid button strong{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;font-weight:700;display:flex}.choice-grid button span{max-width:100%;color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.choice-grid button.active{border-color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--accent) 4%, transparent));box-shadow:0 0 18px -4px color-mix(in srgb, var(--accent) 45%, transparent)}.choice-grid button.active:before{content:"";background:var(--accent);height:2px;box-shadow:0 0 10px var(--accent);position:absolute;top:-1px;left:10px;right:10px}.choice-grid button.active span{color:color-mix(in srgb, var(--accent) 70%, var(--text))}.segmented button:disabled,.choice-grid button:disabled{cursor:default;opacity:.55}.bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.bars i{background:var(--line-strong);border-radius:1px;width:3px}.bars i:first-child{height:4px}.bars i:nth-child(2){height:7px}.bars i:nth-child(3){height:10px}.bars i:nth-child(4){height:12px}.bars i.on{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb, var(--accent) 70%, transparent)}.ai-hint{margin:0 2px;font-size:12px}.analyze-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.analyze-row>.muted{font-family:var(--mono);letter-spacing:.03em;font-size:11px}.spend-meter{background:var(--line);border-radius:2px;height:3px;margin-top:12px;overflow:hidden}.spend-meter>div{background:linear-gradient(90deg, var(--accent), var(--warn));height:100%;box-shadow:0 0 10px var(--accent);transition:width .4s}.tabs-panel{padding:0;overflow:hidden}.tabs{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, transparent);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:12px;font-size:11px;display:inline-flex}.tabs button:hover{color:var(--text)}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);text-shadow:0 0 12px color-mix(in srgb, var(--accent) 60%, transparent)}.tab-body{max-height:70vh;padding:16px;overflow:auto}.empty{margin:4px 0;font-size:13.5px}.hints{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.hint-item{border-left:2px solid var(--line-strong);background:var(--surface-2);align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.hint-item .icon{margin-top:1px}.hint-item.good{border-left-color:var(--good)}.hint-item.good .icon{color:var(--good)}.hint-item.info{border-left-color:var(--accent-2)}.hint-item.info .icon{color:var(--accent-2)}.hint-item.warn{border-left-color:var(--warn)}.hint-item.warn .icon{color:var(--warn)}.facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 14px;font-size:13.5px;display:grid}.fact{display:contents}.fact dt{color:var(--dim);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.fact dd{overflow-wrap:anywhere;min-width:0;margin:0}.fact-gps{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.thumbnail{align-items:center;gap:10px;margin:0 0 14px;display:flex}.thumbnail img{border:1px solid var(--line-strong);width:120px}.thumbnail.differs img{border:2px solid var(--warn)}.thumbnail figcaption{color:var(--muted)}.tags-head{justify-content:space-between;align-items:center;gap:10px;margin:6px 0 8px;display:flex}.tag-group{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 40%, transparent);border-radius:4px;margin-bottom:6px}.tag-group summary{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:8px 10px;font-size:11.5px}.tag-group table{border-collapse:collapse;width:100%;font-size:12px}.tag-group th,.tag-group td{border-top:1px solid var(--line);text-align:left;vertical-align:top;word-break:break-word;padding:4px 10px}.tag-group th{width:40%;color:var(--muted);font-weight:500}.tag-group td{font-family:var(--mono)}.log{flex-direction:column;gap:10px;margin:0;padding:0 0 0 4px;list-style:none;display:flex;position:relative}.log:before{content:"";background:linear-gradient(180deg, var(--line-strong), transparent);width:1px;position:absolute;top:4px;bottom:4px;left:11px}.log-item{align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex;position:relative}.log-item>.icon,.log-item>.spinner{box-sizing:content-box;background:var(--surface);color:var(--dim);border-radius:50%;margin-top:2px;padding:2px;position:relative}.log-item.status{font-family:var(--mono);color:var(--muted);font-size:11.5px}.log-item.tool{font-family:var(--mono);font-size:12px}.log-item.tool>.icon{color:var(--accent)}.log-item.note>.icon{color:var(--accent-2)}.log-item.thinking{color:var(--muted);font-size:12.5px}.log-item.thinking summary{cursor:pointer}.log-item.thinking p{border-left:1px solid var(--line-strong);white-space:pre-wrap;margin:6px 0 0;padding-left:10px}.log-item.warning>.icon{color:var(--warn)}.log-item.error,.log-item.error>.icon{color:var(--bad)}.log-item.done{color:var(--good);font-family:var(--mono);letter-spacing:.04em;font-size:12px}.log-item.done>.icon{color:var(--good)}.log-item.running{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11.5px}.log-image{border:1px solid var(--accent);max-width:230px;max-height:160px;box-shadow:0 0 16px -6px var(--accent);margin-top:6px;display:block}.log-links{flex-wrap:wrap;gap:8px;margin-top:4px;font-size:11.5px;display:flex}.log-links a{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.vision section{margin-bottom:16px}.vision h4{color:var(--dim);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:500}.vision p{margin:0 0 6px}.plain{flex-direction:column;gap:5px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.pages a{word-break:break-all}.ocr pre{border-left:2px solid var(--accent);background:var(--surface-2);font-family:var(--mono);white-space:pre-wrap;margin:4px 0 10px;padding:8px 10px;font-size:12.5px}.error-text{color:var(--bad)}.map-wrap{position:relative}.map{border:1px solid var(--line-strong);border-radius:var(--radius);background:#03060a;width:100%;height:52vh;min-height:380px;display:block;overflow:hidden;box-shadow:0 18px 40px -24px #000000e6}.map.tactical{filter:invert(.92)hue-rotate(180deg)saturate(.7)contrast(.92)brightness(.95)}.empty-map{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 55%), linear-gradient(color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px) 0 0 / 32px 32px, #03060a;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex}.empty-map p{max-width:340px;font-family:var(--mono);letter-spacing:.04em;margin:0;font-size:11.5px}.map-note{color:var(--dim);font-family:var(--mono);margin:8px 2px 0;font-size:10.5px}.street-view{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);overflow:hidden}.street-head{justify-content:space-between;align-items:center;padding:6px 8px 6px 12px;font-size:13.5px;display:flex}.street-head span{align-items:center;gap:6px;display:inline-flex}.street-body{position:relative}.street-canvas{height:340px}.street-status{background:var(--surface-2);color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.results.pending .pending-body{align-items:center;gap:16px;display:flex}.results.pending p{margin:0}.summary{margin-bottom:16px}.summary-head{color:var(--accent);align-items:center;gap:9px;display:flex}.summary-head strong{color:var(--text);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:700}.cost-badge{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-family:var(--mono);letter-spacing:.06em;white-space:nowrap;border-radius:3px;margin-left:auto;padding:3px 10px;font-size:11.5px;font-weight:600}.drawer-total{margin:-4px 0 12px}.drawer-total strong{color:var(--accent);font-family:var(--mono)}.summary p{margin:10px 0 0;line-height:1.6}.warnings{color:var(--warn);flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.warnings li{gap:6px;display:flex}.warnings .icon{margin-top:2px}.candidates{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.candidate{--c:var(--accent);border:1px solid var(--line);border-left:3px solid var(--c);background:linear-gradient(90deg, color-mix(in srgb, var(--c) 7%, transparent), transparent 40%), var(--surface);cursor:pointer;border-radius:4px;padding:14px 14px 12px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}.candidate:hover{border-color:color-mix(in srgb, var(--c) 45%, var(--line));transform:translate(2px)}.candidate.active{border-color:var(--c);box-shadow:0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent), 0 0 26px -6px color-mix(in srgb, var(--c) 55%, transparent)}.cand-head{align-items:flex-start;gap:12px;display:flex}.rank{border:1.5px solid var(--c);width:30px;height:30px;color:var(--c);font-family:var(--mono);box-shadow:0 0 12px -2px color-mix(in srgb, var(--c) 70%, transparent), inset 0 0 0 3px var(--surface), inset 0 0 0 4px color-mix(in srgb, var(--c) 35%, transparent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.cand-title{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.cand-title strong{font-size:14.5px;line-height:1.35}.confidence{color:var(--c);font-family:var(--mono);align-items:center;gap:10px;margin:12px 0 6px;font-size:12.5px;font-weight:600;display:flex}.confidence-track{background:repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), color-mix(in srgb, var(--bg) 80%, transparent) calc(10% - 1px) 10%), var(--line);border-radius:1px;flex:1;height:6px;overflow:hidden}.confidence-bar{background:var(--c);height:100%;box-shadow:0 0 10px var(--c)}.reasoning{margin:8px 0 10px;font-size:13.5px;line-height:1.55}.cand-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.clues{margin-top:18px}.clues summary{color:var(--muted);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-size:11.5px}.clues ul{flex-direction:column;gap:9px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.clues li{align-items:flex-start;gap:10px;display:flex}.strength{min-width:70px;font-family:var(--mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;border:1px solid;border-radius:3px;flex:none;margin-top:1px;padding:2px 7px;font-size:10px}.strength.strong{color:var(--good)}.strength.medium{color:var(--warn)}.strength.weak{color:var(--dim)}.usage{border-top:1px dashed var(--line);font-family:var(--mono);letter-spacing:.03em;margin:16px 0 0;padding-top:10px;font-size:10.5px!important}.login{place-items:center;min-height:calc(100vh - 34px);padding:16px;display:grid}.login-card{flex-direction:column;gap:18px;width:min(380px,100%);padding:30px 26px 26px;display:flex}.login-field{flex-direction:column;gap:7px;display:flex}.login-card .btn.primary{justify-content:center}.login-card .error-text{margin:0}.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02040799;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{border-left:1px solid var(--accent);background:linear-gradient(180deg, var(--surface-2), var(--bg-2));width:min(430px,100%);height:100%;box-shadow:-20px 0 50px -20px color-mix(in srgb, var(--accent) 35%, transparent);padding:18px 16px;overflow:auto}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.drawer-head strong{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:14px}.history{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.history li{border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;display:flex}.history li.active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.history-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:11px;padding:7px;display:flex}.history-open:hover{background:var(--surface-3)}.history-open img{border:1px solid var(--line-strong);object-fit:cover;filter:saturate(.85);flex:none;width:66px;height:50px}.history-open div{flex-direction:column;gap:2px;min-width:0;display:flex}.history-open strong,.history-open span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.history-open .mono-label{font-size:10.5px}.statusbar{z-index:30;border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:34px;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:0 14px;font-size:10.5px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.statusbar>span{border-right:1px solid var(--line);align-items:center;gap:7px;height:100%;padding:0 14px;display:inline-flex}.status-state{color:var(--text)}.statusbar .led{background:var(--good);width:7px;height:7px;box-shadow:0 0 8px var(--good);border-radius:50%}.statusbar.busy .led{background:var(--warn);box-shadow:0 0 10px var(--warn);animation:.9s step-end infinite blink}.statusbar .coords{color:var(--accent)}.status-clock{border-left:1px solid var(--line);color:var(--accent);margin-left:auto;border-right:none!important}@media (width<=1000px){.layout{grid-template-columns:1fr}}@media (width<=640px){.topbar{flex-wrap:wrap;padding:10px 16px}.services{order:3;width:100%;margin-left:0}.layout{padding:22px 16px 24px}.banner{margin:12px 16px 0}.region-list li{flex-wrap:wrap}.upload-zone{min-height:380px}.statusbar .status-cell{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.scan-line{display:none}}
