.ar-page{touch-action:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.stage{background:#000;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.stage.preview{background:radial-gradient(90% 60% at 50% 42%, #c9a24a21, transparent 65%), radial-gradient(140% 100% at 50% 100%, #15130e, var(--ink) 70%)}.stage canvas{z-index:1;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.camera-feed{z-index:0;object-fit:cover;position:absolute}.stage:not(.preview):after{content:"";z-index:0;pointer-events:none;background:radial-gradient(120% 85% at 50% 45%,#0000 45%,#0000008c 100%);position:absolute;top:0;bottom:0;left:0;right:0}.topbar{z-index:20;padding:calc(14px + var(--safe-t)) 18px 14px;pointer-events:none;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.brand{pointer-events:auto;color:var(--gold-hi);letter-spacing:.32em;font-size:14px;font-weight:600;text-decoration:none}.topbar-right{pointer-events:auto;align-items:center;gap:10px;display:flex}.icon-btn.small{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a090773;width:38px;height:38px}.captions{left:50%;bottom:calc(26px + var(--safe-b));z-index:18;text-align:center;pointer-events:none;opacity:0;width:min(100% - 32px,460px);transition:opacity .4s var(--ease-out), bottom .6s var(--ease-out);position:fixed;transform:translate(-50%)}.captions.show{opacity:1}body.dock-on .captions{bottom:calc(112px + var(--safe-b))}.captions p{color:var(--champagne);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#080705b8;border-radius:10px;margin:0;padding:7px 12px;font-size:15px;line-height:2;display:inline}.captions.swap p{animation:capIn .45s var(--ease-out)}@keyframes capIn{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}.sound-prompt{top:calc(70px + var(--safe-t));z-index:25;border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.16em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .4s, transform .4s var(--ease-out);background:#0a0907c7;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:12px;font-weight:600;display:inline-flex;position:fixed;left:50%;transform:translate(-50%,-12px)}.sound-prompt.show{opacity:1;pointer-events:auto;animation:2.4s ease-in-out 1s infinite nudge;transform:translate(-50%)}@keyframes nudge{50%{box-shadow:0 0 0 6px #e8c97926}}.pill{border:1px solid var(--glass-line);color:var(--gold);letter-spacing:.2em;text-transform:uppercase;border-radius:999px;padding:6px 12px;font-size:10px}.loader{z-index:30;background:var(--ink);transition:opacity .6s var(--ease-out), visibility .6s;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loader.hidden{opacity:0;visibility:hidden}.loader p{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:12px}.loader-ring{border:1px solid #c9a24a33;border-top-color:var(--gold-hi);border-radius:50%;width:54px;height:54px;animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan{z-index:10;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.scan.show{opacity:1}.scan .frame{aspect-ratio:85/55;width:min(78vw,360px);animation:2.6s ease-in-out infinite breathe;position:relative}@keyframes breathe{50%{transform:scale(1.025)}}.scan .c{border:0 solid var(--gold-hi);filter:drop-shadow(0 0 6px #e8c97999);width:26px;height:26px;position:absolute}.scan .tl{border-top-width:2px;border-left-width:2px;border-top-left-radius:8px;top:0;left:0}.scan .tr{border-top-width:2px;border-right-width:2px;border-top-right-radius:8px;top:0;right:0}.scan .bl{border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:8px;bottom:0;left:0}.scan .br{border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:8px;bottom:0;right:0}.scan .sweep{background:linear-gradient(90deg, transparent, var(--gold-hi), transparent);height:2px;animation:sweep 1.6s var(--ease-out) infinite;position:absolute;top:0;left:6%;right:6%;box-shadow:0 0 18px 2px #e8c97973}@keyframes sweep{0%{opacity:0;top:4%}15%{opacity:1}85%{opacity:1}to{opacity:0;top:96%}}.scan .hint{text-align:center;max-width:300px;color:var(--champagne);text-shadow:0 1px 12px #000c;margin:8px 0 0;font-size:15px;line-height:1.5}.scan .hint b{color:var(--gold-hi);font-weight:600}.scan .tip,.scan .skip{opacity:0;transition:opacity .5s, transform .5s var(--ease-out);transform:translateY(6px)}.scan .tip{color:var(--muted);text-shadow:0 1px 10px #000;margin:0;font-size:12px}.scan.tip-on .tip,.scan.skip-on .skip{opacity:1;transform:none}.scan.skip-on .skip{pointer-events:auto}.drag-hint{top:calc(64px + var(--safe-t));z-index:10;text-align:center;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;opacity:0;pointer-events:none;margin:0;font-size:11px;transition:opacity .6s;position:fixed;left:0;right:0}.drag-hint.show{opacity:.8}.dock{left:50%;bottom:calc(14px + var(--safe-b));z-index:20;border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);width:min(100% - 24px,520px);transition:transform .7s var(--ease-out);border-radius:22px;grid-template-columns:repeat(6,1fr);gap:2px;padding:8px;display:grid;position:fixed;transform:translate(-50%,calc(100% + 40px))}.dock.show{transform:translate(-50%)}.dock button{min-height:60px;color:var(--gold-hi);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 2px 6px;transition:background .25s,transform .15s;display:flex}.dock button:active{background:#c9a24a29;transform:scale(.94)}.dock button span{color:var(--champagne);letter-spacing:.04em;text-align:center;opacity:.85;font-size:9.5px;line-height:1.15}.dock.show button{animation:dockIn .6s var(--ease-out) both;animation-delay:calc(.15s + var(--i) * 60ms)}@keyframes dockIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.closing{top:calc(64px + var(--safe-t));z-index:15;text-align:center;border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;width:min(100% - 32px,420px);transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);background:#0a0907b8;border-radius:22px;padding:22px 20px 18px;position:fixed;left:50%;transform:translate(-50%,-10px)}.closing.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.closing .rule{background:linear-gradient(90deg, transparent, var(--gold-hi), transparent);width:0;height:1px;transition:width 1.2s var(--ease-out);margin:0 auto 16px;display:block}.closing.show .rule{width:70%}.closing h2{color:var(--champagne);letter-spacing:.01em;margin:0 0 12px;font-size:clamp(20px,6vw,26px);font-weight:600;line-height:1.25}.closing h2 span{opacity:0;filter:blur(4px);display:inline-block;transform:translateY(8px)}.closing.show h2 span{animation:wordIn .7s var(--ease-out) forwards;animation-delay:calc(.3s + var(--i) * .12s)}.closing h2 span.gold{background:var(--gold-grad);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}@keyframes wordIn{to{opacity:1;filter:none;transform:none}}.closing a#closing-link{color:var(--gold-hi);letter-spacing:.28em;opacity:0;font-size:13px;text-decoration:none;display:inline-block}.closing.show a#closing-link{animation:wordIn .8s var(--ease-out) 1.2s forwards}.closing-actions{justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.closing-actions .btn-gold{min-height:44px;padding:0 20px;font-size:11px}.icon-btn{border:1px solid var(--glass-line);width:44px;height:44px;color:var(--gold-hi);background:0 0;border-radius:50%;place-items:center;display:grid}.services{margin:8px 0 0;padding:0;list-style:none}.services li{border-bottom:1px solid #c9a24a26;padding:14px 0}.services li:last-child{border-bottom:0}.services b{color:var(--champagne);margin-bottom:4px;font-size:15px;font-weight:600;display:block}.services span{color:var(--muted);font-size:13px;line-height:1.5}.error-steps{color:var(--muted);margin:0 0 4px;padding-left:20px;font-size:13px;line-height:1.7}.error-steps:empty{display:none}.sheet{z-index:60}.scrim{z-index:55}@media (min-width:900px){.dock button span{font-size:11px}}
