:root{color-scheme:light;--bg:#030712;--surface:#0f172a;--border:rgba(203,213,225,0.45);--text:#f8fafc;--muted:rgba(226,232,240,0.88);--primary:#16a34a;--danger:#dc2626}*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:Avenir Next,Segoe UI,Arial,sans-serif;overflow:hidden}button{font:inherit}.cameraOnlyPage{width:100%;height:100dvh;background:#020617}.cameraViewport{position:relative;width:100%;height:100%;overflow:hidden;background:#020617}.cameraVideo,.edgeOverlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.overlaySafeZone{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:max(.75rem,env(safe-area-inset-top)) .75rem max(.75rem,calc(env(safe-area-inset-bottom) + .2rem));pointer-events:none}.topOverlayRow{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.stepBadge{pointer-events:auto;border:1px solid var(--border);background:rgba(2,6,23,.6);color:var(--text);border-radius:.9rem;padding:.45rem .6rem;display:grid;gap:.16rem;text-align:left;min-width:9rem}.stepBadge span{font-size:.75rem;color:var(--muted)}.stepBadge strong{font-size:.9rem}.topActions{display:grid;gap:.4rem;justify-items:end}.orientationBadge{padding:.22rem .56rem;font-size:.7rem}.detectionBadge,.orientationBadge{pointer-events:none;border-radius:999px;font-weight:800;border:1px solid rgba(148,163,184,.5);background:rgba(15,23,42,.75);color:#e2e8f0}.detectionBadge{padding:.25rem .58rem;font-size:.72rem}.detectionBadge.ok{border-color:rgba(134,239,172,.75);color:#dcfce7}.detectionBadge.warn{border-color:rgba(253,224,71,.75);color:#fef9c3}.detectionBadge.bad{border-color:rgba(252,165,165,.75);color:#fee2e2}.angleAccessBtn{pointer-events:auto;border:1px solid rgba(254,240,138,.75);background:linear-gradient(180deg,#f59e0b,#d97706);color:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.76rem;font-weight:800;cursor:pointer}.angleAccessBtn:disabled{cursor:not-allowed;opacity:.5}.langMini{pointer-events:auto;display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:.16rem;background:rgba(2,6,23,.6)}.langMini button{border:0;border-radius:999px;background:transparent;color:var(--muted);min-width:2rem;padding:.25rem .42rem;cursor:pointer;font-size:.72rem;font-weight:700}.langMini button.active{background:#1e293b;color:#fff}.middleOverlay{align-self:center;justify-self:center;text-align:center;max-width:min(92vw,34rem);display:grid;gap:.3rem}.turnIndicator{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.28rem .56rem;border-radius:999px;border:1px solid rgba(147,197,253,.45);background:rgba(30,64,175,.48);font-size:.78rem;font-weight:700;justify-self:center}.arrow{animation:arrowPulse 1.2s ease-in-out infinite}@keyframes arrowPulse{0%{transform:translateX(0)}50%{transform:translateX(6px)}to{transform:translateX(0)}}.statusText{font-size:1.06rem;font-weight:700}.hintText,.statusText{margin:0;text-shadow:0 1px 2px rgba(0,0,0,.45)}.hintText{font-size:.88rem;color:var(--muted)}.angleReadout{margin:0;font-size:.82rem;color:#bae6fd;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}.fallbackStrip{margin:0;font-size:.8rem;font-weight:700;color:#fde68a;text-shadow:0 1px 2px rgba(0,0,0,.6)}.fallbackStrip.ok{color:#86efac}.cornerResetBtn{pointer-events:auto;justify-self:center;border:1px solid rgba(252,165,165,.75);background:linear-gradient(180deg,#dc2626,#991b1b);color:#fff;border-radius:999px;padding:.34rem .72rem;font-size:.76rem;font-weight:800;cursor:pointer}.manualTapLayer{position:absolute;inset:0;z-index:6;pointer-events:auto;background:rgba(2,6,23,.18);border:2px dashed rgba(251,191,36,.6);display:grid;place-items:center}.manualTapLayer span{border-radius:999px;background:rgba(30,41,59,.8);border:1px solid rgba(251,191,36,.75);padding:.4rem .7rem;font-size:.82rem;font-weight:700;color:#fef3c7}.bottomOverlay{display:grid;gap:.45rem;justify-items:center;align-self:end}.overlayActionRow{width:min(24rem,94vw);display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:.44rem}.primaryCaptureBtn{border:1px solid rgba(255,255,255,.35);min-height:3.3rem;padding:.78rem 1rem;background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;font-size:1.02rem;letter-spacing:.01em}.dangerGhostBtn,.primaryCaptureBtn,.secondaryActionBtn{pointer-events:auto;width:100%;border-radius:999px;font-weight:800;cursor:pointer}.dangerGhostBtn,.secondaryActionBtn{min-height:2.8rem;font-size:.88rem}.secondaryActionBtn{border:1px solid rgba(191,219,254,.5);background:rgba(30,41,59,.78);color:#dbeafe}.dangerGhostBtn{border:1px solid rgba(252,165,165,.6);background:rgba(127,29,29,.48);color:#fee2e2}.dangerGhostBtn:disabled,.primaryCaptureBtn:disabled,.secondaryActionBtn:disabled{cursor:not-allowed;opacity:.45}.startError{margin:0;color:#fca5a5;font-size:.78rem;font-weight:600}.miniFilmstrip{width:min(24rem,94vw);display:flex;justify-content:center;gap:.4rem}.miniThumbBtn{pointer-events:auto;border:0;border-radius:.55rem;padding:0;background:transparent;cursor:pointer}.miniFilmstrip .miniThumb{width:calc((min(24rem, 92vw) - .8rem) / 3);max-width:6.8rem;aspect-ratio:16/9;object-fit:cover;border-radius:.55rem;border:1px solid rgba(148,163,184,.55);background:#0f172a}.filmstripHint{margin:0;color:#cbd5e1;font-size:.75rem}.confirmSheetBackdrop{position:absolute;inset:0;z-index:12;background:rgba(2,6,23,.58);display:grid;place-items:center;padding:1rem}.confirmSheet{width:min(21rem,94vw);border:1px solid rgba(148,163,184,.5);border-radius:1rem;background:rgba(15,23,42,.95);padding:.9rem;display:grid;gap:.65rem}.confirmSheet h3,.confirmSheet p{margin:0}.confirmSheet h3{font-size:1rem}.confirmSheet p{color:#cbd5e1;font-size:.88rem}.confirmActions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.confirmActions button{min-height:2.75rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.45);background:#1e293b;color:#e2e8f0;font-weight:700;cursor:pointer}.confirmActions button.danger{border-color:rgba(252,165,165,.68);background:#7f1d1d}.shotViewerBackdrop{position:absolute;inset:0;z-index:14;background:rgba(2,6,23,.88)}.shotViewer{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;gap:.5rem;padding:max(.7rem,env(safe-area-inset-top)) .7rem max(.8rem,env(safe-area-inset-bottom))}.shotViewerToolbar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.45rem}.shotViewerToolbar button{min-width:2.7rem;min-height:2.7rem;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:rgba(30,41,59,.9);color:#f8fafc;font-size:1.25rem;font-weight:700;cursor:pointer}.shotViewerToolbar .closeBtn{background:rgba(127,29,29,.9);border-color:rgba(252,165,165,.65)}.shotViewerToolbar span{justify-self:center;font-size:.95rem;font-weight:700}.shotViewerCanvas{display:grid;place-items:center;overflow:hidden}.shotViewerImage{width:100%;max-width:min(96vw,56rem);max-height:min(76vh,84dvh);object-fit:contain;transform-origin:center center;transition:transform .12s ease-out;border-radius:.8rem}.shotViewerMeta{display:grid;gap:.14rem;justify-items:center;color:#cbd5e1;font-size:.82rem}.hiddenMenuBackdrop{position:absolute;inset:0;z-index:9;background:rgba(2,6,23,.45);display:grid;place-content:start center;padding-top:3.4rem}.hiddenMenu{width:min(18rem,92vw);border:1px solid var(--border);border-radius:.95rem;background:rgba(15,23,42,.94);padding:.7rem;display:grid;gap:.45rem}.hiddenMenu h3{margin:0;font-size:.95rem}.hiddenMenu button{border:1px solid rgba(148,163,184,.45);background:#1e293b;color:#e2e8f0;border-radius:.6rem;padding:.5rem .55rem;text-align:left;cursor:pointer;font-size:.85rem}@media (orientation:portrait){.overlayActionRow{width:min(22rem,94vw);grid-template-columns:1fr 1fr}.primaryCaptureBtn{grid-column:1/-1}.shotViewerImage{max-height:min(70vh,76dvh)}}