:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f14;--panel:#0c121ad1;--text:#e8eef6;--muted:#9aabbd;--accent:#5b9dff;--good:#3ddc97;--warn:#f5c542;--danger:#ff6b6b;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--app-footer-bar:56px;--app-footer-height:calc(var(--app-footer-bar) + var(--safe-bottom));font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--text);margin:0;overflow:hidden}body{background:radial-gradient(1200px 700px at 20% -10%, #16324f 0%, transparent 55%), radial-gradient(900px 600px at 100% 100%, #1a2a22 0%, transparent 50%), var(--bg)}#app{width:100%;height:100%;position:relative}.viewfinder{background:#000;position:absolute;inset:0;overflow:hidden}.camera-source{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}#previewCanvas,#imagePreview,#overlay{background:#000;width:100%;height:100%;position:absolute;inset:0}#previewCanvas{object-fit:contain;z-index:1}#overlay{pointer-events:none;z-index:2;background:0 0}.top-bar{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));z-index:10;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.top-bar>*{pointer-events:auto}.brand{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid #ffffff14;border-radius:10px;align-items:baseline;gap:8px;padding:8px 12px;font-size:14px;display:flex}.status-pill{text-align:center;background:var(--panel);border:1px solid #ffffff1a;border-radius:999px;flex:1;padding:10px 14px;font-size:15px;font-weight:600}.status-pill[data-state=LOCKING]{color:var(--good);border-color:#3ddc9773}.status-pill[data-state=CAPTURED],.status-pill[data-state=COOLDOWN]{color:var(--accent)}button,select{appearance:none;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;border:1px solid #ffffff24;border-radius:10px;padding:10px 12px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(#3a7bdd,#2f62b5);border-color:#5b9dff80}button.danger{background:#ff6b6b26;border-color:#ff6b6b73}.bottom-bar{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--app-footer-height));z-index:5;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid;position:absolute}:is(#app:has(#gate:not(.hidden)) .bottom-bar,#app:has(#result:not(.hidden)) .bottom-bar){display:none}.bottom-left,.bottom-right{flex-direction:column;gap:8px;display:flex}.bottom-right{align-items:flex-end}.shutter{background:radial-gradient(circle at 50% 45%,#fff 0 38%,#0000 40%),#00000040;border:4px solid #ffffffd9;border-radius:50%;justify-self:center;width:84px;height:84px;box-shadow:0 8px 24px #00000059}.shutter:active{transform:scale(.96)}.gate,.progress,.result,.debug,.harness,.ios-hint,.toast,.error-banner{z-index:8;position:absolute}.gate{padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--app-footer-height));text-align:center;background:linear-gradient(#0b0f1433,#0b0f14eb),radial-gradient(800px 500px at 50% 0,#1c3b5c,#0000);place-content:center;gap:16px;display:grid;inset:0}.gate h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,8vw,3.2rem)}.gate p{color:var(--muted);max-width:28rem;margin:0}.gate.hidden,.progress.hidden,.result.hidden,.debug.hidden,.harness:not(.is-open),.ios-hint[hidden],.toast[hidden],.error-banner[hidden],.app-menu[hidden],.identify-login[hidden],.identify-login-error[hidden],#identifyResultWrap[hidden],#startBtn[hidden]{display:none!important}.app-version,.gate-version{color:var(--muted);letter-spacing:.02em;text-transform:none;font-weight:500}.app-version{font-size:12px}.gate-version{margin:0;font-size:14px}.identify-gate{color:#0f172a;background:linear-gradient(#f8fafc 0%,#e2e8f0 100%);gap:18px}.identify-gate h1{letter-spacing:.04em;text-transform:uppercase;color:#334155;font-size:22px;font-weight:600}.identify-mascot{width:min(320px,70vw);height:auto;margin:0 auto;display:block}.identify-login{text-align:left;gap:10px;width:min(320px,92vw);margin:0 auto;display:grid}.identify-login label{color:#334155;gap:4px;font-size:13px;font-weight:650;display:grid}.identify-login input{color:#0f172a;min-height:40px;font:inherit;background:#fff;border:1px solid #0f172a2e;border-radius:8px;padding:8px 11px}.identify-login-error{color:#b91c1c;margin:0;font-size:13px;font-weight:600}#identifyResultWrap{min-height:1.2em}#identifyResult{letter-spacing:.04em;color:#0f172a;font-size:56px;font-weight:700;line-height:1.1}.identify-gate .gate-version{color:#64748b}.identify-gate button.primary{color:#fff;min-height:52px;padding:14px 28px;font-size:20px;font-weight:650}.app-footer{z-index:12;min-height:var(--app-footer-height);padding:8px 12px calc(8px + var(--safe-bottom));padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));background:#243044;border-top:1px solid #5b9dff66;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #0006}.footer-left{justify-self:start}.footer-center{justify-self:center}.footer-right{justify-self:end}.app-footer #menuBtn{min-width:72px;font-weight:600}.footer-toggle{white-space:nowrap;min-width:0;color:var(--muted);background:#080c128c;border-color:#ffffff1f;padding:8px 10px;font-size:13px;font-weight:600}.footer-toggle[aria-pressed=true]{color:#fff;background:linear-gradient(#3a7bdd,#2f62b5);border-color:#5b9dff8c}:is(#app:has(#gate:not(.hidden)) .footer-live,#app:has(#result:not(.hidden)) .footer-live){visibility:hidden;pointer-events:none}#app.is-camera-paused .bottom-bar{display:none}.menu-wrap{position:relative}.app-menu{z-index:13;background:#0c121af5;border:1px solid #ffffff24;border-radius:12px;min-width:240px;max-height:min(70vh,420px);padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 12px 28px #00000059}.app-menu-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:14px}.app-menu-item:hover,.app-menu-item:focus{background:#5b9dff29;outline:none}.app-menu-item[hidden]{display:none!important}.app-menu-item[aria-pressed=true]{background:#5b9dff29}.app-menu-group{padding:4px 0 2px}.app-menu-group[hidden]{display:none!important}.app-menu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 12px 2px;font-size:11px}.toast{left:50%;bottom:calc(var(--app-footer-height) + 96px);z-index:14;background:#0c121af0;border:1px solid #ffffff29;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:min(420px,100% - 24px);padding:12px 14px;font-size:14px;display:flex;transform:translate(-50%)}.toast button{flex:none}.progress{background:var(--panel);border:1px solid #ffffff1f;border-radius:14px;width:min(360px,100% - 32px);padding:16px;top:40%;left:50%;transform:translate(-50%,-50%)}.progress-bar{background:#ffffff14;border-radius:999px;height:10px;margin:10px 0;overflow:hidden}.progress-bar>span{background:linear-gradient(90deg, var(--accent), var(--good));width:0%;height:100%;display:block}.result{padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--app-footer-height));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7;place-content:center;gap:14px;display:grid;inset:0;overflow:auto}.result-images{grid-template-columns:1fr;gap:12px;width:min(92vw,420px);display:grid}.result figure{gap:6px;margin:0;display:grid}.result figcaption{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px}.result img,.isolated-placeholder{aspect-ratio:1;object-fit:contain;background:#000;border:1px solid #ffffff26;border-radius:12px;width:100%;max-height:52vh}.isolated-placeholder{color:var(--muted);place-content:center;font-size:14px;display:grid}.isolated-placeholder[hidden],.result img[hidden],.isolate-status[hidden]{display:none!important}.capture-meta{text-align:center;letter-spacing:.02em;color:var(--text);max-width:min(92vw,420px);font-size:18px;font-weight:700}.capture-meta[hidden]{display:none!important}.isolate-status{text-align:center;color:var(--muted);max-width:min(92vw,420px);font-size:13px}.isolate-status[data-state=ok]{color:var(--good)}.isolate-status[data-state=error]{color:var(--danger)}.identify-status{text-align:center;color:var(--muted);max-width:min(92vw,420px);font-size:14px}.identify-status[hidden]{display:none!important}.identify-status[data-state=ok]{color:var(--good)}.identify-status[data-state=error]{color:var(--danger)}.identify-panel[hidden]{display:none!important}.identify-panel{grid-template-columns:1fr 1fr;gap:10px;width:min(96vw,480px);display:grid}.identify-card{background:#0c121ae0;border:1px solid #ffffff24;border-radius:12px;gap:6px;padding:8px;display:grid}.identify-card-top{grid-column:1/-1}.identify-card .wheel-img-wrap{aspect-ratio:1;background:#111;border-radius:8px;width:100%;position:relative;overflow:hidden;container-type:size}.identify-card .wheel-img-wrap img{aspect-ratio:auto;object-fit:contain;background:#111;border-radius:8px;width:100%;height:100%;max-height:none;display:block}.wheel-img-badge{z-index:1;color:#fff;letter-spacing:.02em;text-shadow:0 0 4px #000,0 1px 2px #000,0 0 8px #000;pointer-events:none;white-space:nowrap;flex-direction:row;align-items:center;height:18%;padding:0 .4em;font-size:22px;font-weight:800;line-height:1.05;display:flex;position:absolute}.wheel-size-badge{text-align:right;justify-content:flex-end;top:0;right:0}.wheel-conf-badge{text-align:left;justify-content:flex-start;bottom:0;left:0}.wheel-version-badge{text-align:right;justify-content:flex-end;bottom:0;right:0}@supports (font-size:1cqh){.wheel-img-badge{font-size:12cqh}}.identify-card button{width:100%}.identify-card .match-interchange{flex-direction:column;justify-content:center;align-items:center;gap:1px;padding-top:8px;padding-bottom:8px;line-height:1.1;display:flex}.identify-card .match-label{font-size:12px;font-weight:600}.identify-card .match-hollander{font-size:24px;font-weight:800}.identify-card-top .match-hollander{font-size:30px}.variation-modal[hidden]{display:none!important}.variation-modal{z-index:20;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--app-footer-height));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.variation-modal-backdrop{background:#000000b8;position:absolute;inset:0}.variation-modal-panel{z-index:1;background:#0c121af5;border:1px solid #ffffff24;border-radius:14px;gap:10px;width:min(96vw,420px);max-height:min(82vh,720px);padding:16px;display:grid;position:relative;overflow:auto}.variation-modal-panel h2{letter-spacing:-.02em;margin:0;font-size:20px}.variation-modal-sub{color:var(--muted);margin:0;font-size:14px}.variation-modal-list{gap:10px;display:grid}.variation-row{text-align:left;width:100%;min-height:92px;color:var(--text);font:inherit;cursor:pointer;background:#080c12b8;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:14px;padding:12px;display:flex}.variation-row img{object-fit:cover;background:#111;border-radius:10px;flex-shrink:0;width:72px;height:72px}.variation-row-title{font-size:1.05rem;font-weight:800}.variation-row-sub{color:var(--muted);margin-top:4px;font-size:.95rem}.result-img-zoom{cursor:zoom-in}.image-lightbox[hidden]{display:none!important}.image-lightbox{z-index:26;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--app-footer-height));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.image-lightbox-backdrop{background:#000000d1;position:absolute;inset:0}.image-lightbox-panel{z-index:1;justify-items:center;gap:10px;width:min(96vw,720px);max-height:min(86vh,860px);margin:0;display:grid;position:relative}.image-lightbox-panel img{object-fit:contain;background:#111;border-radius:12px;width:100%;max-height:min(74vh,740px)}#resultImg.result-img-zoom{cursor:zoom-in}.result.has-identify .result img,.result.has-identify .isolated-placeholder{max-height:28vh}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.debug{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(var(--app-footer-height) + 108px);background:#080c12e6;border:1px solid #ffffff1f;border-radius:12px;max-height:36vh;padding:10px 12px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.debug-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.debug-toolbar button{padding:6px 10px;font-size:12px}#debugBody{white-space:pre-wrap;word-break:break-word;margin:0}.harness{top:calc(56px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--app-footer-height));z-index:9;background:#080c12f0;border:1px solid #ffffff1f;border-radius:14px;padding:14px;overflow:auto}.harness h2{margin:0 0 10px;font-size:16px}.harness-row,.harness-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.harness-slider{color:var(--muted);grid-template-columns:140px 1fr 56px;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:grid}.harness-check{align-items:center;gap:8px;margin-top:8px;display:flex}.ios-hint{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--app-footer-height));background:var(--panel);color:var(--muted);border:1px solid #ffffff24;border-radius:12px;padding:12px;font-size:13px}.ios-hint strong{color:var(--text)}.error-banner{top:calc(56px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));color:#ffd7d7;background:#501212eb;border:1px solid #ff6b6b80;border-radius:12px;padding:12px 14px}body.embed-host #copyLiveUrlBtn,body.embed-host #harnessToggle,body.embed-host #installBtn,body.embed-host #iosHint,body.embed-host #identifyLoginForm,body.embed-host #identifyResultWrap{display:none!important}
