.lp{min-height:100%;color:var(--text);background:radial-gradient(1000px 520px at 78% 8%, #c9a46c1a, transparent 55%), radial-gradient(800px 480px at 8% 90%, #7a8f6e14, transparent 50%), var(--bg);z-index:1;position:relative}.lp-nav{z-index:5;justify-content:space-between;align-items:center;padding:22px clamp(20px,4vw,48px);animation:.55s ease-out both lp-fade-up;display:flex;position:absolute;top:0;left:0;right:0}.lp-nav-brand{color:var(--text);font-family:var(--font-display);align-items:center;gap:11px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.lp-nav-brand em{color:var(--brass-bright);font-style:italic;font-weight:500}.lp-nav-actions{align-items:center;gap:14px;display:flex}.lp-link{color:var(--text-dim);font-size:13px;text-decoration:none;transition:color .15s}.lp-link:hover{color:var(--text)}.lp-hero{grid-template-columns:minmax(300px,.92fr) minmax(0,1.2fr);align-items:stretch;gap:0;min-height:100svh;padding:88px clamp(20px,4vw,48px) 36px;display:grid;position:relative;overflow:hidden}.lp-hero-copy{z-index:2;align-self:center;max-width:520px;padding:12px 28px 12px 0;animation:.7s ease-out .1s both lp-fade-up;position:relative}.lp-hero-visual{border:1px solid var(--border-strong);background:#0e100c;border-radius:18px;min-height:min(68vh,640px);animation:.75s ease-out .18s both lp-fade-up;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000059,inset 0 0 0 1px #c9a46c0f}.lp-hero-scene{position:absolute;inset:0}.lp-hero-scene canvas{display:block;width:100%!important;height:100%!important}.lp-hero-hint{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.04em;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12140fb8;border-radius:999px;margin:0;padding:6px 12px;font-size:11px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.lp-brand{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--text);margin:0 0 14px;font-size:clamp(40px,7vw,72px);font-weight:600;line-height:.95}.lp-brand em{color:var(--brass-bright);font-style:italic;font-weight:500}.lp-hero-copy h1{font-family:var(--font-ui);color:var(--text);max-width:18em;margin:0 0 12px;font-size:clamp(18px,2.4vw,24px);font-weight:500;line-height:1.35}.lp-lead{color:var(--text-dim);max-width:32em;margin:0 0 26px;font-size:14px;line-height:1.65}.lp-cta{flex-wrap:wrap;gap:10px;display:flex}.lp-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;height:42px;padding:0 18px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.lp-btn:active{transform:translateY(1px)}.lp-btn-primary{background:linear-gradient(180deg, var(--brass-bright), var(--brass));color:#1a140a;border-color:#c9a46ca6;box-shadow:0 8px 24px #c9a46c2e}.lp-btn-primary:hover{filter:brightness(1.05)}.lp-btn-ghost{border-color:var(--border-strong);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1d168c}.lp-btn-ghost:hover{color:var(--brass-bright);border-color:#c9a46c73}.lp-loop{border-top:1px solid var(--border);background:linear-gradient(180deg, var(--bg-elevated), var(--bg));padding:clamp(56px,10vh,96px) clamp(20px,5vw,64px)}.lp-loop-inner{max-width:920px;margin:0 auto}.lp-loop h2{font-family:var(--font-display);margin:0 0 10px;font-size:clamp(26px,3.5vw,34px);font-weight:600}.lp-loop-lead{max-width:36em;color:var(--text-dim);margin:0 0 36px;font-size:14px;line-height:1.7}.lp-steps{border-top:1px solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}.lp-steps li{border-bottom:1px solid var(--border);grid-template-columns:64px 1fr;align-items:start;gap:18px;padding:22px 0;display:grid}.lp-step-num{font-family:var(--font-display);color:var(--brass);letter-spacing:.04em;font-size:22px;font-weight:500;line-height:1.2}.lp-steps strong{margin-bottom:4px;font-size:15px;font-weight:600;display:block}.lp-steps span{color:var(--text-dim);font-size:13px;line-height:1.6;display:block}.lp-footer{border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding:28px clamp(20px,5vw,64px) 36px;display:flex}.lp-footer-brand{align-items:center;gap:12px;display:flex}.lp-footer-title{font-family:var(--font-display);font-size:16px;font-weight:600}.lp-footer-title em{color:var(--brass-bright);font-style:italic;font-weight:500}.lp-footer-brand p{color:var(--text-dim);margin:3px 0 0;font-size:12px}.lp-footer-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:16px 22px;font-size:12px;display:flex}.lp-footer-meta a{color:var(--text-dim);text-decoration:none;transition:color .15s}.lp-footer-meta a:hover{color:var(--brass-bright)}@keyframes lp-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.lp-hero{grid-template-columns:1fr;gap:22px;padding-top:96px}.lp-hero-copy{max-width:none;padding:0}.lp-hero-visual{order:-1;min-height:min(52vh,420px)}}@media (width<=720px){.lp-nav-brand span{display:none}.lp-steps li{grid-template-columns:48px 1fr;gap:12px}.lp-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.lp-nav,.lp-hero-copy,.lp-hero-visual{animation:none!important}}:root{--bg:#12140f;--bg-elevated:#161912;--surface:#1a1d16;--surface-2:#22261c;--surface-3:#2a2f23;--border:#32382b;--border-strong:#3f4636;--text:#f2eee4;--text-dim:#9a9588;--text-faint:#6f6a5e;--brass:#c9a46c;--brass-bright:#e0bf84;--brass-soft:#c9a46c29;--sage:#7a8f6e;--sage-deep:#5f7354;--accent:var(--brass);--accent-soft:var(--brass-soft);--brand-mark-bg:#1e2218;--danger:#d96a5a;--warn:#e0a45a;--radius:11px;--radius-sm:8px;--sidebar:276px;--shadow-pop:0 18px 44px #00000073, 0 0 0 1px #f2eee40a inset;--font-ui:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:"Fraunces", "Noto Serif SC", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-ui);color:var(--text);font-feature-settings:"ss01" on, "cv11" on;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 70% -10%, #c9a46c12, transparent 55%), radial-gradient(900px 500px at 0% 100%, #7a8f6e0f, transparent 50%), var(--bg);overflow:hidden}body[data-shell=landing]{overflow:auto}body[data-shell=app]{overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #c9a46c8c}.app{z-index:1;flex-direction:column;height:100%;animation:.45s ease-out both app-in;display:flex;position:relative}@keyframes app-in{0%{opacity:0}to{opacity:1}}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:linear-gradient(#22261cf2 0%,#1a1d16fa 100%);flex:none;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex;position:relative;overflow:visible;box-shadow:0 1px #c9a46c0f}.topbar-brand{min-width:0;color:inherit;align-items:center;gap:11px;margin-right:6px;text-decoration:none;display:flex}.topbar-brand svg{filter:drop-shadow(0 2px 6px #00000059);flex:none}.topbar-brand-text{flex-direction:column;gap:2px;min-width:0;line-height:1.1;display:flex}.topbar h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:.01em;white-space:nowrap;color:var(--text);margin:0;font-size:15px;font-weight:600}.topbar h1 em{color:var(--brass-bright);font-style:italic;font-weight:500}.topbar .subtitle{color:var(--text-dim);letter-spacing:.12em;white-space:nowrap;font-size:11px}.topbar .spacer{flex:1;min-width:8px}.topbar-meta{background:var(--surface-2);border:1px solid var(--border);height:30px;color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12px;display:inline-flex}.topbar-meta strong{color:var(--brass-bright);font-weight:600}.topbar-meta svg{opacity:.75;color:var(--sage);flex:none}.topbar-divider{background:linear-gradient(180deg, transparent, var(--border-strong), transparent);flex:none;width:1px;height:18px}.topbar-group{align-items:center;gap:3px;display:inline-flex}.tb-btn{border-radius:var(--radius-sm);height:30px;color:var(--text-dim);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.tb-btn svg{flex:none}.tb-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:var(--border)}.tb-btn:active:not(:disabled){background:var(--surface-3);transform:translateY(1px)}.tb-btn:disabled{opacity:.32;cursor:default}.tb-btn-accent{color:var(--brass-bright);background:var(--brass-soft);border-color:#c9a46c52}.tb-btn-accent:hover:not(:disabled){color:#fff8eb;background:#c9a46c47;border-color:#c9a46c80}.about{flex:none;position:relative}.about-trigger[data-active=true]{color:var(--text);background:var(--surface-2);border-color:var(--border)}.about-popover{border:1px solid var(--border-strong);width:320px;box-shadow:var(--shadow-pop);z-index:50;isolation:isolate;background:#1a1d16 linear-gradient(#22261c 0%,#1a1d16 100%);border-radius:14px;padding:18px;animation:.18s cubic-bezier(.22,1,.36,1) about-in;position:absolute;top:calc(100% + 10px);right:0}@keyframes about-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.about-head{align-items:center;gap:11px;display:flex}.about-avatar{background:var(--brass-soft);width:38px;height:38px;color:var(--brass-bright);border:1px solid #c9a46c4d;border-radius:11px;flex:none;place-items:center;display:grid}.about-name{font-family:var(--font-display);font-size:15px;font-weight:600}.about-role{color:var(--text-dim);letter-spacing:.02em;margin-top:2px;font-size:11px}.about-blurb{color:var(--text-dim);margin:12px 0 14px;font-size:12px;line-height:1.55}.about-row{border:1px solid var(--border);background:var(--surface-2);text-align:left;width:100%;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:9px 11px;transition:border-color .15s,background .15s;display:flex}.about-row:hover{background:#c9a46c14;border-color:#c9a46c6b}.about-row-icon{color:var(--text-dim);flex:none;place-items:center;display:grid}.about-row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.about-row-label{color:var(--text-dim);letter-spacing:.06em;font-size:10px}.about-row-value{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.about-row-action{color:var(--text-dim);flex:none;place-items:center;display:grid}.about-row:hover .about-row-action{color:var(--brass)}.about-wechat{border-top:1px solid var(--border);margin-top:13px;padding-top:13px}.about-wechat-head{color:var(--text);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.about-wechat-head svg{color:#67c23a}.about-wechat-hint{color:var(--text-dim);margin-left:auto;font-size:11px}.about-qr{background:#fff;border:1px solid #e6e8ec;border-radius:12px;place-items:center;padding:12px;display:grid}.about-qr img{object-fit:contain;width:220px;height:220px;display:block}.about-qr-fallback{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:220px;height:220px;font-size:12px;display:flex}.about-qr-path{color:#9aa1ad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.workspace{flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar);background:linear-gradient(180deg, var(--surface) 0%, var(--bg-elevated) 100%);border-right:1px solid var(--border);flex-direction:column;flex:none;min-height:0;display:flex}.sidebar.right{border-right:none;border-left:1px solid var(--border);background:linear-gradient(180deg, var(--bg-elevated) 0%, var(--surface) 100%)}.tabs{border-bottom:1px solid var(--border);background:#0000001f;flex:none;gap:2px;padding:8px 8px 0;display:flex}.tabs button{color:var(--text-faint);letter-spacing:.02em;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 2px 9px;font-size:11px;transition:color .15s,background .15s,border-color .15s;display:flex}.tabs button svg{opacity:.7;transition:opacity .15s,color .15s}.tabs button:hover{color:var(--text-dim);background:#f2eee408}.tabs button:hover svg{opacity:.9}.tabs button[data-active=true]{color:var(--text);border-bottom-color:var(--brass);background:linear-gradient(#c9a46c1a,#0000)}.tabs button[data-active=true] svg{opacity:1;color:var(--brass-bright)}.panel{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;padding:16px 14px 20px;animation:.22s ease-out both panel-in;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.panel h2{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:600}.panel h2:not(:first-child){margin-top:24px;padding-top:4px}.viewport{background:#0e100c;flex:1;min-width:0;position:relative;box-shadow:inset 0 0 0 1px #c9a46c0a,inset 0 20px 50px #0000002e}.viewport canvas{touch-action:none;display:block}.catalog-item{background:var(--surface-2);border-radius:var(--radius);text-align:left;border:1px solid #0000;align-items:center;gap:11px;width:100%;margin-bottom:7px;padding:10px 11px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.catalog-item:hover{border-color:var(--border-strong);transform:translate(2px);box-shadow:0 4px 14px #0000002e}.catalog-item[data-active=true]{background:linear-gradient(135deg,#c9a46c24,#7a8f6e14);border-color:#c9a46c8c;box-shadow:0 0 0 1px #c9a46c33}.catalog-item .glyph{background:linear-gradient(160deg, var(--surface-3), #1c2018);border:1px solid var(--border);width:34px;height:34px;color:var(--brass-bright);border-radius:9px;flex:none;place-items:center;font-size:15px;display:grid}.catalog-item[data-active=true] .glyph{background:var(--brass-soft);border-color:#c9a46c66}.catalog-item .meta{min-width:0}.catalog-item .name{font-size:13px;font-weight:500;display:block}.catalog-item .hint{color:var(--text-dim);margin-top:3px;font-size:11px;line-height:1.35;display:block}.field{margin-bottom:15px}.field label{color:var(--text-dim);justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:12px;display:flex}.field label .value{color:var(--brass-bright);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.field input[type=range]{appearance:none;background:linear-gradient(90deg, var(--surface-3), var(--border-strong));border-radius:999px;outline:none;width:100%;height:4px}.field input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(160deg, var(--brass-bright), var(--brass));cursor:pointer;border:2px solid #1a1d16;border-radius:50%;width:15px;height:15px;transition:transform .12s;box-shadow:0 1px 4px #00000073}.field input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.field input[type=range]::-moz-range-thumb{background:linear-gradient(160deg, var(--brass-bright), var(--brass));cursor:pointer;border:2px solid #1a1d16;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 4px #00000073}.field input[type=checkbox]{accent-color:var(--brass)}.swatches{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.swatch{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;align-items:stretch;gap:7px;padding:7px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.swatch:hover{border-color:var(--border-strong);transform:translateY(-1px)}.swatch[data-active=true]{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass), 0 6px 16px #c9a46c1f}.swatch .chip{border:1px solid #00000047;border-radius:6px;height:36px;box-shadow:inset 0 1px #ffffff14}.swatch .label{color:var(--text-dim);font-size:10px;line-height:1.25}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%;padding:10px;transition:border-color .15s,background .15s,color .15s}.btn:hover{border-color:var(--text-dim);background:var(--surface-3)}.btn.danger{color:var(--danger);background:#d96a5a0f;border-color:#d96a5a59}.btn.danger:hover{background:#d96a5a1f;border-color:#d96a5a8c}.btn.primary{background:linear-gradient(180deg, var(--brass-bright), var(--brass));color:#1a140a;border-color:#c9a46cb3;font-weight:600}.btn.primary:hover{filter:brightness(1.05)}.empty{color:var(--text-dim);border-left:2px solid var(--border-strong);padding:10px 4px 10px 12px;font-size:12px;line-height:1.75}.hint-bar{border:1px solid var(--border-strong);color:var(--text-dim);pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12140fd1;border-radius:999px;padding:8px 18px;font-size:12px;animation:.35s ease-out .15s both hint-in;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000059}@keyframes hint-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hint-bar strong{color:var(--brass-bright);font-weight:500}.field-error{color:var(--warn);margin-top:6px;font-size:11px;line-height:1.5;display:block}.plan-view{background:radial-gradient(at 50% 0,#f4f1ea 0%,#e6e9ed 70%),#e6e9ed;display:flex;position:absolute;inset:0}.plan-view svg{flex:1;min-width:0;padding:12px}.plan-view text{-webkit-user-select:none;user-select:none;paint-order:stroke;stroke:#f4f7fa;stroke-width:24px;stroke-linejoin:round;font-family:inherit}.plan-legend{color:#55606f;pointer-events:none;background:#ffffffeb;border:1px solid #cfd6de;border-radius:10px;flex-direction:column;gap:6px;padding:10px 13px;font-size:11px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 6px 20px #1e283214}.plan-legend span{align-items:center;gap:7px;display:flex}.plan-legend .sw{border-radius:2px;width:18px;height:11px}.plan-legend .sw.base{background:#dbe4ee;border:1px solid #5b6b80}.plan-legend .sw.wall{background:#7896b91a;border:1px dashed #7d90a8}.plan-legend .sw.gap{background:0 0;border:1px dashed #b5762f}.plan-legend .tip{color:#7b8794;border-top:1px solid #dde3e9;margin-top:2px;padding-top:6px}.plan-cabinet{cursor:pointer}.plan-view .opening-body{cursor:grab}.plan-view .opening-handle{fill:#fbfcfd;stroke:#3f7fbf;stroke-width:1.4px;vector-effect:non-scaling-stroke;cursor:ew-resize}.plan-view .opening-body:active{cursor:grabbing}.plan-view .wall-handle:hover{stroke:#2f6fe038}.plan-view .corner-handle{fill:#fbfcfd;stroke:#6b7684;stroke-width:1.4px;vector-effect:non-scaling-stroke;cursor:move}.plan-view .corner-handle:hover{fill:#2f6fe0;stroke:#2f6fe0}.plan-view g[data-active=true] .opening-handle{fill:#2f6fe0}.plan-view .dim-editable{cursor:text}.plan-view .dim-editable:hover{fill:#2f6fe0}.plan-view .dim-input{width:88px;font:inherit;font-variant-numeric:tabular-nums;text-align:center;color:#16324f;background:#fff;border:1px solid #2f6fe0;border-radius:5px;outline:none;padding:4px 6px;font-size:13px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #14284633}.topbar .view-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:2px;margin:0;padding:3px}.topbar .view-toggle button{height:26px;color:var(--text-dim);background:0 0;border:none;border-radius:7px;flex:none;align-items:center;gap:5px;padding:0 11px;font-size:12px;transition:color .15s,background .15s,box-shadow .15s;display:inline-flex}.topbar .view-toggle button svg{opacity:.85;flex:none}.topbar .view-toggle button:hover{color:var(--text)}.topbar .view-toggle button[data-active=true]{color:#1a140a;background:linear-gradient(180deg, var(--brass-bright), var(--brass));font-weight:500;box-shadow:0 1px 3px #00000059}.topbar .view-toggle button[data-active=true] svg{opacity:1;color:#1a140a}@media (width<=1100px){.topbar-brand-text .subtitle,.tb-btn span,.topbar .view-toggle button span{display:none}.tb-btn,.topbar .view-toggle button{justify-content:center;width:30px;padding:0}.about-popover{right:-4px}.tabs button span{display:none}.tabs button{padding:10px 2px}}@media (width<=820px){.topbar-brand-text,.topbar-meta span{display:none}.topbar-meta{justify-content:center;width:30px;padding:0}:root{--sidebar:232px}}.toasts{flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:90%;display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--border-strong);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1d16f2;border-radius:11px;align-items:center;gap:12px;padding:9px 12px 9px 16px;font-size:12px;animation:.18s ease-out about-in;display:flex;box-shadow:0 8px 24px #0006}.toast button{color:var(--brass-bright);white-space:nowrap;background:0 0;border:none;padding:2px 4px;font-size:12px}.toast button.ghost{color:var(--text-dim)}.crash{max-width:560px;margin:12vh auto;padding:0 24px}.crash h1{font-family:var(--font-display);margin:0 0 10px;font-size:22px}.crash p{color:var(--text-dim);margin:0 0 14px;font-size:13px;line-height:1.7}.crash pre{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);white-space:pre-wrap;border-radius:8px;padding:12px;font-size:12px;overflow-x:auto}.crash-actions{gap:10px;margin-top:16px;display:flex}.crash-actions .btn{width:auto;padding:9px 18px}.segmented{gap:4px;margin-bottom:14px;display:flex}.segmented button{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text-dim);flex:1;padding:8px 0;font-size:12px;transition:border-color .15s,background .15s,color .15s}.segmented button:hover{color:var(--text);border-color:var(--border-strong)}.segmented button[data-active=true]{background:var(--brass-soft);color:var(--brass-bright);border-color:#c9a46c8c}.row{gap:8px;display:flex}.opening{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;margin-bottom:10px;padding:11px}.opening-head{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.opening-head button{color:var(--danger);background:0 0;border:none;padding:0;font-size:11px}.opening select,.panel select{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:7px;margin-bottom:10px;padding:7px 9px;font-size:12px}table.quote{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:12px}table.quote th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);letter-spacing:.04em;padding:4px 0;font-weight:500}table.quote td{vertical-align:top;border-bottom:1px solid #f2eee40d;padding:8px 0}table.quote .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:8px}table.quote .spec{color:var(--text-dim);margin-top:2px;font-size:11px;display:block}table.quote .sub{color:var(--text-dim);font-size:11px}.total{border-top:1px solid var(--border);background:linear-gradient(#0000,#c9a46c0d);border-radius:0 0 10px 10px;margin-top:14px;padding:12px 12px 10px;font-size:12px}.total div{color:var(--text-dim);font-variant-numeric:tabular-nums;justify-content:space-between;padding:3px 0;display:flex}.total .grand{color:var(--brass-bright);font-family:var(--font-display);padding-top:8px;font-size:18px;font-weight:600}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:#fff;overflow:visible}body:before{display:none}.topbar,.viewport,.plan-view,.tabs,.sidebar.right,.btn,.hint-bar{display:none!important}.app,.workspace,.sidebar,.panel{color:#111;background:#fff;border:none;width:auto;height:auto;animation:none;display:block;overflow:visible}table.quote td,table.quote th,.total div,.panel h2{color:#111;border-color:#ddd}.total .grand{color:#111}table.quote .spec,table.quote .sub,.empty{color:#666}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
