@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:#17233b;background:#f5f7fb;font-synthesis:none;--ink:#17233b;--muted:#738099;--edge:#e3e9f3;--blue:#426dff;--light:#f5f7fb;--shadow:0 14px 48px rgba(24,44,91,.08)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a2b6ff;outline-offset:2px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:26px}h2{font-size:18px}h3{font-size:14px}p{line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:#7890b7}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:12px}.strong{font-weight:800}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--edge);border-radius:24px;padding:6px 10px;font-size:11px;color:#61718c;background:#fff}.dot{width:8px;height:8px;border-radius:50%;background:#4dcd9b}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--edge);border-radius:11px;background:white;color:#26364d;padding:10px 14px;font-weight:700;font-size:12px;transition:.2s}.btn:hover{background:#f1f4fb}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#315cf0}.btn.ghost{background:transparent}.btn.dark{background:#182744;color:white;border-color:#182744}.btn.danger{color:#d34150}.btn.block{width:100%}.btn.sm{padding:7px 10px;font-size:11px}.btn.icon{padding:9px;width:36px;height:36px}.field{margin:0 0 15px}.field label{display:block;font-size:11px;font-weight:800;color:#5c6b86;margin-bottom:7px}.field input:not([type=range]):not([type=file]),.field select,.field textarea{width:100%;background:white;border:1px solid #dae2ed;padding:11px 12px;border-radius:10px;color:#2c3c57;font-size:13px}.field input[type=range]{width:100%;accent-color:var(--blue)}.field textarea{min-height:80px;resize:vertical}.field small{display:block;color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.horizontal{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.hidden{display:none!important}.banner{border-radius:12px;background:#edf3ff;color:#405d91;padding:12px;font-size:12px;line-height:1.5}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#1c2e4d;color:white;padding:11px 17px;border-radius:12px;box-shadow:0 12px 34px #0002;font-size:13px;z-index:9999;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Studio layout */
.studio{height:100vh;min-height:720px;display:grid;grid-template-columns:260px minmax(440px,1fr) 338px;overflow:hidden}.rail{display:flex;flex-direction:column;border-right:1px solid var(--edge);background:#fff;min-width:0}.brand{padding:27px 23px 24px;display:flex;gap:10px;align-items:center}.brandmark{background:#426dff;color:white;display:grid;place-items:center;width:39px;height:39px;border-radius:13px;box-shadow:0 9px 20px #426dff40}.brandname{font:800 16px Manrope,sans-serif;line-height:1}.brandname small{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.11em;color:var(--muted);margin-top:5px}.rail-section{padding:14px 15px 0}.section-label{padding:5px 8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;letter-spacing:.08em;color:#8b96aa;text-transform:uppercase}.scenes{display:flex;flex-direction:column;gap:6px;overflow:auto;max-height:calc(100vh - 330px)}.scene-item{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:transparent;border-radius:12px;width:100%;padding:11px 12px}.scene-item:hover{background:#f7f9fd}.scene-item.active{background:#edf2ff;border-color:#dce5ff}.scene-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8efff;color:#4169e8;flex:none}.scene-item .name{display:block;font-size:12px;font-weight:800;color:#243751}.scene-item .sub{display:block;font-size:10px;color:#8794ac;margin-top:3px}.rail-bottom{margin-top:auto;padding:17px;border-top:1px solid var(--edge)}.rail-note{font-size:11px;color:#90a0b6;line-height:1.5;margin-top:14px}.workspace{display:flex;flex-direction:column;min-height:0;overflow:auto;background:radial-gradient(circle at 50% 45%,#fefeff 0,#f6f8fd 48%,#f2f5fb 100%)}.topbar{height:84px;flex:none;padding:23px 34px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ebeff5}.topbar h1{font-size:17px;margin:0 0 4px}.topbar p{font-size:11px;color:#91a0b6;margin:0}.mock-area{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:20px}.preview-tip{font-size:11px;color:#8b99ad;text-align:center}.phone{width:290px;height:552px;max-width:90%;position:relative;border:9px solid #26334b;border-radius:37px;background:#192940;box-shadow:0 32px 70px #223d6e35,0 0 0 2px #77869b;overflow:hidden}.phone:after{content:'';position:absolute;top:9px;left:50%;transform:translateX(-50%);background:#1b2739;border-radius:25px;width:82px;height:18px;z-index:20}.phone-content{position:absolute;inset:0;background:linear-gradient(150deg,#3b4b62,#101b2e);overflow:hidden}.phone-content:before{content:'';position:absolute;inset:-40%;background:radial-gradient(ellipse at 35% 25%,#6085a55a,transparent 35%),linear-gradient(33deg,transparent 42%,#7a9dc624 43%,#7a9dc624 44%,transparent 45%);transform:rotate(-11deg)}.phone-top{position:absolute;top:33px;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:center;color:white;gap:8px;font-size:11px;font-weight:800}.phone-top i{display:block;width:7px;height:7px;background:#9df1c7;border-radius:50%;box-shadow:0 0 8px #63e4c1}.phone-target{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);border:1px dashed #c9dcff90;background:#ffffff10;width:73%;height:48%;border-radius:8px;display:grid;place-items:center}.phone-target span{font-size:11px;color:#f1f5ffb0;transform:rotate(8deg)}.phone-content .preview-layer{position:absolute;z-index:5;touch-action:none;cursor:grab;max-height:70%;object-fit:contain;filter:drop-shadow(0 10px 16px #0004);transform:translate(-50%,-50%)}.preview-layer.selected{outline:1px dashed #c7e9ff;outline-offset:8px}.preview-layer video,.preview-layer img{display:block;width:100%;height:100%;max-height:360px;object-fit:contain}.phone-foot{position:absolute;bottom:27px;left:24px;right:24px;text-align:center;color:#e2e9f8;font-size:11px;z-index:7}.phone-foot span{display:block;color:#a6b6d6;font-size:9px;margin-top:5px}.workspace-footer{padding:16px 34px 23px;display:flex;justify-content:space-between;align-items:center;color:#8394ad;font-size:11px}.panel{background:#fff;border-left:1px solid var(--edge);height:100vh;overflow:auto}.panel-head{padding:26px 23px 19px;border-bottom:1px solid var(--edge)}.panel-head h2{margin:3px 0 7px}.panel-head p{font-size:12px;color:#8290a6;margin:0}.panel-body{padding:22px 22px 40px}.subhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--edge);padding-bottom:12px;margin-bottom:18px}.subhead h3{margin:0}.toggle{display:flex;background:#f0f3f9;border-radius:10px;padding:3px;margin:0 0 23px}.toggle button{font-size:11px;border:0;border-radius:8px;padding:10px 5px;background:transparent;flex:1;color:#8291a9;font-weight:800}.toggle button.active{background:white;color:#3c61cd;box-shadow:0 3px 11px #101b2f0d}.file-drop{border:1.5px dashed #bfcee6;border-radius:12px;min-height:95px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f8faff;color:#6e86af;font-size:11px;text-align:center;padding:12px;gap:6px;cursor:pointer}.file-drop strong{color:#36517a}.file-drop input{display:none}.thumb{width:100%;max-height:130px;object-fit:contain;border-radius:8px}.layer-card{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--edge);border-radius:11px;margin:7px 0;cursor:pointer}.layer-card.active{border-color:#9db4ff;background:#f1f5ff}.layer-thumb{display:grid;place-items:center;width:42px;height:42px;flex:none;background:#ecf1fb;border-radius:8px;overflow:hidden}.layer-thumb img,.layer-thumb video{width:100%;height:100%;object-fit:contain}.layer-info{min-width:0;flex:1}.layer-info strong{font-size:11px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layer-info span{font-size:10px;color:#91a0b6}.panel-note{font-size:11px;color:#8b9ab3;line-height:1.5;margin:12px 0}.divider{height:1px;background:var(--edge);margin:20px 0}.good{color:#15956b}.warn{color:#aa6a20}.project-empty{padding:35px 17px;text-align:center;color:#8997ae;font-size:12px}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Viewer */
.viewer{position:fixed;inset:0;background:#0b1629;color:white;overflow:hidden}.camera-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.camera-mount{position:absolute;inset:0;z-index:1}.camera-mount a-scene{width:100%;height:100%}.camera-mount video{object-fit:cover}.viewer-shade{position:absolute;inset:0;background:linear-gradient(180deg,#091326ae 0,transparent 28%,transparent 62%,#071225d8 100%);pointer-events:none;z-index:4}.viewer-nav{position:absolute;top:0;left:0;right:0;z-index:10;padding:calc(17px + env(safe-area-inset-top)) 18px 15px;display:flex;justify-content:space-between;align-items:center}.viewer-logo{font:800 14px Manrope,sans-serif;letter-spacing:-.04em}.viewer-logo small{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.1em;color:#becbeb}.glass-btn{display:grid;place-items:center;min-width:37px;height:37px;border:1px solid #ffffff45;border-radius:12px;background:#ffffff20;backdrop-filter:blur(18px);color:white;padding:0 10px;font-weight:800;font-size:12px}.scan-tabs{position:absolute;top:calc(85px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:11;display:flex;gap:4px;border:1px solid #ffffff30;background:#0b1b32a9;backdrop-filter:blur(12px);padding:4px;border-radius:13px;max-width:96vw}.scan-tabs button{border:0;background:transparent;color:#c4d2e9;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:800;white-space:nowrap}.scan-tabs button.active{background:#fff;color:#203a68}.scanner-guide{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);z-index:4;width:min(71vw,300px);aspect-ratio:1;border:1px solid #cbd8ff5e;border-radius:18px;box-shadow:0 0 0 120vmax #06102224;pointer-events:none}.scanner-guide:before,.scanner-guide:after{position:absolute;content:'';width:40px;height:40px;border-color:#84b7ff;border-style:solid}.scanner-guide:before{top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:17px 0 0 0}.scanner-guide:after{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 17px 0}.scan-hint{position:absolute;bottom:calc(135px + env(safe-area-inset-bottom));z-index:8;left:12%;right:12%;font-size:12px;line-height:1.55;text-align:center;color:#d3ddf5}.viewer-bottom{position:absolute;bottom:calc(19px + env(safe-area-inset-bottom));left:17px;right:17px;z-index:14;background:#122947ad;backdrop-filter:blur(18px);border:1px solid #ffffff24;border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center}.viewer-status{flex:1;min-width:0}.viewer-status b{font-size:12px;display:block;margin-bottom:3px}.viewer-status span{font-size:11px;color:#c0d0e9;display:block}.viewer-dot{width:11px;height:11px;flex:none;background:#a2ddff;border-radius:50%;box-shadow:0 0 0 4px #a2ddff2e}.viewer-overlays{position:absolute;inset:0;z-index:7;pointer-events:none}.live-layer{position:absolute;max-height:65vh;object-fit:contain;transform:translate(-50%,-50%);pointer-events:auto;filter:drop-shadow(0 8px 20px #0006)}.live-layer>img,.live-layer>video{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;border-radius:3px}.live-layer.clickable{cursor:pointer}.live-layer:focus-visible{outline:2px solid white;outline-offset:5px}.live-layer.clickable:after{content:'Toucher';position:absolute;right:0;bottom:-20px;background:#496fff;color:white;border-radius:6px;padding:2px 7px;font-size:9px}.anim-float{animation:float 2.5s ease-in-out infinite alternate}.anim-pulse{animation:pulse 1.5s ease-in-out infinite alternate}.anim-rotate{animation:rotate 7s linear infinite}.anim-slide{animation:slide 2.7s ease-in-out infinite alternate}.anim-fade{animation:fade 2.2s ease-in-out infinite alternate}@keyframes float{from{translate:0 12px}to{translate:0 -12px}}@keyframes pulse{from{scale:.87}to{scale:1.08}}@keyframes rotate{to{rotate:360deg}}@keyframes slide{from{translate:-22px 0}to{translate:22px 0}}@keyframes fade{from{opacity:.3}to{opacity:1}}.scene-title{position:absolute;z-index:9;left:18px;top:calc(145px + env(safe-area-inset-top));background:#101d34a9;border:1px solid #ffffff1e;border-radius:11px;padding:10px 13px;font-size:12px;font-weight:800;max-width:80%}.action-strip{position:absolute;z-index:11;bottom:calc(100px + env(safe-area-inset-bottom));left:12px;right:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:7px;pointer-events:auto}.action-chip{background:#426dffed;color:white;border:1px solid #ffffff44;border-radius:20px;font-size:11px;padding:8px 11px;font-weight:700}.modal-backdrop{position:absolute;inset:0;background:#081526ba;backdrop-filter:blur(10px);z-index:30;display:grid;place-items:center;padding:18px}.modal{background:white;color:#1b2a44;border-radius:20px;max-width:410px;width:100%;padding:24px;box-shadow:0 24px 75px #0007;max-height:80vh;overflow:auto}.modal h2{font-size:18px;margin-bottom:9px}.modal p{font-size:13px;color:#6a7891}.modal input{border:1px solid var(--edge);padding:11px;border-radius:9px;width:100%;margin-bottom:10px}.modal-scenes button{width:100%;border:1px solid var(--edge);background:#f5f7fb;border-radius:10px;padding:11px;text-align:left;font-size:12px;font-weight:800;margin:4px 0}.viewer-error{background:#fef4e9;color:#835b2b;border-radius:12px;padding:14px;line-height:1.5;font-size:12px}.viewer-start{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 25%,#3a559d77,transparent 38%),linear-gradient(150deg,#11294e,#07152d);z-index:20;display:grid;place-items:center;padding:25px;text-align:center}.viewer-start .inner{max-width:410px}.viewer-start h1{color:white;font-size:33px;margin:12px 0}.viewer-start p{color:#c4d3e9;font-size:13px;margin-bottom:24px}.viewer-start .btn{font-size:14px;padding:14px 21px}.viewer-start .orbit{width:90px;height:90px;margin:auto;background:#426dff33;border:1px solid #688dff80;border-radius:28px;display:grid;place-items:center;font-size:48px}.viewer-start small{display:block;color:#879bbd;font-size:11px;margin-top:17px}
@media(max-width:1100px){.studio{grid-template-columns:220px minmax(360px,1fr) 310px}.topbar{padding:16px 20px}.panel-body{padding:18px}}@media(max-width:850px){.studio{height:auto;min-height:100vh;display:block;overflow:visible}.rail{border:0}.brand{padding:14px 20px}.rail-section{padding:5px 12px}.scenes{flex-direction:row;max-height:none;overflow:auto}.scene-item{width:170px;flex:none}.rail-bottom{display:flex;align-items:center;gap:8px}.rail-note{display:none}.rail-bottom .btn{width:auto}.workspace{min-height:600px}.topbar{height:auto}.mock-area{padding:32px 12px}.phone{width:270px;height:500px}.panel{height:auto;border:0}.panel-head{padding:20px}.panel-body{max-width:620px;margin:auto}.workspace-footer{padding:10px 15px 22px}}@media(prefers-reduced-motion:reduce){.anim-float,.anim-pulse,.anim-rotate,.anim-slide,.anim-fade{animation:none!important}}

/* Atelier RA v2 */
.layer-actions{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px}.checkbox-label{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-weight:700;font-size:12px;color:#586b88}.checkbox-label input{width:17px;height:17px;accent-color:var(--blue)}.preview-layer[data-invisible="true"]{opacity:.2;outline:1px dashed #ffffff80}.studio .rail-section>.field{margin-bottom:3px}.studio .rail-bottom{flex-shrink:0}.preview-test .preview-layer{cursor:pointer!important;touch-action:auto!important}.preview-test .preview-layer.selected{outline:none}.preview-test .preview-layer:after{content:'Tester';position:absolute;bottom:-14px;right:0;padding:3px 6px;background:#456cff;border-radius:5px;color:white;font-size:8px}.app-title{font-weight:900}.viewer-start h1{max-width:340px;margin-inline:auto}.camera-mount .a-enter-vr,.camera-mount .a-enter-ar{display:none!important}
@media(max-width:850px){.rail-bottom{flex-wrap:wrap}.rail-bottom .btn{flex:1 1 190px}.topbar{gap:10px;flex-wrap:wrap}.topbar .horizontal{flex-wrap:wrap}}

/* Atelier RA V3 - workflow Adobe */
.adobe-guide{background:linear-gradient(140deg,#eaf1ff,#f7f2ff);border:1px solid #d8e1ff;border-radius:14px;padding:16px;margin:0 0 14px}.adobe-guide strong{font-size:13px;display:block;margin:5px 0}.adobe-guide p{font-size:11px;color:#5d6e8c;margin:7px 0}.adobe-guide a{font-size:11px;color:#335bca;font-weight:800}.adobe-flag{font-size:10px;font-weight:900;letter-spacing:.08em;color:#5571cb}.adobe-drop{min-height:100px}.adobe-zip{min-height:77px;margin-top:9px;background:#fafbff}.replace-media{min-height:60px;gap:2px;background:#fff;margin-bottom:12px}.phone-target.preview-target-image{transform:translate(-50%,-50%);background:transparent;border:1px solid #ffffff77;border-radius:4px;width:81%;height:auto;max-height:70%;overflow:visible;aspect-ratio:var(--target-aspect,1);display:block}.phone-target.preview-target-image .target-art{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:fill;opacity:.62;pointer-events:none}.phone-target.preview-target-image #targetHint{position:absolute;bottom:-28px;left:0;right:0;text-align:center;transform:none;color:#d7e6ff}.phone-target.preview-target-image #previewLayers{position:absolute;inset:0;pointer-events:none}.phone-target.preview-target-image #previewLayers .preview-layer{pointer-events:auto;max-height:none}.phone-target.preview-target-image .preview-layer img{max-height:none}.phone-target.preview-target-image:before{content:none}.phone-target.preview-target-image .preview-layer.selected{outline-color:#b1e0fc}.layer-card:focus-visible{outline:3px solid #9bb2fe}
/* V4: Adobe Aero-inspired visual behavior builder */
.toggle button{padding:9px 3px;font-size:10px}
.behavior-list{margin-top:14px;display:flex;flex-direction:column;gap:13px}
.behavior-card{border:1px solid #dde6f5;background:#fafcff;border-radius:13px;padding:13px}
.behavior-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}
.behavior-heading strong{font-size:12px;color:#24416e}
.behavior-card .field{margin-bottom:10px}
.behavior-card .field input,.behavior-card .field select{min-width:0}
.behavior-steps{position:relative;display:flex;flex-direction:column;gap:8px;margin:12px 0;padding-left:12px;border-left:2px solid #d4e2ff}
.behavior-step{padding:10px;background:white;border:1px solid #e2e8f3;border-radius:10px}
.behavior-step-title{font-size:10px;color:#6682b0;font-weight:800;display:flex;justify-content:space-between;margin-bottom:7px}
.behavior-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.behavior-buttons button{flex:1}
.behavior-card .field-grid{gap:7px}
.behavior-card .field-grid input{width:100%}
.behavior-card .field-grid label{font-size:10px}
.audio-list{display:grid;gap:7px;margin-top:10px}
.audio-item{font-size:11px;display:flex;align-items:center;gap:8px;background:#f5f7fc;border:1px solid #e4e9f4;border-radius:10px;padding:8px}
.audio-item span{flex:1;overflow:hidden;text-overflow:ellipsis}
.audio-item button{border:0;background:transparent;color:#ba4154;cursor:pointer}
.live-layer.behavior-hidden{display:none!important}
/* Preview: the usual 2D overlay never claims to be six-degrees-of-freedom tracking. */
