@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..700&family=Plus+Jakarta+Sans:wght@600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#131518;--surface:#1a1d22;--surface2:#22262d;--surface3:#2a2f38;--scrim:#0a0c1099;--well:#00000026;--border-subtle:#ffffff0f;--border:#ffffff1a;--border-strong:#ffffff29;--text:#e7eaf0;--text-sub:#a9b1c2;--text-muted:#7a8399;--text-on-accent:#fff;--accent:#2d7bea;--accent-hover:#4a94ff;--accent-pressed:#2264c8;--accent-tint:#2d7bea1f;--accent-ring:#2d7bea59;--accent-text:#7fa6f7;--success:#34d399;--success-text:#4ade80;--success-tint:#34d3991f;--warning:#f59e0b;--warning-text:#fbbf24;--warning-tint:#f59e0b1f;--danger:#ef4444;--danger-text:#f87171;--danger-tint:#ef44441f;--danger-hover:#dc2626;--font-ui:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:"Plus Jakarta Sans", var(--font-ui);--font-mono:ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:28px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-.02em;--tracking-title:-.01em;--tracking-label:.06em;--tracking-brand:.25em;--lh-tight:1;--lh-title:1.2;--lh-snug:1.35;--lh-body:1.45;--lh-prose:1.6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-ctl:8px;--radius-card:12px;--radius-modal:16px;--radius-pill:999px;--shadow-1:0 1px 2px #00000047;--shadow-2:0 4px 8px #0000003d, 0 12px 32px #00000052;--shadow-3:0 8px 24px #00000052, 0 24px 64px #00000070;--focus-ring:0 0 0 3px var(--accent-ring);--focus-ring-danger:0 0 0 3px #ef44444d;--glass-bg:#1a1d22d1;--glass-blur:blur(16px) saturate(1.4);--glass-bg-strong:#14171df5;--glass-blur-strong:blur(28px) saturate(1.6);--ease:cubic-bezier(.16, 1, .3, 1);--dur-fast:.15s;--dur-base:.2s;--dur-slow:.3s;--dur-reveal:.8s;--ease-reveal:cubic-bezier(.25, .46, .45, .94);--ctl-h-sm:28px;--ctl-h-md:32px;--ctl-h-lg:44px;--disabled-opacity:.45;--sidebar-width:320px;--topbar-height:56px;--border2:var(--border-strong);--accent-dim:var(--accent-tint);--accent-glow:var(--accent-ring);--radius-sm:var(--radius-ctl);--radius-md:var(--radius-card);--radius-lg:var(--radius-modal);--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--shadow-glow:var(--focus-ring)}html,body,#root{overscroll-behavior:none;width:100%;height:100%;font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{cursor:pointer;font-family:inherit;font-size:var(--fs-sm);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);outline:none}input,select,textarea{font-family:inherit;font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);outline:none}:focus-visible{outline-offset:2px;box-shadow:var(--focus-ring);outline:2px solid #0000}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:20px}input[type=range]::-webkit-slider-runnable-track{background:var(--surface3);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease);background:#fff;border:none;border-radius:50%;margin-top:-6px}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-track{background:var(--surface3);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{width:16px;height:16px;box-shadow:var(--shadow-1);background:#fff;border:none;border-radius:50%}input[type=range]:focus-visible{box-shadow:none;outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-1), var(--focus-ring)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fc-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10010;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fc-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:620px;max-width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-3);color:var(--text);animation:fc-modal-in var(--dur-base) var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes fc-modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.fc-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);flex:none;display:flex}.fc-header h2{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--tracking-title);color:var(--text);margin:0}.fc-close{border-radius:var(--radius-ctl);width:28px;height:28px;color:var(--text-muted);font-size:var(--fs-xl);line-height:var(--lh-tight);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.fc-close:hover{background:var(--surface3);color:var(--text)}.fc-body{padding:var(--sp-1) var(--sp-5) var(--sp-5);overflow-y:auto}.fc-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.fc-table thead th{background:var(--surface);padding:var(--sp-3) var(--sp-2) var(--sp-2);text-align:center;vertical-align:bottom;z-index:1;position:sticky;top:0}.fc-table thead th.fc-corner{text-align:left}.fc-plan{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);display:block}.fc-price{margin-top:var(--sp-1);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--text);display:block}.fc-price small{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted)}.fc-hl-head .fc-plan{color:var(--accent-text)}.fc-table tbody th,.fc-table tbody td{padding:var(--sp-2) var(--sp-2);border-top:1px solid var(--border-subtle)}.fc-table tbody th[scope=row]{text-align:left;font-weight:var(--fw-regular);color:var(--text)}.fc-table tbody td{text-align:center;width:92px}.fc-table tbody td.fc-hl{background:#2d7bea12}.fc-group th{text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);padding:var(--sp-4) var(--sp-2) var(--sp-2)!important;border-top:none!important}.fc-table tbody tr:first-child th{border-top:none}.fc-check{color:var(--success-text);vertical-align:middle}.fc-dash{color:var(--text-muted)}.fc-text{color:var(--text);font-weight:var(--fw-medium)}.fc-hl .fc-text,.fc-hl .fc-check{color:var(--text)}.fc-hl .fc-check{color:var(--success-text)}.fc-note{margin:var(--sp-3) var(--sp-1) 0;font-size:var(--fs-2xs);line-height:var(--lh-body);color:var(--text-muted);text-align:center}@media (width<=560px){.fc-table{font-size:var(--fs-xs)}.fc-price{font-size:var(--fs-md)}.fc-table tbody td{width:auto}.fc-table tbody th[scope=row]{padding-right:var(--sp-1)}}.xgallery{gap:var(--sp-2);width:100%;height:clamp(280px,44vh,470px);display:flex}.xgallery-item{background:var(--surface2);border-radius:var(--radius-card);cursor:pointer;border:none;flex:1 1 0;min-width:0;padding:0;display:block;position:relative;overflow:hidden}.xgallery-item img{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.xgallery-scrim{pointer-events:none;background:#000;position:absolute;inset:0}.xgallery-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.auth-aurora{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.auth-aurora-layer{--aurora-stripes:repeating-linear-gradient(100deg, #000 0%, #000 7%, transparent 10%, transparent 12%, #000 16%);--aurora-hues:repeating-linear-gradient(100deg, #3b82f6 10%, #a5b4fc 15%, #93c5fd 20%, #ddd6fe 25%, #60a5fa 30%);background-image:var(--aurora-stripes), var(--aurora-hues);filter:blur(10px);opacity:.5;background-position:50%,50%;background-size:300%,200%;position:absolute;inset:-10px;-webkit-mask-image:radial-gradient(at 100% 0,#000 10%,#0000 70%);mask-image:radial-gradient(at 100% 0,#000 10%,#0000 70%)}.auth-aurora-layer:after{content:"";background-image:var(--aurora-stripes), var(--aurora-hues);mix-blend-mode:difference;background-size:200%,100%;background-attachment:fixed;animation:60s linear infinite auroraStreak;position:absolute;inset:0}@keyframes auroraStreak{0%{background-position:50%,50%}to{background-position:350%,350%}}@media (prefers-reduced-motion:reduce){.auth-aurora-layer:after{animation:none}}.auth-screen{background:var(--bg);color:var(--text);animation:auth-fade var(--dur-slow) var(--ease);position:fixed;inset:0;overflow:hidden auto}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}.auth-content{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--sp-3);min-height:100%;padding:var(--sp-5) var(--sp-4);flex-direction:column;display:flex}.auth-card{width:380px;max-width:100%;scroll-margin-top:var(--sp-6)}.auth-logo{text-align:center;margin-bottom:var(--sp-4)}.auth-logo img{filter:invert();-webkit-user-select:none;user-select:none;width:150px}.auth-subtitle{margin-top:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-brand);text-transform:uppercase;color:var(--text-muted);display:block}.auth-heading{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-title);color:var(--text);text-align:center;margin:0 0 var(--sp-3)}.auth-msg{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-ctl);font-size:var(--fs-xs);margin-bottom:var(--sp-3);line-height:var(--lh-snug)}.auth-msg-error{background:var(--danger-tint);color:var(--danger-text);border:1px solid #ef444440}.auth-msg-success{background:var(--success-tint);color:var(--success-text);border:1px solid #34d39940}.auth-hint{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;line-height:var(--lh-body);margin:var(--sp-2) 0 var(--sp-3)}.auth-forgot{margin:var(--sp-2) 0 0 auto;color:var(--accent-text);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;padding:0;display:block}.auth-forgot:hover{text-decoration:underline}.auth-resend{margin:-6px auto var(--sp-3);color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;padding:2px 4px;display:block}.auth-resend:hover{text-decoration:underline}.auth-resend:disabled{opacity:var(--disabled-opacity);cursor:default}.auth-field{margin-bottom:var(--sp-3)}.auth-field label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:var(--sp-1);display:block}.auth-field input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-sm)}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input:hover{border-color:var(--border-strong)}.auth-btn{width:100%;padding:var(--sp-3);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--sp-1);border:1px solid #0000}.auth-btn:hover:not(:disabled){background:var(--accent-hover)}.auth-btn:active:not(:disabled){background:var(--accent-pressed)}.auth-btn:disabled{opacity:var(--disabled-opacity);cursor:default}.auth-google-btn{justify-content:center;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3);background:var(--surface2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-ctl);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;display:flex}.auth-google-btn:hover:not(:disabled){background:var(--surface3)}.auth-google-btn:active:not(:disabled){background:var(--surface)}.auth-google-btn:disabled{opacity:var(--disabled-opacity);cursor:default}.auth-divider{margin:var(--sp-3) 0;align-items:center;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{padding:0 var(--sp-2);font-size:var(--fs-2xs);color:var(--text-muted);white-space:nowrap}.auth-switch{text-align:center;margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted)}.auth-switch button{color:var(--accent-text);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-consent{margin:var(--sp-2) var(--sp-1) 0;font-size:var(--fs-2xs);line-height:var(--lh-body);color:var(--text-muted);text-align:center}.auth-consent a{color:var(--accent-text);text-decoration:none}.auth-consent a:hover{text-decoration:underline}.auth-footer{justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);text-align:center;flex-wrap:wrap;display:flex}.auth-footer a{color:var(--text-muted);text-decoration:none}.auth-footer a:hover{color:var(--text-sub);text-decoration:underline}.auth-version{font-size:var(--fs-2xs);color:var(--text-muted)}@media (height<=700px){.auth-content{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2)}.auth-logo{margin-bottom:var(--sp-2)}.auth-logo img{width:110px}.auth-subtitle{margin-top:var(--sp-1);font-size:var(--fs-2xs)}.auth-heading{font-size:var(--fs-md);margin:0 0 var(--sp-2)}.auth-field{margin-bottom:var(--sp-2)}.auth-field input{padding:var(--sp-2) var(--sp-3)}.auth-hint{margin:var(--sp-1) 0 var(--sp-2)}.auth-btn,.auth-google-btn{padding:var(--sp-2)}.auth-divider{margin:var(--sp-2) 0}.auth-switch{margin-top:var(--sp-2)}}.auth-layout{z-index:1;max-width:1120px;padding:0 var(--sp-10);flex-direction:column;margin:0 auto;display:flex;position:relative}.auth-nav-cta{padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;display:block}.auth-nav-cta:hover{background:var(--accent-hover)}.auth-nav-cta:active{background:var(--accent-pressed)}.auth-reveal{opacity:0;transition:opacity var(--dur-reveal) var(--ease-reveal), transform var(--dur-reveal) var(--ease-reveal);will-change:opacity, transform;transform:translateY(12px)}.auth-reveal-visible{opacity:1;transform:translateY(0)}.auth-reveal-done{will-change:auto}@media (prefers-reduced-motion:reduce){.auth-reveal{transition:none}}.auth-hero{isolation:isolate;order:1;position:relative}.auth-details{order:2}.auth-brand{z-index:30;width:100vw;margin:0 0 var(--sp-10) calc(50% - 50vw);background:var(--surface2);border-bottom:1px solid var(--border-subtle);justify-content:center;display:flex;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.auth-brand{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.auth-brand-inner{width:100%;max-width:1120px;padding:var(--sp-2) var(--sp-10);align-items:center;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;display:flex}.auth-nav{align-items:center;gap:var(--sp-1);margin:0 auto;display:flex}.auth-nav-link{color:var(--text-sub);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;background:0 0;border:none}.auth-nav-link:hover{color:var(--text);background:#ffffff14}#gallery,#features,#pricing{scroll-margin-top:92px}.auth-brand-mark{align-items:center;gap:var(--sp-2);font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-ctl);transition:opacity var(--dur-fast) var(--ease);background:0 0;border:none;margin:0;padding:0;display:flex}.auth-brand-mark:hover{opacity:.75}.auth-brand-mark:active{opacity:.6}.auth-brand-mark:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth-brand img{-webkit-user-select:none;user-select:none;width:auto;height:30px}.auth-brand-subtitle{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-brand);text-transform:uppercase;color:var(--text-muted)}.auth-headline{font-family:var(--font-display);font-size:clamp(34px,4.5vw,56px);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text);max-width:900px;margin:var(--sp-2) auto var(--sp-6);text-align:center;line-height:1.1}.auth-subhead{font-size:var(--fs-lg);line-height:var(--lh-prose);color:var(--text-sub);text-align:center;max-width:640px;margin:0 auto}.auth-headline-dim{color:var(--text-muted)}.auth-hero-cta{justify-content:center;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.auth-hero-btn{align-items:center;gap:var(--sp-2);height:var(--ctl-h-lg);padding:0 var(--sp-6);border-radius:var(--radius-ctl);font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);display:inline-flex}.auth-hero-btn-primary{background:var(--accent);color:var(--text-on-accent);border:1px solid #0000}.auth-hero-btn-primary:hover{background:var(--accent-hover)}.auth-hero-btn-ghost{border:1px solid var(--border-strong);background:var(--surface2);color:var(--text)}.auth-hero-btn-ghost:hover{background:var(--surface3);border-color:var(--text-muted)}.auth-hero-art{max-width:1080px;margin:var(--sp-10) auto 0;border-radius:var(--radius-modal);border:1px solid var(--border-subtle);background:var(--bg);box-shadow:0 40px 90px -30px #000000bf, var(--shadow-2);overflow:hidden}.auth-hero-art video{width:100%;height:auto;display:block}.auth-gallery{margin:var(--sp-2) 0 0}.auth-gallery-viewport{position:relative}.auth-gallery-track{--card-w:min(clamp(260px, 72vw, 720px), calc((100vh - 230px) * 1.5));gap:var(--sp-6);scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:var(--sp-12) calc(50% - var(--card-w) / 2);scrollbar-width:none;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%)}.auth-gallery-track::-webkit-scrollbar{display:none}.auth-gallery-card{flex:0 0 var(--card-w);aspect-ratio:3/2;scroll-snap-align:center;border-radius:var(--radius-modal);border:1px solid var(--border-subtle);background:var(--bg);opacity:.5;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease), box-shadow var(--dur-slow) var(--ease);overflow:hidden;transform:scale(.94)}.auth-gallery-card.is-active{opacity:1;box-shadow:0 24px 60px -24px #000000b3, var(--shadow-2);transform:scale(1)}.auth-gallery-card .auth-lightbox-btn{width:100%;height:100%;display:block}.auth-gallery-card img{object-fit:cover;width:100%;height:100%;display:block}.auth-gallery.is-reduced .auth-gallery-track{scroll-behavior:auto}.auth-gallery.is-reduced .auth-gallery-card{opacity:1;transition:none;transform:none}.auth-gallery-arrow{border:1px solid var(--border-strong);background:var(--surface2);width:44px;height:44px;color:var(--text);cursor:pointer;z-index:2;transition:background var(--dur-fast) var(--ease), opacity var(--dur-base) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.auth-gallery-arrow{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.auth-gallery-arrow:hover{background:var(--surface3)}.auth-gallery-arrow-prev{left:14px}.auth-gallery-arrow-next{right:14px}.auth-gallery-arrow:disabled{opacity:0;pointer-events:none}.auth-gallery-dots{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.auth-gallery-dot{border-radius:var(--radius-pill);background:var(--surface3);cursor:pointer;width:8px;height:8px;transition:width var(--dur-slow) var(--ease), background var(--dur-slow) var(--ease);border:none;padding:0}.auth-gallery-dot.is-active{background:var(--accent);width:20px}.auth-exports-fan{max-width:680px;padding:var(--sp-6) 0;justify-content:center;align-items:center;display:flex}.auth-exports-card{aspect-ratio:4/3;border-radius:var(--radius-card);border:1px solid var(--border-subtle);width:46%;box-shadow:0 24px 60px -24px #000000b3, var(--shadow-2);transition:transform var(--dur-slow) var(--ease);background:#fff;overflow:hidden}.auth-exports-card:first-child{z-index:1;transform:rotate(-11deg)}.auth-exports-card:nth-child(2){z-index:3;margin-left:-13%;transform:rotate(0)}.auth-exports-card:nth-child(3){z-index:2;margin-left:-13%;transform:rotate(11deg)}.auth-exports-fan:hover .auth-exports-card:first-child{transform:rotate(-15deg)translate(-14%)}.auth-exports-fan:hover .auth-exports-card:nth-child(2){transform:translateY(-7%)}.auth-exports-fan:hover .auth-exports-card:nth-child(3){transform:rotate(15deg)translate(14%)}.auth-exports-card .auth-lightbox-btn{width:100%;height:100%;display:block}.auth-exports-card img{object-fit:contain;width:100%;height:100%;padding:var(--sp-1);display:block}.auth-exports-card-photo{background:var(--bg)}.auth-exports-card-photo img{object-fit:cover;padding:0}.auth-formcol{width:100vw;margin:calc(var(--sp-16) + var(--sp-12)) 0 0 calc(50% - 50vw);padding:calc(var(--sp-10) * 2) var(--sp-6);background:var(--bg);border-top:1px solid var(--border-subtle);order:3;justify-content:center;display:flex}.auth-formcol-inner{width:100%;max-width:420px}.auth-formcol .auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-6);box-shadow:var(--shadow-2)}.auth-steps{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.auth-step{gap:var(--sp-4);padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface2);transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), transform var(--dur-base) var(--ease);flex-direction:column;align-items:flex-start;display:flex}.auth-step:hover{border-color:var(--border-strong);background:var(--surface3);transform:translateY(-1px)}.auth-step-icon{border-radius:var(--radius-card);border:1px solid var(--border);width:44px;height:44px;color:var(--accent-text);background:var(--accent-tint);flex:none;justify-content:center;align-items:center;display:flex}.auth-step-icon svg{width:24px;height:24px}.auth-step-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 var(--sp-2)}.auth-step-body{font-size:var(--fs-sm);line-height:var(--lh-prose);color:var(--text-sub);margin:0}.auth-split{gap:var(--sp-12);max-width:1000px;margin:calc(var(--sp-12) * 2) auto 0;grid-template-columns:1fr 1.1fr;align-items:center;display:grid}.auth-split-text .auth-section-title,.auth-split-text .auth-section-subtitle{text-align:left}.auth-split-text .auth-section-title{margin-top:0}.auth-tiles{gap:var(--sp-6);margin:0 auto;display:grid}.auth-tiles-2{grid-template-columns:repeat(2,1fr);max-width:760px}.auth-feature-tag{margin-left:var(--sp-2);padding:2px var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;vertical-align:middle;border-radius:var(--radius-pill);color:var(--accent-text);background:var(--accent-tint)}.auth-price-note{max-width:720px;margin:var(--sp-4) auto 0;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-muted);text-align:center}.auth-price-link{font:inherit;font-weight:var(--fw-semibold);color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0}.auth-price-link:hover{text-decoration:underline}.auth-section-head{max-width:640px;margin:calc(var(--sp-12) * 2) auto var(--sp-8);text-align:center}.auth-section-title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,28px);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text);margin:0 0 var(--sp-2)}.auth-section-subtitle{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--text-sub);margin:0}.auth-plans{gap:var(--sp-4);max-width:960px;margin:var(--sp-5) auto 0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.auth-plan{padding:var(--sp-6);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:relative}.auth-plan-hl{border-color:var(--accent);box-shadow:var(--shadow-2);background-image:linear-gradient(180deg, var(--accent-tint), transparent 42%)}.auth-plan-badge{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);white-space:nowrap;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.auth-plan-head{margin-bottom:var(--sp-4)}.auth-plan-name{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);display:block}.auth-plan-hl .auth-plan-name{color:var(--accent-text)}.auth-plan-tagline{margin-top:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--text);display:block}.auth-plan-price{align-items:baseline;gap:var(--sp-1);margin-bottom:var(--sp-4);display:flex}.auth-plan-amount{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--text)}.auth-plan-per{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.auth-plan-cta{width:100%;height:var(--ctl-h-lg);border-radius:var(--radius-ctl);border:1px solid var(--border-strong);background:var(--surface3);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease)}.auth-plan-cta:hover{background:var(--surface2);border-color:var(--text-muted)}.auth-plan-cta-primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.auth-plan-cta-primary:hover{background:var(--accent-hover);border-color:#0000}.auth-plan-incl{margin:var(--sp-4) 0 var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.auth-plan-features{margin:var(--sp-4) 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.auth-plan-incl+.auth-plan-features{margin-top:0}.auth-plan-features li{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--text-sub);display:flex}.auth-plan-check{color:var(--success-text);flex-shrink:0;margin-top:2px}.auth-billing-toggle{width:fit-content;margin:0 auto var(--sp-3);border-radius:var(--radius-pill);background:var(--surface2);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.auth-billing-opt{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;border:none}.auth-billing-opt:not(.active):hover{color:var(--text-sub)}.auth-billing-opt.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.auth-screen>.auth-footer{z-index:1;padding:var(--sp-2) var(--sp-6) var(--sp-10);position:relative}@media (width<=1023px){.auth-layout{padding:0 var(--sp-5)}.auth-headline,.auth-subhead{max-width:none}.auth-brand-inner{padding-left:var(--sp-5);padding-right:var(--sp-5)}.auth-brand-subtitle{font-size:var(--fs-2xs)}.auth-hero-art{max-width:none;margin:var(--sp-6) auto 0}.auth-price-note{max-width:none}.auth-section-head{margin:var(--sp-16) auto var(--sp-6)}.auth-formcol{margin-top:calc(var(--sp-12) + var(--sp-6));padding:var(--sp-12) var(--sp-5)}}@media (pointer:coarse),(width<=720px){.auth-gallery-arrow{display:none}}@media (width<=720px){.auth-plans{grid-template-columns:1fr;max-width:420px}.auth-gallery-track{--card-w:min(86%, 460px, calc((100vh - 140px) * 1.5));padding-block:var(--sp-6)}.auth-gallery-card,.auth-gallery-card.is-active{transform:none}.auth-brand-mark{order:1}.auth-nav-cta{order:2;margin-left:auto}.auth-nav{margin:var(--sp-2) 0 0;gap:var(--sp-1);flex-basis:100%;order:3;justify-content:center}.auth-nav-link{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-2)}#gallery,#features,#pricing{scroll-margin-top:104px}}@media (width<=860px){.auth-split{gap:var(--sp-6);margin-top:var(--sp-16);grid-template-columns:1fr}.auth-split-text,.auth-split-text .auth-section-title,.auth-split-text .auth-section-subtitle{text-align:center}.auth-exports-fan{max-width:520px;margin-left:auto;margin-right:auto}}@media (width<=720px){.auth-steps,.auth-tiles-2{gap:var(--sp-4);grid-template-columns:1fr}.auth-step{padding:var(--sp-5);flex-direction:row}}.auth-lightbox-btn{all:unset;cursor:zoom-in;width:100%;height:100%;display:block}.auth-lightbox-btn:focus-visible{outline-offset:2px;box-shadow:var(--focus-ring);outline:2px solid #0000}.auth-lightbox-overlay{z-index:1000;padding:var(--sp-12);background:var(--scrim);cursor:zoom-out;animation:auth-lightbox-fade var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes auth-lightbox-fade{0%{opacity:0}to{opacity:1}}.auth-lightbox-img{border-radius:var(--radius-ctl);max-width:100%;max-height:100%;box-shadow:var(--shadow-3);cursor:default}.auth-lightbox-close{top:var(--sp-5);right:var(--sp-6);border:1px solid var(--border-strong);background:var(--surface2);width:40px;height:40px;color:var(--text);font-size:var(--fs-xl);line-height:var(--lh-tight);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.auth-lightbox-close:hover{background:var(--surface3)}.toast-container{bottom:calc(var(--sp-6) + env(safe-area-inset-bottom,0px));z-index:10020;gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-2);background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:10px var(--sp-4);box-shadow:var(--shadow-2);animation:toastIn var(--dur-base) var(--ease);pointer-events:auto;min-width:220px;max-width:400px;display:flex}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.toast{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.toast-success,.toast-error,.toast-info{border-color:var(--border-strong)}.toast-icon{width:22px;height:22px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-success .toast-icon{background:var(--success-tint);color:var(--success-text)}.toast-error .toast-icon{background:var(--danger-tint);color:var(--danger-text)}.toast-info .toast-icon{background:var(--accent-tint);color:var(--accent-text)}.toast-msg{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text);line-height:var(--lh-body)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;padding:var(--sp-6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);padding:var(--sp-6);width:380px;max-width:92vw;box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease)}.confirm-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--tracking-title);color:var(--text);margin-bottom:var(--sp-2)}.confirm-msg{font-size:var(--fs-sm);color:var(--text-sub);line-height:var(--lh-body);margin-bottom:var(--sp-5)}.confirm-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.confirm-cancel-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-sub);height:var(--ctl-h-md);padding:0 var(--sp-4);border-radius:var(--radius-ctl);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.confirm-cancel-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.confirm-cancel-btn:active{background:var(--surface)}.confirm-action-btn{background:var(--accent);color:var(--text-on-accent);height:var(--ctl-h-md);padding:0 var(--sp-4);border-radius:var(--radius-ctl);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:1px solid #0000}.confirm-action-btn:hover{background:var(--accent-hover)}.confirm-action-btn:active{background:var(--accent-pressed)}.confirm-action-btn.danger{background:var(--danger)}.confirm-action-btn.danger:hover{background:var(--danger-hover)}.confirm-action-btn.danger:focus-visible{box-shadow:var(--focus-ring-danger)}.mydesigns-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mydesigns-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-3);color:var(--text);animation:scaleIn var(--dur-base) var(--ease);flex-direction:column;display:flex}.mydesigns-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.mydesigns-header h2{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--tracking-title);color:var(--text);margin:0}.mydesigns-close{border-radius:var(--radius-ctl);width:28px;height:28px;color:var(--text-muted);font-size:var(--fs-xl);line-height:var(--lh-tight);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mydesigns-close:hover{background:var(--surface3);color:var(--text)}.mydesigns-subheader{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-1);display:flex}.mydesigns-back{height:var(--ctl-h-sm);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;flex-shrink:0;padding:0 10px}.mydesigns-back:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.mydesigns-back:active{background:var(--surface)}.mydesigns-subtitle{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mydesigns-version-label,.mydesigns-version-label:hover{cursor:default;background:0 0}.mydesigns-error{margin:var(--sp-3) var(--sp-5) 0;padding:var(--sp-2) var(--sp-3);background:var(--danger-tint);border-radius:var(--radius-ctl);color:var(--danger-text);font-size:var(--fs-xs);border:1px solid #ef444440}.mydesigns-empty{padding:var(--sp-10) var(--sp-6);text-align:center;color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.mydesigns-list{padding:var(--sp-2);margin:0;list-style:none;overflow-y:auto}.mydesigns-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-ctl);display:flex}.mydesigns-item:hover{background:#ffffff12}.mydesigns-item.current{background:var(--accent-tint)}.mydesigns-name{align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3);color:var(--text);cursor:pointer;text-align:left;font-size:var(--fs-sm);border-radius:var(--radius-ctl);background:0 0;border:none;flex:1;display:flex}.mydesigns-name:hover:not(:disabled){background:0 0}.mydesigns-name:disabled{opacity:var(--disabled-opacity);cursor:default}.mydesigns-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mydesigns-badge{font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--accent-text);background:var(--accent-tint);border-radius:var(--radius-pill);padding:2px var(--sp-2);flex-shrink:0;align-items:center;display:inline-flex}.mydesigns-date{font-size:var(--fs-2xs);color:var(--text-muted);flex-shrink:0;margin-left:auto}.mydesigns-rename{min-width:0;height:var(--ctl-h-md);padding:0 var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-sm);outline:none;flex:1}.mydesigns-actions{gap:var(--sp-1);flex-shrink:0;display:flex}.mydesigns-actions button{height:var(--ctl-h-sm);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;padding:0 10px}.mydesigns-actions button:hover:not(:disabled){background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.mydesigns-actions button:disabled{opacity:var(--disabled-opacity);cursor:default}.mydesigns-actions .mydesigns-delete:hover:not(:disabled){background:var(--danger-tint);color:var(--danger-text);border-color:#ef444440}.mobile-shell{height:100vh;background:var(--bg);height:100dvh;color:var(--text);overscroll-behavior:none;flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.mobile-topbar{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);padding-top:calc(var(--sp-2) + env(safe-area-inset-top,0px));padding-left:calc(var(--sp-3) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-3) + env(safe-area-inset-right,0px));background:var(--bg);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.mobile-logo{flex-shrink:0;width:auto;height:34px;display:block}.mobile-logo-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0;display:flex}.mobile-logo-btn:active{opacity:.7}.mobile-project{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mobile-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.mobile-btn{height:var(--ctl-h-md);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;border:1px solid #0000;padding:0 14px}.mobile-btn:active{background:var(--accent-pressed)}.mobile-link{color:var(--accent-text);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;padding:var(--sp-1);background:0 0;border:none}.mobile-viewer-area{flex:1;min-height:0;position:relative;overflow:hidden}.mobile-viewer-area .viewer-wrap{position:absolute;inset:0}.mobile-loading{color:var(--text-muted);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mobile-blueprint{padding:var(--sp-2);pointer-events:none;background:#f4f4f2;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow:auto}.mobile-blueprint svg{width:100%;max-width:900px;height:auto}.mobile-walledit{flex-direction:column;display:flex;position:absolute;inset:0}.mobile-walledit .mobile-blueprint{flex:1;position:relative}.mobile-wallpick{justify-content:center;align-items:center;gap:var(--sp-4);padding:var(--sp-2);background:var(--bg);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex-shrink:0;display:flex}.mobile-wallpick button{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-ctl);width:36px;height:30px;font-size:var(--fs-lg);line-height:var(--lh-tight);cursor:pointer}.mobile-wallpick button:active{background:var(--surface3);border-color:var(--border-strong)}.mobile-wallpick span{text-align:center;min-width:110px}.mobile-viewswitch{background:var(--bg);border-top:1px solid var(--border-subtle);padding:var(--sp-1);padding-bottom:calc(var(--sp-1) + env(safe-area-inset-bottom,0px));padding-left:calc(var(--sp-1) + env(safe-area-inset-left,0px));padding-right:calc(var(--sp-1) + env(safe-area-inset-right,0px));flex-shrink:0;gap:2px;display:flex}.mobile-tab{color:var(--text-muted);border-radius:var(--radius-pill);min-height:var(--ctl-h-lg);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;flex:1;padding:0}.mobile-tab.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.mobile-picker{padding:var(--sp-4) var(--sp-4) var(--sp-6);flex:1;overflow-y:auto}.mobile-picker h2{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);line-height:var(--lh-title);color:var(--text);margin:var(--sp-1) 0 var(--sp-2)}.mobile-picker-hint{font-size:var(--fs-xs);color:var(--text-muted);margin:0 0 var(--sp-4);line-height:var(--lh-body)}.mobile-btn-accent{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.mobile-sheet-overlay{z-index:2000;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:mobile-sheet-fade var(--dur-fast) var(--ease);align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes mobile-sheet-fade{0%{opacity:0}to{opacity:1}}.mobile-sheet{background:var(--surface);border-top-left-radius:var(--radius-modal);border-top-right-radius:var(--radius-modal);border-top:1px solid var(--border-strong);width:100%;max-height:72vh;box-shadow:var(--shadow-3);animation:mobile-sheet-up var(--dur-slow) var(--ease);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex}@keyframes mobile-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-grip{border-radius:var(--radius-pill);background:var(--border-strong);width:36px;height:4px;margin:var(--sp-2) auto var(--sp-1)}.mobile-sheet-head{padding:var(--sp-1) var(--sp-4) var(--sp-2);justify-content:space-between;align-items:center;display:flex}.mobile-sheet-head h3{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);line-height:var(--lh-title);color:var(--text);margin:0}.mobile-sheet-close{border-radius:var(--radius-ctl);color:var(--accent-text);font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--sp-1);cursor:pointer;background:0 0;border:none}.mobile-sheet-body{padding:0 var(--sp-4) var(--sp-5);-webkit-overflow-scrolling:touch;overflow-y:auto}.mobile-sheet-body section{margin-top:var(--sp-4)}.mobile-sheet-body h4{margin:0 0 var(--sp-2);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.mobile-sheet-body h4 span{text-transform:none;letter-spacing:normal;font-family:var(--font-ui);font-weight:var(--fw-medium);color:var(--text-muted)}.mobile-swatch-row{gap:var(--sp-2);padding-bottom:var(--sp-2);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.mobile-swatch{border-radius:var(--radius-card);border:2px solid var(--border-strong);cursor:pointer;width:52px;height:52px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);background-position:50%;background-size:cover;flex:none;padding:0}.mobile-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.mobile-icon-btn{background:var(--surface2);color:var(--text-sub);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:32px;display:flex}.mobile-icon-btn:active{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.mobile-dim-row{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.mobile-dim-row label{gap:var(--sp-1);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);flex-direction:column;flex:1;display:flex}.mobile-dim-row input{width:100%;height:var(--ctl-h-md);padding:0 var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.mobile-dim-row input::placeholder{color:var(--text-muted)}.mobile-template-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.mobile-template-btn{gap:var(--sp-1);text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);flex-direction:column;display:flex}.mobile-template-btn:active{border-color:var(--accent);background:var(--accent-tint)}.mobile-template-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.mobile-template-desc{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--text-muted)}.mobile-seg{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.mobile-seg button{color:var(--text-muted);border-radius:var(--radius-pill);height:var(--ctl-h-lg);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;flex:1;padding:0}.mobile-seg button.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.mobile-menu-actions{gap:var(--sp-2);padding-bottom:var(--sp-2);flex-direction:column;display:flex}.mobile-menu-row{text-align:center;width:100%;min-height:var(--ctl-h-lg);background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-3);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer}.mobile-menu-row:active{background:var(--surface3);border-color:var(--border-strong)}.mobile-menu-row.primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.mobile-menu-row.primary:active{background:var(--accent-pressed)}.mobile-menu-row:disabled{opacity:var(--disabled-opacity)}.account-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.account-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-3);color:var(--text);animation:scaleIn var(--dur-base) var(--ease);overflow-y:auto}.account-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.account-header h2{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--tracking-title);color:var(--text);margin:0}.account-close{border-radius:var(--radius-ctl);width:28px;height:28px;color:var(--text-muted);font-size:var(--fs-xl);line-height:var(--lh-tight);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.account-close:hover{background:var(--surface3);color:var(--text)}.account-body{padding:var(--sp-4) var(--sp-5) var(--sp-5);gap:var(--sp-5);flex-direction:column;display:flex}.account-section{gap:var(--sp-2);flex-direction:column;display:flex}.account-label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.account-email{font-size:var(--fs-sm)}.account-compare-link{margin-top:var(--sp-1);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.account-compare-link:hover{text-decoration:underline}.account-section input{height:var(--ctl-h-md);font-size:var(--fs-sm);padding:0 var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text)}.account-section input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.account-btn{height:var(--ctl-h-md);padding:0 var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:var(--radius-ctl);background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:1px solid #0000;align-self:flex-start}.account-btn:hover:not(:disabled){background:var(--accent-hover)}.account-btn:active:not(:disabled){background:var(--accent-pressed)}.account-btn:focus-visible{box-shadow:var(--focus-ring)}.account-btn:disabled{opacity:var(--disabled-opacity);cursor:default}.account-danger{border-radius:var(--radius-ctl);padding:var(--sp-3);background:var(--danger-tint);border:1px solid #ef444440}.account-danger .account-label{color:var(--danger-text)}.account-danger-text{font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-sub);margin:0}.account-hint{font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-muted);margin:0}.account-hint a{color:var(--accent-text);text-decoration:none}.account-hint a:hover{text-decoration:underline}.account-btn-danger{background:var(--danger);color:var(--text-on-accent);border-color:#0000}.account-btn-danger:hover:not(:disabled){background:var(--danger-hover);color:var(--text-on-accent)}.account-btn-danger:focus-visible{box-shadow:var(--focus-ring-danger)}.account-error{font-size:var(--fs-xs);color:var(--danger-text);background:var(--danger-tint);border-radius:var(--radius-ctl);padding:var(--sp-2) var(--sp-3);border:1px solid #ef444440}.aselect{-webkit-user-select:none;user-select:none;width:100%;position:relative}.aselect-trigger{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding:0 var(--sp-2) 0 var(--sp-2);background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-ctl);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), border-radius var(--dur-fast) var(--ease);display:flex}.aselect-trigger:hover:not(:disabled){border-color:var(--border-strong)}.aselect-trigger:disabled{opacity:var(--disabled-opacity);cursor:default}.aselect-trigger.open{border-color:var(--accent);background:var(--surface3);border-bottom-right-radius:0;border-bottom-left-radius:0}.aselect-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.aselect-value{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.aselect-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.aselect-placeholder{color:var(--text-muted)}.aselect-icon{width:14px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.aselect-chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.aselect-trigger.open .aselect-chevron{color:var(--accent-text)}.aselect-panel{z-index:1100;background:var(--surface);border:1px solid var(--accent);border-bottom-left-radius:var(--radius-ctl);border-bottom-right-radius:var(--radius-ctl);box-shadow:var(--shadow-2);border-top:none;position:fixed;overflow:hidden}.aselect-panel.up{border-top:1px solid var(--accent);border-radius:var(--radius-ctl) var(--radius-ctl) 0 0;border-bottom:none}.aselect-list{margin:0;list-style:none}.aselect-option{align-items:center;gap:var(--sp-2);padding:0 var(--sp-2);border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;display:flex;overflow:hidden}.aselect-option:last-child{margin-bottom:0!important}.aselect-option.active{background:var(--surface3);color:var(--text)}.aselect-option.selected{color:var(--accent-text)}.aselect-option.selected.active{background:var(--accent-tint)}.aselect-option.danger{color:var(--danger-text,#f87171)}.aselect-option.danger.active{color:#fca5a5;background:#ef44441f}@media (prefers-reduced-motion:reduce){.aselect-trigger{transition:none}}.analytics-body{padding:var(--sp-4) var(--sp-5) var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex;overflow-y:auto}.analytics-kpis{gap:var(--sp-2);grid-template-columns:repeat(5,1fr);display:grid}.analytics-kpi{align-items:center;gap:var(--sp-1);padding:var(--sp-2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);text-align:center;flex-direction:column;display:flex}.analytics-kpi-highlight{background:var(--accent-tint);border-color:var(--accent)}.analytics-kpi-value{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.analytics-kpi-label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-label)}.analytics-planmix{gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-sub);flex-wrap:wrap;padding:0;display:flex}.analytics-planmix-item strong{color:var(--text)}.analytics-chart{gap:var(--sp-2);flex-direction:column;display:flex}.analytics-chart-head{justify-content:space-between;align-items:baseline;display:flex}.analytics-chart-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text)}.analytics-chart-total{font-size:var(--fs-2xs);color:var(--text-muted)}.analytics-chart-bars{background:var(--well);border-radius:var(--radius-ctl);height:90px;padding:var(--sp-2) var(--sp-1) 0;align-items:flex-end;gap:2px;display:flex}.analytics-chart-bar{opacity:.85;min-width:2px;transition:opacity var(--dur-fast) var(--ease);border-radius:2px 2px 0 0;flex:1}.analytics-chart-bar:hover{opacity:1}.analytics-chart-range{font-size:var(--fs-2xs);color:var(--text-muted);text-align:right}.prowelcome-overlay{z-index:12000;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;transition:opacity var(--dur-slow) var(--ease);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prowelcome-overlay.leaving{opacity:0;pointer-events:none}.prowelcome-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.prowelcome-card{text-align:center;padding:var(--sp-10) var(--sp-12);background:var(--surface);border-radius:var(--radius-modal);box-shadow:var(--shadow-3);animation:prowelcome-pop var(--dur-slow) cubic-bezier(.2, 1.4, .4, 1) both;border:1px solid #4ade808c;position:relative}@keyframes prowelcome-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.prowelcome-badge{width:58px;height:58px;margin:0 auto var(--sp-4);background:var(--success);color:var(--text-on-accent);font-size:var(--fs-2xl);font-weight:var(--fw-bold);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.prowelcome-badge:after{content:"";animation:prowelcome-ring 1.2s var(--ease) 2;border:2px solid #4ade8099;border-radius:50%;position:absolute;inset:-4px}@keyframes prowelcome-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.prowelcome-card h2{margin:0 0 var(--sp-2);font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text)}.prowelcome-card p{font-size:var(--fs-sm);color:var(--text-sub);margin:0}@media (prefers-reduced-motion:reduce){.prowelcome-card{box-shadow:var(--shadow-3);animation:none}.prowelcome-badge:after{opacity:0;animation:none}}.setup-overlay{background:var(--bg);z-index:100;background:radial-gradient(ellipse at 50% 40%, var(--accent-tint) 0%, var(--bg) 70%);padding:var(--sp-5) 0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.setup-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);padding:var(--sp-10) var(--sp-12);width:500px;max-width:96vw;max-height:calc(100vh - 40px);box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease);overflow-y:auto}.setup-logo{margin-bottom:var(--sp-6);align-items:center;gap:var(--sp-3);height:auto;display:flex}.setup-logo-img{opacity:1;width:auto;height:40px}.setup-logo-studio{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-brand);color:var(--text-muted)}.setup-logo-fallback{align-items:center;gap:var(--sp-2);display:flex}.logo-box{background:var(--accent);color:var(--text-on-accent);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:var(--tracking-brand);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-ctl)}.logo-living{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--tracking-brand);color:var(--text-muted);font-weight:var(--fw-bold)}.setup-modal h1{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text);margin-bottom:var(--sp-1);letter-spacing:var(--tracking-tight);line-height:var(--lh-title)}.setup-sub{color:var(--text-muted);margin-bottom:var(--sp-6);font-size:var(--fs-sm)}.setup-section-label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin:var(--sp-6) 0 var(--sp-2)}.setup-section{margin-bottom:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.setup-section label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.setup-section input{width:100%;height:var(--ctl-h-md);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:0 var(--sp-3);color:var(--text);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);font-size:var(--fs-sm);outline:none}.setup-section input:hover{border-color:var(--border-strong)}.setup-section input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.setup-section input::placeholder{color:var(--text-muted)}.setup-dims{gap:var(--sp-3);grid-template-columns:1fr 1fr 1fr;display:grid}.setup-hint{font-size:var(--fs-2xs);color:var(--text-muted);margin-bottom:0;font-style:italic}.setup-btn{width:100%;margin-top:var(--sp-6);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);height:var(--ctl-h-md);padding:0 var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid #0000}.setup-btn:hover{background:var(--accent-hover)}.setup-btn:active{background:var(--accent-pressed)}.setup-btn:focus-visible{box-shadow:var(--focus-ring)}.setup-btn-secondary{background:var(--surface2);width:100%;color:var(--text-sub);border:1px solid var(--border);border-radius:var(--radius-ctl);height:var(--ctl-h-md);padding:0 var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.setup-btn-secondary:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface3)}.setup-btn-secondary:active{background:var(--surface)}.setup-dashboard{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);padding:var(--sp-8) var(--sp-10);width:560px;max-width:96vw;max-height:calc(100vh - 40px);box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease);flex-direction:column;display:flex}.setup-dashboard h1{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text);margin-bottom:var(--sp-4);letter-spacing:var(--tracking-tight);line-height:var(--lh-title)}.dash-head{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.dash-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--tracking-title);line-height:var(--lh-title);margin:0}.dash-new-btn{width:auto;padding:0 var(--sp-4);font-size:var(--fs-sm);margin-top:0}.dash-new-btn.is-locked{background:var(--danger-tint);color:var(--danger-text);border-color:#ef444440}.dash-new-btn.is-locked:hover{background:var(--danger-tint);border-color:var(--danger)}.dash-list{flex:1;min-height:120px;max-height:min(48vh,420px);margin:0 -6px;padding:0 6px;overflow-y:auto}.dash-footer{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);gap:var(--sp-3);flex-direction:column;display:flex}.dash-account{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.dash-account-actions{gap:var(--sp-2);display:flex}.dash-signout{color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;padding:2px var(--sp-1);background:0 0;border:none}.dash-signout:hover{text-decoration:underline}.dash-back{color:var(--text-sub);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;padding:0 0 var(--sp-3);background:0 0;border:none;align-self:flex-start}.dash-back:hover{color:var(--text)}.setup-error{font-size:var(--fs-2xs);color:var(--danger-text);font-weight:var(--fw-semibold);margin-top:2px}.setup-section input[aria-invalid=true]{border-color:var(--danger);box-shadow:var(--focus-ring-danger)}@media (height<=820px){.setup-overlay{padding:var(--sp-8) 0}.setup-modal,.setup-dashboard{max-height:calc(100vh - 68px)}.setup-dashboard{padding:var(--sp-6) var(--sp-8);width:520px}.setup-modal{padding:var(--sp-6) var(--sp-8)}.setup-logo{margin-bottom:var(--sp-3);gap:var(--sp-3)}.setup-logo-img{height:34px}.setup-logo-studio{font-size:var(--fs-md);letter-spacing:var(--tracking-brand)}.dash-list{max-height:min(40vh,340px)}.dash-footer{margin-top:var(--sp-3);padding-top:var(--sp-3)}.setup-patchnotes{max-height:min(230px,32vh)}.setup-patchnotes,.setup-feedback{width:300px}.setup-feedback{padding:var(--sp-3) var(--sp-4)}}.setup-layout{gap:var(--sp-6);align-items:stretch;max-width:96vw;display:flex}.setup-footer{justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-6);font-size:var(--fs-xs);color:var(--text-muted);display:flex}.setup-footer a{color:var(--text-muted);text-decoration:none}.setup-footer a:hover{color:var(--text-sub);text-decoration:underline}.setup-patchnotes{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);box-shadow:var(--shadow-3);width:340px;max-width:40vw;min-height:160px;max-height:min(300px,42vh);animation:scaleIn var(--dur-base) var(--ease);flex-direction:column;display:flex;overflow:hidden}.setup-right-col{gap:var(--sp-4);flex-direction:column;display:flex}.setup-right-col>.setup-feedback{flex-direction:column;flex:1;min-height:0;display:flex}.setup-right-col>.setup-feedback .feedback-textarea{flex:1;min-height:60px}.setup-feedback{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);box-shadow:var(--shadow-3);width:340px;max-width:40vw;padding:var(--sp-4) var(--sp-5);animation:scaleIn var(--dur-base) var(--ease)}.feedback-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--tracking-title);line-height:var(--lh-title);margin-bottom:var(--sp-1)}.feedback-sub{font-size:var(--fs-2xs);color:var(--text-muted);margin-bottom:var(--sp-3)}.feedback-type{width:100%;margin-bottom:var(--sp-2)}.feedback-textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);width:100%;height:clamp(60px,14vh,100px);padding:var(--sp-2) var(--sp-3);color:var(--text);font-size:var(--fs-sm);resize:none;font-family:inherit;line-height:var(--lh-body);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);outline:none;overflow-y:auto}.feedback-textarea:hover{border-color:var(--border-strong)}.feedback-textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.feedback-submit{width:100%;margin-top:var(--sp-2);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);height:var(--ctl-h-md);padding:0 var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;border:1px solid #0000}.feedback-submit:hover:not(:disabled){background:var(--accent-hover)}.feedback-submit:active:not(:disabled){background:var(--accent-pressed)}.feedback-submit:focus-visible{box-shadow:var(--focus-ring)}.feedback-submit:disabled{opacity:var(--disabled-opacity);cursor:default}.feedback-status{font-size:var(--fs-2xs);margin-top:var(--sp-2);text-align:center}.feedback-status.success{color:var(--success-text)}.feedback-status.error{color:var(--danger-text)}.patchnotes-header{padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;display:flex}.patchnotes-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--tracking-title);line-height:var(--lh-title)}.patchnotes-version{font-size:var(--fs-2xs);color:var(--text-muted);font-weight:var(--fw-semibold)}.patchnotes-body{padding:var(--sp-3) var(--sp-5) var(--sp-4);flex:1;overflow-y:auto}.patchnotes-release{margin-bottom:var(--sp-4)}.patchnotes-release:last-child{margin-bottom:0}.patchnotes-release-head{margin-bottom:var(--sp-1);justify-content:space-between;align-items:baseline;display:flex}.patchnotes-release-ver{font-family:var(--font-display);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-text)}.patchnotes-release-date{font-size:var(--fs-2xs);color:var(--text-muted)}.patchnotes-release ul{margin:0;padding:0;list-style:none}.patchnotes-release li{margin-bottom:var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text);padding-left:14px;position:relative}.patchnotes-release li:before{content:"";background:var(--text-muted);opacity:.55;border-radius:50%;width:4px;height:4px;position:absolute;top:7px;left:2px}.setup-templates{gap:var(--sp-2);grid-template-columns:1fr 1fr 1fr;display:grid}.setup-template-btn{gap:var(--sp-1);padding:var(--sp-2);text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);flex-direction:column;display:flex}.setup-template-btn:hover{border-color:var(--border-strong);background:var(--surface3)}.setup-template-btn.active{background:var(--accent-tint);border-color:var(--accent)}.setup-template-name{font-family:var(--font-display);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text)}.setup-template-desc{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--text-muted)}.setup-template-name{padding-right:20px}.setup-template-del{width:20px;height:20px;font-size:var(--fs-sm);line-height:var(--lh-tight);color:var(--text-muted);border-radius:var(--radius-ctl);cursor:pointer;transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.setup-template-del:hover,.setup-template-del:focus-visible{color:var(--danger-text);background:var(--danger-tint);outline:none}.setup-template-del:focus-visible{box-shadow:var(--focus-ring-danger)}.setup-optional{margin-top:var(--sp-5)}.setup-optional summary{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:var(--sp-2)}.setup-optional summary:hover{color:var(--text)}.measure-input{gap:var(--sp-1);margin-bottom:var(--sp-2);flex-direction:column;display:flex}.measure-label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.measure-fields{align-items:center;gap:var(--sp-1);display:flex}.measure-in{width:80px;height:var(--ctl-h-sm);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:0 var(--sp-2);color:var(--text);text-align:right;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);outline:none}.measure-in:hover{border-color:var(--border-strong)}.measure-in:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.measure-in[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.measure-in[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.measure-in[type=number]{appearance:textfield}.measure-unit{font-size:var(--fs-2xs);color:var(--text-muted);-webkit-user-select:none;user-select:none}.measure-display{font-size:var(--fs-2xs);color:var(--accent-text);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.measure-input.compact .measure-fields{gap:2px}.measure-input.compact .measure-in{width:64px}.measure-input.compact .measure-display{font-size:var(--fs-2xs)}.measure-input.disabled .measure-in{opacity:var(--disabled-opacity);cursor:not-allowed;background:var(--surface)}.measure-input.disabled .measure-label,.measure-input.disabled .measure-unit,.measure-input.disabled .measure-display{opacity:var(--disabled-opacity)}.wall-panel{flex-direction:column;gap:0;display:flex}.ceiling-height-row{padding:var(--sp-2) var(--sp-3) var(--sp-1);border-bottom:1px solid var(--border-subtle)}.ceiling-color-row{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.ceiling-color-row label{font-size:var(--fs-2xs);color:var(--text-muted);flex:1}.ceiling-color-row input[type=color]{border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;background:0 0;flex-shrink:0;width:36px;height:22px;padding:1px}.ceiling-color-reset{font-size:var(--fs-2xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-1) var(--sp-2);cursor:pointer;background:0 0;flex-shrink:0}.ceiling-color-reset:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.ceiling-color-reset:disabled{opacity:var(--disabled-opacity);cursor:default}.panel-top{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.wall-list{gap:var(--sp-2);flex-direction:column;display:flex}.wall-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);overflow:hidden}.wall-item:hover{border-color:var(--border-strong)}.wall-item.selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:none}.wall-header{align-items:center;gap:var(--sp-2);padding:var(--sp-2);display:flex}.wall-name-input{border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;border:none;outline:none;flex:1;min-width:0}.wall-name-input:focus{box-shadow:var(--focus-ring);background:0 0}.wall-length{font-size:var(--fs-2xs);color:var(--accent-text);font-weight:var(--fw-semibold);white-space:nowrap;font-variant-numeric:tabular-nums}.wall-actions{gap:var(--sp-1);display:flex}.wall-actions button{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;height:28px;font-size:var(--fs-2xs);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.wall-actions button:hover{background:var(--surface3);color:var(--text)}.wall-actions .delete-btn:hover{background:var(--danger-tint);color:var(--danger-text)}.wall-lock-btn.locked{color:var(--warning-text);background:var(--warning-tint)}.wall-detail{padding:var(--sp-1) 0 0;border-top:1px solid var(--border-subtle);background:var(--well);animation:fadeIn var(--dur-base) var(--ease)}.wall-section{border-bottom:1px solid var(--border-subtle)}.wall-section:last-child{border-bottom:none}.wall-section-header{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2);color:var(--text-sub);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;display:flex}.wall-section-header:hover{background:var(--surface2);color:var(--text)}.wall-section-chevron{font-size:var(--fs-2xs);color:var(--text-muted);transition:transform var(--dur-fast) var(--ease);display:inline-block}.wall-section-chevron[data-open=true]{transform:rotate(90deg)}.wall-section-body{padding:var(--sp-1) var(--sp-2) var(--sp-2)}.wall-coords{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-direction:column;display:flex}.coord-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-1);display:block}.coord-row{gap:var(--sp-2);display:flex}.wall-dims{margin-bottom:var(--sp-2)}.dim-grid{gap:var(--sp-2);margin-bottom:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.dim-grid>:last-child:nth-child(odd){grid-column:1/-1}.dim-grid .measure-label{font-size:var(--fs-2xs)}.dim-grid .measure-fields{gap:2px}.dim-grid .measure-ft{width:44px;padding:var(--sp-1) 2px;font-size:var(--fs-2xs)}.dim-grid .measure-in{width:56px;padding:var(--sp-1) 2px;font-size:var(--fs-2xs)}.dim-grid .measure-unit,.dim-grid .measure-display{font-size:var(--fs-2xs)}.wall-toggles{gap:var(--sp-2);flex-direction:column;display:flex}.wall-toggles .toggle-row{font-size:var(--fs-xs);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.empty-msg{color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-body)}.openings-section{margin-top:var(--sp-3);border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}.openings-header{margin-bottom:var(--sp-2)}.opening-section-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:var(--sp-2);display:block}.opening-add-row{gap:var(--sp-1);flex-wrap:wrap;display:flex}.opening-add-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.opening-add-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.opening-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-2);margin-bottom:var(--sp-2)}.opening-item-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.opening-type-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);color:var(--accent-text);text-transform:uppercase;letter-spacing:var(--tracking-label)}.opening-item .delete-btn{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;height:28px;font-size:var(--fs-2xs);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.opening-item .delete-btn:hover{background:var(--danger-tint);color:var(--danger-text)}.selected-panel-picker{background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--radius-ctl);padding:var(--sp-2);margin-bottom:var(--sp-2)}.slat-color-row{gap:var(--sp-1);padding:var(--sp-2) 0 2px;flex-direction:column;display:flex}.slat-color-swatch{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;color:inherit;font-size:var(--fs-2xs);text-align:left;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;display:flex}.slat-color-swatch:before{content:"";border-radius:var(--radius-ctl);background:var(--swatch);border:1px solid var(--border-strong);flex-shrink:0;width:18px;height:18px;display:inline-block}.slat-color-swatch:hover{border-color:var(--border-strong);background:var(--surface2)}.slat-color-swatch.active{border-color:var(--accent);background:var(--accent-tint);box-shadow:none}.door-style-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.door-style-tile{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2) var(--sp-2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:transform var(--dur-base) var(--ease), border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);flex-direction:column;display:flex}.door-style-tile:hover{border-color:var(--border-strong);background:var(--surface3);transform:translateY(-1px)}.door-style-tile.active{border-color:var(--accent);background:var(--accent-tint);box-shadow:none}.door-style-svg{width:36px;height:50px;display:block}.door-style-label{font-size:var(--fs-2xs);color:var(--text-sub);line-height:var(--lh-tight)}.slat-acc-section{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border-subtle)}.slat-acc-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:var(--sp-2);display:block}.slat-acc-grid{gap:var(--sp-1);margin-bottom:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.slat-acc-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-1) var(--sp-2);cursor:pointer;font-size:var(--fs-2xs);color:var(--text-sub);transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex-direction:column;align-items:center;gap:2px;display:flex}.slat-acc-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface3)}.slat-acc-name{font-weight:var(--fw-semibold)}.slat-acc-price{font-size:var(--fs-2xs);color:var(--success-text)}.slat-acc-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-2xs);color:var(--text-muted);display:flex}.slat-acc-item .slat-acc-price{text-align:right;flex:1}.slat-acc-item .delete-btn{flex-shrink:0}.stem-wall-texture-row{margin-top:var(--sp-1);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.stem-wall-tex-btn{height:24px;font:var(--fw-semibold) var(--fs-xs)/1 var(--font-ui);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);background:0 0;border:none;flex:1;padding:0}.stem-wall-tex-btn:hover{color:var(--text-sub)}.stem-wall-tex-btn.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.shape-type-grid{gap:var(--sp-2);flex-direction:column;display:flex}.shape-type-btn{align-items:center;gap:var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-2) var(--sp-3);color:var(--text);text-align:left;font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);display:flex}.shape-type-btn:hover{border-color:var(--border-strong);background:var(--surface3)}.shape-type-icon{font-size:var(--fs-sm)}.shape-list{gap:var(--sp-2);flex-direction:column;display:flex}.shape-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);overflow:hidden}.shape-item:hover{border-color:var(--border-strong)}.shape-item.selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:none}.shape-header{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);display:flex}.shape-name-input{border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;border:none;outline:none;flex:1}.shape-name-input:focus{box-shadow:var(--focus-ring)}.shape-detail{padding:var(--sp-3);border-top:1px solid var(--border-subtle);background:var(--well);animation:fadeIn var(--dur-base) var(--ease)}.material-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-2xs);text-transform:capitalize;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-semibold)}.delete-btn{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;height:28px;font-size:var(--fs-2xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.empty-msg{color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-body);margin-top:var(--sp-3)}.plm-overlay{z-index:1000;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.plm-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:min(560px,100vw - 32px);max-height:min(720px,100vh - 48px);box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease);outline:none;flex-direction:column;display:flex}.plm-header{padding:var(--sp-4) var(--sp-4) var(--sp-3);justify-content:space-between;align-items:center;display:flex}.plm-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-title);letter-spacing:var(--tracking-title);color:var(--text);margin:0}.plm-close{border-radius:var(--radius-ctl);width:28px;height:28px;color:var(--text-muted);font-size:var(--fs-xl);line-height:var(--lh-tight);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.plm-close:hover{background:var(--surface3);color:var(--text)}.plm-tabs{margin:0 var(--sp-4);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.plm-tab{height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;flex:1}.plm-tab:hover{color:var(--text-sub)}.plm-tab.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.plm-hint{margin:var(--sp-2) var(--sp-4);font-size:var(--fs-2xs);line-height:var(--lh-body);color:var(--text-muted)}.plm-list{margin:0 var(--sp-2);padding:0 var(--sp-2) var(--sp-2);flex:1;overflow-y:auto}.plm-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--border-subtle);display:flex}.plm-row-head{background:var(--surface);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);position:sticky;top:0}.plm-cell-label{min-width:0;font-size:var(--fs-xs);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.plm-chip{margin-left:var(--sp-1);padding:2px var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);background:var(--surface2);border-radius:var(--radius-pill);align-items:center;display:inline-flex}.plm-empty{padding:var(--sp-6) var(--sp-4);text-align:center;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-muted)}.plm-cell-default{font-size:var(--fs-xs);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 64px}.plm-cell-input{align-items:center;gap:var(--sp-1);flex:0 0 110px;display:flex}.plm-dollar{color:var(--text-muted);font-size:var(--fs-xs)}.plm-cell-input input{width:100%;min-width:0;height:var(--ctl-h-sm);padding:0 var(--sp-2);font-size:var(--fs-xs);text-align:right;font-variant-numeric:tabular-nums;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text)}.plm-cell-input input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.plm-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border-subtle);display:flex}.plm-btn{height:var(--ctl-h-md);padding:0 var(--sp-4);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.plm-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.plm-btn:active{background:var(--surface)}.plm-btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.plm-btn-primary:hover{background:var(--accent-hover);color:var(--text-on-accent);border-color:#0000}.plm-btn-primary:active{background:var(--accent-pressed)}.cabinets-panel{gap:var(--sp-3);flex-direction:column;display:flex}.cab-line-tabs{gap:var(--sp-1);flex-wrap:wrap;display:flex}.cab-line-tab{border-radius:var(--radius-pill);color:var(--text-sub);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-ui);padding:var(--sp-1) var(--sp-3);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000}.cab-line-tab:hover{background:var(--surface2);color:var(--text)}.cab-line-tab.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.cab-group-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:var(--sp-2);display:block}.cab-preset-grid{gap:var(--sp-1);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.cab-preset-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-muted);font-size:var(--fs-2xs);padding:var(--sp-2) var(--sp-1) var(--sp-2);cursor:pointer;align-items:center;gap:var(--sp-1);line-height:var(--lh-snug);text-align:center;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), transform var(--dur-base) var(--ease);white-space:normal;word-break:break-word;flex-direction:column;display:flex;overflow:hidden}.cab-preset-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.cab-preset-icon--lower{height:44px}.cab-preset-icon--upper{height:40px}.cab-preset-icon--locker{width:52px;height:62px}.cab-preset-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface3);transform:translateY(-1px)}.cab-preset-btn:hover svg rect:first-child{stroke:var(--text-sub)}.cab-preset-name{font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.cab-list-section{margin-top:var(--sp-1)}.cab-list{gap:var(--sp-1);flex-direction:column;display:flex}.cab-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);overflow:hidden}.cab-item:hover{border-color:var(--border-strong)}.cab-item.selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:none}.cab-header{padding:var(--sp-2) var(--sp-3);justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.cab-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cab-actions{gap:var(--sp-1);display:flex}.cab-actions button{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;min-width:28px;height:28px;font-size:var(--fs-2xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.cab-rot-btn:hover{background:var(--surface3);color:var(--text)}.cab-del-btn:hover{background:var(--danger-tint);color:var(--danger-text)}.cab-detail{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-subtle);background:var(--well);animation:fadeIn var(--dur-base) var(--ease)}.cab-dims{font-size:var(--fs-2xs);color:var(--text-muted);margin-bottom:var(--sp-2);font-variant-numeric:tabular-nums;display:block}.cab-sku{font-size:var(--fs-2xs);color:var(--text-muted);opacity:.7;font-family:var(--font-mono)}.cab-color-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);color:var(--text-muted);margin-top:var(--sp-2);text-transform:uppercase;letter-spacing:var(--tracking-label);display:block}.cab-color-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cab-color-swatch{border-radius:var(--radius-ctl);border:2px solid var(--border);cursor:pointer;width:22px;height:22px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.cab-color-swatch:hover{border-color:var(--border-strong)}.cab-color-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.cab-empty{color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-body);margin-top:var(--sp-1)}.cab-lock-btn:hover{background:var(--surface3);color:var(--text)}.cab-lock-btn.locked{color:var(--warning-text);background:var(--warning-tint)}.cab-group-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.cab-group-header .cab-group-label{margin-bottom:0}.cab-add-ct-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-sub);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-ctl);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.cab-add-ct-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.cab-select-wrap{margin-top:var(--sp-2)}.cab-preset-price,.cab-price{font-size:var(--fs-2xs);color:var(--success-text);font-weight:var(--fw-semibold)}.cab-quote-summary{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-3);margin-top:var(--sp-1)}.cab-quote-lines{gap:var(--sp-1);flex-direction:column;display:flex}.cab-quote-line{font-size:var(--fs-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.cab-quote-total{border-top:1px solid var(--border-subtle);padding-top:var(--sp-1);margin-top:var(--sp-1);font-weight:var(--fw-bold);color:var(--text)}.lighting-panel{gap:var(--sp-3);flex-direction:column;display:flex}.auto-light-btn{align-items:center;gap:var(--sp-1);background:var(--surface2);border:1px solid var(--border);color:var(--text-sub);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-ctl);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);display:inline-flex}.auto-light-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.light-add-row{justify-content:space-between;align-items:center;display:flex}.light-add-btns{gap:var(--sp-2);display:flex}.light-add-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-sub);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-ctl);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.light-add-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.light-empty{color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-body)}.light-list{gap:var(--sp-2);flex-direction:column;display:flex}.light-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);transition:border-color var(--dur-fast) var(--ease);overflow:hidden}.light-item:hover{border-color:var(--border-strong)}.light-item.disabled{opacity:var(--disabled-opacity)}.light-header{align-items:center;gap:var(--sp-2);padding:var(--sp-2);display:flex}.light-toggle{font-size:var(--fs-md);cursor:pointer;color:var(--text-muted);transition:color var(--dur-fast) var(--ease);background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.light-toggle.on{color:var(--accent-text)}.light-name{color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:0 0;border:none;outline:none;flex:1;min-width:0}.light-name:focus{box-shadow:var(--focus-ring)}.light-del{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;height:28px;font-size:var(--fs-2xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.light-del:hover{background:var(--danger-tint);color:var(--danger-text)}.light-body{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-subtle);background:var(--well);gap:var(--sp-2);flex-direction:column;display:flex}.light-type-row{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.light-type-btn{color:var(--text-muted);font:var(--fw-semibold) var(--fs-xs)/1 var(--font-ui);border-radius:var(--radius-pill);cursor:pointer;height:24px;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);background:0 0;border:none;flex:1;padding:0}.light-type-btn:hover{color:var(--text-sub)}.light-type-btn.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.light-row{align-items:center;gap:var(--sp-2);display:flex}.light-row label{font-size:var(--fs-2xs);color:var(--text-muted);flex-shrink:0;width:62px}.light-row input[type=range]{flex:1;min-width:0}.light-row input[type=color]{border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;background:0 0;width:36px;height:22px;padding:1px}.light-val{font-size:var(--fs-2xs);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:32px}.light-coords{gap:var(--sp-2);display:flex}.light-coord{flex-direction:column;flex:1;gap:2px;display:flex}.light-coord label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-label)}.light-coord input[type=number]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);width:100%;color:var(--text);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);text-align:center;font-variant-numeric:tabular-nums}.light-coord input[type=number]:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.rack-preset-grid{gap:var(--sp-2);margin-top:var(--sp-1);grid-template-columns:repeat(2,1fr);display:grid}.rack-preset-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-muted);cursor:pointer;padding:var(--sp-2);align-items:stretch;gap:var(--sp-2);line-height:var(--lh-title);text-align:left;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-base) var(--ease);flex-direction:column;display:flex}.rack-preset-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface3);transform:translateY(-1px)}.rack-preset-btn:hover .rack-preset-thumb rect:first-child{stroke:var(--border-strong)}.rack-preset-thumb{width:100%;height:36px;display:block}.rack-preset-thumb rect:first-child{fill:#ffffff0a;stroke:var(--border-strong);stroke-width:1.2px}.rack-preset-thumb line{stroke:var(--border-strong);stroke-width:.6px;opacity:.7}.rack-preset-row{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.rack-preset-name{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text)}.rack-preset-price{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--success-text);white-space:nowrap}.pendant-preset-grid{gap:var(--sp-2);margin-top:var(--sp-1);grid-template-columns:repeat(2,1fr);display:grid}.pendant-preset-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-muted);cursor:pointer;padding:var(--sp-2);align-items:stretch;gap:var(--sp-2);line-height:var(--lh-title);text-align:center;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), transform var(--dur-base) var(--ease);flex-direction:column;display:flex}.pendant-preset-btn:hover{border-color:var(--border-strong);background:var(--surface3);transform:translateY(-1px)}.pendant-preset-thumb{width:100%;height:44px;display:block}.pendant-preset-thumb line,.pendant-preset-thumb path,.pendant-preset-thumb rect,.pendant-preset-thumb circle,.pendant-preset-thumb ellipse{fill:none;stroke:var(--border-strong);stroke-width:1.4px}.pendant-preset-thumb .glow{stroke:#e8b264;fill:#e8b2641f}.pendant-preset-btn:hover .pendant-preset-thumb .glow{stroke:#ffcf8a;fill:#ffcf8a33}.pendant-preset-name{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text)}.pendant-slider-row{align-items:center;gap:var(--sp-2);display:flex}.pendant-slider-row input[type=range]{flex:1;min-width:0}.pendant-slider-val{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:42px}.pendant-toggle-btn{width:100%;padding:var(--sp-1) var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.pendant-toggle-btn.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.pendant-color-row{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.pendant-color-chip{border:2px solid var(--border);cursor:pointer;width:26px;height:26px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);border-radius:50%}.pendant-color-chip:hover{border-color:var(--border-strong)}.pendant-color-chip.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.items-panel{flex-direction:column;gap:0;display:flex}.items-cat-row{gap:var(--sp-1);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.items-cat-btn{color:var(--text-sub);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-ui);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000}.items-cat-btn:hover{background:var(--surface2);color:var(--text)}.items-cat-btn.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.model-grid{gap:var(--sp-1);flex-direction:column;display:flex}.model-card{align-items:center;gap:var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);display:flex;overflow:hidden}.model-card:hover{border-color:var(--border-strong)}.model-card-preview{background:var(--well);flex-shrink:0;justify-content:center;align-items:center;width:56px;min-width:56px;height:56px;display:flex;overflow:hidden}.model-card-preview img{object-fit:contain;width:100%;height:100%;display:block}.model-silhouette{width:42px;height:42px}.model-card-info{min-width:0;padding:var(--sp-1) 0;flex:1}.model-card-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.model-card-dims{font-size:var(--fs-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.model-card-add{background:var(--accent);border-radius:var(--radius-ctl);width:28px;height:28px;color:var(--text-on-accent);font-size:var(--fs-md);font-weight:var(--fw-regular);margin-right:var(--sp-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.model-card-add:hover{background:var(--accent-hover)}.model-card-add:active{background:var(--accent-pressed)}.placed-list{gap:var(--sp-1);margin-top:var(--sp-2);flex-direction:column;display:flex}.placed-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);justify-content:space-between;align-items:center;display:flex}.placed-item:hover{border-color:var(--border-strong)}.placed-item.selected{border-color:var(--accent);background:var(--accent-tint)}.placed-item-name{font-size:var(--fs-xs);color:var(--text);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.placed-item-del{color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;height:28px;font-size:var(--fs-2xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.placed-item-del:hover{background:var(--danger-tint);color:var(--danger-text)}code{font-family:var(--font-mono);font-size:var(--fs-2xs);background:var(--surface3);padding:2px var(--sp-1);border-radius:var(--radius-ctl);color:var(--accent-text)}.estimate-panel{gap:var(--sp-2);flex-direction:column;display:flex}.est-row{align-items:center;gap:var(--sp-2);display:flex}.est-row label{font-size:var(--fs-xs);color:var(--text-sub);flex:1}.est-row input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);width:80px;color:var(--text);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);text-align:right;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.est-row input:hover{border-color:var(--border-strong)}.est-check{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-sub);cursor:pointer;margin-top:var(--sp-1);display:flex}.est-check input{accent-color:var(--accent);width:15px;height:15px}.est-lock-card{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);gap:var(--sp-2);flex-direction:column;display:flex}.est-lock-badge{font:var(--fw-semibold) var(--fs-2xs)/var(--lh-snug) var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-text);background:var(--accent-tint);padding:2px var(--sp-2);border-radius:var(--radius-pill);align-self:flex-start}.est-lock-card p{font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-sub);margin:0}.est-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text-sub);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;text-align:center;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.est-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.est-btn-sm{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);border-radius:var(--radius-ctl)}.est-hint{font-size:var(--fs-2xs);color:var(--text-muted);line-height:var(--lh-body);margin:0}.est-head-row{margin-top:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.est-item-row{align-items:center;gap:var(--sp-1);display:flex}.est-item-row input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);color:var(--text);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.est-item-row input:hover{border-color:var(--border-strong)}.est-item-label{flex:1}.est-item-qty{text-align:right;font-variant-numeric:tabular-nums;width:42px}.est-item-price{text-align:right;font-variant-numeric:tabular-nums;width:68px}.est-del,.est-reset{border-radius:var(--radius-ctl);color:var(--text-muted);width:28px;height:28px;font-size:var(--fs-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.est-del:hover{background:var(--danger-tint);color:var(--danger-text)}.est-reset:hover{background:var(--surface3);color:var(--text)}.est-table{gap:var(--sp-1);flex-direction:column;max-height:320px;padding-right:2px;display:flex;overflow-y:auto}.est-line{align-items:center;gap:var(--sp-1);display:flex}.est-line.hidden .est-line-label,.est-line.hidden .est-line-flat{opacity:var(--disabled-opacity);text-decoration:line-through}.est-line-label{min-width:0;font-size:var(--fs-xs);color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.est-line-price{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);width:72px;color:var(--text);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);text-align:right;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.est-line-price:hover{border-color:var(--border-strong)}.est-line-price.overridden{border-color:var(--accent)}.est-line-price:disabled{opacity:var(--disabled-opacity)}.est-line-flat{text-align:right;width:72px;font-size:var(--fs-xs);color:var(--text);font-variant-numeric:tabular-nums}.est-totals{border-top:1px solid var(--border-subtle);margin-top:var(--sp-1);padding-top:var(--sp-2);gap:var(--sp-1);flex-direction:column;display:flex}.est-totals>div{font-size:var(--fs-xs);color:var(--text-sub);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.est-totals .est-total{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);border-top:1px solid var(--border-subtle);margin-top:var(--sp-1);padding-top:var(--sp-2)}.gsearch{padding:var(--sp-3) var(--sp-3);flex:none;position:relative}.gsearch-box{align-items:center;gap:var(--sp-2);padding:var(--sp-2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);display:flex}.gsearch-box:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.gsearch-icon{color:var(--text-muted);flex:none}.gsearch-input{min-width:0;color:var(--text);font-size:var(--fs-sm);background:0 0;border:none;outline:none;flex:auto}.gsearch-input::placeholder{color:var(--text-muted)}.gsearch-clear{padding:0 var(--sp-1);color:var(--text-muted);font-size:var(--fs-md);cursor:pointer;background:0 0;border:none;flex:none;line-height:1}.gsearch-clear:hover{color:var(--text)}.gsearch-results{z-index:50;max-height:320px;padding:var(--sp-1);background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-2);position:absolute;top:calc(100% - 4px);left:12px;right:12px;overflow-y:auto}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.gsearch-results{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.gsearch-hit{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) 10px;border-radius:var(--radius-ctl);color:var(--text);font-size:var(--fs-xs);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.gsearch-hit:hover{background:#ffffff12}.gsearch-hit-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.gsearch-hit-group{font-size:var(--fs-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);flex:none}.gsearch-hit-add{text-align:center;width:14px;color:var(--text-muted);font-weight:var(--fw-semibold);flex:none}.gsearch-hit:hover .gsearch-hit-add{color:var(--accent-text)}.gsearch-section-label{padding:var(--sp-2) var(--sp-2) var(--sp-1);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.gsearch-empty{padding:var(--sp-2);color:var(--text-muted);font-size:var(--fs-xs)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border);flex-direction:row;height:100%;display:flex;overflow:hidden}.sidebar-rail{background:var(--bg);border-right:1px solid var(--border);width:48px;min-width:48px;height:100%;padding:var(--sp-2) 0;flex-direction:column;align-items:center;gap:2px;display:flex}.rail-btn{border-radius:var(--radius-card);width:36px;height:36px;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.rail-btn svg{width:17px;height:17px}.rail-btn:hover{background:var(--surface2);color:var(--text-sub)}.rail-btn.active{background:var(--accent-tint);color:var(--accent-text)}.rail-btn.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.sidebar-pane{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.pane-header{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.pane-title{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.pane-scroll{padding:var(--sp-3);flex:1;min-width:0;overflow:hidden auto}.section-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-2);margin-top:var(--sp-6);align-items:center;gap:var(--sp-2);display:flex}.section-label:first-child{margin-top:0}.section-label:after{content:"";background:var(--border-subtle);flex:1;height:1px}.field-group{margin-bottom:var(--sp-4)}.field-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-2)}.field-hint{color:var(--text-muted);font-size:var(--fs-2xs);line-height:var(--lh-snug);margin-top:var(--sp-1)}.form-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.form-row label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);white-space:nowrap;min-width:54px}.scale-row{align-items:center;gap:var(--sp-2);display:flex}.scale-slider{cursor:pointer;flex:1}.scale-val{font-size:var(--fs-2xs);color:var(--accent-text);font-weight:var(--fw-semibold);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;min-width:26px}.color-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.color-swatch{background:var(--surface2);border:2px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);flex-direction:column;padding:0;display:flex;overflow:hidden}.color-swatch:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.color-swatch.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.swatch-img{background-position:50%;background-size:cover;width:100%;height:48px}.swatch-name{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-2xs);color:var(--text-sub);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.info-field{margin-bottom:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.info-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.info-input{width:100%;height:var(--ctl-h-md);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:0 var(--sp-3);color:var(--text);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease)}.info-input:hover{border-color:var(--border-strong)}.info-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.info-input::placeholder{color:var(--text-muted)}.section-desc{color:var(--text-muted);font-size:var(--fs-2xs);margin-bottom:var(--sp-2);line-height:var(--lh-snug)}.section-gap{height:var(--sp-4)}.list-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);justify-content:space-between;align-items:center;display:flex}.list-item:hover{border-color:var(--border-strong)}.list-item.selected{border-color:var(--accent);background:var(--accent-tint)}.list-item-label{font-size:var(--fs-xs);color:var(--text);font-weight:var(--fw-medium)}.add-btn{height:var(--ctl-h-sm);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid #0000;padding:0 10px}.add-btn:hover{background:var(--accent-hover)}.add-btn:active{background:var(--accent-pressed)}.tab-content{animation:fadeIn var(--dur-base) var(--ease)}.list-item{min-height:44px}.delete-btn{border-radius:var(--radius-ctl);min-width:28px;min-height:28px;color:var(--text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.delete-btn:hover{background:var(--danger-tint);color:var(--danger-text)}.step-lock-btn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-ctl);width:28px;min-width:28px;height:28px;margin-right:var(--sp-1);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:flex}.step-lock-btn:hover{border-color:var(--border-strong);color:var(--text)}.step-lock-btn.locked{color:var(--warning);border-color:var(--warning)}@media (width<=1400px){.sidebar{width:280px;min-width:280px}}@media (width<=1100px){.sidebar{width:260px;min-width:260px}}.topbar{min-height:var(--topbar-height);background:var(--surface2);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);z-index:300;flex-wrap:nowrap;flex-shrink:0;display:flex;overflow:clip visible}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.topbar-menu-wrap{height:40px;margin-right:var(--sp-4);padding-right:var(--sp-4);border-right:1px solid var(--border-subtle);flex-shrink:0;align-items:center;display:flex;position:relative}.topbar-menu-btn{width:var(--ctl-h-md);height:var(--ctl-h-md);background:var(--surface2);color:var(--text-sub);border:1px solid var(--border);border-radius:var(--radius-ctl);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:0;display:flex}.topbar-menu-btn:hover{background:var(--surface3);border-color:var(--border-strong);color:var(--text)}.topbar-menu-btn:active{background:var(--surface)}.topbar-menu-btn.open{background:var(--accent-tint);border-color:var(--accent);color:var(--text)}.topbar-menu-scrim{z-index:400;position:fixed;inset:0}.topbar-menu,.topbar-submenu{z-index:401;min-width:216px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-2);position:absolute}.topbar-menu{margin-top:var(--sp-1);transform-origin:0 0;top:100%;left:0}.topbar-submenu{transform-origin:0 0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar-menu,.topbar-submenu{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong)}}.topbar-submenu-wrap{position:relative}.topbar-submenu{top:calc(var(--sp-1) * -1);left:100%}.topbar-menu-parent.open{background:var(--surface3);color:var(--text)}.topbar-menu-arrow{padding-left:var(--sp-3);color:var(--text-muted);align-items:center;margin-left:auto;display:flex}.topbar-menu-parent.open .topbar-menu-arrow{color:var(--text-sub)}.topbar-menu-check{width:16px;color:var(--accent-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-menu-units{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label)}.topbar-menu-item{align-items:center;gap:var(--sp-2);width:100%;min-height:var(--ctl-h-sm);padding:0 var(--sp-2);text-align:left;border-radius:var(--radius-ctl);color:var(--text-sub);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;display:flex}.topbar-menu-item:hover:not(:disabled){background:var(--surface3);color:var(--text)}.topbar-menu-item:disabled{opacity:var(--disabled-opacity);cursor:default}.topbar-menu-icon{width:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-menu-sep{height:1px;margin:var(--sp-1) 0;background:var(--border-subtle)}.topbar-logo{margin-right:var(--sp-3);flex-shrink:0;align-items:center;height:48px;display:flex}.topbar-logo-img{opacity:.92;width:auto;height:46px;transition:opacity var(--dur-fast) var(--ease);display:block}.topbar-logo-img:hover{opacity:1}.topbar-logo-home{cursor:pointer}.topbar-logo-home:hover .topbar-logo-img{opacity:1}.topbar-logo-fallback{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.logo-box-sm{background:var(--accent);color:var(--text-on-accent);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-2xs);letter-spacing:var(--tracking-brand);padding:2px var(--sp-2);border-radius:var(--radius-ctl);line-height:var(--lh-snug)}.logo-living-sm{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:var(--tracking-brand);color:var(--text-muted);font-weight:var(--fw-bold);text-transform:uppercase;padding-left:1px}.topbar-info{flex:0 auto;align-items:center;gap:0;min-width:0;display:flex;overflow:hidden}.topbar-field{padding:0 var(--sp-3);flex-direction:column;gap:2px;min-width:0;display:flex}.topbar-field:first-child{padding-left:0}.topbar-field:last-child{flex-shrink:0}.topbar-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.topbar-value{font-size:var(--fs-xs);color:var(--text);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:130px;overflow:hidden}.topbar-sep{background:var(--border-subtle);flex-shrink:0;width:1px;height:26px}.view-modes{justify-content:center;align-items:center;gap:var(--sp-1);min-width:0;padding:0 var(--sp-3);flex:auto;display:flex}.view-btn{align-items:center;gap:var(--sp-1);height:var(--ctl-h-md);border-radius:var(--radius-pill);color:var(--text-muted);padding:0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;display:flex}.view-btn:hover{color:var(--text-sub);background:var(--surface2)}.view-btn.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.view-icon{font-size:var(--fs-sm);flex-shrink:0;line-height:1}.view-btn .view-label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase}.quality-toggle{margin-right:var(--sp-2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;align-items:center;gap:2px;padding:2px;display:flex}.quality-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);padding:0 var(--sp-2) 0 var(--sp-1)}.quality-btn{border-radius:var(--radius-pill);width:26px;height:24px;color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.quality-btn:hover{color:var(--text-sub)}.quality-btn.active{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-1)}.topbar-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.export-btn{align-items:center;gap:var(--sp-2);height:var(--ctl-h-md);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid #0000;padding:0 14px;display:flex}.export-btn:hover{background:var(--accent-hover)}.export-btn:active{background:var(--accent-pressed)}.topbar-version{font-size:var(--fs-2xs);color:var(--text-muted);margin-left:var(--sp-2);flex-shrink:0}.topbar-account{align-items:center;gap:var(--sp-2);margin-left:var(--sp-2);flex-shrink:0;display:flex}.topbar-account-email{font-size:var(--fs-2xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}@media (width<=1320px){.topbar-account-email{display:none}}.topbar-signout{height:var(--ctl-h-md);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:0 var(--sp-3);border-radius:var(--radius-ctl);color:var(--text-sub);cursor:pointer;background:0 0;border:1px solid #0000}.topbar-signout:hover{background:var(--surface2);color:var(--text)}.topbar-signout:active{background:var(--surface3)}@media (width<=1400px){.topbar{padding:var(--sp-1) var(--sp-2)}.topbar-value{max-width:110px}.topbar-field{padding:0 var(--sp-2)}.view-btn{padding:0 var(--sp-2);font-size:var(--fs-2xs)}.export-btn{padding:0 var(--sp-3);font-size:var(--fs-2xs)}}@media (width<=1280px){.view-btn{padding:0 var(--sp-2)}.topbar-value{max-width:90px}.topbar-field:nth-child(5),.topbar-sep:nth-child(4),.quality-label{display:none}}@media (width<=1100px){.export-btn{padding:0 var(--sp-2);font-size:var(--fs-2xs)}.topbar-field:nth-child(3),.topbar-sep:nth-child(2){display:none}.topbar-value{max-width:80px}.topbar-version{display:none}}@media (width<=950px){.topbar-info{display:none}.topbar-logo{margin-right:var(--sp-2)}.topbar-menu-wrap{margin-right:var(--sp-2);padding-right:var(--sp-2)}}@media (width<=800px){.topbar{padding:var(--sp-1) var(--sp-1)}.topbar-logo{margin-right:var(--sp-1);height:36px}.topbar-logo-img{height:30px}.topbar-menu-wrap{margin-right:var(--sp-1);padding-right:var(--sp-1);height:32px}.view-modes{padding:0 var(--sp-1);gap:2px}.view-btn{padding:0 var(--sp-1)}.view-icon{font-size:var(--fs-xs)}.quality-btn{width:22px;height:20px;font-size:var(--fs-2xs)}.topbar-actions{gap:var(--sp-1)}.export-btn{padding:0 var(--sp-2);font-size:var(--fs-2xs)}}.kb-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1500;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kb-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:420px;max-width:94vw;max-height:80vh;box-shadow:var(--shadow-3);animation:scaleIn var(--dur-base) var(--ease);overflow-y:auto}.kb-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.kb-title{font:var(--fw-bold) var(--fs-md)/var(--lh-title) var(--font-display);letter-spacing:var(--tracking-title);color:var(--text)}.kb-close{color:var(--text-muted);border-radius:var(--radius-ctl);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kb-close:hover{background:var(--surface3);color:var(--text)}.kb-body{padding:var(--sp-4) var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.kb-section-label{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-2)}.kb-list{gap:var(--sp-2);flex-direction:column;display:flex}.kb-row{align-items:center;gap:var(--sp-3);display:flex}.kb-key{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);min-width:60px;padding:var(--sp-1) var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-sub);white-space:nowrap;text-align:center;justify-content:center;align-items:center;display:inline-flex}.kb-desc{font-size:var(--fs-xs);color:var(--text)}.kb-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-subtle);text-align:center;font-size:var(--fs-2xs);color:var(--text-muted)}.kb-key-inline{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:2px var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-sub);justify-content:center;align-items:center;display:inline-flex}.onb-overlay{z-index:3000;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:onb-fade var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes onb-fade{0%{opacity:0}to{opacity:1}}.onb-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);width:min(420px,100vw - 40px);box-shadow:var(--shadow-3);padding:var(--sp-6) var(--sp-6) var(--sp-5);animation:onb-pop var(--dur-base) var(--ease)}@keyframes onb-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.onb-step-badge{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--accent-text);margin-bottom:var(--sp-2)}.onb-card h2{margin:0 0 var(--sp-2);font:var(--fw-bold) var(--fs-xl)/var(--lh-title) var(--font-display);letter-spacing:var(--tracking-tight);color:var(--text)}.onb-card p{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text-sub);margin:0}.onb-dots{gap:var(--sp-1);margin:var(--sp-4) 0;display:flex}.onb-dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.onb-dot.active{background:var(--accent)}.onb-actions{justify-content:space-between;align-items:center;display:flex}.onb-skip{color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;padding:var(--sp-2) var(--sp-1);background:0 0;border:none}.onb-skip:hover{color:var(--text-sub)}.onb-next{background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-ctl);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;border:1px solid #0000}.onb-next:hover{background:var(--accent-hover)}.tut-card{background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-card);width:min(400px,100vw - 32px);padding:var(--sp-3) var(--sp-3) var(--sp-2);z-index:1500;color:var(--text);box-shadow:var(--shadow-2);animation:tut-in var(--dur-base) var(--ease);position:fixed;bottom:18px;left:50%;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tut-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}@keyframes tut-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.tut-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.tut-badge{font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-text)}.tut-skip{color:var(--text-muted);font-size:var(--fs-2xs);cursor:pointer;padding:2px var(--sp-1);background:0 0;border:none}.tut-skip:hover{color:var(--text-sub);text-decoration:underline}.tut-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.tut-body{font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--text-sub)}.tut-body kbd{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:0 var(--sp-2);font-size:var(--fs-2xs);font-family:inherit;font-weight:var(--fw-bold);color:var(--text);border-bottom-width:2px;display:inline-block}.tut-body b{color:var(--text)}.tut-foot{margin-top:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.tut-dots{gap:var(--sp-1);display:flex}.tut-dot{background:var(--surface3);border-radius:50%;width:7px;height:7px}.tut-dot.done{background:var(--accent-pressed)}.tut-dot.active{background:var(--accent)}.tut-next{background:var(--surface2);border:1px solid var(--border);color:var(--text-sub);border-radius:var(--radius-ctl);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.tut-next:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface3)}.tut-next.primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.tut-next.primary:hover{background:var(--accent-hover);color:var(--text-on-accent);border-color:#0000}.view-btn.tut-target{animation:tut-pulse 1.2s var(--ease) infinite;border-color:var(--accent)!important}@keyframes tut-pulse{0%,to{background-color:#0000}50%{background-color:var(--accent-tint)}}.app-layout{flex-direction:column;width:100%;height:100%;display:flex}.app-body{flex:1;display:flex;overflow:hidden}
