@font-face{font-family:Lato;src:url("/fonts/Lato-Regular.ttf")format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url("/fonts/Lato-Italic.ttf")format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url("/fonts/Lato-Bold.ttf")format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url("/fonts/Lato-BoldItalic.ttf")format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url("/fonts/Lato-Black.ttf")format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--background:#fff;--secondary-background:#eaeaea;--tertiary-background:#f4f4f4;--body-copy:#4d4d4d;--headline:#4d4d4d;--subtle:#6e6e6e;--hairline:#4d4d4d29;--overlay:#4d4d4d12;--shadow:0 1px 0 #4d4d4d0d, 0 8px 24px #4d4d4d1a;--success:#2f7d32;--warning:#b26a00;--error:#9b1c31;--tint:#385e9d;--on-tint-text:#fff;--primary:#d22020;--on-primary-text:#fff;--accent-teal:#1c6b70;--font-sans:"Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}.admin-root,.admin-root *{box-sizing:border-box}.admin-root{background:var(--background);color:var(--body-copy);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;width:100vw;height:100vh;font-size:14px;line-height:1.45;overflow:hidden}.admin-root a,.leaflet-container.leaflet-container{font-family:var(--font-sans)}.admin-root button{cursor:pointer;font-family:inherit}.admin-root input,.admin-root textarea,.admin-root select{font-family:inherit}.admin-root .mono{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.app{background:var(--background);grid-template-rows:56px minmax(0,1fr);grid-template-columns:380px minmax(0,1fr) 360px;height:100vh;display:grid}.topbar{border-bottom:1px solid var(--hairline);background:var(--background);flex-shrink:0;grid-column:1/-1;align-items:center;gap:16px;min-height:56px;padding:0 20px;display:flex}.brand{color:var(--headline);align-items:center;display:flex}.brand-logo{flex-shrink:0;width:auto;height:36px;display:block}.brand-divider{background:var(--hairline);width:1px;height:18px}.topbar-spacer{flex:1}.topbar-user{color:var(--subtle);align-items:center;gap:8px;font-size:12px;display:flex}.topbar-user .avatar{background:var(--secondary-background);width:26px;height:26px;color:var(--headline);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.topbar-nav{gap:4px;display:flex}.topbar-nav-item{color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:color .1s,background .1s}.topbar-nav-item:hover{color:var(--headline);background:var(--overlay)}.topbar-nav-item.active{color:var(--headline);background:var(--secondary-background)}.sidebar{border-right:1px solid var(--hairline);background:var(--background);flex-direction:column;min-height:0;display:flex}.sidebar-head{justify-content:space-between;align-items:baseline;gap:8px;padding:16px 18px 12px;display:flex}.sidebar-head h2{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);margin:0;font-size:13px;font-weight:700}.sidebar-head .reset{color:var(--subtle);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px}.sidebar-head .reset:hover{color:var(--headline);background:var(--overlay)}.sidebar-body{flex:1;padding:0 14px 14px;overflow:auto}.sidebar-body .input,.sidebar-body .select{border-color:var(--hairline)}.sidebar-foot{border-top:1px solid var(--hairline);gap:8px;padding:12px 14px;display:flex}.btn{border:1px solid var(--hairline);background:var(--background);height:38px;color:var(--headline);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--overlay)}.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary-text);border-color:var(--primary);flex:1}.btn-primary:hover{opacity:.92;background:var(--primary)}.btn-ghost{border-color:#0000}.btn-icon{width:38px;padding:0}.fnode{background:var(--secondary-background);border-radius:10px;flex-direction:column;gap:8px;margin:6px 0;padding:8px;display:flex}.fnode.nested{border-left:2px solid var(--tint);border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:10px}.fnode-head{align-items:flex-start;gap:4px;display:flex}.fnode-toggle{width:22px;height:22px;color:var(--subtle);background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.fnode-toggle:hover{color:var(--headline);background:var(--overlay)}.fnode-types{flex-wrap:wrap;flex:1;gap:3px;display:flex}.fnode-type{border:1px solid var(--hairline);letter-spacing:.04em;color:var(--body-copy);text-transform:uppercase;background:0 0;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.fnode-type:hover{background:var(--overlay)}.fnode-type.active{background:var(--tint);color:var(--on-tint-text);border-color:var(--tint)}.fnode-delete{width:24px;height:24px;color:var(--error);background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.fnode-delete:hover{background:var(--overlay)}.fnode-unwrap{width:24px;height:24px;color:var(--subtle);background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.fnode-unwrap:hover{background:var(--overlay);color:var(--headline)}.fnode-body{flex-direction:column;gap:6px;padding-left:4px;display:flex}.input{background:var(--background);height:32px;color:var(--headline);border:1px solid #0000;border-radius:6px;outline:none;width:100%;padding:0 10px;font-size:13px}.input:focus{border-color:var(--tint)}.input::placeholder{color:var(--subtle)}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row>.input{flex:1;min-width:60px}.chip{border:1px solid var(--hairline);color:var(--body-copy);background:0 0;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.chip:hover{background:var(--overlay)}.chip.active{background:var(--tint);color:var(--on-tint-text);border-color:var(--tint)}.chip.small{border-radius:4px;padding:2px 6px;font-size:11px}.add-filter{background:var(--tint);height:28px;color:var(--on-tint-text);border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.add-filter:hover{opacity:.92}.fnode-label{color:var(--subtle);font-size:11px;font-weight:600}.main{background:var(--background);flex-direction:column;min-height:0;display:flex}.main-head{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:14px 22px;display:flex}.main-title{color:var(--headline);letter-spacing:-.01em;font-size:15px;font-weight:700}.main-meta{color:var(--subtle);font-size:12px}.main-meta strong{color:var(--headline);font-weight:700}.main-spacer{flex:1}.seg{background:var(--secondary-background);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.seg button{height:28px;color:var(--subtle);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.seg button.active{background:var(--background);color:var(--headline);box-shadow:var(--shadow)}.summary-bar{border-bottom:1px solid var(--hairline);background:var(--background);flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:10px 22px;display:flex}.summary-bar .label{letter-spacing:.08em;color:var(--subtle);text-transform:uppercase;margin-right:4px;font-size:10px;font-weight:800}.summary-item{background:var(--secondary-background);color:var(--headline);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.summary-item .k{color:var(--subtle);text-transform:uppercase;font-size:10px;font-weight:700}.summary-item .v{font-weight:500}.summary-op{letter-spacing:.08em;color:var(--tint);font-size:10px;font-weight:800}.results{flex:1;padding:18px 22px 28px;overflow:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.gcard{background:var(--secondary-background);cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;transition:transform .12s,border-color .12s;display:flex;overflow:hidden}.gcard:hover{border-color:var(--hairline);transform:translateY(-1px)}.gcard.selected{border-color:var(--tint)}.gcard-img{aspect-ratio:1;background:var(--tertiary-background);position:relative;overflow:hidden}.gcard-img svg,.gcard-img img{object-fit:cover;width:100%;height:100%;display:block}.gcard-badge{color:#fff;letter-spacing:.02em;background:#0000008c;border-radius:4px;padding:3px 6px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px}.gcard-badge.dist{background:var(--tint);color:var(--on-tint-text)}.gcard-body{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.gcard-title{color:var(--headline);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.gcard-sub{color:var(--subtle);align-items:center;gap:6px;font-size:11px;display:flex}.gcard-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gtag{background:var(--background);color:var(--body-copy);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.list{flex-direction:column;gap:6px;display:flex}.lrow{background:var(--secondary-background);cursor:pointer;border-radius:8px;grid-template-columns:56px 1fr 140px 140px 110px 60px;align-items:center;gap:14px;padding:6px 10px;font-size:12px;display:grid}.lrow.selected{outline:1px solid var(--tint)}.lrow:hover{background:var(--tertiary-background)}.lrow .thumb{background:var(--tertiary-background);border-radius:6px;width:48px;height:48px;overflow:hidden}.lrow .thumb svg,.lrow .thumb img{object-fit:cover;width:100%;height:100%;display:block}.lrow .filename{color:var(--headline);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.lrow .muted{color:var(--subtle)}.lrow .dist{color:var(--tint);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.list-head{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);grid-template-columns:56px 1fr 140px 140px 110px 60px;gap:14px;padding:6px 10px 8px;font-size:10px;font-weight:800;display:grid}.empty{color:var(--subtle);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:80px 0;display:flex}.inspector{border-left:1px solid var(--hairline);background:var(--background);flex-direction:column;display:flex;overflow:auto}.insp-empty{text-align:center;color:var(--subtle);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 28px;display:flex}.insp-empty .glyph{background:var(--secondary-background);width:48px;height:48px;color:var(--subtle);border-radius:14px;place-items:center;margin-bottom:8px;font-size:22px;display:grid}.insp-content{flex-direction:column;gap:12px;padding:16px;display:flex}.insp-image{aspect-ratio:1;background:var(--secondary-background);border-radius:14px;place-items:center;width:100%;display:grid;overflow:hidden}.insp-image svg,.insp-image img{object-fit:cover;width:100%;height:100%}.dsection{background:var(--secondary-background);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.dsection-title{letter-spacing:.08em;color:var(--subtle);text-transform:uppercase;font-size:11px;font-weight:800}.kv{border-bottom:1px solid var(--hairline);grid-template-columns:90px 1fr;gap:8px;padding:6px 0;font-size:12px;display:grid}.kv:last-child{border-bottom:none}.kv .k{color:var(--subtle);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-size:10px;font-weight:700}.kv .v{color:var(--headline);word-break:break-word}.metachips{flex-wrap:wrap;gap:6px;display:flex}.metachip{background:var(--background);color:var(--headline);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.metachip.editable{align-items:center;gap:4px;padding-right:4px;display:inline-flex}.metachip-x{width:16px;height:16px;color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.metachip-x:hover{background:var(--secondary-background);color:var(--error)}.field>label{color:var(--subtle);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.btn-danger{color:var(--error);border-color:var(--hairline);background:0 0;justify-content:center;align-items:center;gap:6px;height:34px;font-size:12px;display:inline-flex}.btn-danger:hover{background:var(--error);color:var(--background);border-color:var(--error)}.btn-danger:disabled,.btn-danger[disabled]{opacity:.4;cursor:not-allowed;color:var(--subtle);border-color:var(--hairline);background:0 0}.dsection.danger{border:1px dashed var(--hairline);background:0 0}.sha{word-break:break-all;color:var(--subtle);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;line-height:1.5}.insp-actions{gap:8px;display:flex}.insp-actions .btn{flex:1;height:34px;font-size:12px}button:focus-visible,.input:focus-visible{outline:2px solid var(--tint);outline-offset:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--secondary-background);border:2px solid var(--background);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.config-block{border-bottom:1px solid var(--hairline);flex-direction:column;gap:10px;padding:14px 4px;display:flex}.config-block:last-child{border-bottom:none}.config-block-title{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);font-size:11px;font-weight:800}.config-block-title.collapsible{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;display:flex}.config-block-title.collapsible:hover{color:var(--headline)}.toggle{color:var(--body-copy);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.toggle input{accent-color:var(--tint);width:14px;height:14px}.runs-bar{border-bottom:1px solid var(--hairline);scrollbar-width:thin;align-items:center;gap:8px;padding:10px 22px;display:flex;overflow-x:auto}.runs-bar .label{letter-spacing:.08em;color:var(--subtle);text-transform:uppercase;flex-shrink:0;font-size:10px;font-weight:800}.run-pill{background:var(--secondary-background);color:var(--body-copy);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.run-pill:hover{border-color:var(--hairline)}.run-pill.active{border-color:var(--tint);background:var(--background);box-shadow:var(--shadow)}.run-pill-id{color:var(--headline);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.run-pill-algo{color:var(--headline);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.run-pill-src{color:var(--subtle)}.run-pill-stats{color:var(--subtle);border-left:1px solid var(--hairline);margin-left:2px;padding-left:6px}.running-indicator{color:var(--tint);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.spinner{border:2px solid var(--tint);vertical-align:middle;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite admin-spin;display:inline-block}@keyframes admin-spin{to{transform:rotate(360deg)}}.skel{background:var(--tertiary-background);border-radius:6px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--hairline) 60%, transparent), transparent);animation:1.3s ease-in-out infinite skel-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}}.skel-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;padding:18px 22px 28px;display:grid}.skel-gcard{background:var(--secondary-background);border:1px solid #0000;border-radius:12px;overflow:hidden}.skel-gcard-img{aspect-ratio:1;border-radius:0}.skel-gcard-body{flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.skel-line{height:10px}.skel-list{flex-direction:column;gap:6px;padding:6px 22px 28px;display:flex}.skel-lrow{border-radius:10px;height:62px}.skel-groups{flex-direction:column;gap:12px;padding:12px 0;display:flex}.skel-group{background:var(--secondary-background);border-radius:12px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.skel-group-head{align-items:center;gap:8px;min-height:28px;display:flex}.skel-btn{border-radius:8px;height:28px;margin-left:auto}.skel-strip{gap:12px;display:flex}.skel-thumb-col{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:152px;display:flex}.skel-thumb{border-radius:10px;width:148px;height:148px}.skel-resolve-bar{border-radius:8px;height:44px}.skel-cluster-strip{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.skel-cluster-card{background:var(--secondary-background);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.skel-cluster-head{align-items:center;gap:8px;display:flex}.skel-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.skel-count{border-radius:999px;flex-shrink:0;width:28px;height:16px}.skel-cluster-thumbs{grid-template-columns:repeat(6,1fr);gap:3px;display:grid}.skel-cthumb{aspect-ratio:1;border-radius:4px}.cluster-viz{flex:1;padding:18px 22px 28px;overflow:auto}.cluster-section-title{color:var(--headline);justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.cluster-section-title .meta{color:var(--subtle);font-size:11px;font-weight:500}.cluster-strip{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.cluster-card{background:var(--secondary-background);cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:8px;padding:10px;transition:border-color .1s,transform .1s;display:flex}.cluster-card:hover{border-color:var(--hairline)}.cluster-card.selected{border-color:var(--tint)}.cluster-card-head{align-items:center;gap:8px;display:flex}.cluster-card-name{color:var(--headline);flex:1;font-size:12px;font-weight:700}.cluster-card-count{color:var(--subtle);background:var(--background);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800}.cluster-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.cluster-dot.lg{width:14px;height:14px}.cluster-dot.xl{width:22px;height:22px}.cluster-card-thumbs{grid-template-columns:repeat(6,1fr);gap:3px;display:grid}.cluster-thumb{aspect-ratio:1;background:var(--background);cursor:pointer;border-radius:4px;overflow:hidden}.cluster-thumb svg,.cluster-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cluster-more{color:var(--subtle);background:var(--background);place-items:center;font-size:10px;font-weight:700;display:grid}.cluster-banner{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:4px 4px 12px;display:flex}.tag-bar{grid-template-columns:70px 1fr 36px;align-items:center;gap:8px;font-size:11px;display:grid}.tag-bar-label{color:var(--headline);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.tag-bar-track{background:var(--background);border-radius:999px;height:6px;overflow:hidden}.tag-bar-fill{background:var(--tint);border-radius:999px;height:100%;transition:width .2s}.tag-bar-pct{text-align:right;color:var(--subtle);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:600}.insp-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.insp-thumb{aspect-ratio:1;background:var(--background);cursor:pointer;border:none;border-radius:4px;width:100%;padding:0;display:block;overflow:hidden}.lightbox-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.lightbox-figure{cursor:zoom-in;max-width:90vw;max-height:90vh;display:block}.lightbox-figure img{object-fit:contain;border-radius:6px;max-width:90vw;max-height:90vh;display:block}.lightbox-close{z-index:1001;color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;top:16px;right:16px}.lightbox-close:hover{background:#ffffff4d}.insp-thumb svg,.insp-thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:3px;right:3px}.thumb-remove:hover{background:var(--error)}.thumb-remove:disabled{opacity:.5;cursor:default}.modal-backdrop{z-index:400;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--background);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:18px;box-shadow:0 12px 40px #00000047}.modal-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.modal-icon{width:30px;height:30px;color:var(--error);background:color-mix(in srgb, var(--error) 14%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-body{color:var(--subtle);margin-bottom:16px;font-size:13px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.param-list{flex-direction:column;display:flex}.param-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:11px;display:flex}.param-row:last-child{border-bottom:none}.param-key{color:var(--subtle);text-transform:lowercase;letter-spacing:.01em;word-break:break-word;flex:1;min-width:0;font-size:10px}.param-val{color:var(--headline);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;max-width:65%;font-size:11px;font-weight:700;overflow:hidden}.modal-backdrop{z-index:200;background:#0000006b;place-items:center;padding:20px;animation:.12s ease-out modal-fade;display:grid;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--background);width:100%;max-width:460px;box-shadow:0 24px 60px #00000047, 0 0 0 1px var(--hairline);border-radius:16px;flex-direction:column;max-height:90vh;animation:.14s ease-out modal-pop;display:flex}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal-card.danger{box-shadow:0 24px 60px #00000047, 0 0 0 1px var(--error)}.modal-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.modal-title{color:var(--headline);font-size:16px;font-weight:700}.modal-sub{color:var(--subtle);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.modal-close{color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.modal-close:hover{background:var(--overlay);color:var(--headline)}.modal-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow:auto}.modal-foot{border-top:1px solid var(--hairline);background:var(--secondary-background);border-radius:0 0 16px 16px;gap:8px;padding:12px 16px;display:flex}.modal-foot .btn{height:38px;font-size:13px}.bulk-warning{background:color-mix(in oklab, var(--error) 12%, transparent);border:1px solid color-mix(in oklab, var(--error) 30%, transparent);color:var(--error);border-radius:10px;align-items:flex-start;gap:10px;padding:12px;font-size:13px;display:flex}.bulk-warning strong{color:var(--headline);font-weight:700}.insp-actions.vertical{flex-direction:column;gap:6px}.insp-actions.vertical .btn{flex:none;justify-content:flex-start;width:100%;height:42px;padding:0 12px;font-size:12px}.toast{background:color-mix(in oklab, var(--success) 18%, var(--background));color:var(--headline);border:1px solid color-mix(in oklab, var(--success) 40%, transparent);border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:600;animation:.18s ease-out toast-in;display:flex}.toast.toast-danger{background:color-mix(in oklab, var(--error) 14%, var(--background));border-color:color-mix(in oklab, var(--error) 40%, transparent)}.toast svg{color:var(--success);flex-shrink:0}.toast.toast-danger svg{color:var(--error)}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.select{background:var(--secondary-background);height:32px;color:var(--headline);border:1px solid #0000;border-radius:8px;padding:0 10px;font-size:12px;font-weight:600}.endpoint{color:var(--subtle);background:var(--background);border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:3px 8px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;display:inline-flex}.endpoint .verb{color:var(--success);font-weight:700}.jt-dot{background:var(--subtle);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.jt-dot.s-running{background:var(--tint);box-shadow:0 0 0 0 color-mix(in oklab, var(--tint) 60%, transparent);animation:1.4s ease-out infinite jt-pulse}@keyframes jt-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--tint) 55%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.status-badge{background:var(--secondary-background);color:var(--headline);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-badge.s-running{background:color-mix(in oklab, var(--tint) 16%, var(--background));color:var(--tint)}.status-badge.s-success{background:color-mix(in oklab, var(--success) 16%, var(--background));color:var(--success)}.status-badge.s-failure{background:color-mix(in oklab, var(--error) 16%, var(--background));color:var(--error)}.status-badge.s-pending{background:var(--secondary-background);color:var(--subtle)}.jt-dot.s-success{background:var(--success)}.jt-dot.s-failure{background:var(--error)}.jt-dot.s-pending{background:var(--subtle)}.filter-rows{flex-direction:column;gap:2px;display:flex}.filter-row{color:var(--body-copy);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.filter-row:hover:not(:disabled){background:var(--overlay)}.filter-row.active{background:var(--secondary-background);border-color:var(--hairline);color:var(--headline)}.filter-row:disabled{opacity:.4;cursor:default}.filter-row-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.filter-row-ico{flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.filter-row-count{color:var(--subtle);background:var(--background);border-radius:999px;flex-shrink:0;padding:1px 7px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700}.filter-row.active .filter-row-count{background:var(--background);color:var(--headline)}.jt-head{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);align-items:center;gap:14px;padding:2px 14px 10px;font-size:10px;font-weight:800;display:grid}.jt-list{flex-direction:column;gap:5px;display:flex}.jt-row{text-align:left;background:var(--secondary-background);width:100%;color:var(--body-copy);border:1px solid #0000;border-radius:10px;align-items:center;gap:14px;padding:12px 14px;transition:border-color .12s,transform .12s,background .12s;display:grid}.jt-row:hover{border-color:var(--hairline);transform:translateY(-1px)}.jt-row.selected{border-color:var(--tint);background:var(--background);box-shadow:var(--shadow)}.jt-type{align-items:center;gap:11px;min-width:0;display:flex}.jt-type-ico{background:var(--background);border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.jt-row.selected .jt-type-ico{background:var(--secondary-background)}.jt-type-text{flex-direction:column;gap:2px;min-width:0;display:flex}.jt-type-label{color:var(--headline);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.jt-type-sub{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.jt-dur{color:var(--body-copy);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.jt-time{color:var(--subtle);white-space:nowrap;font-size:11px}.job-detail-head{align-items:center;gap:12px;display:flex}.job-detail-ico{background:var(--secondary-background);border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.job-detail-title{color:var(--headline);font-size:16px;font-weight:700}.job-live{background:var(--secondary-background);border:1px solid color-mix(in oklab, var(--tint) 30%, transparent);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.job-live-head{color:var(--headline);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.out-tabs{background:var(--background);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.out-tabs button{height:28px;color:var(--subtle);background:0 0;border:none;border-radius:6px;flex:1;font-size:11px;font-weight:700}.out-tabs button.active{background:var(--secondary-background);color:var(--headline);box-shadow:var(--shadow)}.raw-json{background:var(--background);color:var(--body-copy);white-space:pre;border-radius:10px;max-height:320px;margin:0;padding:12px;font-size:11px;line-height:1.55;overflow:auto}.app.solo{grid-template-columns:1fr}.solo-scroll{background:var(--background);overflow:auto}.solo-col{flex-direction:column;gap:22px;max-width:760px;margin:0 auto;padding:34px 24px 96px;display:flex}.emb-header{flex-direction:column;gap:6px;display:flex}.emb-header h1{letter-spacing:-.02em;color:var(--headline);margin:0;font-size:24px;font-weight:800}.emb-header p{color:var(--subtle);max-width:56ch;margin:0;font-size:13px;line-height:1.5}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);margin-bottom:-6px;font-size:11px;font-weight:800}.model-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.model-card{text-align:left;background:var(--secondary-background);cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:10px;padding:12px;transition:border-color .12s,transform .12s,background .12s;display:flex}.model-card:hover{border-color:var(--hairline);transform:translateY(-1px)}.model-card.active{border-color:var(--tint);background:var(--background);box-shadow:var(--shadow)}.model-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.model-name{color:var(--headline);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:700}.fam-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--background);color:var(--subtle);border-radius:5px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:800}.model-card.active .fam-badge{background:var(--secondary-background)}.fam-badge.yolo{color:var(--tint)}.model-cov-line{justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.model-cov-line .frac{color:var(--headline);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.model-cov-line .miss{color:var(--subtle);font-weight:600}.model-cov-line .miss.zero{color:var(--success)}.minibar{background:var(--background);border-radius:999px;height:5px;overflow:hidden}.model-card.active .minibar{background:var(--secondary-background)}.minibar-fill{background:var(--tint);border-radius:999px;height:100%;transition:width .4s}.coverage-panel{background:var(--secondary-background);border-radius:16px;flex-direction:column;gap:16px;padding:18px;display:flex}.cov-head{align-items:center;gap:10px;display:flex}.cov-model{color:var(--headline);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:800}.cov-meta{color:var(--subtle);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cov-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cov-stat{background:var(--background);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}.cov-stat .num{color:var(--headline);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:800}.cov-stat .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:700}.cov-stat.missing .num{color:var(--warning)}.cov-stat.missing.zero .num{color:var(--success)}.cov-bar{background:var(--background);border-radius:999px;height:8px;overflow:hidden}.cov-bar-fill{background:var(--tint);border-radius:999px;height:100%;transition:width .5s}.action-card{background:var(--secondary-background);border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.action-card-head{align-items:flex-start;gap:12px;display:flex}.action-icon{background:var(--background);width:36px;height:36px;color:var(--tint);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.action-title{color:var(--headline);font-size:14px;font-weight:700}.action-desc{color:var(--subtle);margin-top:2px;font-size:12px;line-height:1.5}.action-foot{align-items:center;gap:12px;display:flex}.action-foot .btn-primary{flex:none}.btn-primary:disabled,.btn-primary[disabled]{opacity:.45;cursor:not-allowed}.btn-primary:disabled:hover{background:var(--headline);opacity:.45}.matched-pill{color:var(--subtle);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.matched-pill strong{color:var(--headline);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.filter-wrap{background:var(--background);border-radius:12px;padding:8px}.job-progress{background:var(--background);border:1px solid color-mix(in oklab, var(--tint) 30%, transparent);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.job-progress-head{color:var(--headline);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.job-progress-head .mono{color:var(--subtle);margin-left:auto;font-size:11px}.prog-track{background:var(--secondary-background);border-radius:999px;height:6px;overflow:hidden}.prog-fill{background:var(--tint);border-radius:999px;height:100%;transition:width .18s linear}.job-list{flex-direction:column;gap:6px;display:flex}.job-row{background:var(--secondary-background);border-radius:10px;grid-template-columns:18px 120px 1fr auto;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:grid}.job-row .jstatus{background:var(--success);border-radius:50%;width:8px;height:8px}.job-row .jstatus.running{background:var(--tint);animation:1s ease-in-out infinite pulse}.job-row .jstatus.partial{background:var(--warning)}@keyframes pulse{50%{opacity:.35}}.job-row .jmodel{color:var(--headline);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.job-row .jkind{letter-spacing:.04em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:800}.job-row .jcounts{color:var(--subtle);font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.job-row .jcounts .ok{color:var(--success);font-weight:700}.job-row .jcounts .fail{color:var(--warning);font-weight:700}.job-row .jtime{color:var(--subtle);white-space:nowrap;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.job-empty{color:var(--subtle);text-align:center;background:var(--secondary-background);border-radius:10px;padding:14px;font-size:12px}.account-id{align-items:center;gap:16px;display:flex}.account-avatar{background:var(--background);width:60px;height:60px;color:var(--tint);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-id-text{flex-direction:column;gap:5px;min-width:0;display:flex}.account-name{color:var(--headline);letter-spacing:-.01em;font-size:19px;font-weight:800;line-height:1.1}.role-pill{background:color-mix(in oklab, var(--tint) 16%, var(--background));color:var(--tint);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px;font-size:10px;font-weight:800;display:inline-flex}.field{flex-direction:column;gap:7px;display:flex}.field .field-label{color:var(--subtle);text-transform:none;letter-spacing:normal;font-size:12px;font-weight:600}.field-input{border:1px solid var(--hairline);background:var(--background);width:100%;height:42px;color:var(--headline);border-radius:10px;outline:none;padding:0 13px;font-size:13px;transition:border-color .1s}.field-input:focus{border-color:var(--tint)}.field-input::placeholder{color:var(--subtle)}.field-hint{color:var(--subtle);font-size:11px}.field-hint.err{color:var(--error)}.btn-block{width:100%}.btn-primary.btn-block{flex:none;height:44px}.auth-logo{width:auto;height:48px;color:var(--headline);display:block}.auth-error{background:color-mix(in oklab, var(--error) 14%, var(--background));border:1px solid color-mix(in oklab, var(--error) 45%, transparent);color:var(--error);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.btn-danger.btn-block{border-radius:10px;height:44px}.config-stack{flex-direction:column;gap:18px;display:flex}.cfg-group{flex-direction:column;gap:10px;display:flex}.cfg-row{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.param-fields{background:var(--background);border-radius:12px;flex-direction:column;gap:12px;padding:12px 14px;display:flex}.method-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.method-card{text-align:left;background:var(--secondary-background);cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:8px;padding:12px;transition:border-color .12s,transform .12s,background .12s;display:flex}.method-card:hover{border-color:var(--hairline);transform:translateY(-1px)}.method-card.active{background:var(--background);box-shadow:var(--shadow)}.method-card-top{align-items:center;gap:8px;display:flex}.method-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.method-name{color:var(--headline);letter-spacing:-.01em;font-size:14px;font-weight:800}.method-blurb{color:var(--subtle);font-size:11px;line-height:1.45}.trans-pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:800}.method-card-top .trans-pill{margin-left:auto}.trans-pill.yes{background:color-mix(in oklab, var(--success) 16%, var(--background));color:var(--success)}.trans-pill.no{background:color-mix(in oklab, var(--accent-teal) 16%, var(--background));color:var(--accent-teal)}.red-run-list{flex-direction:column;gap:6px;display:flex}.red-run{background:var(--secondary-background);border:1px solid #0000;border-radius:12px;transition:border-color .12s;overflow:hidden}.red-run.open{border-color:var(--hairline)}.red-run-head{text-align:left;width:100%;color:var(--body-copy);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:12px 14px;display:flex}.red-run-head:hover{background:var(--overlay)}.red-run-chev{color:var(--subtle);flex-shrink:0;place-items:center;width:14px;display:grid}.red-run-id{color:var(--headline);flex-shrink:0;font-size:12px;font-weight:800}.red-method{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:800}.red-run-src{color:var(--headline);flex-shrink:0;font-size:12px;font-weight:700}.red-run-dim{color:var(--subtle);flex-shrink:0;font-size:11px;font-weight:600}.red-run-grow{flex:1}.red-run-imgs{color:var(--subtle);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.red-run-imgs strong{color:var(--headline);font-weight:700}.red-run-date{color:var(--subtle);white-space:nowrap;flex-shrink:0;font-size:10px}.red-run-body{border-top:1px solid var(--hairline);flex-direction:column;gap:14px;padding:4px 14px 14px;display:flex}.red-run-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;padding-top:12px;display:grid}.red-run-meta{flex-direction:column;gap:2px;display:flex}.red-run-meta .dsection-title{margin-bottom:6px}.red-run-meta .kv{grid-template-columns:92px 1fr}.red-run-members{flex-direction:column;gap:8px;display:flex}.red-thumbs{grid-template-columns:repeat(7,1fr);gap:4px}.red-action{background:var(--background);border-radius:12px;align-items:center;gap:16px;padding:14px;display:flex}.red-action-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.red-action-title{color:var(--headline);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.red-action-title svg{color:var(--tint)}.red-action-desc{color:var(--subtle);font-size:11.5px;line-height:1.5}.red-action-desc strong{color:var(--headline);font-weight:700}.red-danger{border:1px dashed var(--hairline);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.red-danger .btn-danger{flex-shrink:0}@media (width<=620px){.method-grid,.red-run-cols{grid-template-columns:1fr}.red-thumbs{grid-template-columns:repeat(6,1fr)}.red-run-date{display:none}}.prog-fill.indeterminate{border-radius:999px;width:40%;animation:1.1s ease-in-out infinite prog-slide}@keyframes prog-slide{0%{margin-left:-40%}to{margin-left:100%}}.lib-overview{background:var(--secondary-background);border-radius:16px;align-items:center;gap:22px;padding:20px 22px;display:flex}.lib-count{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.lib-count .num{letter-spacing:-.03em;color:var(--headline);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1;transition:color .2s}.lib-count .num.bump{color:var(--tint)}.lib-count .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);font-size:11px;font-weight:700}.dropzone{border:1.5px dashed color-mix(in oklab, var(--subtle) 45%, transparent);text-align:center;background:var(--background);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:34px 24px;transition:border-color .14s,background .14s;display:flex}.dropzone:hover{border-color:var(--tint)}.dropzone.drag{border-color:var(--tint);background:color-mix(in oklab, var(--tint) 8%, var(--background));border-style:solid}.dropzone-icon{background:var(--secondary-background);width:46px;height:46px;color:var(--tint);border-radius:13px;place-items:center;margin-bottom:4px;transition:transform .14s;display:grid}.dropzone.drag .dropzone-icon{transform:translateY(-3px)}.dropzone-title{color:var(--headline);font-size:14px;font-weight:700}.dropzone-title .browse{color:var(--tint);text-underline-offset:2px;text-decoration:underline}.dropzone-sub{color:var(--subtle);font-size:11.5px}.upload-tools{align-items:center;gap:8px;display:flex}.upload-tools .count{color:var(--subtle);font-size:12px}.upload-tools .count strong{color:var(--headline);font-weight:700}.upload-tools-spacer{flex:1}.upload-link{color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px;font-weight:600}.upload-link:hover{color:var(--error);background:var(--overlay)}.upload-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.upload-item{flex-direction:column;gap:5px;display:flex;position:relative}.upload-thumb{aspect-ratio:1;background:var(--tertiary-background,var(--secondary-background));border:1px solid var(--hairline);border-radius:10px;position:relative;overflow:hidden}.upload-thumb img{object-fit:cover;width:100%;height:100%;display:block}.upload-thumb-more{text-align:center;color:var(--subtle);background:var(--secondary-background);justify-content:center;align-items:center;padding:8px;font-size:14px;font-weight:600;display:flex}.upload-item-x{color:#fff;cursor:pointer;opacity:0;background:#0000008c;border:none;border-radius:50%;place-items:center;width:20px;height:20px;transition:opacity .12s;display:grid;position:absolute;top:4px;right:4px}.upload-item:hover .upload-item-x{opacity:1}.upload-item-x:hover{background:var(--error)}.upload-thumb-overlay{background:#0000006b;place-items:center;display:grid;position:absolute;inset:0}.upload-thumb-overlay .prog-track{background:#ffffff4d;width:70%}.upload-thumb-overlay .prog-fill{background:#fff}.upload-thumb-check{background:color-mix(in oklab, var(--success) 60%, transparent);color:#fff;place-items:center;display:grid;position:absolute;inset:0}.upload-name{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;overflow:hidden}.scan-progress{background:var(--background);border:1px solid color-mix(in oklab, var(--tint) 30%, transparent);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.scan-progress-head{color:var(--headline);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.mapwrap{background:var(--background);flex-direction:column;height:100vh;display:flex}.map-stage{flex:1;min-height:0;position:relative}.map-canvas{z-index:0;position:absolute;inset:0}.map-canvas .leaflet-container,.map-mini .leaflet-container{background:var(--secondary-background);width:100%;height:100%;font-family:inherit;font-size:12px}.map-canvas .leaflet-container a,.map-mini .leaflet-container a{color:var(--tint)}.map-canvas .leaflet-bar,.map-mini .leaflet-bar{overflow:hidden;border:1px solid var(--hairline)!important;box-shadow:var(--shadow)!important;border-radius:10px!important}.map-canvas .leaflet-bar a,.map-mini .leaflet-bar a{font-weight:600;background:var(--background)!important;color:var(--headline)!important;border-bottom:1px solid var(--hairline)!important;width:30px!important;height:30px!important;font-size:16px!important;line-height:30px!important}.map-canvas .leaflet-bar a:hover,.map-mini .leaflet-bar a:hover{background:var(--overlay)!important}.map-canvas .leaflet-bar a:last-child,.map-mini .leaflet-bar a:last-child{border-bottom:none!important}.map-canvas .leaflet-control-attribution,.map-mini .leaflet-control-attribution{border-top-left-radius:8px;background:color-mix(in oklab, var(--background) 82%, transparent)!important;color:var(--subtle)!important;padding:2px 7px!important;font-size:10px!important}.map-canvas .leaflet-control-attribution a,.map-mini .leaflet-control-attribution a{color:var(--subtle)!important}.map-mini .leaflet-bar{border-radius:8px!important}.map-mini .leaflet-bar a{width:26px!important;height:26px!important;font-size:15px!important;line-height:26px!important}.map-pin{background:var(--c,var(--tint));cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .12s;box-shadow:0 0 0 2.5px #ffffffeb,0 2px 5px #00000059}.map-pin:hover{transform:scale(1.45)}.map-pin.sel{box-shadow:0 0 0 3px var(--tint), 0 0 0 6.5px color-mix(in oklab, var(--tint) 28%, transparent), 0 2px 6px #0006;transform:scale(1.28)}.map-cluster{background:var(--c,var(--tint));color:#fff;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:transform .12s;display:flex;box-shadow:0 0 0 3px #ffffff8c,0 2px 6px #0006}.map-cluster:hover{transform:scale(1.1)}.leaflet-tooltip.thumb-tip{box-shadow:none;white-space:normal;background:0 0;border:none;padding:0}.leaflet-tooltip.thumb-tip:before{display:none}.thumbtip{background:var(--background);border:1px solid var(--hairline);border-radius:12px;flex-direction:column;gap:6px;width:148px;padding:6px;animation:.12s ease-out thumbtip-in;display:flex;position:relative;box-shadow:0 10px 28px #00000042}@keyframes thumbtip-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.thumbtip:after{content:"";background:var(--background);border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);border-bottom-right-radius:3px;width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.thumbtip-img{aspect-ratio:1;background:var(--secondary-background);border-radius:8px;width:100%;overflow:hidden}.thumbtip-img img{object-fit:cover;width:100%;height:100%;display:block}.thumbtip-cap{z-index:1;color:var(--headline);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:0 2px 1px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;position:relative;overflow:hidden}.thumbtip-meta{z-index:1;color:var(--subtle);justify-content:center;align-items:center;gap:6px;padding-bottom:2px;font-size:10px;display:flex;position:relative}.thumbtip-meta .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.map-panel{z-index:500;background:var(--background);border:1px solid var(--hairline);box-shadow:var(--shadow);border-radius:16px;position:absolute}.map-head{flex-direction:column;gap:14px;width:288px;max-height:calc(100% - 32px);padding:16px;display:flex;top:16px;left:16px;overflow:hidden}.map-head-title h1{letter-spacing:-.02em;color:var(--headline);margin:0 0 4px;font-size:20px;font-weight:800}.map-head-title p{color:var(--subtle);margin:0;font-size:12px;line-height:1.45}.map-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-stat{background:var(--secondary-background);border-radius:10px;flex-direction:column;gap:1px;padding:9px 11px;display:flex}.map-stat .num{color:var(--headline);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:800;line-height:1.1}.map-stat .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);font-size:9px;font-weight:800}.map-run-selector{flex-direction:column;gap:6px;display:flex}.map-run-selector .label{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:800}.map-run-select{background:var(--secondary-background);border:1px solid var(--hairline);width:100%;color:var(--headline);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c8fa1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;padding:7px 28px 7px 10px;font-family:inherit;font-size:12px;font-weight:600}.map-run-select:focus{border-color:var(--tint);outline:none}.legend-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.legend-head .label{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:800}.legend-clear{color:var(--tint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-size:11px;font-weight:700}.legend-clear:hover{background:var(--overlay)}.legend{flex-direction:column;gap:2px;margin:0 -6px -4px;padding:0 6px 4px;display:flex;overflow-y:auto}.legend-row{color:var(--body-copy);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;width:100%;padding:6px 8px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.legend-row:hover{background:var(--overlay)}.legend-row.active{background:var(--secondary-background);border-color:var(--hairline);color:var(--headline)}.legend-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.legend-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.legend-count{color:var(--subtle);background:var(--secondary-background);border-radius:999px;padding:1px 7px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700}.legend-row.active .legend-count{background:var(--background);color:var(--headline)}.map-insp{flex-direction:column;gap:12px;width:312px;max-height:calc(100% - 32px);padding:14px;animation:.16s ease-out insp-in;display:flex;top:16px;right:16px;overflow-y:auto}@keyframes insp-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.map-insp-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-insp-head .ttl{color:var(--headline);font-size:13px;font-weight:700}.map-insp-close{background:var(--secondary-background);width:26px;height:26px;color:var(--subtle);cursor:pointer;border:none;border-radius:8px;place-items:center;display:grid}.map-insp-close:hover{color:var(--error);background:var(--tertiary-background)}.map-insp-img{aspect-ratio:1;background:var(--secondary-background);cursor:pointer;border:none;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.map-insp-img img{object-fit:cover;width:100%;height:100%;display:block}.map-pill{border:1px solid var(--hairline);background:var(--secondary-background);height:34px;color:var(--headline);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.map-pill:hover{background:var(--tertiary-background)}.scan-progress-head .mono{color:var(--subtle);margin-left:auto;font-size:11px}.ocr-sidebar-head{border-bottom:1px solid var(--hairline)}.ocr-pager{align-items:center}.ocr-pager .btn{flex:1;height:34px;padding:0 10px;font-size:12px}.ocr-pager .page-info{text-align:center;min-width:88px;color:var(--subtle);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px}.vitor-form{flex-direction:column;gap:16px;display:flex}.vitor-form .field{flex-direction:column;gap:7px;display:flex}.vitor-form .field>label{color:var(--subtle);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.vitor-form .field .req,.req{color:var(--tint);font-weight:800}.vitor-form .input,.vitor-form textarea.input,.vitor-form select.input{border:1px solid var(--hairline);background:var(--background);width:100%;height:40px;color:var(--headline);border-radius:10px;padding:0 12px;font-size:13px}.vitor-form textarea.input{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.5}.vitor-form .input:focus,.vitor-form textarea.input:focus,.vitor-form select.input:focus{border-color:var(--tint);outline:none}.vitor-form .field-hint{font-size:11px}.field-grid{gap:12px;display:grid}.field-grid.cols-3{grid-template-columns:repeat(3,1fr)}.field-grid.cols-2{grid-template-columns:140px minmax(0,1fr)}@media (width<=640px){.field-grid.cols-3,.field-grid.cols-2{grid-template-columns:1fr}}.upload-req{color:var(--subtle);align-items:center;gap:6px;font-size:11px;display:inline-flex}.upload-req.met{color:var(--success)}.upload-req .dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}