#ar-dialog{padding:0;position:fixed;inset:0;width:100%;height:100%;width:100dvw;height:100dvh;max-width:none;max-height:none;margin:0;overflow:hidden;border:0;border-radius:0;background:#171c18;color:#fff;box-sizing:border-box}
.ar-header{padding:18px 22px;align-items:center}.ar-header .close{position:static;flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e9ecdf}
#wall-stage{height:min(68dvh,650px);min-height:300px;background:#222820;isolation:isolate;position:relative;overflow:hidden;touch-action:none}
#camera{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#placed-art{top:45%;border:6px solid #a38a68;box-shadow:2px 3px 3px #171b2038,6px 10px 16px #171b2045;outline-offset:7px;transform:translate(-50%,-50%);touch-action:none}
#placed-art img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
#placed-art:focus-visible{outline:2px solid #fff}#placed-art.is-placed{cursor:default}
.preview-badge{position:absolute;left:18px;top:18px;background:#20271fd9;color:#f6f6ea;padding:9px 12px;border:1px solid #ffffff25;border-radius:30px;font-size:9px;letter-spacing:1.3px;pointer-events:none;display:flex;align-items:center;gap:7px}
.preview-badge:before{content:'';width:6px;height:6px;border-radius:50%;background:#c6dcaa}
#camera-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#222820;color:#f4f5ec;gap:15px}
.camera-symbol{font-size:42px;color:#d1ddbf}#camera-message #camera-status{padding:0;margin:0;max-width:330px;color:#e6ebdc;font-size:13px;line-height:1.8}#camera-retry{margin-top:10px;background:#e3ebd6;color:#293823}
.stage-tip{background:#20271fd9;color:#fff;font-size:11px;bottom:20px;max-width:90%;white-space:normal;text-align:center;line-height:1.6}
.ar-controls{padding:16px 22px;justify-content:space-between;gap:20px;margin:0}.ar-controls .size-control{gap:14px;font-size:12px}.ar-controls .size-control input{width:clamp(90px,20vw,220px)}.ar-controls .button{padding:13px 23px;font-size:12px;min-width:140px}
#preview-note{padding:0 22px 15px;margin:0;color:#7c8473;font-size:10px;line-height:1.6}
.xr-hud{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(480px,92vw);box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px;border-radius:18px;background:#f6f7edf2;box-shadow:0 6px 35px #0002;pointer-events:auto}.xr-hud>span{flex-basis:100%;text-align:center;font-size:12px;line-height:1.6}.xr-hud button{font-size:12px;padding:13px 22px}.xr-hud button[aria-label]{font-size:24px;padding:6px 13px}
.xr-active{background:transparent!important;border:0!important;box-shadow:none!important;width:100vw!important;height:100dvh!important;max-height:none!important;max-width:none!important;margin:0!important}.xr-active::backdrop{background:transparent!important}.xr-active>:not(.xr-hud){display:none!important}
@media(max-width:700px){#ar-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;margin:0}.ar-header{height:76px;box-sizing:border-box;padding:14px 18px!important}.ar-header strong{font-size:20px}.ar-header small{max-width:calc(100vw - 90px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wall-stage{height:calc(100dvh - 185px);min-height:240px}.ar-controls{padding:15px 18px;gap:12px;flex-wrap:nowrap}.ar-controls .button{min-width:130px;padding:13px 16px}.ar-controls .size-control input{width:100px}#preview-note{padding:0 18px 12px}.stage-tip{font-size:10px}#placed-art{border-width:4px}}
/* Edge-to-edge camera with floating controls, shared with the native XR overlay. */
#ar-dialog .ar-header{position:absolute;inset:0 0 auto;z-index:4;height:auto;min-height:100px;padding:max(24px,env(safe-area-inset-top)) 28px 40px!important;align-items:flex-start;background:linear-gradient(#101811bd,transparent);pointer-events:none;box-sizing:border-box}
#ar-dialog .ar-header strong{font-family:Georgia,serif;font-size:25px;color:#fff;text-shadow:0 1px 5px #0005}#ar-dialog .ar-header small{font-size:11px;color:#e4e9df;margin-top:9px}
#ar-dialog .ar-header .close{pointer-events:auto;background:#16201980;border:1px solid #ffffff40;color:white;backdrop-filter:blur(16px);width:42px;height:42px;font-size:25px}
#ar-dialog #wall-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0}
#ar-dialog .preview-badge{top:112px;left:28px;z-index:2;font-size:9px;letter-spacing:1.4px}
#ar-dialog #placed-art{border:7px solid #a58a63;border-right-color:#776041;border-bottom-color:#695337;box-shadow:1px 1px 0 #d4b88c,2px 2px 0 #725b3e,3px 3px 0 #6a5439,4px 4px 0 #614e36,5px 5px 0 #58462f,7px 10px 8px #0006,15px 22px 30px #0005}
#ar-dialog #placed-art img{box-shadow:inset 0 0 5px #0005;border:2px solid #ddcfb2;box-sizing:border-box}
#ar-dialog .ar-controls{position:absolute;z-index:4;bottom:max(45px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 36px));box-sizing:border-box;display:flex;align-items:center;gap:20px;padding:15px 18px;border:1px solid #ffffff26;background:#172019c9;backdrop-filter:blur(20px);border-radius:22px;color:#fff}
#ar-dialog .ar-controls .button,.xr-placement .button{background:#edf2e3;color:#273522;border:0;border-radius:30px;min-height:46px;font-size:12px;font-weight:500;padding:13px 24px;white-space:nowrap}
#ar-dialog .size-control{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:8px;font-size:10px;letter-spacing:.5px}#ar-dialog .size-control input{width:100%;accent-color:#d8e6c8}
#ar-dialog #preview-note{position:absolute;bottom:12px;left:0;right:0;padding:0 18px;margin:0;z-index:4;text-align:center;color:#e3e8dc;font-size:10px;text-shadow:0 1px 4px #000}
#ar-dialog .stage-tip{bottom:145px;border:1px solid #ffffff20;background:#182219a8;backdrop-filter:blur(10px);padding:9px 16px;font-size:11px;color:#f7faef}
#ar-dialog #camera-message{background:radial-gradient(ellipse at center,#323e30,#131c16);padding:90px 24px;box-sizing:border-box}#ar-dialog #camera-message .camera-symbol{font-size:50px}
.xr-active .xr-hud{position:fixed;inset:0;width:100%;height:100%;max-width:none;transform:none;padding:0;border-radius:0;background:transparent;box-shadow:none;display:block;pointer-events:none}
.xr-topbar{position:absolute;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding:max(25px,env(safe-area-inset-top)) 28px 45px;background:linear-gradient(#0b160cc2,transparent);color:#fff;box-sizing:border-box}
.xr-topbar b{font:25px Georgia,serif;text-shadow:0 1px 4px #0006}.xr-topbar small{display:block;font-size:11px;color:#e3eadb;margin-top:9px}.xr-topbar button{pointer-events:auto;background:#152117a0;color:#fff;border:1px solid #ffffff40;border-radius:50%;width:42px;height:42px;padding:0!important;line-height:1}
.xr-placement{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(420px,calc(100% - 36px));padding:16px 22px;border-radius:24px;background:#162019b8;backdrop-filter:blur(18px);border:1px solid #ffffff26;text-align:center;color:#fff;pointer-events:auto}
.xr-placement>span{display:block;font-size:12px;line-height:1.7;margin-bottom:13px}.xr-placement button{width:100%}.xr-placement button:disabled{opacity:.5;cursor:default}
@media(max-width:700px){#ar-dialog .ar-header{padding-left:20px!important;padding-right:20px!important}#ar-dialog .ar-header strong,.xr-topbar b{font-size:22px}#ar-dialog .preview-badge{left:20px;top:100px}.xr-topbar{padding-left:20px;padding-right:20px}#ar-dialog .ar-controls{gap:15px}#ar-dialog .ar-controls .button{min-width:140px}#ar-dialog #placed-art{border-width:5px}}

#android-ar-launch[hidden],#android-ar-help[hidden]{display:none}
#android-ar-help{max-width:330px;margin:0;color:#e6ebdc;font-size:12px;line-height:1.6}

#browser-ar-start[hidden]{display:none}
#browser-ar-start{background:#e3ebd6;color:#293823}
#camera-message{overflow-y:auto}
