:root{color:#f7f8f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#0b0f12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,input{font:inherit}.webar-shell{background:#0b0f12;width:100%;min-height:100%;overflow:hidden}.webar-stage{background:#050607;width:100%;height:100dvh;min-height:620px;position:relative;overflow:hidden}.camera-preview,.overlay-video{border:0;width:100%;height:100%;position:absolute;inset:0}.camera-preview{object-fit:cover;background:#050607}.overlay-video{object-fit:fill;pointer-events:none;will-change:transform;display:none;top:0;left:0}.match-loading{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.match-loading-spinner{color:#00f0ff;filter:drop-shadow(0 0 18px #00f0ff8f);stroke-width:2.4px;width:54px;height:54px}.guidance-banner{z-index:5;top:max(14px, env(safe-area-inset-top));color:#f7f8f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;pointer-events:none;background:#0506079e;border:1px solid #f7f8f529;border-radius:8px;place-items:center;width:min(420px,100vw - 32px);min-height:38px;padding:0 14px;font-size:13px;font-weight:720;line-height:1.25;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 14px 44px #00000042}.top-bar{z-index:4;top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex;position:absolute}.brand-mark{color:#f7f8f5;letter-spacing:0;text-shadow:0 2px 14px #0006;align-items:center;min-height:34px;font-size:15px;font-weight:720;line-height:1;display:flex}.security-pill{color:#dffcf4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0f12ad;border:1px solid #f7f8f529;border-radius:999px;align-items:center;gap:6px;min-width:0;min-height:34px;padding:0 10px;font-size:12px;font-weight:650;line-height:1;display:inline-flex}.security-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-panel{z-index:4;top:calc(max(16px, env(safe-area-inset-top)) + 52px);right:max(16px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0f12b8;border:1px solid #f7f8f524;border-radius:8px;width:min(280px,100vw - 32px);padding:12px;position:absolute;box-shadow:0 24px 80px #00000047}.status-line{color:#f7f8f5b3;justify-content:space-between;align-items:center;gap:12px;min-height:28px;font-size:12px;display:flex}.status-line strong{color:#f7f8f5;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.status-line.good strong{color:#7ff2d4}.status-line.bad strong{color:#ff8b82}.control-dock{z-index:4;left:50%;bottom:max(18px, env(safe-area-inset-bottom));width:fit-content;max-width:calc(100vw - 32px);box-shadow:none;background:0 0;border:0;border-radius:8px;justify-items:center;gap:12px;padding:0;display:grid;position:absolute;transform:translate(-50%)}.token-field{gap:6px;display:grid}.token-field span{color:#f7f8f5b8;font-size:12px;font-weight:700}.token-field input{color:#f7f8f5;background:#ffffff14;border:1px solid #f7f8f52e;border-radius:6px;outline:0;width:100%;min-width:0;height:42px;padding:0 12px}.token-field input:focus{border-color:#00c2a8;box-shadow:0 0 0 3px #00c2a838}.runtime-summary{color:#f7f8f5d6;background:#ffffff14;border:1px solid #f7f8f529;border-radius:6px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-size:13px;font-weight:720;display:grid}.runtime-summary span,.runtime-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.runtime-summary strong{color:#7ff2d4;text-align:right;font-size:12px}.button-stack{--action-button-width:154px;width:var(--action-button-width);justify-items:center;gap:6px;max-width:100%;display:grid}.recognition-signal{pointer-events:none;background:#f7f8f529;border-radius:999px;width:100%;height:4px;overflow:hidden;box-shadow:0 0 12px #0000003d}.recognition-signal__fill{border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .18s ease-out,background .18s ease-out}.recognition-signal--search .recognition-signal__fill{background:#f7f8f56b}.recognition-signal--candidate .recognition-signal__fill{background:#f4c542}.recognition-signal--verify .recognition-signal__fill{background:#7ff2d4}.recognition-signal--loading .recognition-signal__fill{background:#00c2a8;animation:1.1s ease-in-out infinite signal-pulse}.recognition-signal--idle{animation:2s ease-in-out infinite idle-signal-glow}.button-row{justify-content:center;width:100%;max-width:100%;display:flex}.tool-button{color:#f7f8f5;cursor:pointer;background:#ffffff14;border:1px solid #f7f8f529;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-width:154px;height:44px;padding:0 18px;font-size:13px;font-weight:750;display:inline-flex}.tool-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tool-button.primary{color:#05110f;background:#00c2a8;border-color:#00c2a8}.tool-button.dev-button.active{color:#7ff2d4;background:#00c2a829;border-color:#7ff2d4b8}.tool-button:active{transform:translateY(1px)}.error-line{color:#ffd2ce;background:#69201c5c;border:1px solid #ff8b8257;border-radius:6px;align-items:center;gap:8px;min-width:0;padding:9px 10px;font-size:12px;display:flex}.error-line span{overflow-wrap:anywhere;min-width:0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes signal-pulse{0%,to{opacity:.64}50%{opacity:1}}@keyframes idle-signal-glow{0%,62%,to{background:#f7f8f529;box-shadow:0 0 12px #0000003d}74%{background:#7ff2d442;box-shadow:0 0 0 1px #7ff2d452,0 0 18px #7ff2d457}86%{background:#f7f8f52e;box-shadow:0 0 0 1px #7ff2d42e,0 0 10px #7ff2d42e}}@media (width<=720px){.webar-stage{min-height:100dvh}.top-bar{align-items:flex-start}.status-panel{top:calc(max(16px, env(safe-area-inset-top)) + 48px);left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));width:auto}.tool-button{height:42px;padding:0 8px}}
