/* Nobre AR Studio — AR Lab. Visual language: editorial, crisp, blue/ink, soft grey. */
.lab-body{background:#f6f8fc;color:#152033;font-family:'DM Sans',system-ui,sans-serif;min-height:100vh}
.lab-header{max-width:1440px;margin:auto;padding:18px 35px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.lab-logo{display:inline-flex;align-items:center;gap:12px;font-family:Manrope,system-ui,sans-serif;font-size:14px;letter-spacing:-.04em}
.lab-logo>span{width:43px;height:43px;background:#2154da;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:27px}
.lab-logo strong{letter-spacing:-.04em}.lab-logo em{color:#2966ea}.lab-logo small{font-size:10px;letter-spacing:.19em;color:#6d7c93}
.lab-header nav{display:flex;align-items:center;gap:28px}.lab-header nav a{font-size:12px;font-weight:800;color:#7c899f}.lab-header nav .lab-link-current{color:#2a61db}
.lab-container{max-width:1390px;margin:auto;padding:14px 32px 80px}
.lab-heading{min-height:305px;display:grid;grid-template-columns:1.1fr .75fr;overflow:hidden;border-radius:27px;background:linear-gradient(119deg,#101b32,#182d50 65%,#24487c);color:#fff;margin:12px 0 30px}
.lab-heading>div:first-child{padding:55px clamp(28px,5vw,78px)}.lab-eyebrow{display:inline-block;color:#91baff;font-size:10px;font-weight:900;letter-spacing:.17em;margin-bottom:18px}
.lab-heading h1{font-size:clamp(30px,4vw,57px);max-width:690px;line-height:1.12;letter-spacing:-.075em;font-weight:800;margin:0 0 20px}.lab-heading h1 em{color:#8bacff}
.lab-heading p{color:#b7c9e7;line-height:1.8;font-size:13px;max-width:670px;margin-bottom:21px}
.lab-features{display:flex;gap:20px;flex-wrap:wrap}.lab-features span{font-size:10px;font-weight:800;color:#9eb8e1}
.lab-heading-graphic{position:relative;min-height:305px;overflow:hidden;background:radial-gradient(ellipse at 55% 41%,#325990 2%,transparent 64%)}
.lab-gridplane{position:absolute;inset:40% -20% -50%;transform:perspective(530px) rotateX(63deg) scale(1.4);background-image:linear-gradient(#ffffff22 1px,transparent 1px),linear-gradient(90deg,#ffffff22 1px,transparent 1px);background-size:40px 40px}
.lab-floating-shape{position:absolute;top:2%;left:29%;color:#93b5fc;text-shadow:0 14px 40px #85b7ff88;font-size:205px;line-height:1;transform:rotate(-20deg)}
.lab-bubble{position:absolute;bottom:35px;right:35px;border:1px solid #ffffff30;background:#ffffff18;backdrop-filter:blur(11px);border-radius:12px;display:flex;gap:10px;align-items:center;padding:13px 17px;color:#81d6fe;font-size:22px}
.lab-bubble strong{font-size:9px;letter-spacing:.09em;color:#fff}.lab-bubble small{display:block;font-size:9px;color:#b3c6e4;margin-left:-3px}
.lab-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.35fr);gap:22px;align-items:start}
.lab-tools,.lab-stage-column{border:1px solid #e5eaf3;border-radius:22px;background:#fff;box-shadow:0 20px 55px #20375809;padding:27px}
.lab-panel-title{margin:0 0 21px}.lab-panel-title h2,.lab-stage-top h2{font:800 23px Manrope,system-ui,sans-serif;letter-spacing:-.06em;margin:10px 0 7px}.lab-panel-title p{font-size:12px;line-height:1.7;color:#8290a5;margin:0}
.lab-badge{font:900 10px Manrope,sans-serif;letter-spacing:.13em;color:#3c71e3}
.lab-upload{width:100%;min-height:197px;border:1.5px dashed #95b5f7;border-radius:17px;background:#f6f9ff;color:#1b3159;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:24px 12px;white-space:normal;transition:.18s}
.lab-upload:hover{border-color:#2864ee;background:#edf3ff;transform:translateY(-1px)}.lab-upload:disabled{opacity:.6;cursor:progress}
.lab-upload-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e2ebff;color:#2767ec;font-weight:900;font-size:23px}
.lab-upload strong{font:900 14px Manrope,sans-serif}.lab-upload small{font:900 9px Manrope,sans-serif;letter-spacing:.09em;color:#9aa7bc}
.lab-upload-ext{font-size:10px;font-weight:700;color:#5177b3;text-align:center;line-height:1.5}
.lab-setting{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:800;color:#5d6c86;margin-top:18px}.lab-setting select,.lab-ar-options select{border:1px solid #dee6f3;border-radius:10px;background:#fff;min-height:42px;font-size:12px;padding:7px 10px;color:#2c3955;width:100%}
.lab-notice{background:#f5f8fe;border:1px solid #e6ecf6;border-radius:10px;padding:13px;margin-top:16px;font-size:11px;line-height:1.7;color:#71829b;overflow-wrap:anywhere}
.lab-notice[data-type=success]{border-color:#bce7d5;background:#effbf5;color:#117d56}.lab-notice[data-type=error]{border-color:#f6c8ce;background:#fff3f3;color:#af3c46}.lab-notice[data-type=busy]{border-color:#bcd0ff;background:#eff4ff;color:#3361be}
.lab-file-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 13px}.lab-file-heading h3,.lab-example h3{font-size:13px;margin:0;font-weight:900}.lab-file-heading span{font-size:10px;font-weight:900;background:#eaf0fb;color:#4b71bd;border-radius:9px;padding:5px 9px}
.lab-model-list{display:grid;gap:9px;max-height:325px;overflow:auto}.lab-no-files{background:#fafbfe;border:1px solid #edf0f5;border-radius:12px;padding:20px 14px;font-size:11px;line-height:1.6;color:#9aa7b9}
.lab-model-row{width:100%;border:1px solid #e6ebf4;background:#fff;border-radius:12px;padding:11px;display:flex;gap:10px;align-items:center;text-align:left;min-width:0;color:#1d2d49}
.lab-model-row.selected{border-color:#8ab0ff;background:#f1f6ff}.lab-model-row:hover{border-color:#b6cdfb}.lab-file-icon{flex:none;background:#e7efff;border-radius:8px;width:36px;height:36px;display:grid;place-items:center;color:#2c67df;font-size:19px}.lab-file-detail{flex:1;min-width:0}.lab-file-detail strong{display:block;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lab-file-detail small{display:block;font-size:10px;color:#90a0b4;margin-top:5px}.lab-file-arrow{font-size:20px;color:#7390bc}
.lab-example{border-top:1px solid #eef1f7;margin-top:23px;padding-top:21px}.lab-demo-buttons{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.lab-demo-buttons button{padding:9px 11px;border:1px solid #dce6f4;background:#f9fbfe;border-radius:8px;color:#416299;font-weight:800;font-size:10px}
.lab-stage-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.lab-stage-top h2{margin:7px 0 0}.lab-live-indicator{font:900 10px Manrope;letter-spacing:.1em;color:#15a27b}
.lab-stage{position:relative;min-height:440px;border-radius:17px;overflow:hidden;background:radial-gradient(ellipse at 55% 43%,#f8faff 0%,#e5ecf6 70%,#dce5f2)}
.lab-stage-grid{pointer-events:none;position:absolute;z-index:0;inset:42% -25% -65%;background-image:linear-gradient(#bbcbe449 1px,transparent 1px),linear-gradient(90deg,#bbcbe449 1px,transparent 1px);background-size:43px 43px;transform:perspective(700px) rotateX(68deg) scale(1.1)}
.lab-stage model-viewer{position:relative;display:block;width:100%;height:440px;background:transparent;z-index:1;--progress-bar-color:#2c65e8;--poster-color:transparent}.lab-stage-empty{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;text-align:center;padding:25px}
.lab-stage-empty>span{font-size:80px;color:#7f9ed2;line-height:1;margin-bottom:15px}.lab-stage-empty strong{font-size:16px;color:#526984}.lab-stage-empty small{font-size:11px;color:#8294aa;margin-top:9px;max-width:310px;line-height:1.8}
.lab-stage-corner{position:absolute;z-index:2;bottom:20px;right:22px;font-size:9px;font-weight:900;letter-spacing:.14em;color:#8da0b9;pointer-events:none}
.lab-internal-ar{background:#fff;color:#2a5cce;border:1px solid #ccdaf6;border-radius:9px;padding:10px 15px;position:absolute;bottom:16px;left:18px;font-size:11px;font-weight:900;box-shadow:0 10px 20px #12274612}
.lab-adjust{display:flex;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid #eaf0f7;flex-wrap:wrap}.lab-adjust label{font-size:10px;font-weight:900;color:#718199;flex:1;min-width:150px}.lab-adjust label span{color:#3d6cdb;margin-left:6px}.lab-adjust input{display:block;width:100%;margin-top:12px;accent-color:#3168e4}.lab-scale-control>span{display:block;font-size:10px;font-weight:900;color:#718199;margin-bottom:10px}.lab-scale-control div{display:flex;align-items:center;gap:9px}.lab-scale-control button{border:1px solid #e1e8f3;background:#f8fafd;border-radius:9px;width:31px;height:31px;font-size:18px;color:#386ee0;font-weight:900}.lab-scale-control b{font-size:11px;min-width:42px;text-align:center}.lab-reset{border:0;background:none;font-size:10px;color:#7d8aa0;font-weight:900;margin-top:14px}
.lab-ar-options{display:flex;align-items:center;gap:19px;justify-content:space-between;padding:18px 0}.lab-ar-options label{font-size:10px;color:#718199;font-weight:900;min-width:165px;max-width:235px;flex:1}.lab-ar-options select{margin-top:7px}.lab-ar-guide{display:flex;flex-wrap:wrap;gap:9px 15px;justify-content:flex-end;max-width:330px}.lab-ar-guide span{font-size:9px;color:#8b99af}.lab-ar-guide b{color:#566989}
.lab-open-ar{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#2461e8;color:#fff;border-radius:12px;padding:17px 21px;border:0;min-height:58px;text-align:left;cursor:pointer}.lab-open-ar strong{flex:1;font-size:14px}.lab-open-ar>span{font-size:19px}.lab-open-ar:hover{background:#184cc4}.lab-open-ar:disabled{opacity:.5;cursor:not-allowed}.lab-open-ar img{position:absolute;width:1px;height:1px;opacity:0}
.lab-ar-status{margin:11px 2px 0;color:#8796a9;font-size:11px;line-height:1.8}.lab-ar-status[data-type=error]{color:#bd4f57}
.lab-instructions{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:20px;padding:35px 0;border-top:1px solid #e2e8f0;margin-top:36px}.lab-instructions h2{font-size:24px;margin:9px 0;letter-spacing:-.06em}.lab-step{border-left:1px solid #e1e8f3;padding-left:20px}.lab-step>span{font-weight:900;font-size:11px;color:#3971e5;display:block;margin-bottom:14px}.lab-step strong{font-size:13px}.lab-step p{font-size:11px;color:#91a0b4;line-height:1.8;margin:7px 0}
.lab-security{border:1px solid #e5eaf4;border-radius:15px;padding:21px 25px;background:#fff}.lab-security strong{font-size:12px}.lab-security p{margin:8px 0 0;font-size:11px;line-height:1.85;color:#8090a6}
.lab-footer{border-top:1px solid #e5eaf2;max-width:1390px;margin:auto;padding:25px 32px 45px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lab-footer span{font-size:13px;font-weight:900}.lab-footer small{font-weight:600;color:#8f9cb0;font-size:10px;margin-left:6px}.lab-footer a{font-weight:800;font-size:11px;color:#426bbb}
@media(max-width:1060px){.lab-workspace{grid-template-columns:1fr}.lab-heading{grid-template-columns:1fr .55fr}.lab-heading-graphic{min-height:290px}.lab-instructions{grid-template-columns:repeat(3,1fr)}.lab-instructions>div:first-child{grid-column:1/-1}.lab-tools,.lab-stage-column{padding:23px}}
@media(max-width:680px){.lab-header{padding:13px 17px;gap:10px}.lab-header nav{gap:13px}.lab-header nav a{font-size:10px}.lab-header nav a:first-child{display:none}.lab-logo{font-size:12px}.lab-logo small{display:none}.lab-logo>span{width:35px;height:35px}.lab-container{padding:0 12px 36px}.lab-heading{grid-template-columns:1fr;margin:7px 0 15px;border-radius:17px}.lab-heading>div:first-child{padding:34px 23px 20px}.lab-heading h1{font-size:clamp(30px,8vw,44px)}.lab-heading p{font-size:12px}.lab-heading-graphic{display:none}.lab-features{gap:9px}.lab-features span{font-size:9px}.lab-workspace{gap:14px}.lab-tools,.lab-stage-column{padding:18px;border-radius:15px}.lab-panel-title h2,.lab-stage-top h2{font-size:20px}.lab-upload{min-height:175px}.lab-stage,.lab-stage model-viewer{min-height:340px;height:340px}.lab-adjust{gap:10px}.lab-ar-options{align-items:flex-start;flex-direction:column}.lab-ar-guide{justify-content:flex-start}.lab-instructions{grid-template-columns:1fr;gap:14px;padding-top:26px}.lab-instructions>div:first-child{grid-column:auto}.lab-step{padding:8px 0 10px 15px}.lab-step>span{margin-bottom:7px}.lab-security{padding:18px}.lab-footer{padding:25px 17px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.lab-floating-shape,.lab-bubble{animation:none}}

/* Segmented uploads v1.3.0 */
.lab-transfer-progress{margin:13px 0 0;padding:14px;border:1px solid #cfdefa;background:#f7faff;border-radius:13px}
.lab-transfer-progress[hidden]{display:none}
.lab-transfer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font:600 11px system-ui,sans-serif;color:#3e5b8d}
.lab-transfer-head span{text-align:right;font-size:10px;color:#6b86b2}
.lab-progress-track{height:8px;background:#dfeafb;border-radius:99px;overflow:hidden}
.lab-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#2d66e5,#17a4b9);border-radius:99px;transition:width .15s ease}

.lab-pro-link{display:block;padding:13px 15px;border-radius:10px;background:#e7f6fb;border:1px solid #bfe4f0;color:#19618c;font-size:11px;line-height:1.5;font-weight:900}.lab-pro-link:hover{background:#ddf0fa}
