:root{--bg: #0F1115;--bg-2: #15171C;--panel: rgba(21, 23, 28, .86);--panel-strong: rgba(15, 17, 21, .94);--border: rgba(255, 255, 255, .08);--border-strong: rgba(0, 255, 0, .34);--text: #F4F6F8;--muted: #A8B0BD;--accent: #00FF00;--accent-2: #00D900;--accent-3: #7DFF7D;--on-accent: #0F1115;--danger: #FF4D4D;--warning: #FBBF24;--info: #38BDF8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 14% 8%,rgba(0,255,0,.1),transparent 28rem),radial-gradient(circle at 82% 4%,rgba(0,255,0,.06),transparent 34rem),linear-gradient(135deg,#0b0d10,#0f1115 46%,#15171c)}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.page-center{min-height:100vh;display:grid;place-items:center;color:var(--text)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:32px;padding:48px;align-items:center}.hero-card,.auth-card,.panel,.viewer-panel,.admin-panel,.studio-drawer,.viewer-drawer,.user-popover{background:var(--panel);border:1px solid var(--border);border-radius:28px;box-shadow:0 24px 80px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:54px;min-height:520px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;inset:auto -120px -180px auto;width:390px;height:390px;border-radius:999px;background:#22c55e2e;filter:blur(10px)}.eyebrow{color:var(--accent-2);font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}.eyebrow.small{font-size:11px;margin-bottom:6px}.hero-card h1{font-size:clamp(40px,6vw,74px);line-height:.96;margin:0 0 24px;letter-spacing:-.055em;color:var(--text)}.hero-card p{max-width:680px;color:#cde9da;font-size:20px;line-height:1.55}.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hero-pills span,.summary-box small,.admin-row small{color:var(--muted)}.hero-pills span{border:1px solid rgba(52,211,153,.35);color:var(--accent-3);background:#16653440;border-radius:999px;padding:9px 12px;font-weight:800;font-size:13px}.auth-card,.panel,.admin-panel{padding:28px}.auth-card h2,.panel h2,.admin-panel h2,.drawer-content h2{margin:0 0 8px;letter-spacing:-.03em}form{display:grid;gap:12px}label{color:#dcefe5;font-size:14px;font-weight:700;margin-top:6px}input,select,textarea{width:100%;border:1px solid rgba(167,243,208,.18);background:#010906c7;color:var(--text);border-radius:14px;padding:12px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 4px #34d3991c}textarea{min-height:86px;resize:vertical}input[type=file]{padding:10px}input[type=color]{width:54px;height:42px;padding:4px;border-radius:12px}input[type=range]{padding:0;margin-top:8px;accent-color:var(--accent)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:0 0 auto}button{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#02130b;border:0;border-radius:14px;padding:12px 16px;font-weight:900;margin-top:8px}.secondary-button{background:#050f0bdb;border:1px solid rgba(52,211,153,.34);color:var(--accent-3)}.danger-button{background:#7f1d1dc7;border:1px solid rgba(248,113,113,.35);color:#fee2e2}.link-button{background:transparent;color:var(--accent-2);padding-left:0;width:auto}.full-button{width:100%}.message{color:#fde68a;background:#facc1517;border:1px solid rgba(250,204,21,.24);border-radius:14px;padding:12px;line-height:1.45}.message.compact{margin:0}.muted,.helper-text{color:var(--muted);font-size:13px;line-height:1.45}.no-margin{margin:-6px 0 4px}.dashboard{min-height:100vh;padding:22px;position:relative;overflow-x:hidden}.brand-corner{position:fixed;top:18px;left:24px;z-index:40;display:flex;align-items:center;gap:12px;pointer-events:none}.brand-corner div{display:grid;gap:2px}.brand-corner strong{font-size:16px;letter-spacing:-.02em}.brand-corner small{color:var(--muted);font-weight:650}.brand-symbol{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#02130b;background:linear-gradient(135deg,var(--accent),var(--accent-2));font-weight:1000;box-shadow:0 14px 34px #00ff0038}.brand-logo{height:26px;width:auto;display:block;image-rendering:-webkit-optimize-contrast}.inline-brand .brand-logo{height:24px}.user-menu{position:fixed;top:18px;right:24px;z-index:70}.user-avatar{width:50px;height:50px;margin:0;border-radius:999px;border:1px solid rgba(167,243,208,.36);background:#050f0bd1;color:var(--accent-3);box-shadow:0 16px 44px #0000004d}.user-avatar:hover{border-color:var(--accent-2);box-shadow:0 0 0 6px #34d3991a,0 16px 44px #0000004d}.user-popover{position:absolute;top:62px;right:0;width:min(310px,calc(100vw - 48px));padding:18px;display:grid;gap:8px}.user-popover strong{color:var(--text)}.user-popover span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.studio-shell{min-height:calc(100vh - 44px);position:relative;display:grid;padding-top:66px}.studio-viewer-panel,.viewer-panel{padding:0;min-height:calc(100vh - 110px);overflow:hidden}.studio-tools{position:fixed;top:118px;left:24px;z-index:55;display:grid;gap:12px}.tool-button{width:52px;height:52px;margin:0;border-radius:999px;padding:0;display:grid;place-items:center;color:var(--accent-3);background:#050f0bdb;border:1px solid rgba(167,243,208,.2);box-shadow:0 14px 40px #00000047;position:relative}.tool-button span{font-size:20px;line-height:1}.tool-button.active,.tool-button:hover:not(:disabled){color:#02130b;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent}.tool-button:after{content:attr(data-label);position:absolute;left:62px;top:50%;transform:translateY(-50%) translate(-6px);opacity:0;pointer-events:none;white-space:nowrap;background:#050f0bf0;color:var(--text);border:1px solid rgba(167,243,208,.22);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800;transition:.18s ease}.tool-button:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.studio-drawer,.viewer-drawer{position:fixed;top:92px;bottom:22px;left:92px;z-index:50;width:min(400px,calc(100vw - 116px));padding:0;overflow:hidden}.viewer-drawer{left:auto;right:24px;width:min(386px,calc(100vw - 116px))}.drawer-content{height:100%;overflow:auto;padding:26px;display:flex;flex-direction:column;gap:12px}.drawer-close{position:absolute;top:12px;right:12px;z-index:2;margin:0;width:34px;height:34px;padding:0;border-radius:999px;color:var(--accent-3);background:#010906ad;border:1px solid rgba(167,243,208,.2)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#0109069e;border:1px solid rgba(167,243,208,.14);border-radius:16px;padding:6px}.segmented-control button{margin:0;background:transparent;color:#cde9da;border:1px solid transparent}.segmented-control button.active{background:#22c55e2e;color:var(--accent-3);border-color:#34d39957}.checkbox-row{display:flex;align-items:flex-start;gap:10px;line-height:1.4}.checkbox-row.boxed{padding:12px;border:1px solid rgba(167,243,208,.18);border-radius:16px;background:#0109066b}.section-divider{height:1px;background:#a7f3d029;margin:22px 0}.section-divider.tight{margin:8px 0}.project-list{display:grid;gap:10px}.project{background:#010906ad;color:var(--text);border:1px solid rgba(167,243,208,.18);text-align:left;display:grid;gap:4px;width:100%}.project span{color:var(--muted);font-size:13px}.project.active{border-color:var(--accent-2);box-shadow:0 0 0 3px #34d3991f}.viewer{min-height:calc(100vh - 110px);position:relative;isolation:isolate}.viewer-empty-state{display:grid;place-items:center;padding:28px}.viewer-empty-card{max-width:560px;text-align:center;padding:34px;border-radius:28px;background:#050f0bbd;border:1px solid var(--border)}.viewer-loading,.viewer-empty{min-height:600px;border-radius:24px;border:1px solid rgba(167,243,208,.18);background:#2b2b26;display:grid;place-items:center;color:#cde9da;text-align:center;padding:28px}.floating-message{position:absolute;z-index:10;top:86px;left:50%;transform:translate(-50%)}.three-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:calc(100vh - 110px);border-radius:28px;overflow:hidden;background:#2b2b26}.three-viewer,.three-viewer canvas{width:100%;height:calc(100vh - 110px);min-height:640px;display:block;touch-action:none}.three-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;color:var(--text);font-weight:900;text-align:center;pointer-events:none;text-shadow:0 1px 0 rgba(0,0,0,.32)}.three-help{position:absolute;left:18px;bottom:18px;background:#050f0bd1;color:var(--accent-3);border:1px solid rgba(167,243,208,.22);border-radius:999px;padding:10px 14px;font-size:13px;pointer-events:none}.viewer-mini-info{position:absolute;left:26px;bottom:62px;z-index:6;display:flex;gap:14px;align-items:center;max-width:min(680px,calc(100vw - 120px));padding:12px 14px;border-radius:18px;background:#050f0bc7;border:1px solid rgba(167,243,208,.18);color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.viewer-mini-info div{display:grid;gap:2px}.viewer-mini-info span,.viewer-mini-info small{color:var(--muted);font-size:12px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-box,.viewer-info-card{border:1px solid rgba(167,243,208,.16);background:#01090675;border-radius:18px;padding:14px}.summary-box{display:grid;gap:6px}.action-stack{display:grid;gap:8px}.action-stack button{margin:0}.project-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-meta-grid.stacked{grid-template-columns:1fr 1fr}.project-meta-grid span{background:#01090670;border:1px solid rgba(167,243,208,.14);border-radius:14px;padding:10px;font-size:13px}.observations{color:#dcefe5;background:#01090659;border-radius:14px;padding:12px;margin:0}.admin-panel{margin-top:24px}.section-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.admin-table{display:grid;gap:8px;overflow-x:auto}.admin-row{min-width:980px;display:grid;grid-template-columns:1.3fr 1fr .8fr .9fr .8fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(167,243,208,.14);background:#01090670;border-radius:16px}.admin-row>span{display:grid;gap:4px}.admin-head{color:var(--accent-3);font-weight:900;background:#050f0be0}@media (max-width: 980px){.auth-layout{grid-template-columns:1fr;padding:24px}.dashboard{padding:12px}.brand-corner{left:16px}.user-menu{right:16px}.studio-tools{left:16px;top:auto;bottom:16px;display:flex}.tool-button:after{display:none}.studio-drawer,.viewer-drawer{left:16px;right:16px;top:86px;bottom:86px;width:auto}.viewer-drawer{right:16px}.project-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-help{display:none}}@media (max-width: 640px){.hero-card,.auth-card,.panel,.admin-panel{padding:20px;border-radius:22px}.drawer-content{padding:22px}.two-cols,.project-meta-grid,.project-meta-grid.stacked{grid-template-columns:1fr}.brand-corner small,.brand-corner strong{display:none}.viewer-mini-info{left:16px;right:16px;bottom:82px;max-width:none;flex-direction:column;align-items:flex-start}.three-stage,.viewer,.studio-viewer-panel,.viewer-panel{min-height:calc(100vh - 90px)}.three-viewer,.three-viewer canvas{height:calc(100vh - 90px);min-height:520px}}.access-layout .hero-card h1{font-size:clamp(36px,5vw,64px)}.user-popover{width:min(390px,calc(100vw - 48px));max-height:calc(100vh - 92px);overflow:auto}.user-projects-box{max-height:360px;overflow:auto;padding-right:4px}.user-projects-box .project{margin-top:0;padding:11px 12px;border-radius:14px}.compact-new-project{width:min(390px,calc(100vw - 116px))}.three-stage{background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.05),transparent 28rem),#2b2b26}.viewer-drawer .drawer-content,.studio-drawer .drawer-content{scrollbar-width:thin;scrollbar-color:rgba(167,243,208,.42) rgba(1,9,6,.35)}.viewer-drawer .drawer-content::-webkit-scrollbar,.studio-drawer .drawer-content::-webkit-scrollbar,.user-popover::-webkit-scrollbar,.user-projects-box::-webkit-scrollbar{width:8px}.viewer-drawer .drawer-content::-webkit-scrollbar-thumb,.studio-drawer .drawer-content::-webkit-scrollbar-thumb,.user-popover::-webkit-scrollbar-thumb,.user-projects-box::-webkit-scrollbar-thumb{background:#a7f3d06b;border-radius:999px}.viewer-drawer .drawer-content::-webkit-scrollbar-track,.studio-drawer .drawer-content::-webkit-scrollbar-track,.user-popover::-webkit-scrollbar-track,.user-projects-box::-webkit-scrollbar-track{background:#01090659}@media (max-width: 640px){.user-popover{width:calc(100vw - 32px)}}.top-workbar{position:fixed;top:14px;left:18px;right:92px;z-index:58;min-height:58px;display:flex;align-items:center;gap:18px;padding:10px 12px;border:1px solid rgba(167,243,208,.18);border-radius:24px;background:#050f0b9e;box-shadow:0 22px 70px #00000042;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.inline-brand{position:static;pointer-events:auto;flex:0 0 auto;background:#00000047;border:1px solid rgba(167,243,208,.16);border-radius:0;padding:8px 18px 8px 10px}.quick-input-panel{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.compact-segment{width:146px;flex:0 0 146px}.compact-segment button{padding:9px 10px;border-radius:12px;font-size:13px}.quick-field{margin:0;min-width:0;display:grid;gap:4px}.quick-field span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.quick-field input,.quick-field select{height:40px;padding:9px 11px;border-radius:13px}.wide-field{flex:1 1 260px}.font-field{flex:0 1 210px}.model-type-field{flex:0 1 220px}.font-picker{position:relative}.font-picker-trigger{width:100%;height:40px;padding:9px 11px;border-radius:13px;border:1px solid var(--border);background:#01090673;color:var(--text);text-align:left;cursor:pointer;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker-trigger:hover{border-color:var(--border-strong)}.font-picker-panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(360px,86vw);display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--panel-strong);box-shadow:0 20px 44px #00000073}.font-picker-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.font-style-tile{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--text);cursor:pointer}.font-style-tile.active{border-color:var(--accent-2);background:#00ff0014}.font-style-tile-example{font-size:18px;line-height:1}.font-style-tile-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.font-picker-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.font-option-tile{padding:10px 8px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--text);font-size:16px;cursor:pointer}.font-option-tile.active{border-color:var(--accent-2);background:#00ff001a}.font-picker-warning{margin:0;padding:8px 10px;border-radius:10px;background:#fbbf241a;border:1px solid rgba(251,191,36,.35);color:var(--warning);font-size:12px;line-height:1.4}.file-field{flex:1 1 330px;position:relative;min-height:48px;border:1px dashed rgba(167,243,208,.28);border-radius:16px;padding:7px 12px;background:#01090673;cursor:pointer}.file-field:after{content:"Selecionar arquivo .svg";color:var(--accent-3);font-size:13px;font-weight:900}.file-field input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.save-project-button{margin:0;height:42px;flex:0 0 auto;white-space:nowrap;box-shadow:0 12px 30px #22c55e33}.save-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:max-content}.compact-action-button{height:42px;margin:0;padding:0 13px;white-space:nowrap;font-size:13px}.icon-only-button{height:42px;width:42px;margin:0;padding:0;display:grid;place-items:center;font-size:20px;line-height:1;flex:0 0 auto}.finetune-label{color:var(--accent-3);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.studio-shell{padding-top:78px}.studio-tools{top:112px}.project-row{display:grid;grid-template-columns:1fr 40px;align-items:stretch;gap:8px}.project-row.active .project-select{border-color:var(--accent-2);box-shadow:0 0 0 3px #34d3991f}.project-select{margin:0;min-width:0}.trash-button{margin:0;width:40px;min-height:100%;padding:0;border-radius:14px;background:#7f1d1d94;border:1px solid rgba(248,113,113,.26);color:#fecaca}.global-message{position:fixed;right:24px;bottom:24px;z-index:80;max-width:min(420px,calc(100vw - 48px));margin:0}.vectorize-disclaimer{margin:0 24px 12px;padding:10px 16px;border-radius:14px;background:#facc151a;border:1px solid rgba(250,204,21,.28);color:#fde68a;font-size:13px;line-height:1.4}.viewer-mini-info strong{overflow-wrap:anywhere}@media (max-width: 1120px){.top-workbar{right:84px;align-items:stretch}.quick-input-panel{flex-wrap:wrap}.save-project-button{flex:1 1 160px}}@media (max-width: 760px){.top-workbar{position:static;margin:0 72px 12px 0;flex-direction:column;align-items:stretch}.inline-brand{display:flex}.quick-input-panel{display:grid;grid-template-columns:1fr}.compact-segment,.wide-field,.font-field,.file-field,.save-project-button{width:100%;flex:none}.studio-shell{padding-top:0}.studio-tools{top:auto}}.dashboard{padding:14px 18px 22px}.top-workbar{position:sticky;top:0;left:auto;right:auto;width:calc(100% - 76px);margin:0 76px 12px 0;z-index:90;min-height:56px;border-radius:22px;background:#050f0bd1}.user-menu{top:14px;right:18px;z-index:100}.studio-shell{padding-top:0;min-height:auto;display:block}.studio-viewer-panel,.viewer-panel{min-height:calc(100vh - 104px);overflow:visible}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:14px;min-height:calc(100vh - 104px);align-items:stretch}.viewer-main{position:relative;min-height:calc(100vh - 104px);border-radius:28px;overflow:hidden;border:1px solid var(--border);background:#050f0b80;box-shadow:0 24px 80px #00000057}.viewer-main .three-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:100%;border-radius:28px}.viewer-main .three-viewer,.viewer-main .three-viewer canvas{height:calc(100vh - 104px);min-height:620px}.params-sidebar{overflow:hidden;padding:0;background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:0 24px 80px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.params-sidebar-content{padding:12px;display:grid;gap:8px}.params-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.params-title-row h2{margin:0;font-size:20px;letter-spacing:-.04em}.status-pill{border:1px solid rgba(250,204,21,.28);background:#facc151a;color:#fde68a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.status-pill.saved{border-color:#34d39957;background:#22c55e24;color:var(--accent-3)}.compact-form label,.compact-label{margin-top:0;font-size:12px}.compact-form input,.compact-form select,.compact-form textarea{border-radius:12px;padding:9px 10px}.compact-form select,.compact-form input:not([type=range]):not([type=checkbox]):not([type=color]){min-height:38px}.compact-form input[type=color]{width:46px;height:36px;border-radius:10px}.compact-form input[type=range]{margin-top:4px}.compact-form textarea{min-height:70px}.compact-helper{font-size:12px;line-height:1.32}.compact-source-card,.params-section{border:1px solid rgba(167,243,208,.13);background:#01090657;border-radius:16px;padding:10px}.compact-source-card{display:grid;gap:3px}.compact-source-card span,.compact-source-card small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.section-mini-title{color:var(--accent-3);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.compact-grid{display:grid;gap:9px}.compact-grid.two{grid-template-columns:1fr 1fr}.compact-grid.align-end{align-items:end}.mini-color-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.mini-color-field span{color:#dcefe5;font-size:12px;font-weight:800}.compact-control-row{margin:0}.compact-check{align-items:center;margin:0;background:#0109064d;border-radius:12px;padding:8px}.led-compact-section{display:grid;gap:8px}.sidebar-message{font-size:12px;padding:9px}.studio-tools{position:fixed;top:104px;left:30px;z-index:65}.utility-drawer{right:356px;left:auto;top:104px;bottom:22px;width:min(350px,calc(100vw - 390px))}.compact-drawer-content{padding:22px;gap:10px}.compact-two-cols{gap:8px}.compact-summary{padding:12px}.compact-meta-grid span{font-size:12px}.studio-tools .tool-button{width:48px;height:48px}@media (max-width: 1180px){.viewer-layout{grid-template-columns:minmax(0,1fr) 300px}.utility-drawer{right:336px;width:min(330px,calc(100vw - 370px))}}@media (max-width: 980px){.dashboard{padding:12px}.top-workbar{width:calc(100% - 68px);margin-right:68px}.viewer-layout{grid-template-columns:1fr}.viewer-main,.viewer-main .three-viewer,.viewer-main .three-viewer canvas{height:64vh;min-height:520px}.params-sidebar{height:auto;max-height:none}.utility-drawer{position:fixed;right:16px;left:16px;width:auto;top:92px;bottom:86px}}@media (max-width: 760px){.top-workbar{position:sticky;top:0;margin:0 64px 12px 0}.viewer-main,.viewer-main .three-viewer,.viewer-main .three-viewer canvas{min-height:500px;height:58vh}.compact-grid.two,.compact-two-cols,.project-meta-grid.stacked{grid-template-columns:1fr}.studio-tools{top:auto;bottom:16px;left:16px}}:root{--bg: #06110d;--bg-2: #0a1712;--panel: #102019;--panel-strong: #07130f;--border: #214c39;--border-strong: #2f8b5b;--text: #f4fff8;--muted: #a7bcaf;--accent: #16a34a;--accent-2: #22c55e;--accent-3: #bbf7d0}body{background:#06110d}.hero-card,.auth-card,.panel,.viewer-panel,.admin-panel,.studio-drawer,.viewer-drawer,.user-popover,.top-workbar,.params-sidebar,.viewer-main,.viewer-empty-card,.viewer-loading,.viewer-empty,.summary-box,.viewer-info-card,.params-section,.compact-source-card,.project,.project-row,.admin-row,.message,input,select,textarea,button,.segmented-control,.file-field,.trash-button,.status-pill,.checkbox-row.boxed{border-radius:8px}.hero-card,.auth-card,.panel,.viewer-panel,.admin-panel,.studio-drawer,.viewer-drawer,.user-popover,.top-workbar,.params-sidebar,.viewer-main{background:var(--panel);border-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 18px 42px #00000057}.top-workbar{background:#0d1b15;border:1px solid #1f5138;box-shadow:0 10px 26px #00000047}.brand-symbol{border-radius:8px;background:#22c55e;box-shadow:none}.user-avatar{border-radius:8px;background:#0b1712}button,.save-project-button{background:#22c55e;box-shadow:none}.secondary-button,.link-button{background:#0a1712;border:1px solid #2f6e4a}.viewer-layout{grid-template-columns:minmax(0,1fr) 310px}.viewer-main,.viewer-main .three-stage,.three-stage{border-radius:8px}.three-stage{background:#2b2b26}.params-sidebar{background:#102019;border:1px solid #1f5138}.params-sidebar-content{gap:8px;padding:12px}.params-section{background:#0a1712;border:1px solid #1f5138;padding:9px}.compact-form input,.compact-form select,.compact-form textarea,.quick-field input,.quick-field select{background:#06110d;border-color:#25573d}.viewer-mini-info,.compact-source-card{display:none!important}.viewer-tools{position:absolute;top:14px;left:14px;z-index:35;display:flex;gap:8px}.viewer-tool-button{width:44px;height:44px;margin:0;padding:0;display:grid;place-items:center;border-radius:8px;background:#06110dc7;border:1px solid rgba(187,247,208,.22);color:var(--accent-3);position:relative}.viewer-tool-button.active,.viewer-tool-button:hover:not(:disabled){background:#22c55eeb;color:#03140b;border-color:#22c55e}.viewer-tool-button:after{content:attr(data-label);position:absolute;top:52px;left:0;opacity:0;pointer-events:none;white-space:nowrap;background:#07130f;color:var(--text);border:1px solid #25573d;padding:7px 9px;border-radius:6px;font-size:12px;font-weight:900;transition:opacity .16s ease}.viewer-tool-button:hover:after{opacity:1}.viewer-tool-button-labeled{height:44px;margin:0;padding:0 16px 0 12px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#22c55eeb;border:1px solid #22c55e;color:#03140b;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 10px 24px #00000059}.viewer-tool-button-labeled span{font-size:17px}.viewer-tool-button-labeled:hover:not(:disabled),.viewer-tool-button-labeled.active{background:#1ea34e;border-color:#1ea34e}.viewer-tool-button-labeled:disabled{opacity:.5;background:#06110dc7;border-color:#bbf7d038;color:var(--accent-3);box-shadow:none}.quote-cta-button{position:absolute;right:18px;bottom:18px;z-index:36;margin:0;padding:14px 22px;font-size:15px;border-radius:999px;box-shadow:0 16px 40px #00ff0052}.quote-cta-button.highlight{animation:quoteCtaPulse 1s ease-in-out 3}@keyframes quoteCtaPulse{0%,to{transform:scale(1);box-shadow:0 16px 40px #00ff0052}50%{transform:scale(1.08);box-shadow:0 16px 46px #00ff008c}}.utility-drawer,.viewer-drawer.utility-drawer{position:absolute;top:14px;left:112px;right:auto;bottom:auto;width:min(360px,calc(100% - 132px));max-height:calc(100% - 28px);background:#102019;border:1px solid #1f5138;border-radius:8px;overflow:auto;z-index:34}.utility-drawer .drawer-content{max-height:calc(100vh - 160px);overflow:auto}.drawer-close{border-radius:6px;background:#06110d}.three-help{left:18px;bottom:18px;border-radius:8px;background:#06110dd6}.studio-tools{display:none!important}.section-mini-title,.eyebrow{color:#86efac}@media (max-width: 1180px){.viewer-layout{grid-template-columns:minmax(0,1fr) 296px}}@media (max-width: 980px){.viewer-layout{grid-template-columns:1fr}.params-sidebar{height:auto}.utility-drawer,.viewer-drawer.utility-drawer{left:14px;top:68px;width:calc(100% - 28px)}}.led-model-controls{display:grid;gap:9px}.top-workbar,.viewer-main,.params-sidebar,.viewer-panel,.admin-panel,.user-popover,.utility-drawer,.viewer-drawer.utility-drawer,.params-section,.summary-box,.project,.project-row,.admin-row,.message,.compact-source-card,.auth-card,.hero-card,.panel{border-radius:0!important}input,select,textarea,.segmented-control,.file-field,.save-project-button,.secondary-button,.trash-button,.status-pill,.checkbox-row.boxed{border-radius:3px!important}.user-avatar,.viewer-tool-button{border-radius:999px!important}.viewer-tool-button{background:#06110dd6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.top-workbar,.params-sidebar,.viewer-main,.admin-panel{background:#0b1712!important;border-color:#22613f!important}.three-stage{border-radius:0!important}.global-message{animation:toastFadeOut 4.2s ease forwards}@keyframes toastFadeOut{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:translateY(0)}78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.user-menu{position:fixed!important;top:14px!important;right:18px!important}.admin-empty{color:var(--muted)}@media (max-width: 980px){.user-menu{position:fixed!important;top:12px!important;right:12px!important}}.admin-section-header h2{margin-bottom:4px}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.6fr) auto;gap:12px;align-items:end;margin:14px 0 18px}.admin-toolbar label{display:grid;gap:6px;font-size:12px;color:var(--accent-3);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.admin-counter{min-height:48px;padding:10px 14px;border:1px solid rgba(167,243,208,.18);background:#01090661;display:grid;align-content:center;gap:2px}.admin-counter strong{font-size:20px;color:var(--accent-3);line-height:1}.admin-counter span{font-size:12px;color:var(--muted)}.admin-message{margin:8px 0 14px}.admin-row.admin-row-expanded{min-width:1320px;grid-template-columns:1.15fr 1fr 1.25fr .78fr .82fr .78fr 1.12fr}.admin-row small{color:var(--muted);font-size:11px;word-break:break-word}.admin-actions{display:flex!important;flex-wrap:wrap;gap:6px}.small-admin-button{padding:7px 9px;font-size:11px;min-height:0;border:1px solid rgba(187,247,208,.2);background:#10251b;color:var(--text)}.small-admin-button:hover{border-color:#bbf7d080}.small-admin-button.danger,.danger-button{background:#321313!important;border-color:#f8717173!important;color:#fecaca!important}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000000b8;display:grid;place-items:center;padding:24px}.admin-modal{position:relative;width:min(980px,100%);max-height:88vh;overflow:auto;background:#0b1712;border:1px solid #22613f;padding:26px;box-shadow:0 28px 70px #00000075}.admin-modal-close{position:absolute;top:12px;right:12px}.access-gate-modal{width:min(480px,100%)}.access-gate-card{display:grid;gap:4px}.access-gate-card h2{margin:4px 0 8px;font-size:22px;letter-spacing:-.03em}.access-gate-card form{margin-top:14px}.admin-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.admin-detail-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-detail-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-detail-grid span{background:#01090666;border:1px solid rgba(167,243,208,.14);padding:10px;display:grid;gap:4px;color:#eafff2;word-break:break-word}.admin-detail-grid strong{color:var(--accent-3);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.admin-detail-section{margin-top:16px;padding-top:14px;border-top:1px solid rgba(167,243,208,.13)}.admin-detail-section h3{margin:0 0 8px;font-size:15px}.admin-file-path{background:#01090666;border:1px solid rgba(167,243,208,.14);padding:10px;color:var(--muted);word-break:break-all;margin:0}.admin-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.admin-modal-actions button{width:auto;margin:0}@media (max-width: 760px){.admin-toolbar,.admin-detail-grid,.admin-detail-grid.two,.admin-detail-grid.three{grid-template-columns:1fr}.admin-modal{padding:20px}}.viewer-scale-section{display:grid;gap:8px}@media (max-width: 760px){html,body,#root{width:100%;min-width:0;overflow-x:hidden}.dashboard{padding:8px 8px 14px!important;overflow-x:hidden}.user-menu{top:8px!important;right:8px!important}.user-avatar{width:44px!important;height:44px!important;min-width:44px;min-height:44px;font-size:14px}.user-popover{width:calc(100vw - 16px)!important;right:0!important;max-height:calc(100vh - 66px)}.top-workbar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:calc(100% - 52px)!important;min-height:0!important;margin:0 52px 8px 0!important;padding:8px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;overflow:visible}.inline-brand{display:flex!important;align-items:center;gap:8px}.inline-brand .brand-symbol{width:38px;height:38px;min-width:38px}.inline-brand strong{font-size:14px;line-height:1.1}.inline-brand small{display:none}.quick-input-panel{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0;width:100%}.compact-segment,.wide-field,.font-field,.file-field,.save-project-button,.top-workbar .secondary-button{width:100%!important;max-width:none!important;flex:none!important}.compact-segment{display:grid!important;grid-template-columns:1fr 1fr}.compact-segment button,.quick-field input,.quick-field select,.save-project-button,.top-workbar .secondary-button{min-height:38px!important}.save-project-button,.top-workbar .secondary-button{margin:0!important;padding:10px 12px!important}.studio-shell{padding-top:0!important;display:block!important;min-height:0!important}.studio-viewer-panel,.viewer-panel{min-height:0!important;overflow:visible!important}.viewer-layout{display:block!important;min-height:0!important;width:100%}.viewer-main{position:relative!important;width:100%!important;min-height:360px!important;height:54vh!important;max-height:520px;overflow:hidden!important}.viewer-main .three-stage{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;min-height:100%!important;height:100%!important}.viewer-main .three-viewer,.viewer-main .three-viewer canvas{width:100%!important;height:100%!important;min-height:0!important}.viewer-tools{top:10px!important;left:10px!important;gap:6px!important}.viewer-tool-button{width:40px!important;height:40px!important}.viewer-tool-button:after,.three-help,.viewer-mini-info{display:none!important}.utility-drawer,.viewer-drawer.utility-drawer{position:absolute!important;top:58px!important;left:10px!important;right:10px!important;bottom:auto!important;width:auto!important;max-height:calc(100% - 68px)!important;overflow:auto!important;z-index:45}.utility-drawer .drawer-content,.viewer-drawer.utility-drawer .drawer-content{max-height:none!important;padding:16px!important}.params-sidebar{height:auto!important;max-height:none!important;margin-top:8px!important;overflow:visible!important}.params-sidebar-content{padding:10px!important;gap:8px!important}.params-section{padding:9px!important}.compact-grid.two{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.top-workbar{width:calc(100% - 50px)!important;margin-right:50px!important}.inline-brand strong{font-size:13px}.compact-grid.two,.compact-two-cols,.project-meta-grid.stacked{grid-template-columns:1fr!important}.viewer-main{min-height:340px!important;height:50vh!important}.viewer-tool-button{width:38px!important;height:38px!important}}@media (max-width: 760px){html,body,#root{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}body{min-height:100dvh}.dashboard{width:100%!important;max-width:100%!important;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 12px!important;display:block!important;overflow-x:hidden!important}.dashboard *,.dashboard *:before,.dashboard *:after{min-width:0}.user-menu{position:fixed!important;top:calc(8px + env(safe-area-inset-top,0px))!important;right:8px!important;z-index:160!important}.user-avatar{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important}.user-popover{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 66px)!important;right:0!important;top:52px!important;overflow:auto!important;z-index:170!important}.top-workbar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:54px 0 8px!important;padding:8px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important;overflow:visible!important;z-index:30!important}.inline-brand{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;padding-right:0!important}.inline-brand .brand-symbol{width:36px!important;height:36px!important;min-width:36px!important;font-size:16px!important}.inline-brand strong{display:block!important;font-size:14px!important;line-height:1.1!important}.inline-brand small{display:none!important}.quick-input-panel{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;align-items:stretch!important}.compact-segment{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;padding:4px!important}.compact-segment button{width:100%!important;min-height:36px!important;padding:8px 10px!important;margin:0!important}.quick-field{width:100%!important;display:grid!important;gap:3px!important}.quick-field span{font-size:10px!important;line-height:1.1!important}.quick-field input,.quick-field select,.compact-form input,.compact-form select,.compact-form textarea{min-height:38px!important;font-size:16px!important}.file-field{width:100%!important;min-height:44px!important;padding:7px 10px!important;display:grid!important;align-content:center!important}.file-field:after{font-size:12px!important;line-height:1.2!important}.save-actions{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;align-items:stretch!important}.save-actions .save-project-button{grid-column:1 / -1!important;width:100%!important}.save-actions .compact-action-button,.save-actions .save-project-button{min-width:0!important;height:auto!important;min-height:38px!important;margin:0!important;padding:9px 10px!important;font-size:12px!important;line-height:1.15!important;white-space:normal!important}.studio-shell,.studio-viewer-panel,.viewer-panel{width:100%!important;max-width:100%!important;min-height:0!important;padding-top:0!important;display:block!important;overflow:visible!important}.viewer-layout{width:100%!important;max-width:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:8px!important}.viewer-main{order:1!important;width:100%!important;max-width:100%!important;height:min(52dvh,430px)!important;min-height:330px!important;max-height:430px!important;overflow:hidden!important}.viewer-main .three-stage{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important}.viewer-main .three-viewer,.viewer-main .three-viewer canvas{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important}.viewer-tools{top:8px!important;left:8px!important;right:8px!important;z-index:50!important;display:flex!important;justify-content:flex-start!important;gap:6px!important}.viewer-tool-button{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:12px!important}.viewer-tool-button:after,.three-help,.viewer-mini-info{display:none!important}.utility-drawer,.viewer-drawer.utility-drawer{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;top:auto!important;width:auto!important;max-width:none!important;max-height:min(72dvh,560px)!important;overflow:hidden!important;z-index:150!important;box-shadow:0 22px 60px #00000094!important}.utility-drawer .drawer-content,.viewer-drawer.utility-drawer .drawer-content{max-height:min(calc(72dvh - 16px),544px)!important;overflow:auto!important;padding:38px 16px 16px!important}.drawer-close{position:absolute!important;top:8px!important;right:8px!important;z-index:4!important}.params-sidebar{order:2!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;overflow:visible!important}.params-sidebar-content{padding:10px!important;gap:8px!important}.params-title-row{align-items:center!important;gap:8px!important}.params-title-row h2{font-size:18px!important}.params-section{padding:9px!important}.compact-grid.two,.compact-two-cols,.two-cols.compact-two-cols{grid-template-columns:1fr 1fr!important;gap:8px!important}.mini-color-field{grid-template-columns:1fr auto!important}.global-message{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;max-width:none!important;z-index:180!important}.admin-panel{margin-top:12px!important;padding:14px!important;overflow-x:hidden!important}.admin-table{max-width:100%!important;overflow-x:auto!important}}@media (max-width: 480px){.top-workbar{margin-top:52px!important}.save-actions,.compact-grid.two,.compact-two-cols,.two-cols.compact-two-cols,.project-meta-grid.stacked{grid-template-columns:1fr!important}.viewer-main{height:min(50dvh,390px)!important;min-height:315px!important;max-height:390px!important}.viewer-tool-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}}@supports not (height: 100dvh){@media (max-width: 760px){.viewer-main{height:min(52vh,430px)!important}.utility-drawer,.viewer-drawer.utility-drawer{max-height:min(72vh,560px)!important}.utility-drawer .drawer-content,.viewer-drawer.utility-drawer .drawer-content{max-height:min(calc(72vh - 16px),544px)!important}}}.print3d-cta{margin-top:28px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#00ff000d;display:flex;flex-direction:column;gap:16px}.print3d-text{display:grid;gap:6px}.print3d-text strong{font-size:16px;letter-spacing:-.01em}.print3d-text span{color:var(--muted);font-size:13px;line-height:1.5}.print3d-actions{display:flex;gap:10px;flex-wrap:wrap}.print3d-whats,.print3d-email{text-decoration:none;border-radius:11px;padding:11px 18px;font-size:14px;font-weight:700;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.print3d-whats{background:var(--accent);color:var(--on-accent)}.print3d-whats:hover{background:var(--accent-2);transform:translateY(-1px)}.print3d-email{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.print3d-email:hover{border-color:var(--accent);color:var(--accent-3);transform:translateY(-1px)}.print3d-cta.compact{margin-top:16px;padding:16px}@media (max-width: 640px){.print3d-actions{flex-direction:column}.print3d-whats,.print3d-email{text-align:center}}.landing-page{min-height:100vh;display:flex;flex-direction:column}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px}.landing-logo{height:28px;width:auto;display:block}.landing-brand{display:flex;align-items:center;gap:8px}.landing-brand-suffix{color:var(--muted);font-size:13px;font-weight:600}.landing-login-link{background:transparent;border:0;margin:0;padding:8px 4px;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.landing-login-link:hover{color:var(--accent-3)}.landing-hero{max-width:640px;margin:0 auto;padding:8px 20px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.landing-badge{display:inline-block;border:1px solid rgba(52,211,153,.35);color:var(--accent-3);background:#16653440;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center}.landing-badge-icon{margin-right:6px;color:var(--accent-3);flex:0 0 auto}.landing-hero h1{font-size:clamp(30px,8vw,50px);line-height:1.08;margin:0;letter-spacing:-.03em;color:var(--text)}.landing-hero>p{color:#cde9da;font-size:16px;line-height:1.55;max-width:480px;margin:0}.landing-cta-button{width:100%;max-width:360px;font-size:16px;padding:16px 20px;margin-top:8px;box-shadow:0 14px 34px #00ff0038}.landing-cta-caption{color:var(--muted);font-size:13px;margin:0}.landing-preview-placeholder{position:relative;width:100%;max-width:520px;height:320px;min-height:280px;margin-top:16px;border-radius:20px;border:1px solid rgba(167,243,208,.3);background:#01090680;overflow:hidden}.landing-preview-placeholder .three-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.landing-preview-placeholder .three-viewer,.landing-preview-placeholder .three-viewer canvas{width:100%;height:100%;min-height:0}.landing-preview-placeholder .three-help{display:none}.landing-preview-caption{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:var(--accent-3);background:#050f0bc7;border:1px solid rgba(167,243,208,.22);border-radius:999px;padding:7px 13px;white-space:nowrap}.landing-steps{width:100%;max-width:1040px;margin:0 auto;padding:0 20px 56px;display:grid;gap:14px}.landing-step{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--border)}.landing-step-number{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);font-weight:900;font-size:14px}.landing-step strong{display:block;font-size:15px;letter-spacing:-.01em;margin-bottom:4px}.landing-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}@media (min-width: 641px){.landing-hero{padding-top:24px}.landing-preview-placeholder{min-height:360px}.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}.photo-env-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:100%;border-radius:28px;overflow:hidden;background:#2b2b26;display:grid;place-items:center}.photo-env-empty{max-width:560px;text-align:center;padding:34px;display:grid;gap:10px;justify-items:center}.photo-env-empty h3{margin:0;font-size:22px}.photo-preset-divider{margin-top:14px}.photo-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.photo-preset-tile{position:relative;aspect-ratio:16 / 9;border-radius:12px;border:1px solid rgba(167,243,208,.18);background-size:cover;background-position:center;cursor:pointer;overflow:hidden;padding:0;margin:0}.photo-preset-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#050f0bd9,#050f0b00 55%)}.photo-preset-tile span{position:absolute;left:8px;right:8px;bottom:6px;z-index:1;font-size:11px;font-weight:600;line-height:1.2;text-align:left;color:#eafff0}.photo-preset-tile:hover{border-color:#a7f3d080}.photo-env-viewport{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.photo-frame{position:relative;display:inline-block;max-width:100%;max-height:calc(100% - 150px);line-height:0;cursor:crosshair}.photo-frame img{display:block;max-width:100%;max-height:calc(100vh - 320px);border-radius:12px;-webkit-user-select:none;user-select:none}.photo-calib-marker{position:absolute;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;background:#22c55e;border:2px solid #eafff0;box-shadow:0 0 0 3px #22c55e59;pointer-events:none}.photo-calib-line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.photo-calib-line line{stroke:#22c55e;stroke-width:2;stroke-dasharray:6 4}.photo-overlay-sticker{position:absolute;font-weight:700;line-height:1;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.photo-overlay-sticker:active{cursor:grabbing}.photo-overlay-sticker-svg{object-fit:contain;-webkit-user-drag:none}.photo-overlay-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;text-align:center;color:#fecaca;background:#7f1d1db3;border:1px solid rgba(248,113,113,.3);border-radius:12px;padding:10px 14px;font-size:13px}.photo-env-toolbar{width:min(520px,100%)}.photo-calib-panel{display:grid;gap:8px;padding:12px 14px;border-radius:16px;background:#050f0bc7;border:1px solid rgba(167,243,208,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.photo-calib-inputs{display:flex;gap:8px}.photo-calib-inputs input{flex:1;margin:0}.photo-calib-inputs button{margin:0;white-space:nowrap}.action-stack.row{grid-template-columns:1fr 1fr;display:grid}
