*{box-sizing:border-box}:root{color:#0f172a;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif}html,body{max-width:100%;margin:0;overflow-x:clip}#root{width:100%;height:100dvh}.save-status{color:#d7e5f5;background:#101a29;justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.save-status button{flex-shrink:0}.fp-row{flex-wrap:wrap}.app{background:#f1f5f9;flex-direction:column;height:100vh;display:flex}.toolbar{padding:8px 12px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));color:#f8fafc;background:#0f172a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tools,.controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.toolbar button{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:6px 10px;font-size:13px}.toolbar button.active{background:#3b82f6;border-color:#60a5fa}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar label{align-items:center;gap:6px;font-size:13px;display:inline-flex}.toolbar select,.toolbar input[type=range]{color:#f8fafc;background:#0f172a;border:1px solid #334155;border-radius:4px;padding:4px}.toolbar .room-name input{color:#f8fafc;background:#0f172a;border:1px solid #334155;border-radius:4px;width:150px;padding:4px 6px;font-size:13px}.toolbar .room-name input:focus{outline-offset:1px;outline:2px solid #60a5fa}.hint{color:#94a3b8;margin-right:6px;font-size:12px}.canvas-wrap{background:#f8fafc;border-top:1px solid #e2e8f0;flex:1;position:relative;overflow:hidden}.canvas-wrap .plan-canvas{touch-action:none;display:block}.canvas-wrap{overscroll-behavior:contain;-webkit-user-select:none;user-select:none}@media (width<=860px){.sidebar{z-index:5;width:min(310px,86vw);position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 40px #0f172a2e}.workspace{position:relative}}.canvas-wrap canvas{cursor:crosshair;width:100%;height:100%;display:block}.canvas-wrap canvas:active{cursor:grabbing}.zoom-controls{bottom:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right));flex-direction:column;gap:8px;display:flex;position:absolute}.zoom-controls button{color:#f8fafc;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;box-shadow:0 4px 6px #0000004d}.zoom-controls button:hover{background:#1e293b}.object-panel{background:#1e293b;border:1px solid #334155;border-radius:6px;flex-wrap:wrap;gap:8px;min-width:200px;max-height:120px;padding:8px;display:flex;overflow-y:auto}.object-preset{color:#f8fafc;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:60px;padding:6px 8px;font-size:11px;display:flex}.object-preset.active{background:#1d4ed8;border-color:#60a5fa}.object-swatch{border:1px solid #fff;border-radius:3px;width:16px;height:16px}.object-label{line-height:1.2}.workspace{flex:1;min-height:0;display:flex}.side-tabs{flex-direction:column;flex-shrink:0;display:flex}.side-tab{writing-mode:vertical-rl;text-orientation:mixed;color:#f8fafc;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#0f172a;border:none;border-left:1px solid #334155;align-items:center;gap:8px;padding:12px 7px;font-size:12px;display:flex}.side-tab.open{color:#60a5fa;background:#1e293b}.sidebar{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:310px;display:flex;overflow-y:auto}.sidebar-header{color:#f8fafc;background:#0f172a;padding:12px 16px}.sidebar-header h2{letter-spacing:.02em;margin:0;font-size:15px}.side-section{border-bottom:1px solid #e2e8f0;padding:14px 16px}.side-section h3{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 10px;font-size:12px}.spec-row{margin-bottom:10px}.spec-row label{color:#334155;justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.spec-row input[type=range]{accent-color:#3b82f6;width:100%}.spec-row select{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.spec-hint{color:#94a3b8;margin:4px 0 10px;font-size:12px}.range-result{color:#f8fafc;background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:10px;margin-bottom:10px;padding:12px 14px}.range-big{color:#60a5fa;font-size:26px;font-weight:700;line-height:1.1}.range-meta{color:#94a3b8;margin-top:2px;font-size:12px}.apply-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:600}.apply-btn:hover{background:#2563eb}.apply-hint{color:#94a3b8;font-size:12px}.cam-list{flex-direction:column;gap:10px;display:flex}.cam-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.cam-img{object-fit:contain;background:#eef2f7;border-radius:6px;flex-shrink:0;width:72px;height:54px;padding:4px}.obj-icon{border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;width:52px;height:52px;box-shadow:inset 0 0 0 6px #ffffff59}.tool-icon{color:#1d4ed8;background:#eef2f7;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.door-hinge{gap:6px;margin-top:8px;display:flex}.door-hinge button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:4px 6px;font-size:11px;font-weight:600}.door-hinge button:hover{background:#e2e8f0}.door-hinge button.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.cam-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.cam-name{color:#0f172a;font-size:13px;font-weight:600}.cam-tags{flex-wrap:wrap;gap:4px;display:flex}.cam-tags span{color:#334155;background:#e2e8f0;border-radius:999px;padding:2px 6px;font-size:10px}.cam-buy{color:#1d4ed8;background:#dbeafe;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:600;text-decoration:none}.cam-buy:hover{background:#bfdbfe}.cam-buy.pending{color:#94a3b8;cursor:help;background:#f1f5f9;border:1px dashed #cbd5e1}.cam-card{cursor:pointer}.cam-card:hover{background:#f1f5fb;border-color:#60a5fa;transform:translateY(-1px)}.cam-card.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.cam-card.active .cam-name{color:#1d4ed8}.catalog-hint{color:#f8fafc;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:8px;margin:4px 0 10px;padding:8px 10px;font-size:12px;line-height:1.35}.catalog-hint strong{color:#60a5fa}.spec-hint code{color:#334155;background:#e2e8f0;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.floor-switch{border-right:1px solid #e2e8f0;align-items:center;gap:4px;margin-right:10px;padding-right:10px;display:inline-flex}.floor-switch button{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.floor-switch button:hover{background:#e2e8f0}.floor-switch button.active{color:#fff;background:#1e293b;border-color:#1e293b}@media print{.toolbar,.mobile-more{display:none}.app{height:auto}.canvas-wrap{border:none}.side-tab,.sidebar{display:none}}.auth-screen{background:linear-gradient(160deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-screen p{color:#94a3b8}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:32px 28px;box-shadow:0 24px 60px #02061773}.auth-brand{color:#0f172a;align-items:center;gap:8px;margin-bottom:14px;font-size:18px;font-weight:700;display:flex}.auth-logo{color:#7c3aed}.auth-card h1{margin:0 0 6px;font-size:22px}.auth-sub{color:#64748b;margin:0 0 18px;font-size:13px}.auth-input{border:1px solid #cbd5e1;border-radius:8px;width:100%;margin-bottom:10px;padding:10px 12px;font-size:14px}.auth-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:13px}.auth-forgot{text-align:right;margin:-2px 0 12px}.auth-forgot button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.auth-forgot button:hover{text-decoration:underline}.auth-warn{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-bottom:12px;padding:9px 11px;font-size:12px;line-height:1.5}.auth-warn code{background:#78350f1f;border-radius:4px;padding:1px 4px;font-size:11px}.auth-code{letter-spacing:10px;text-align:center;text-indent:10px;padding:14px 10px;font-size:26px;font-weight:700}.auth-code::placeholder{letter-spacing:10px;color:#cbd5e1}.auth-code-inline{letter-spacing:6px;color:#78350f;margin:6px 0;font-size:22px;display:block}.auth-btn{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;width:100%;padding:11px;font-size:15px;font-weight:600}.auth-btn:hover{background:#6d28d9}.auth-divider{text-align:center;color:#94a3b8;margin:16px 0 10px;font-size:12px;position:relative}.auth-oauth{gap:8px;display:flex}.auth-oauth button{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:9px;font-size:13px}.auth-oauth button:hover{background:#f1f5f9}.auth-admin{color:#b45309;cursor:pointer;background:#fffbeb;border:1px dashed #f59e0b;border-radius:8px;width:100%;margin-top:12px;padding:9px;font-size:13px}.auth-switch{text-align:center;color:#64748b;margin-top:14px;font-size:13px}.auth-switch button{color:#7c3aed;cursor:pointer;background:0 0;border:0;font-weight:600}.auth-legal{color:#94a3b8;margin-top:14px;font-size:11px;line-height:1.5}.modal-backdrop{z-index:1000;background:#0206178c;justify-content:center;align-items:center;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:92%;max-width:420px;padding:28px;animation:.18s popIn;position:relative;box-shadow:0 24px 60px #02061766}.modal-close{cursor:pointer;color:#64748b;background:0 0;border:0;font-size:16px;position:absolute;top:12px;right:14px}.upgrade-modal{text-align:center}.upgrade-padlock{color:#7c3aed;background:#ede9fe;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 10px;font-size:20px;display:flex}.upgrade-modal h2{margin:0 0 6px}.upgrade-reason{color:#64748b;font-size:14px}.upgrade-list{text-align:left;color:#334155;margin:14px 0;padding-left:20px;font-size:13px}.upgrade-price{margin-bottom:14px;font-size:30px;font-weight:700}.upgrade-price span{color:#64748b;font-size:14px;font-weight:500}.checkout-gate{text-align:left;max-width:440px}.checkout-gate h2{text-align:center;margin:0 0 10px}.checkout-gate .upgrade-padlock{margin-bottom:14px}.checkout-gate .upgrade-reason{margin:0 0 14px;line-height:1.5}.checkout-gate .auth-input{margin-bottom:10px}.checkout-gate .auth-rules{margin:0 0 10px}.checkout-gate .auth-error,.checkout-gate .auth-notice,.checkout-gate .auth-warn{margin-bottom:10px}.checkout-gate .auth-legal{margin:12px 0 0}.checkout-gate .auth-admin{margin-top:10px}.checkout-gate .auth-switch{text-align:center;margin:10px 0 0}.btn-primary{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;width:100%;margin-bottom:8px;padding:11px;font-weight:600;display:block}.btn-primary:hover{background:#6d28d9}.btn-primary:disabled{color:#475569;cursor:default;background:#cbd5e1}.btn-primary:disabled:hover{background:#cbd5e1}.btn-ghost{cursor:pointer;color:#334155;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:8px 14px;font-size:13px}.btn-ghost:hover{background:#f1f5f9}.dashboard{background:#f1f5f9;min-height:100vh}.dash-header{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.dash-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-chip{color:#6d28d9;background:#ede9fe;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:18px;max-width:1200px;margin:0 auto;padding:24px;display:grid}.dash-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px #0206170f}.dash-card h3{margin:0 0 10px;font-size:16px}.checkout-notice{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.checkout-notice.pending,.checkout-notice.demo{color:#92400e;background:#fffbeb;border-color:#fde68a}.checkout-notice.cancelled{color:#475569;background:#f8fafc;border-color:#e2e8f0}.checkout-notice.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.checkout-notice-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;font-size:14px}.checkout-notice-close:hover{opacity:1}.fp-list{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.fp-row{background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.fp-row .fp-name{flex:1;font-weight:600}.fp-row .fp-date{color:#94a3b8}.fp-row button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-size:12px}.fp-row button.danger{color:#b91c1c;border-color:#fecaca}.fp-row button:hover{background:#f1f5f9}.sub-status{margin-bottom:8px;font-size:20px;font-weight:700}.check-row{cursor:pointer;align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.pricing-page{background:#f1f5f9;min-height:100vh;padding-bottom:60px}.pricing-page h1{text-align:center;margin:30px 0}.pricing-grid,.addons-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;max-width:1100px;margin:0 auto;padding:0 24px;display:grid}.price-card{background:#fff;border-radius:14px;flex-direction:column;padding:24px;display:flex;position:relative;box-shadow:0 1px 4px #0206170f}.price-card.highlighted{border:2px solid #7c3aed}.price-card.current{border:2px solid #10b981}.price-flag{color:#fff;background:#7c3aed;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.price-big{margin:8px 0;font-size:34px;font-weight:800}.price-big span{color:#64748b;font-size:14px;font-weight:500}.price-card ul{color:#334155;flex:1;margin:0 0 16px;padding-left:18px;font-size:13px;line-height:1.9}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.stat{text-align:center;background:#f8fafc;border-radius:10px;padding:12px}.stat span{color:#7c3aed;font-size:22px;font-weight:800;display:block}.stat label{color:#64748b;font-size:11px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hint.blind-warn,span.hint[title*=Blind]{color:#fbbf24;font-weight:600}.auth-pass{position:relative}.auth-pass .auth-input{padding-right:42px}.auth-eye{cursor:pointer;background:0 0;border:0;padding:5px;font-size:15px;line-height:1;position:absolute;top:5px;right:6px}.auth-rules{color:#94a3b8;margin:-4px 0 10px;padding:0;font-size:12px;list-style:none}.auth-rules li{margin-bottom:2px}.auth-rules li.met{color:#047857}.auth-notice{color:#047857;background:#ecfdf5;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:13px}.auth-back{color:#64748b;cursor:pointer;background:0 0;border:0;padding:0 0 14px;font-size:13px}.auth-back:hover{color:#0f172a}.landing{--ink:#e2e8f0;--muted:#94a3b8;--panel:#111c30b8;--line:#1e293b;--cyan:#22d3ee;min-height:100vh;color:var(--ink);background-color:#0000;background-image:radial-gradient(900px 520px at 12% -8%,#7c3aed4d,#0000 60%),radial-gradient(760px 460px at 92% 4%,#22d3ee29,#0000 62%),linear-gradient(#0b1220 0%,#0f172a 46%,#0b1220 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.landing h1,.landing h2,.landing h3{letter-spacing:-.02em}.landing h2{text-align:center;margin:0 0 10px;font-size:clamp(24px,3vw,34px)}.landing-sub{color:var(--muted);text-align:center;max-width:620px;margin:0 auto 34px;font-size:15px;line-height:1.65}.landing-note{text-align:center;color:#cbd5e1;background:#22d3ee12;border:1px solid #22d3ee33;border-radius:12px;max-width:640px;margin:-22px auto 30px;padding:12px 18px;font-size:13px;line-height:1.65}.landing-nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#0b1220d1;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.landing-brand{align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.landing-brand-mark{color:#fff;background:linear-gradient(135deg,#7c3aed,#0ea5e9);border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 6px 18px #7c3aed59}.landing-nav-links{gap:22px;font-size:14px;display:flex}.landing-nav-links a{color:var(--muted);text-decoration:none;transition:color .15s}.landing-nav-links a:hover{color:#fff}.landing-nav-actions{align-items:center;gap:10px;display:flex}.landing-link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 6px;font-size:14px;transition:color .15s}.landing-link-btn:hover{color:#fff}.landing-cta{appearance:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:0;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 10px 26px #6d28d961}.landing-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px #6d28d97a}.landing-cta.small{padding:9px 16px;font-size:14px}.landing-cta.ghost{box-shadow:none;color:var(--ink);background:#94a3b81a;border:1px solid #334155}.landing-cta.ghost:hover{box-shadow:none;background:#94a3b82e}.landing-cta.full{text-align:center;width:100%;display:block}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,4vw,60px);max-width:1220px;margin:0 auto;padding:clamp(44px,6vw,88px) clamp(18px,4vw,48px) 64px;display:grid}.landing-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#c4b5fd;background:#7c3aed29;border:1px solid #7c3aed61;border-radius:999px;margin-bottom:16px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.landing-hero h1{margin:0 0 18px;font-size:clamp(32px,4.4vw,54px);line-height:1.06}.landing-hero h1 em{color:var(--cyan);font-style:normal}.landing-hero-copy>p{color:#cbd5e1;max-width:560px;margin:0 0 26px;font-size:16px;line-height:1.7}.landing-hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.landing-trust{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.landing-trust li:before{content:"✓";color:var(--cyan);margin-right:7px;font-weight:700}.landing-shot{border:1px solid var(--line);background:#0d1729;border-radius:16px;margin:0;overflow:hidden;box-shadow:0 30px 70px #02061799,0 0 0 1px #22d3ee14}.landing-shot-bar{border-bottom:1px solid var(--line);background:#0b1220;align-items:center;gap:7px;padding:10px 14px;display:flex}.landing-shot-bar span{background:#334155;border-radius:50%;width:10px;height:10px}.landing-shot-bar span:first-child{background:#ef4444}.landing-shot-bar span:nth-child(2){background:#f59e0b}.landing-shot-bar span:nth-child(3){background:#22c55e}.landing-shot-bar em{color:var(--muted);margin-left:10px;font-size:12px;font-style:normal}.landing-shot img{aspect-ratio:1122/680;background:#0d1729;width:100%;height:auto;display:block}.landing-shot figcaption{border-top:1px solid var(--line);background:#0b1220;flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.landing-chip{color:#a5f3fc;background:#22d3ee1f;border:1px solid #22d3ee4d;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.landing-chip.warn{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b52}.landing-chip.ok{color:#a7f3d0;background:#10b9811f;border-color:#10b98152}.landing-features,.landing-how,.landing-pricing{max-width:1120px;margin:0 auto;padding:70px clamp(18px,4vw,48px) 0;scroll-margin-top:78px}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.landing-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:22px;transition:transform .18s,border-color .18s}.landing-card:hover{border-color:#38507a;transform:translateY(-3px)}.landing-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.landing-card-icon{width:38px;height:38px;color:var(--cyan);background:#22d3ee1a;border:1px solid #22d3ee38;border-radius:10px;justify-content:center;align-items:center;display:flex}.landing-tier{letter-spacing:.08em;text-transform:uppercase;color:#a7f3d0;background:#10b9811f;border:1px solid #10b9814d;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700}.landing-tier.premium{color:#ddd6fe;background:#7c3aed29;border-color:#7c3aed66}.landing-card h3{margin:0 0 8px;font-size:16px}.landing-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.landing-step{background:#0f172a8c;border:1px dashed #2b3d5c;border-radius:14px;padding:22px}.landing-step-n{color:#0b1220;background:var(--cyan);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:12px;font-size:14px;font-weight:700;display:inline-flex}.landing-step h3{margin:0 0 6px;font-size:16px}.landing-step p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.landing-price-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:16px;display:grid}.landing-price{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.landing-price.featured{border:1px solid #7c3aed;box-shadow:0 0 0 1px #7c3aed59,0 22px 50px #4c1d9559}.landing-price-flag{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.landing-price h3{margin:0;font-size:16px}.landing-price-big{margin:0;font-size:34px;font-weight:800}.landing-price-big span{color:var(--muted);font-size:14px;font-weight:500}.landing-price-blurb{color:var(--muted);min-height:40px;margin:0;font-size:13px;line-height:1.6}.landing-price ul{color:#cbd5e1;flex:1;margin:4px 0 16px;padding:0;font-size:13px;line-height:1.85;list-style:none}.landing-price li:before{content:"✓";color:var(--cyan);margin-right:8px;font-weight:700}.landing-addon-head{text-align:center;margin:44px 0 16px;font-size:18px}.landing-addons{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.landing-addon{border:1px solid var(--line);background:#0f172a8c;border-radius:12px;padding:18px}.landing-addon strong{font-size:14px;display:block}.landing-addon span{color:#c4b5fd;margin:6px 0 8px;font-size:12px;font-weight:700;display:inline-block}.landing-addon p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.landing-final{text-align:center;background:radial-gradient(600px 300px at 50% 0,#7c3aed47,#0000 70%),#0f172ab3;border:1px solid #2b3d5c;border-radius:22px;margin:84px clamp(18px,4vw,48px) 0;padding:54px 24px}.landing-final h2{margin-bottom:8px}.landing-final p{color:var(--muted);margin:0 0 22px}.landing-final .landing-cta{margin-right:10px}.landing-footer{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:40px clamp(18px,4vw,48px) 56px;font-size:12px;display:flex}.landing-footer p{max-width:560px;margin:0;line-height:1.6}@media (width<=940px){.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-shot{order:-1}}@media (width<=720px){.landing{background-attachment:scroll}.landing-nav{flex-wrap:wrap;justify-content:center;gap:10px 20px}.landing-brand{order:1}.landing-nav-actions{order:2}.landing-nav-links{flex-basis:100%;order:3;justify-content:center;gap:20px;font-size:13px}.landing-note{text-align:left;margin-top:-18px}}.editor-shell{position:relative}.mobile-more{display:none}@media (width<=720px){.toolbar{gap:6px;padding:6px 8px;position:relative}.tools{gap:6px}.toolbar button{padding:9px 12px}.controls{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;flex:100%;order:3;gap:6px;padding-bottom:3px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 88%,#0000 100%);mask-image:linear-gradient(90deg,#000 0 88%,#0000 100%)}.controls::-webkit-scrollbar{display:none}.controls>*{flex:none}.controls .floor-switch{order:1}.toolbar .hint{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:62vw;margin:0;overflow:hidden}.toolbar .room-name input{width:110px}.sidebar{width:100%}.zoom-controls button{width:44px;height:44px}.mobile-more{top:7px;right:max(8px, env(safe-area-inset-right));z-index:30;color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;padding:9px 12px;font-size:13px;display:inline-flex;position:absolute}.editor-shell.menu-open .mobile-more{background:#3b82f6;border-color:#60a5fa}.editor-shell.menu-open .controls{z-index:25;background:#0f172a;border-top:1px solid #1e293b;flex-wrap:wrap;flex:100%;max-height:62vh;padding:10px;position:absolute;top:100%;left:0;right:0;overflow:visible auto;box-shadow:0 18px 34px #02061773;-webkit-mask-image:none;mask-image:none}.editor-shell.menu-open .controls .floor-switch{order:0}.editor-shell.menu-open .controls .hint{white-space:normal;max-width:100%}}@media (pointer:coarse){.toolbar button{padding:10px 13px}.zoom-controls button{width:46px;height:46px}.side-tab{padding:14px 9px}}@supports (height:100dvh){.app{height:100dvh}.auth-screen,.dashboard,.pricing-page,.landing{min-height:100dvh}}
