.sh-dialog{flex-direction:column;gap:12px;min-height:200px;display:flex}:is(.sh-dialog .modal-body,.modal:has(.sh-dialog) .modal-body){max-height:78vh}.sh-tabs{align-self:flex-start}.segmented.sh-tabs button,.sh-section .segmented.sm button{white-space:nowrap}.sh-center{place-items:center;padding:24px;display:grid}.sh-warn{color:var(--warn)}.sh-empty{text-align:center;padding:18px 0}.sh-more{align-self:flex-end}.sh-form{flex-direction:column;gap:14px;display:flex}.sh-section{flex-direction:column;gap:8px;display:flex}.sh-presets{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.sh-preset{text-align:left;border-radius:var(--r);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;transition:border-color var(--t), background var(--t);background:#ffffff08;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.sh-preset:hover{border-color:var(--line2)}.sh-preset.on{border-color:rgba(var(--accent-rgb), .55);background:var(--accent-soft)}.sh-preset.on b{color:var(--accent)}.sh-preset.custom{cursor:default;border-style:dashed}.sh-groups{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.sh-group{border:1px solid var(--line);border-radius:var(--r);background:#ffffff05;flex-direction:column;gap:8px;margin:0;padding:10px 12px 12px;display:flex}.sh-group legend{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-family:var(--font-mono);padding:0 6px}.sh-moves{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 14px;padding-bottom:6px;display:flex}.sh-check{align-items:flex-start}.sh-check .check-box{flex:none;margin-top:1px}.sh-check-text{flex-direction:column;gap:2px;display:flex}.sh-check.disabled{opacity:.45;cursor:not-allowed}.sh-sub{font-size:11.5px;line-height:1.35}.sh-picker{border:1px solid var(--line);border-radius:var(--r);background:#0000001f;flex-direction:column;gap:6px;padding:10px;display:flex}.sh-picker-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sh-picker-bar .search{flex:1;min-width:160px}.sh-tree{flex-direction:column;gap:1px;max-height:300px;padding-right:4px;display:flex;overflow:auto}.sh-node{flex-direction:column;display:flex}.sh-node.sh-indent{margin-left:18px}.sh-row{cursor:pointer;border-radius:7px;align-items:center;gap:6px;min-height:32px;padding:4px 6px;display:flex}.sh-row:hover{background:#ffffff0a}.sh-count{white-space:nowrap;margin-left:auto}.sh-chev{width:15px;height:15px;color:var(--muted);transition:transform var(--t);flex:none}.sh-chev.open{transform:rotate(90deg)}.sh-children{flex-direction:column;gap:1px;margin-left:22px;display:flex}.sh-models,.sh-mats,.sh-found{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 10px;padding:4px 0 8px;display:grid}.sh-found{border-bottom:1px solid var(--line);margin-bottom:6px}.sh-tri{min-width:0;font-size:13px}.sh-tri .ellipsis{min-width:0}.check-box.partial{border-color:var(--accent)}.check-box.partial:after{content:"";background:var(--accent);border-radius:2px;width:8px;height:2px}.sh-thumb{object-fit:cover;background:var(--pic-surface);border-radius:6px;flex:none;width:28px;height:28px}.sh-meta{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.sh-actions{padding-top:4px}.sh-ready{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.sh-ready-main{flex-direction:column;flex:1;gap:10px;min-width:260px;display:flex}.sh-ready h4{color:var(--accent);font-family:var(--font-display);align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.sh-url{gap:6px;display:flex}.sh-url .input{font-family:var(--font-mono);flex:1;font-size:12.5px}.sh-qr{background:#fff;border-radius:10px;flex:none;padding:6px;line-height:0}.sh-qr svg{max-width:220px;height:auto;display:block}.sh-perm .chip{cursor:default;height:24px;font-size:11.5px}.sh-links{flex-direction:column;gap:10px;display:flex}.sh-link{border:1px solid var(--line);border-radius:var(--r);background:#ffffff05;flex-direction:column;gap:8px;padding:12px;display:flex}.sh-link.off{opacity:.6}.sh-link-head{align-items:center;gap:10px;display:flex}.sh-link-pic{object-fit:cover;border-radius:6px;width:54px;height:36px}.sh-link-title{flex-direction:column;flex:1;min-width:0;display:flex}.sh-link-stats{color:var(--ink2);flex-wrap:wrap;gap:4px 16px;display:flex}.sh-hot{color:var(--accent)}.sh-link-actions{flex-wrap:wrap}.sh-link-actions .spacer{flex:1}.danger-text{color:var(--danger)!important}.sh-qr-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.sh-qr-row .sh-url{flex:1;min-width:240px}.sh-activity{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 18px;padding-top:6px;display:grid}.sh-activity h5{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 4px;font-size:11px}.sh-activity p{margin:2px 0}.sh-favs{flex-direction:column;gap:4px;display:flex}.sh-fav{align-items:center;gap:6px;min-width:0;display:flex}.sh-fav img{object-fit:cover;border-radius:5px;width:26px;height:26px}.share-btn{gap:6px}.guest-landing{background:radial-gradient(circle at 30% 20%, rgba(var(--accent-rgb), .12), transparent 50%), var(--bg);background-image:radial-gradient(circle at 30% 20%, rgba(var(--accent-rgb), .12), transparent 50%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:auto,32px 32px,32px 32px;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.guest-card{border-radius:18px;flex-direction:column;gap:14px;width:min(440px,100%);padding:22px;display:flex}.guest-brand{align-items:center;gap:12px;display:flex}.guest-brand img{object-fit:contain;background:#fff;border-radius:10px;width:40px;height:40px}.guest-brand>div{flex-direction:column;min-width:0;display:flex}.guest-brand b{font-family:var(--font-display);font-size:16px}.guest-pic{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%}.guest-welcome{color:var(--muted);margin:0;font-size:13.5px}.guest-project{font-family:var(--font-display);margin:-6px 0 0;font-size:26px;line-height:1.15}.guest-name{flex-direction:column;gap:6px;display:flex}.guest-open{justify-content:center;width:100%;height:46px;font-size:15px}.guest-note{text-align:center;margin:-4px 0 0}.guest-error{color:var(--danger);margin:0;font-size:13px}.guest-dead{text-align:center;color:var(--ink2);flex-direction:column;align-items:center;gap:10px;padding:18px 0;display:flex}.guest-dead svg{width:34px;height:34px;color:var(--warn)}.guest-center{place-items:center;padding:30px;display:grid}.guest-foot{border-top:1px solid var(--line);opacity:.8;justify-content:space-between;align-items:center;padding-top:6px;display:flex}.guest-hbrand{align-items:center;gap:8px;min-width:0;max-width:260px;padding:0 6px;display:flex}.guest-hbrand img{object-fit:contain;background:#fff;border-radius:6px;width:26px;height:26px}.guest-hbrand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.guest-hbrand-text .small{font-size:10.5px}.guest-hbrand.compact{padding:0 2px}.guest-chip{gap:6px}.client-banner{z-index:30;border:1px solid rgba(var(--accent-rgb), .45);max-width:calc(100vw - 32px);animation:fade-in var(--t);border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.client-banner>svg{width:18px;height:18px;color:var(--accent);flex:none}.client-banner-text{font-size:13.5px}.client-banner.live{box-shadow:0 0 0 3px var(--accent-soft)}.m-hud~.client-banner,body.mobile .client-banner{flex-wrap:wrap;top:108px}.hist-list{flex-direction:column;gap:6px;max-height:60vh;display:flex;overflow:auto}.hist-row{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.hist-row.guest{border-color:rgba(var(--accent-rgb), .35)}.hist-row.current{background:#ffffff0a}.hist-main{flex:1;min-width:0}.hist-main .badge{height:19px;margin-left:6px}.co-page{flex-direction:column;gap:12px;display:flex}.co-members{flex-direction:column;gap:6px;display:flex}.co-member{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.co-member .grow{flex-direction:column;flex:1;min-width:0;display:flex}.co-invite{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.co-invite .field{flex:1;min-width:200px}.co-limits{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.co-limit{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.co-limit b{font-family:var(--font-display);font-size:20px}.client-badge{z-index:2;position:absolute;top:8px;left:8px}@media (max-width:640px){.sh-groups{grid-template-columns:1fr}.sh-url{flex-wrap:wrap}.sh-url .input{min-width:100%}.sh-qr svg{max-width:180px}.client-banner{flex-wrap:wrap;top:104px;left:8px;right:8px;transform:none}}.sh-picked{margin:2px 0 6px}.sh-picked .chip{cursor:default;max-width:220px;height:30px;padding:0 2px 0 3px}.sh-picked .sh-thumb{border-radius:4px;width:22px;height:22px}.sh-picked .btn.icon.xs{width:22px;height:22px}.embed-mark{z-index:50;color:#f5f3ec;backdrop-filter:blur(6px);background:#12181ac7;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 7px;font:600 12px/1 Inter,system-ui,sans-serif;text-decoration:none;display:inline-flex;position:fixed;bottom:10px;left:10px}.embed-mark:hover{color:#4fd1a5}.sh-embed{border:1px solid var(--line);background:var(--bg2);border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.sh-embed h5{margin:0;font-size:13.5px}.sh-embed-code{resize:none;white-space:pre-wrap;word-break:break-all;height:auto;min-height:64px;padding:8px 10px;font-size:11.5px}.sh-embed .btn{align-self:flex-start}.sh-embed p{margin:0}.ai-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ai-log{flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 14px 10px;display:flex;overflow-y:auto}.ai-empty{text-align:center;color:var(--ink2);flex-direction:column;align-items:center;gap:6px;padding:18px 6px 8px;display:flex}.ai-empty b{font-family:var(--font-display);color:var(--ink);font-size:15px}.ai-empty p{color:var(--muted);margin:0 0 6px;font-size:12.5px;line-height:1.45}.ai-empty-icon{width:28px;height:28px;color:var(--accent);box-sizing:content-box;background:var(--forest-deep);border-radius:12px;padding:8px}.ai-examples{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ai-msg .ai-examples{justify-content:flex-start;margin-top:8px}.ai-chip{border:1px solid var(--line2);color:var(--ink2);font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;max-width:100%;transition:border-color var(--t), background var(--t), color var(--t);background:#ffffff08;border-radius:999px;padding:5px 10px;font-size:12px;line-height:1.3}.ai-chip:hover:not(:disabled){border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.ai-chip:disabled{opacity:.5;cursor:default}.ai-msg{overflow-wrap:anywhere;max-width:92%;animation:fade-in var(--t);border-radius:14px;padding:9px 12px;font-size:13px;line-height:1.45}.ai-msg.user{background:var(--accent-dark);color:var(--ink);border-bottom-right-radius:4px;align-self:flex-end}.ai-msg.assistant{background:var(--panel2);color:var(--ink2);border:1px solid var(--glass-line);box-sizing:border-box;border-bottom-left-radius:4px;align-self:flex-start;width:92%}.ai-msg.error{background:var(--danger-soft);color:#ffb3ae;border-color:#e5534b66}.ai-text{white-space:pre-wrap}.ai-meta{font-family:var(--font-mono);color:var(--faint);letter-spacing:.02em;margin-top:6px;font-size:10.5px}.ai-state{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.ai-state.ok{color:var(--ok)}.ai-state.warn{color:var(--warn)}.ai-state.bad{color:var(--danger)}.ai-preview{border-radius:var(--r);border:1px solid var(--glass-line);background:#0000002e;margin-top:8px;padding:8px 10px}.ai-preview-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px;font-size:10.5px}.ai-preview ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.ai-line{color:var(--ink2);align-items:flex-start;gap:7px;min-width:0;font-size:12.5px;display:flex}.ai-line-text{overflow-wrap:anywhere;flex:1;min-width:0}.ai-dot{background:var(--blueprint);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.ai-line.add .ai-dot{background:var(--accent)}.ai-line.remove .ai-dot{background:var(--danger)}.ai-line.bad{color:var(--muted);text-decoration:line-through #e5534b99}.ai-line-bad{width:14px;height:14px;color:var(--danger);flex:none;margin-top:2px}.ai-preview-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ai-compose{border-top:1px solid var(--glass-line);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.ai-input{resize:none;height:auto;min-height:44px;max-height:120px;padding:8px 10px;line-height:1.4}.ai-compose-row{align-items:center;gap:8px;min-width:0;display:flex}.ai-auto{min-width:0;color:var(--muted);cursor:pointer;user-select:none;flex:1;align-items:center;gap:6px;font-size:11.5px;display:flex}.ai-auto span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-auto input{accent-color:var(--accent);flex:none;margin:0}.ai-send{flex:none}.ai-mic{touch-action:none;border-radius:999px;flex:none;position:relative}.ai-mic.on{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 0 0 calc(3px + var(--level,0) * 9px) #e5534b40;transition:box-shadow 80ms linear}.ai-mic.busy{color:var(--accent)}@media (max-width:600px){.ai-msg{max-width:100%}.ai-msg.assistant{width:100%}.ai-auto span{display:none}}.ai-msg.user.queued{opacity:.7}.ai-typing{gap:8px}.ai-dots{gap:3px;display:inline-flex}.ai-dots i{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite ai-dot}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}@keyframes ai-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ai-photo{border-radius:var(--r);border:1px solid var(--glass-line);width:100%;margin-top:8px;display:block}.ds-panel{flex-direction:column;gap:14px;padding:4px 14px 16px;display:flex}.ds-sec{flex-direction:column;gap:8px;min-width:0;display:flex}.ds-h{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:6px;margin:0;font-size:10.5px;font-weight:500;display:inline-flex}.ds-h svg{width:13px;height:13px;color:var(--accent)}.ds-hint,.ds-meta{color:var(--faint);font-size:11px;line-height:1.35}.ds-meta{font-family:var(--font-mono);letter-spacing:.02em}.ds-note{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.ds-styles{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.ds-style{text-align:left;cursor:pointer;border:1px solid var(--line2);background:var(--panel2);color:var(--ink2);font:inherit;transition:border-color var(--t), box-shadow var(--t), transform var(--t);border-radius:12px;flex-direction:column;gap:0;padding:0;display:flex;position:relative;overflow:hidden}.ds-style:hover:not(:disabled){border-color:var(--accent)}.ds-style.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 6px 18px var(--accent-glow);color:var(--ink)}.ds-style:disabled{opacity:.6;cursor:default}.ds-style-img{aspect-ratio:16/10;background-position:50%;background-size:cover;display:block}.ds-style-name{overflow-wrap:anywhere;hyphens:auto;padding:7px 9px 8px;font-size:12.5px;font-weight:600;line-height:1.25}.ds-style-check{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:50%;padding:2px;position:absolute;top:6px;right:6px}.ds-field{flex-direction:column;gap:5px;min-width:0;display:flex}.ds-field .input{box-sizing:border-box;width:100%}.ds-chips{flex-wrap:wrap;gap:6px;display:flex}.ds-chip{cursor:pointer;border:1px solid var(--line2);max-width:100%;color:var(--muted);font:inherit;overflow-wrap:anywhere;text-align:left;transition:border-color var(--t), background var(--t), color var(--t);background:#ffffff08;border-radius:999px;align-items:baseline;gap:5px;padding:5px 10px;font-size:12px;line-height:1.3;display:inline-flex}.ds-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.ds-chip:disabled{opacity:.6;cursor:default}.ds-chip-sub{font-family:var(--font-mono);color:var(--faint);font-size:10.5px}.ds-checks{gap:6px}.ds-check{color:var(--ink2);cursor:pointer;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.35;display:flex}.ds-check input{accent-color:var(--accent);flex:none;margin-top:2px}.ds-actions{flex-wrap:wrap;gap:8px;display:flex}.ds-actions .btn{white-space:normal;text-align:center;flex:auto;justify-content:center;min-width:0}.ds-go{font-weight:600;flex-basis:100%!important}.ds-progress{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.ds-bar{background:var(--line2);border-radius:2px;flex:100%;height:4px;overflow:hidden}.ds-bar span{background:var(--accent);height:100%;transition:width .3s;display:block}.ds-error,.ds-warn{border-radius:var(--r);overflow-wrap:anywhere;padding:8px 10px;font-size:12.5px;line-height:1.4}.ds-error{background:var(--danger-soft);color:#ffb3ae;border:1px solid #e5534b66}.ds-warn{color:var(--warn);background:#e3b3411f;border:1px solid #e3b34159}.ds-result{background:var(--panel2);border:1px solid var(--glass-line);border-radius:14px;padding:10px 12px}.ds-result-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.ds-story{color:var(--ink2);overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.45}.ds-rooms{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ds-room{border-top:1px solid var(--glass-line);min-width:0;padding-top:8px}.ds-room-head{align-items:center;gap:8px;min-width:0;display:flex}.ds-room-head b{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1;font-size:13px}.ds-room-sum{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-size:12px}.ds-room-items,.ds-room-mats{color:var(--muted);overflow-wrap:anywhere;font-size:11.5px;line-height:1.45}.ds-room-mats{color:var(--faint)}.ds-total{border-top:1px solid var(--glass-line);justify-content:space-between;align-items:baseline;gap:8px;padding-top:8px;font-size:13px;display:flex}.ds-total b{font-family:var(--font-display);color:var(--accent);font-size:16px}.win-cfg{flex-direction:column;gap:10px;display:flex}.win-cfg .grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.win-num .input{font:500 13px var(--font-mono);padding:6px 8px}.win-reset{vertical-align:middle;margin-left:6px}.win-reset svg{width:12px;height:12px}.win-schematic{width:100%;height:auto;display:block}.win-schematic.big{background:var(--panel2);border:1px solid var(--line);border-radius:10px;max-height:220px;padding:6px}.win-schematic .frame{fill:#e9ece9;stroke:#9aa3a0;stroke-width:.8px}.win-schematic .door .frame{fill:#dfe3e0}.win-schematic .glass{fill:#a9c4d6;stroke:#7f9aab;stroke-width:.6px}.win-schematic .glass.sash{fill:#b7d0df}.win-schematic .panel{fill:#e9ece9;stroke:#9aa3a0;stroke-width:.6px}.win-schematic .door .glass{fill:#b7d0df}.win-schematic .mull{fill:#dfe3e0;stroke:#9aa3a0;stroke-width:.6px}.win-schematic .mull.drag{cursor:ew-resize}.win-schematic .mull.drag.v{cursor:ns-resize}.win-schematic .mull.drag:hover{fill:var(--accent)}.win-schematic .sym polyline,.win-schematic .sym line{fill:none;stroke:#33424a;stroke-width:1.2px;vector-effect:non-scaling-stroke}.win-schematic .sym .tilt{stroke-dasharray:4 3}.win-schematic .sym .handle{stroke:#12181a;stroke-width:2.5px}.win-schematic .sym .fix{font:600 14px var(--font-mono);fill:#5c6f78;text-anchor:middle;dominant-baseline:middle}.win-schematic .cell.clickable{cursor:pointer}.win-schematic .cell.clickable:hover .glass{fill:#c7dcea}.win-schematic .cell.on .glass{fill:#4fd1a573;stroke:var(--accent);stroke-width:1.2px}.win-grid-ops{flex-wrap:wrap;gap:6px;display:flex}.win-grid-ops .btn svg{width:12px;height:12px}.win-cells{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.win-cell,.win-preset{background:var(--panel2);border:1px solid var(--line);color:var(--muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:6px 4px;font-size:10.5px;display:flex}.win-cell .win-schematic{width:34px}.win-cell:hover,.win-preset:hover{border-color:var(--line2);color:var(--ink)}.win-cell.on{border-color:rgba(var(--accent-rgb), .6);color:var(--accent);background:var(--accent-soft)}.win-cell span,.win-preset span{overflow-wrap:break-word;max-width:100%;line-height:1.2}.win-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.win-presets.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.win-preset .win-schematic{width:auto;max-width:100%;height:46px}.win-presets.compact .win-preset .win-schematic{height:34px}.win-swatches{flex-wrap:wrap;gap:6px;display:flex}.win-sw{border:2px solid var(--line);cursor:pointer;width:26px;height:26px;font:600 13px var(--font-mono);color:var(--muted);background:var(--panel2);border-radius:8px;padding:0}.win-sw.on{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .25)}.win-toggles{flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.win-toggles .check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.win-warn{color:#ffcf8a;background:#ffb84d14;border:1px solid #ffb84d4d;border-radius:8px;margin:0;padding:6px 10px 6px 22px;font-size:11.5px}.win-finish{color:var(--ink3,var(--ink2));margin:2px 0 4px;font-size:11.5px;line-height:1.35;display:block}.door-finishes{gap:6px}.door-fin-head{flex-direction:column;align-items:stretch;gap:6px;display:flex}.door-fin-head .segmented{width:100%}.door-finishes .win-sw.door-sw-gap{margin-left:8px}.door-finishes .win-sw.same{justify-content:center;align-items:center;display:inline-flex}.door-finishes .segmented.wrap{flex-wrap:wrap}.door-finishes .segmented.wrap button{flex:auto}.door-glass{border:1px solid #ffffff40;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.sec-block{flex-direction:column;gap:8px;display:flex}.sec-label{font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sec-hint{color:var(--muted);font-size:12px;line-height:1.4}.sec-row{flex-wrap:wrap;gap:6px;display:flex}.sec-row>.btn{flex:auto;min-width:0}.sec-row>.btn.icon{flex:none}.fin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.fin-btn{background:var(--panel2);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:6px 4px;font-size:11px;display:flex}.fin-btn:hover{border-color:var(--line2);color:var(--ink)}.fin-btn.on{border-color:rgba(var(--accent-rgb), .6);color:var(--accent);background:var(--accent-soft)}.fin-btn .sw-chip{border:1px solid #ffffff14;border-radius:6px;width:100%;height:22px}.fin-btn .sw-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.kmod-list{flex-direction:column;gap:2px;display:flex}.kmod{color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:grid}.kmod:hover{background:#ffffff0a}.kmod.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .35)}.kmod .w{font:500 11px var(--font-mono);color:var(--muted)}.kmod .p{font:500 11.5px var(--font-mono);color:var(--muted)}.kmod b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.kedit{border:1px solid var(--line);background:var(--panel2);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.kedit select{width:100%}.ktotal{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.ktotal small{color:var(--muted);font-weight:400}.style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.style-card{background:var(--panel2);border:1px solid var(--line);color:var(--muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:11px;display:flex}.style-card:hover{border-color:var(--line2);color:var(--ink)}.style-card.on{border-color:rgba(var(--accent-rgb), .6);color:var(--accent);background:var(--accent-soft)}.style-card svg{width:30px;height:48px}.est-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-top:10px;padding-bottom:4px;display:flex}.est-group-head b{font-weight:600}.est-group-head span{font:500 12px var(--font-mono);color:var(--muted)}.est-xrow{border-bottom:1px dashed #ffffff0d;grid-template-columns:1fr auto auto;gap:8px;padding:4px 0;font-size:12.5px;display:grid}.est-xrow .q{color:var(--muted);font:500 11.5px var(--font-mono)}.est-xrow .a{font:500 12px var(--font-mono);white-space:nowrap}.est-xrow small{color:var(--muted);font-size:11px;display:block}.picker{width:100%}.picker-btn{border-radius:var(--r-sm,8px);background:var(--panel2);border:1px solid var(--line);width:100%;height:34px;color:var(--ink);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.picker-btn:hover,.picker-btn.open{border-color:rgba(var(--accent-rgb), .55)}.picker-btn>span{flex:1;min-width:0}.picker-chev{width:15px;height:15px;color:var(--muted);flex:none}.picker .menu{min-width:100%;max-height:320px;left:0;right:0;overflow-y:auto}.picker-list{flex-direction:column;gap:1px;padding:4px;display:flex}.picker-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.picker-item:hover{background:#ffffff0f}.picker-item.on{color:var(--accent);background:var(--accent-soft)}.picker-text{flex-direction:column;flex:1;min-width:0;display:flex}.picker-text small{color:var(--muted);font-size:11px}.picker-check{width:14px;height:14px}.chips-row{flex-wrap:wrap}.cm-field{flex-direction:column;gap:4px;min-width:0;display:flex}.cm-input{align-items:center;display:flex;position:relative}.cm-input .input{width:100%;font-family:var(--font-mono);padding-right:30px}.cm-input small{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;right:9px}.cm-field.warn .input{border-color:var(--danger)}.dim-strip{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:6px;display:grid}.dim-strip .dim-len{flex-direction:column;gap:4px;display:flex}.dim-strip .dim-len b{background:var(--accent-soft);height:32px;color:var(--accent);font:600 13px var(--font-mono);border-radius:8px;justify-content:center;align-items:center;display:flex}.dim-strip .dim-len.warn b{color:var(--danger);background:#e5484d24}.run-tabs{flex-wrap:wrap;gap:6px;display:flex}.run-tab{border:1px solid var(--line);background:var(--panel2);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:12px}.run-tab.on{border-color:rgba(var(--accent-rgb), .6);color:var(--accent);background:var(--accent-soft)}.kcol{cursor:pointer;user-select:none;border:1px solid #0000;border-radius:8px;grid-template-columns:16px 34px 1fr auto;align-items:center;gap:6px;padding:5px 6px;font-size:12.5px;display:grid}.kcol:hover{background:#ffffff0a}.kcol.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .35)}.kcol.blocked{border-color:#e5484d73}.kcol.dragging{opacity:.5}.kcol.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.kcol .grip{color:var(--faint,#5f6b67);cursor:grab;place-items:center;display:grid}.kcol .grip svg{width:14px;height:14px}.kcol .w{font:500 11px var(--font-mono);color:var(--muted)}.kcol .names{flex-direction:column;min-width:0;display:flex}.kcol .names b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.kcol .names small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.kcol .p{font:500 11px var(--font-mono);color:var(--muted)}.inherit{justify-content:space-between;align-items:center;gap:6px;display:flex}.inherit .tag{font:500 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffffff0f;border-radius:99px;padding:2px 6px}.inherit .tag.own{background:var(--accent-soft);color:var(--accent)}.kname{align-items:center;gap:6px;display:flex}.kname .picker{flex:1}.op-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.op-tile{border:1px solid var(--line);background:var(--panel2);color:var(--muted);cursor:grab;user-select:none;touch-action:none;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.op-tile:hover{border-color:var(--line2);color:var(--ink)}.op-tile.applies{border-color:rgba(var(--accent-rgb), .45)}.op-tile .op-schem{width:56px;height:56px;color:var(--ink)}.op-tile .op-schem svg{width:100%;height:100%}.op-tile .tile-name{text-align:center;font-size:12px;line-height:1.25}.op-place-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.op-lock{align-items:center;gap:5px;display:inline-flex}.op-lock svg{width:13px;height:13px}.op-lock.on{color:var(--accent);border-color:rgba(var(--accent-rgb), .55);background:var(--accent-soft)}.trim-card{border:1px solid var(--line);background:var(--panel2);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.trim-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trim-card-head b{font-weight:600}.trim-card-head small{font:500 11.5px var(--font-mono);color:var(--muted)}.trim-profiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.trim-prof{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-size:11px;line-height:1.2;display:flex}.trim-prof:hover{border-color:var(--line2);color:var(--ink)}.trim-prof.on{border-color:rgba(var(--accent-rgb), .6);color:var(--accent);background:var(--accent-soft)}.trim-prof svg{width:40px;height:40px}.trim-card.off .trim-body{opacity:.45}.trim-card.off .trim-body:hover{opacity:.8}.sec-hint.warn{color:var(--danger)}.kpanel{gap:10px}.kpanel .sec-block{gap:6px}.kpanel .kedit{gap:6px;padding:8px}.kpanel .kedit>.inherit b{min-width:0;font-size:13px;font-weight:600}.kpanel .run-tab{padding:4px 9px;font-size:11.5px}.kpanel .kcol{min-height:28px;padding:3px 6px;font-size:12px}.kpanel .btn.sm:where(:not(.icon)){min-height:28px;padding:2px 9px;font-size:12px}.kpanel .btn.sm.icon{width:28px;height:28px}.kpanel .picker-btn{height:30px;min-height:30px;font-size:12.5px}.kpanel .cm-input .input,.kpanel .dim-strip .dim-len b{height:28px;font-size:12px}.kpanel .kadd{flex-wrap:nowrap}.kpanel .kadd .picker{flex:auto;min-width:0}.kpanel .kadd>.btn{flex:none}.kstyle{flex-direction:column;gap:4px;display:flex}.kstyle-head{align-items:center;gap:6px;min-height:20px;display:flex}.kstyle-head .sec-label{flex:none}.kstyle-val{min-width:0;color:var(--ink);flex:1;font-size:11.5px}.kstyle-head .tag{font:500 10px var(--font-mono);background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:99px;padding:2px 6px}.fin-grid.compact{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.fin-grid.compact .fin-btn{border-radius:7px;padding:3px}.fin-grid.compact .sw-chip{border-radius:5px;height:20px}.kpanel .segmented.chips-row button{min-height:26px;padding:3px 8px;font-size:11.5px;line-height:1.15}.kwidth{flex-direction:column;gap:4px;min-width:0;display:flex}.kwidth .cm-input{max-width:140px}.kwidth.warn .input{border-color:var(--danger)}.kopen{flex-wrap:wrap}.kopen .btn{flex:130px;justify-content:center;min-width:0}.kinside{border-top:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;padding-top:8px;display:flex}.kinside-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.kinside-head b{font-size:12.5px;font-weight:600}.kinside-head small{font:500 11px var(--font-mono);color:var(--muted)}.kinside-row{flex-wrap:wrap;align-items:center;gap:8px;min-height:28px;display:flex}.kinside-row .sec-label{flex:auto;min-width:0}.kstep{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:2px;padding:1px;display:inline-flex}.kstep b{text-align:center;min-width:22px;font:600 12.5px var(--font-mono)}.kstep .btn.icon.xs{width:24px;height:24px}.knums{flex-direction:column;gap:4px;display:flex}.knums-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px;display:grid}.knum{align-items:center;gap:4px;min-width:0;display:flex}.knum small{font:500 10.5px var(--font-mono);color:var(--muted);text-align:right;flex:none;width:12px}.knum .input{width:100%;min-width:0;height:26px;padding:0 6px;font-size:12px}.sec-row.run-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.sec-row.run-actions>.btn:not(.icon){white-space:normal;height:auto;min-height:28px;line-height:1.15}.area-row{border-bottom:1px solid var(--glass-line);grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:8px;padding:6px 0;font-size:12.5px;display:grid}.area-row.area-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 0 4px;font-size:11px}.area-row.area-head span:not(:first-child),.area-num{text-align:right;font:500 12px var(--font-mono);white-space:nowrap}.area-room{align-items:center;gap:8px;min-width:0;display:flex}.area-thumb{flex:none;width:34px;height:34px}.area-thumb img{object-fit:cover}.area-names{flex-direction:column;min-width:0;line-height:1.25;display:flex}.area-names small{color:var(--muted);font-size:11px}.area-totals{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.est-xrow .w{color:var(--faint);font-size:10.5px;display:block}:root{--axis-x:#f2555a;--axis-y:#6fd36a;--axis-z:#4c9bff}.notes-layer{--m-color:var(--accent);z-index:10;pointer-events:none;position:fixed;inset:0}.hud>.notes-layer{pointer-events:none}.notes-layer>*{pointer-events:auto}.axis-x{--m-color:var(--axis-x)}.axis-y{--m-color:var(--axis-y)}.axis-z{--m-color:var(--axis-z)}.axis-tag{color:#0b0f14;background:var(--m-color);border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10.5px;font-weight:700;display:inline-grid}.m-pop{border-radius:var(--r-lg);background:var(--glass-strong);box-shadow:var(--shadow);animation:pop-in .14s var(--ease);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:5px 5px 5px 8px;display:flex;position:absolute}.m-pop b{font-size:13px;font-weight:600}.m-pop .spacer{flex:1}.m-pop .btn.danger:hover{background:var(--danger-soft);border-color:#0000}.c-card{border-radius:var(--r-lg);background:var(--glass-strong);width:300px;box-shadow:var(--shadow);animation:pop-in .16s var(--ease);flex-direction:column;gap:8px;padding:10px 10px 8px;display:flex;position:absolute}.c-card-head{align-items:center;gap:9px;min-width:0;display:flex}.c-card-head>b{font-size:13px;font-weight:600}.c-card-meta{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.c-card-meta b{color:var(--ink);font-size:12.5px;font-weight:600}.c-card-meta span{color:var(--faint);font-size:11.5px}.c-card-icon{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.c-card-icon svg{width:14px;height:14px}.c-card-text{color:var(--ink);white-space:pre-wrap;word-break:break-word;user-select:text;max-height:220px;margin:0;padding:0 2px;font-size:13px;line-height:1.45;overflow-y:auto}.c-card-actions{align-items:center;gap:2px;display:flex}.c-card-actions .btn.ghost.xs:not(.icon){height:26px;color:var(--ink2);border-radius:7px;gap:5px;padding:0 8px;font-size:12px}.c-card-actions .btn.ghost.xs:not(.icon):hover{color:var(--ink)}.c-card-actions .spacer{flex:1}.c-card .btn.danger:hover{background:var(--danger-soft);border-color:#0000}.measure-list li{cursor:pointer;transition:background var(--t)}.measure-list li.sel{background:var(--accent-soft)}.measure-list li .axis-tag{margin-right:-4px}.comment-item.sel{border-color:var(--accent);background:var(--accent-soft)}.comment-num{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;padding:0 4px;font-size:10.5px;font-weight:700;display:inline-grid}.minimap{z-index:16;border-radius:var(--r-xl);backdrop-filter:blur(6px);width:260px;animation:slide-left .22s var(--ease);user-select:none;background:#12181ab8;flex-direction:column;padding:4px 6px 6px;display:flex;position:absolute;top:78px;right:12px}.minimap.collapsed{width:auto;max-width:260px;padding-bottom:4px}.mm-head{align-items:center;gap:4px;min-width:0;height:30px;padding:0 0 0 6px;display:flex}.mm-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #ffffff0d}.mm-room{white-space:nowrap;flex:1;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.mm-room b{min-width:0;font:600 12.5px var(--font-display);color:var(--ink);text-overflow:ellipsis;flex:0 auto;overflow:hidden}.mm-room small{min-width:0;font:500 10.5px var(--font-mono);color:var(--muted);text-overflow:ellipsis;flex:0 1000 auto;overflow:hidden}.mm-head .btn.xs{flex:none;width:26px;height:26px}.mm-head .btn.xs svg{width:14px;height:14px}.mm-map{cursor:crosshair;touch-action:none;background:#0b101159;border-radius:10px;width:248px;height:auto;display:block}.mm-map.no-teleport{cursor:default}.mm-roomfill{fill-opacity:.22;transition:fill-opacity .2s}.mm-roomfill:hover{fill-opacity:.3}.mm-roomfill.current{fill-opacity:.4}.mm-walls polygon{fill:#dcd8cc}.mm-window line{stroke:var(--blueprint);stroke-linecap:butt}.mm-door line{stroke:var(--ink2);stroke-linecap:round}.mm-door .mm-swing{fill:none;stroke:#cdd1ca8c}.mm-door.entrance line{stroke:var(--accent)}.mm-labels text{fill:var(--ink2);font-family:var(--font);pointer-events:none;paint-order:stroke;stroke:#0b1011bf;font-weight:600}.mm-labels text.current{fill:var(--accent)}.mm-player{pointer-events:none;transition:transform .12s linear}.mm-halo{fill:#4fd1a538}.mm-arrow{fill:var(--accent);stroke:#0f1f19;stroke-linejoin:round}.mm-ping{fill:none;stroke:var(--accent);pointer-events:none;animation:mm-ping .65s var(--ease) forwards;transform-box:fill-box;transform-origin:50%}@keyframes mm-ping{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}html:not(.compact) body.minimap-on .hud .inspector{max-height:calc(100vh - 102px - var(--minimap-h,0px))}html.compact .minimap{top:calc(64px + var(--sat,0px));right:calc(6px + var(--sar,0px));width:200px;padding:2px 4px 4px}html.compact .minimap.collapsed{width:auto;max-width:200px}html.compact .mm-map{width:192px}html.compact .mm-room small{display:none}html.touch .mm-head{gap:2px;height:36px}html.touch .mm-head .btn.xs{width:32px;height:32px}.mm-hoverlabel{pointer-events:none}.mm-hoverlabel rect{fill:#0b1011e0;stroke:#4fd1a580}.mm-hoverlabel text{fill:var(--ink);stroke:none}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/ui/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/ui/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/ui/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/ui/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/ui/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/ui/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/ui/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/ui/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/ui/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/ui/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/ui/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/ui/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#12181a;--bg2:#161d1f;--panel:#1b2426;--panel2:#212b2d;--panel3:#283436;--line:#2a3537;--line2:#37454a;--ink:#f1efe8;--ink2:#cdd1ca;--muted:#8f9b97;--faint:#5f6b68;--accent:#4fd1a5;--accent-rgb:79, 209, 165;--accent-hover:#72dcb8;--accent-dark:#1f4a3d;--accent-ink:#0f1f19;--accent-soft:rgba(var(--accent-rgb), .12);--accent-glow:rgba(var(--accent-rgb), .32);--forest:#1f4a3d;--forest-deep:#13291f;--paper:#f5f3ec;--paper-dim:#eae6d9;--blueprint:#8faac0;--blueprint-rgb:143, 170, 192;--brand-2:#8faac0;--brand-2-ink:#a9c0d2;--brand-grad:linear-gradient(135deg, #4fd1a5, #34b48a);--pic-surface:radial-gradient(circle at 50% 42%, #2a3739 0%, #1b2426 55%, #161d1f 100%);--pic-shadow:drop-shadow(0 6px 10px #00000047);--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk Variable", "Space Grotesk", var(--font);--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--grid-line:rgba(var(--blueprint-rgb), .06);--danger:#e5534b;--danger-soft:#e5534b1f;--ok:#7ccf6a;--ok-soft:#7ccf6a24;--warn:#e3b341;--warn-soft:#e3b3411f;--glass:#12181ad1;--glass-strong:#12181aeb;--glass-line:#ffffff14;--r-sm:8px;--r:10px;--r-lg:14px;--r-xl:16px;--shadow:0 20px 60px #00000073;--shadow-sm:0 6px 20px #00000059;--ease:cubic-bezier(.2, .8, .2, 1);--t:.16s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;user-select:none;overflow:hidden}body[data-mode=project]{background:0 0}body.dragging,body.dragging *{cursor:grabbing!important}input,textarea,select{user-select:text;font-family:inherit}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option{color:#f5f3ec;background:#1b2426}button{font:inherit;color:inherit}::selection{background:var(--accent-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line2);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}svg{flex:none}.glass{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid var(--glass-line);box-shadow:var(--shadow-sm)}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.spacer{flex:1}.grow{flex:1;min-width:0}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack{flex-direction:column;gap:14px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.divider{background:var(--line);height:1px;margin:2px 0}.section-title{align-items:center;gap:8px;font-weight:600;display:flex}.section-title svg{width:16px;height:16px;color:var(--accent)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em}.eyebrow{font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow.accent{color:var(--accent)}.brand{align-items:center;gap:10px;display:flex}.logo{color:var(--ink);align-items:center;gap:11px;display:inline-flex}.wordmark{fill:currentColor;display:block}.logo-mark{flex:none;display:block;overflow:visible}.logo-mark .lm-tile{fill:var(--forest-deep)}.logo-mark .lm-face,.logo-mark .lm-leaf{fill:var(--accent)}.logo-mark .lm-side{fill:#2c9c78}.logo-mark .lm-arc{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:.112 .136;opacity:.9}.logo-mark .lm-leaf{transform-box:view-box;transform-origin:35.8px 38.5px}.logo-mark.animated .lm-side{animation:lm-rise 2.6s var(--ease) infinite alternate}.logo-mark.animated .lm-leaf{animation:lm-door 2.6s var(--ease) infinite alternate}.logo-mark.animated .lm-arc{animation:lm-arc 2.6s var(--ease) infinite alternate}@keyframes lm-rise{0%,15%{opacity:0;transform:translate(-3.5px,-3.5px)}60%,to{opacity:1;transform:none}}@keyframes lm-door{0%,25%{transform:rotate(-90deg)}75%,to{transform:none}}@keyframes lm-arc{0%,30%{opacity:0}80%,to{opacity:.9}}.logo-glow{filter:drop-shadow(0 8px 24px rgba(var(--accent-rgb), .22))}.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.75;transform:scale(.94)}}.btn{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;white-space:nowrap;height:36px;transition:background var(--t), border-color var(--t), color var(--t), box-shadow var(--t), transform var(--t);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:hover{background:var(--panel3);border-color:var(--line2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 18px;font-weight:600}.btn.primary.icon{padding:0}.btn.primary:hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow)}.btn.success{background:var(--ok);border-color:var(--ok);color:#0f2410;font-weight:600}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover,.btn.ghost.on{background:#ffffff0f}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn.danger-solid:hover{filter:brightness(1.1)}.btn.sm{border-radius:var(--r-sm);height:30px;padding:0 10px;font-size:12.5px}.btn.lg{height:44px;font-size:14.5px}.btn.block{width:100%}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}.btn.xs.icon{border-radius:6px;width:24px;height:24px}.btn.xs svg{width:14px;height:14px}.btn:where(:not(.icon)){white-space:normal;text-align:center;overflow-wrap:break-word;height:auto;min-height:36px;line-height:1.2}.btn.sm:where(:not(.icon)){height:auto;min-height:30px;padding-top:4px;padding-bottom:4px}.btn.lg:where(:not(.icon)){height:auto;min-height:44px}.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.link:hover{text-decoration:underline}.link:disabled{opacity:.5}.input{width:100%;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r);font:inherit;transition:border-color var(--t), box-shadow var(--t), background var(--t);background:#ffffff08;outline:none;padding:0 12px;font-size:13.5px}.input::placeholder{color:var(--faint)}.input:hover{border-color:var(--line2)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#ffffff0d}.input.invalid{border-color:var(--danger)}.input.sm{border-radius:var(--r-sm);height:32px;font-size:13px}.input.lg{height:44px;font-size:14.5px}.input[readonly]{color:var(--muted)}.input-icon,.search{align-items:center;display:flex;position:relative}.input-icon>svg,.search>svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;left:13px}.input-icon .input,.search .input{padding-left:38px}.input-icon:has(.input-action) .input{padding-right:40px}.search:has(.input-action) .input{padding-right:34px}.input-action{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;display:grid;position:absolute;right:6px}.input-action:hover{color:var(--ink);background:#ffffff0f}.input-action svg{width:16px;height:16px}.search .input-action{width:24px;height:24px;right:5px}.search .input-action svg{width:14px;height:14px}.code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;font-family:ui-monospace,JetBrains Mono,monospace;font-size:18px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:12px;font-weight:500}.field-error{color:var(--danger);font-size:12px}.field-hint{color:var(--faint);font-size:12px}.form-error{border-radius:var(--r);background:var(--danger-soft);color:#ff8a83;animation:fade-in var(--t);border:1px solid #e5534b4d;padding:10px 12px;font-size:13px}.check{cursor:pointer;color:var(--ink2);align-items:center;gap:9px;font-size:13.5px;display:inline-flex}.check input{opacity:0;pointer-events:none;position:absolute}.check-box{border:1.5px solid var(--line2);width:18px;height:18px;transition:background var(--t), border-color var(--t);border-radius:5px;place-items:center;display:grid}.check input:checked+.check-box{background:var(--accent);border-color:var(--accent)}.check input:checked+.check-box:after{content:"";border:2px solid var(--accent-ink);border-top:0;border-right:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.check input:focus-visible+.check-box{box-shadow:0 0 0 3px var(--accent-soft)}.segmented{border-radius:var(--r);border:1px solid var(--glass-line);background:#ffffff0a;flex-wrap:wrap;gap:2px;max-width:100%;padding:3px;display:inline-flex}.segmented button{cursor:pointer;min-height:30px;color:var(--muted);transition:background var(--t), color var(--t);text-align:center;white-space:normal;overflow-wrap:break-word;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.segmented button svg{width:15px;height:15px}.segmented button:hover{color:var(--ink)}.segmented button.on{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .3)}.segmented.sm button{min-height:28px;padding:3px 8px;font-size:12.5px}.segmented.icons{display:flex}.segmented.icons button{flex-direction:column;gap:4px;height:auto;padding:7px 4px 6px;font-size:11.5px}.badge{height:22px;color:var(--ink2);border:1px solid var(--glass-line);backdrop-filter:blur(8px);background:#12181abf;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.accent{color:var(--accent);border-color:rgba(var(--accent-rgb), .35)}.badge.violet,.badge.brand2{color:var(--brand-2-ink);border-color:rgba(var(--blueprint-rgb), .45)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips.scroll-x{scrollbar-width:none;flex-wrap:nowrap;padding:0 16px 10px;overflow-x:auto}.chips.scroll-x::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);height:28px;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:all var(--t);background:#ffffff08;border-radius:999px;padding:0 12px;font-size:12.5px}.chip:hover{border-color:var(--line2);color:var(--ink)}.chip.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .4);color:var(--accent)}.skeleton{border-radius:var(--r);background:linear-gradient(90deg,#ffffff08 0%,#ffffff12 50%,#ffffff08 100%) 0 0/200% 100%;min-height:120px;animation:1.3s ease-in-out infinite shimmer}.skeleton.tall{border-radius:var(--r-lg);min-height:220px}.cat-grid .skeleton{min-height:86px}.share-code.skeleton{min-height:60px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;font-size:13px;animation:.2s fade-in;display:flex}.empty b{color:var(--ink);font-size:14.5px;font-weight:600}.empty .btn{margin-top:8px}.empty-icon{background:var(--forest-deep);width:52px;height:52px;color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .18);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.empty-icon svg{width:24px;height:24px}.empty.error b{color:#ff8a83}.img{opacity:0;transition:opacity .25s}.img.loaded{opacity:1}.img-fallback{color:var(--faint);place-items:center;display:grid}.menu-wrap{position:relative}.menu{z-index:60;border-radius:var(--r-lg);background:var(--glass-strong);min-width:200px;box-shadow:var(--shadow);animation:pop-in var(--t) var(--ease);padding:6px;position:absolute;top:calc(100% + 8px)}.menu.right{right:0}.menu.left{left:0}.menu-item{border-radius:var(--r-sm);cursor:pointer;text-align:left;width:100%;height:36px;color:var(--ink2);transition:background var(--t), color var(--t);background:0 0;border:none;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;display:flex}.menu-item svg{width:16px;height:16px;color:var(--muted)}.menu-item:hover{color:var(--ink);background:#ffffff0f}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-sep{background:var(--line);height:1px;margin:6px 4px}.menu-head{align-items:center;gap:10px;min-width:240px;padding:8px 10px;display:flex}.menu-head>div{flex-direction:column;min-width:0;display:flex}.avatar-btn{cursor:pointer;transition:box-shadow var(--t);background:0 0;border:none;border-radius:50%;padding:2px}.avatar-btn:hover,.avatar-btn.open{box-shadow:0 0 0 2px var(--accent-soft), 0 0 0 1px var(--accent)}.avatar{background:linear-gradient(135deg, var(--accent-dark), var(--forest-deep));width:32px;height:32px;color:var(--accent);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:grid}.avatar.lg{width:40px;height:40px;font-size:14px}.modal-backdrop{z-index:100;backdrop-filter:blur(3px);background:#060a0a8c;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.modal{border-radius:var(--r-xl);background:var(--glass-strong);max-width:100%;max-height:calc(100vh - 40px);box-shadow:var(--shadow);animation:pop-in .18s var(--ease);flex-direction:column;display:flex}.modal-head{align-items:center;gap:12px;padding:18px 18px 6px 22px;display:flex}.modal-head h3{flex:1;margin:0;font-size:17px;font-weight:600}.modal-body{padding:10px 22px 20px;overflow-y:auto}.modal-body p{margin:0 0 14px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 22px 18px;display:flex}.toasts{z-index:200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}body[data-mode=project] .toasts{align-items:center;inset:76px auto auto 50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--r-lg);background:var(--glass-strong);min-width:260px;max-width:420px;animation:slide-up .2s var(--ease);align-items:center;gap:10px;padding:10px 8px 10px 14px;font-size:13.5px;display:flex}.toast>svg{width:18px;height:18px;color:var(--accent)}.toast span{flex:1}.toast.error>svg{color:var(--danger)}.toast.error{border-color:#e5534b59}.toast.success>svg{color:var(--ok)}.progress-track{background:#ffffff14;border-radius:99px;flex:1;height:6px;position:relative;overflow:hidden}.progress-track.wide{flex:none;width:100%}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width .3s var(--ease);border-radius:99px}.progress-fill.indeterminate{width:35%;animation:1.2s ease-in-out infinite indet;position:absolute}@keyframes indet{0%{left:-35%}to{left:100%}}.splash{background:var(--bg);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}body[data-mode=project] .splash{background:0 0}.auth-screen{background:radial-gradient(1200px 700px at 15% -10%, rgba(var(--accent-rgb), .14), transparent 60%), radial-gradient(900px 600px at 110% 110%, rgba(var(--blueprint-rgb), .12), transparent 60%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, var(--bg);grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.auth-glow{filter:blur(90px);opacity:.35;pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute}.auth-glow.a{background:var(--accent);animation:14s ease-in-out infinite alternate drift;top:8%;left:18%}.auth-glow.b{background:var(--forest);animation:18s ease-in-out infinite alternate-reverse drift;bottom:6%;right:16%}@keyframes drift{to{transform:translate(60px,40px)scale(1.1)}}.auth-card{width:400px;max-width:100%;box-shadow:var(--shadow);animation:pop-in .24s var(--ease);background:#12181ac7;border-radius:20px;padding:30px 30px 26px;position:relative}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.auth-brand .logo{flex:1}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-head{margin-bottom:6px;position:relative}.auth-head h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600}.auth-head p{margin:4px 0 0;font-size:13.5px}.auth-head .back{position:absolute;top:-2px;right:0}.auth-foot{text-align:center;color:var(--muted);margin-top:6px;font-size:13.5px}.steps-dots{gap:6px;margin-bottom:4px;display:flex}.google-btn{justify-content:center;min-height:44px;display:flex}.auth-or{color:var(--muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.auth-form.signup{gap:10px}.auth-form .field-label{color:var(--muted);margin-top:4px;font-size:12.5px}.seg-wrap{flex-wrap:wrap;gap:6px;display:flex}.seg-btn{border:1px solid var(--line);color:var(--ink2);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px;font-size:13px}.seg-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.plan-list{flex-direction:column;gap:6px;max-height:210px;display:flex;overflow-y:auto}.plan-opt{border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex;position:relative}.plan-opt.on{border-color:var(--accent);background:var(--accent-soft)}.plan-opt input{opacity:0;pointer-events:none;position:absolute}.plan-opt-head{justify-content:space-between;gap:10px;font-size:14px;display:flex}.plan-opt-sub{color:var(--muted);font-size:12.5px}.auth-form .check{align-items:flex-start;line-height:1.45}.auth-form .check .check-box{flex:none;margin-top:1px}.cab-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.cab-tab{border:1px solid var(--line);color:var(--ink2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;display:inline-flex}.cab-tab svg{width:15px;height:15px}.cab-tab.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cab-card{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.cab-plan{font-size:17px}.cab-status{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px}.cab-status.past_due,.cab-status.expired,.cab-status.canceled{color:#ff9a80;background:#ff785a24}.cab-facts{color:var(--ink2);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.plan-list.tall{max-height:360px}.plan-opt .btn.sm{align-self:flex-start;margin-top:6px}.backup-codes{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.backup-codes code,.secret{background:var(--panel2);border-radius:8px;padding:6px 8px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:13px}.secret{word-break:break-all;align-self:center}.qr{background:#fff;border-radius:10px}.steps-dots .dot{background:var(--line);border-radius:4px;flex:1;height:4px;transition:background .25s}.steps-dots .dot.on{background:var(--accent)}.launcher{background:radial-gradient(1000px 500px at 80% -20%, rgba(var(--accent-rgb), .08), transparent 60%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.launcher-top{border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#12181acc;flex:none;align-items:center;gap:14px;height:64px;padding:0 28px;display:flex}.launcher-main{flex:1;padding:28px clamp(20px,4vw,56px) 48px;overflow-y:auto}.hero-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:30px;display:grid}.hero-card{text-align:left;cursor:pointer;border-radius:var(--r-xl);border:1px solid var(--line);background:var(--panel);transition:transform var(--t) var(--ease), border-color var(--t), background var(--t), box-shadow var(--t);align-items:center;gap:14px;padding:18px;display:flex}.hero-card:hover{border-color:var(--line2);background:var(--panel2);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.hero-card>div{flex-direction:column;gap:2px;min-width:0;display:flex}.hero-card b{font:600 15.5px/1.3 var(--font-display)}.hero-card span{color:var(--muted);font-size:12.5px}.hero-icon{background:var(--forest-deep);width:44px;height:44px;color:var(--accent);border-radius:13px;flex:none;place-items:center;display:grid}.hero-icon svg{width:21px;height:21px}.hero-card.primary .hero-icon{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 18px var(--accent-glow)}.hero-card.ai{background:linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(var(--blueprint-rgb), .12));border-color:rgba(var(--accent-rgb), .28)}.hero-card.ai:hover{border-color:rgba(var(--accent-rgb), .55)}.hero-card.ai .hero-icon{background:var(--forest);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .25)}.toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.toolbar .search{width:280px;max-width:100%}.tabs{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.tab{height:34px;color:var(--muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:500;display:inline-flex}.tab svg{width:16px;height:16px}.tab:hover{color:var(--ink)}.tab.on{background:var(--panel3);color:var(--ink)}.tab.on svg{color:var(--accent)}.tab .count{color:var(--muted);background:#ffffff0f;border-radius:99px;padding:1px 7px;font-size:11px}.tab.on .count{background:var(--accent-soft);color:var(--accent)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.project-card{border-radius:var(--r-xl);background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:transform var(--t) var(--ease), border-color var(--t), box-shadow var(--t);outline:none;flex-direction:column;animation:.22s fade-in;display:flex}.project-card:hover,.project-card:focus-visible{border-color:rgba(var(--accent-rgb), .45);transform:translateY(-3px);box-shadow:0 14px 34px #0006}.project-card.opening{border-color:var(--accent)}.project-card{position:relative}.crash-card{z-index:1000;border-radius:var(--r-xl);text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;padding:20px 24px;display:flex;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.project-card:focus-within{z-index:20}.thumb{aspect-ratio:16/10;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--bg2);position:relative;overflow:hidden}.thumb>img,.thumb>.img-fallback{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease), opacity .25s}.project-card:hover .thumb>img{transform:scale(1.04)}.thumb .badge{position:absolute;top:10px;left:10px}.thumb-placeholder{width:100%;height:100%;color:rgba(var(--accent-rgb), .55);background:radial-gradient(circle at 30% 20%, rgba(var(--accent-rgb), .16), transparent 55%), linear-gradient(#ffffff09 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, #ffffff09 1px, transparent 1px) 0 0 / 22px 22px, var(--bg2);place-items:center;display:grid}.thumb-placeholder svg{width:38px;height:38px}.thumb-overlay{color:var(--accent);background:#12181ab3;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.card-body{align-items:center;gap:8px;padding:12px 10px 12px 14px;display:flex}.card-body>div:first-child{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-body b{font-weight:600}.share-code{border-radius:var(--r-lg);background:var(--bg2);border:1px dashed var(--line2);align-items:center;gap:10px;min-height:60px;padding:10px 10px 10px 18px;display:flex}.share-code code{letter-spacing:.2em;color:var(--accent);user-select:all;flex:1;font:600 22px/1 ui-monospace,JetBrains Mono,monospace}.hud{pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.dev-viewport{z-index:-1;color:#4f5c5a;letter-spacing:.05em;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/48px 48px,radial-gradient(#1b2426 0%,#0b1011 75%);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex;position:fixed;inset:0;pointer-events:none!important}.dev-viewport svg{opacity:.6;width:56px;height:56px}.dev-viewport small{color:#36413f;font-family:ui-monospace,monospace;font-size:11px}.hud-top{border-radius:var(--r-xl);z-index:20;height:54px;animation:slide-down .26s var(--ease);align-items:center;gap:8px;padding:0 10px 0 6px;display:flex;position:absolute;top:12px;left:12px;right:12px}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}}.back-btn{gap:4px;padding:0 8px 0 4px}.back-btn>svg{width:18px;height:18px;color:var(--muted)}.name-edit{align-items:center;gap:8px;min-width:0;display:flex;position:relative}.name-input{border-radius:var(--r-sm);width:260px;max-width:30vw;height:34px;color:var(--ink);font:600 15px var(--font);text-overflow:ellipsis;transition:background var(--t), border-color var(--t);background:0 0;border:1px solid #0000;outline:none;padding:0 10px}.name-input:hover{background:#ffffff0a}.name-input:focus{border-color:var(--accent);background:#ffffff0d}.hud-top .segmented{flex-wrap:nowrap;flex:none}.hud-top .segmented button{white-space:nowrap}.dirty-dot{background:var(--warn);width:8px;height:8px;box-shadow:0 0 0 3px var(--warn-soft);border-radius:50%;flex:none}.rail{z-index:15;border-radius:var(--r-xl);animation:slide-right .26s var(--ease);flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:78px;left:12px}@keyframes slide-right{0%{opacity:0;transform:translate(-10px)}}.rail-btn{width:64px;color:var(--muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:9px 2px 7px;font-size:10.5px;font-weight:500;display:flex}.rail-btn svg{width:20px;height:20px}.rail-btn:hover{background:rgba(var(--accent-rgb), .1);color:var(--accent)}.rail-btn.on{background:var(--accent-soft);color:var(--accent)}.side-panel{z-index:14;border-radius:var(--r-xl);opacity:0;visibility:hidden;pointer-events:none;width:360px;transition:opacity .18s var(--ease), transform .2s var(--ease), visibility 0s linear .2s;flex-direction:column;display:flex;position:absolute;top:78px;bottom:12px;left:96px;overflow:hidden;transform:translate(-16px)}.hud>.side-panel{pointer-events:none}.hud>.side-panel.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s var(--ease), transform .2s var(--ease), visibility 0s;transform:none}.panel-head{align-items:center;padding:14px 12px 8px 18px;display:flex}.panel-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:16px;font-weight:600;overflow:hidden}.panel-tools{align-items:center;gap:6px;padding:4px 16px 10px;display:flex}.panel-scroll{flex-direction:column;flex:1;gap:12px;padding:4px 16px 16px;display:flex;overflow-y:auto}.panel-subhead{justify-content:space-between;align-items:baseline;display:flex}.panel-subhead b{font-weight:600}.panel-hint{color:var(--faint);border-top:1px solid var(--glass-line);text-align:center;padding:10px 16px;font-size:11.5px}.mode-banner{border-radius:var(--r);background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb), .3);color:var(--ink2);animation:fade-in var(--t);align-items:center;gap:8px;margin:0 16px 10px;padding:8px 6px 8px 12px;font-size:13px;display:flex}.mode-banner>svg{width:16px;height:16px;color:var(--accent)}.mode-banner span{flex:1}.cat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cat-card{border-radius:var(--r-lg);border:1px solid var(--glass-line);cursor:pointer;text-align:center;height:92px;color:var(--ink2);transition:all var(--t) var(--ease);background:#ffffff08;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 6px;font-size:12px;display:flex}.cat-card span{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.cat-card:hover{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .35);color:var(--ink);transform:translateY(-1px)}.cat-img{object-fit:contain;width:34px;height:34px}.cat-icon{width:26px;height:26px;color:var(--accent)}.cat-card .img-fallback{width:34px;height:34px}.tile-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tile-grid.three{grid-template-columns:repeat(3,1fr)}.tile-grid .skeleton{min-height:150px}.tile-grid.three .skeleton{min-height:110px}.tile{border-radius:var(--r-lg);cursor:grab;touch-action:none;border:1px solid var(--glass-line);transition:transform var(--t) var(--ease), border-color var(--t), background var(--t);background:#ffffff08;flex-direction:column;animation:.2s fade-in;display:flex;position:relative;overflow:hidden}.tile:hover{border-color:rgba(var(--accent-rgb), .45);background:#ffffff0d;transform:translateY(-1px)}.tile:active{cursor:grabbing}.tile-img{aspect-ratio:4/3;background:var(--pic-surface);place-items:center;display:grid;position:relative;overflow:hidden}.tile-img.square{aspect-ratio:1}.tile-img>img{object-fit:contain;pointer-events:none;box-sizing:border-box;width:100%;height:100%;padding:6%;position:absolute;inset:0}.material-tile .tile-img>img{object-fit:cover;padding:0}.tile-img>.img-fallback{width:100%;height:100%}.tile-fallback{width:26px;height:26px;color:var(--faint)}.tile-body{flex-direction:column;gap:2px;min-width:0;padding:7px 9px 8px;display:flex}.tile-name{overflow-wrap:break-word;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.tile-meta{color:var(--muted);white-space:nowrap;justify-content:space-between;gap:6px;font-size:11px;display:flex}.tile-meta b{color:var(--accent);font-weight:600}.material-tile .tile-body{padding:6px 8px}.heart{backdrop-filter:blur(6px);width:28px;height:28px;color:var(--ink2);cursor:pointer;opacity:0;transition:opacity var(--t), transform var(--t), color var(--t);background:#12181a99;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.heart svg{width:15px;height:15px}.tile:hover .heart,.heart.on{opacity:1}.heart:hover{color:#ff6b81;transform:scale(1.1)}.heart.on{color:#ff6b81}.heart.on svg{fill:currentColor}.drag-ghost{z-index:300;width:200px;box-shadow:var(--shadow);border-color:rgba(var(--accent-rgb), .5);border-radius:12px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:12.5px;font-weight:500;transition:opacity .15s;display:flex;position:fixed;top:0;left:0;pointer-events:none!important}.drag-ghost img,.drag-ghost .ghost-icon{object-fit:cover;background:var(--panel2);border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.drag-ghost .ghost-icon svg{width:20px;height:20px;color:var(--accent)}.drag-ghost.handed{opacity:0}.inspector{z-index:16;border-radius:var(--r-xl);width:300px;max-height:calc(100vh - 90px);animation:slide-up .2s var(--ease);flex-direction:column;gap:12px;padding:12px;display:flex;position:absolute;bottom:12px;right:12px;overflow-y:auto}.insp-head{align-items:center;gap:10px;display:flex}.insp-head b{flex:1;font-weight:600}.insp-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.insp-icon svg{width:16px;height:16px}.insp-meta{flex-wrap:wrap;gap:6px;display:flex}.insp-meta span{color:var(--muted);background:#ffffff0d;border-radius:99px;padding:3px 8px;font-size:11.5px}.insp-actions{gap:4px;display:flex}.insp-action{border-radius:var(--r);border:1px solid var(--glass-line);cursor:pointer;color:var(--ink2);transition:all var(--t);background:#ffffff08;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 2px 6px;font-size:10.5px;display:flex}.insp-action svg{width:17px;height:17px}.insp-action:hover{color:var(--ink);border-color:var(--line2);background:#ffffff12}.insp-action.danger{color:var(--danger)}.insp-action.danger:hover{background:var(--danger-soft);border-color:#e5534b80}.insp-block{flex-direction:column;gap:6px;display:flex}.insp-label{color:var(--muted);font-size:11.5px;font-weight:500}.slots{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.slot{border-radius:var(--r);border:1px solid var(--glass-line);cursor:pointer;color:var(--ink2);min-width:0;transition:border-color var(--t);background:0 0;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:10.5px;display:flex}.slot:hover{border-color:var(--accent)}.slot .ellipsis{max-width:100%}.swatch{object-fit:cover;border-radius:8px;width:36px;height:36px}.slot .img-fallback{background:#ffffff0d;border-radius:8px;width:36px;height:36px}.slot .img-fallback svg{width:14px;height:14px}.sash{fill:none;stroke:currentColor;stroke-width:1.5px}.sash .sill{stroke-width:2.5px}.swing-icon{flex:none;overflow:visible}.swing-icon .wall{fill:currentColor;opacity:.55}.swing-icon .leaf{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.swing-icon .arc{fill:none;stroke:currentColor;stroke-width:1px;stroke-dasharray:2 2;opacity:.7}.swing-state{border-radius:var(--r);border:1px solid var(--glass-line);background:#ffffff08;flex-direction:column;align-items:center;gap:2px;padding:6px 32px;display:flex;position:relative}.swing-state .swing-icon{color:var(--accent)}.swing-room{max-width:100%;font-size:11px}.swing-room.into{color:var(--ink);font-weight:600}.swing-flip{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.door-swing .segmented button{min-width:0}.segmented button svg.swing-icon{width:30px;height:23px}.swing-state svg.swing-icon{width:54px;height:42px}.slider{flex-direction:column;gap:8px;display:flex}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-head b{font-variant-numeric:tabular-nums;color:var(--accent);font-size:12.5px}.slider input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(90deg, var(--accent) var(--pct), #ffffff1a var(--pct));border-radius:99px;outline:none;width:100%;height:6px;margin:0}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--accent);width:18px;height:18px;transition:transform var(--t);background:#fff;border-radius:50%;box-shadow:0 2px 8px #0006}.slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.plan-flow{flex-direction:column;gap:14px;display:flex}.stepper{gap:4px;margin:0;padding:0;list-style:none;display:flex}.stepper li{text-align:center;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.stepper li:not(:first-child):before{content:"";background:var(--line);border-radius:2px;height:2px;transition:background .3s;position:absolute;top:12px;left:calc(16px - 50%);right:calc(50% + 16px)}.stepper li.done:before,.stepper li.active:before{background:var(--accent)}.step-dot{background:var(--panel2);border:1.5px solid var(--line2);width:26px;height:26px;color:var(--muted);border-radius:50%;place-items:center;font-size:11.5px;font-weight:600;transition:all .25s;display:grid}.step-dot svg{width:14px;height:14px}.stepper li.active .step-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.stepper li.done .step-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stepper li.fail .step-dot{background:var(--danger);border-color:var(--danger);color:#fff}.step-label{color:var(--muted);font-size:11px;line-height:1.2}.stepper li.active .step-label,.stepper li.done .step-label{color:var(--ink2)}.compact .step-label{font-size:10px}.dropzone{text-align:center;border-radius:var(--r-lg);border:1.5px dashed var(--line2);cursor:pointer;min-height:190px;transition:border-color var(--t), background var(--t);background:#ffffff05;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px;display:flex}.dropzone:hover,.dropzone:focus-visible,.dropzone.hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone b{max-width:100%}.dz-icon-wrap{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.dz-icon-wrap svg{width:24px;height:24px}.dz-icon{width:36px;height:36px;color:var(--accent)}.dz-preview{object-fit:contain;background:#fff;border-radius:8px;max-width:100%;max-height:150px}.plan-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.plan-options .segmented{display:flex}.plan-wait{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.scan{border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--glass-line);place-items:center;width:100%;height:180px;display:grid;position:relative;overflow:hidden}.scan img{object-fit:contain;opacity:.55;filter:grayscale(.4);max-width:100%;max-height:100%}.scan-icon{width:40px;height:40px;color:var(--faint)}.scan-line{background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .35), transparent);border-bottom:2px solid var(--accent);height:40px;animation:2s ease-in-out infinite scan;position:absolute;top:-40px;left:0;right:0}@keyframes scan{to{top:100%}}.plan-preview{border-radius:var(--r-lg);border:1px solid var(--glass-line);background:#0d1314;position:relative;overflow:hidden}.plan-preview svg{width:100%;height:260px;display:block}.compact .plan-preview svg{height:220px}.plan-preview>img{object-fit:contain;opacity:.35;pointer-events:none;width:100%;height:calc(100% - 34px);position:absolute;top:0;left:0}.pp-room{fill:rgba(var(--accent-rgb), .1);stroke:rgba(var(--accent-rgb), .25);stroke-width:2px}.pp-balcony{fill:rgba(var(--blueprint-rgb), .12);stroke:rgba(var(--blueprint-rgb), .45);stroke-width:2px;stroke-dasharray:8 6}.pp-wall{stroke:#dfe6ee;stroke-linecap:square}.pp-wall.partition{stroke:#9aa6b4}.pp-door{stroke:#e3b341;stroke-linecap:butt}.pp-gap{stroke:#0d1314;stroke-linecap:butt}.pp-slide{stroke:#e3b341;stroke-linecap:butt}.pp-window{stroke:var(--accent);stroke-linecap:butt}.pp-label{fill:var(--ink2);font-family:var(--font);paint-order:stroke;stroke:#0d1314;stroke-width:6px;font-weight:600}.pp-area{fill:var(--muted);font-weight:400}.pp-legend{border-top:1px solid var(--glass-line);color:var(--muted);align-items:center;gap:12px;padding:8px 12px;font-size:11.5px;display:flex}.pp-legend span{align-items:center;gap:6px;display:inline-flex}.pp-legend i{border-radius:2px;width:14px;height:4px;display:inline-block}.pp-legend .link{margin-left:auto}.lg-wall{background:#dfe6ee}.lg-door{background:#e3b341}.lg-window{background:var(--accent)}.plan-stats{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;display:grid}.plan-stats div{border-radius:var(--r);background:#ffffff0a;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.plan-stats b{font-size:15px;font-weight:650}.plan-stats span{color:var(--muted);font-size:10.5px}.plan-done{border-radius:var(--r);background:var(--ok-soft);color:var(--ok);justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.plan-done svg{width:18px;height:18px}.plan-error{flex-direction:column;gap:10px;display:flex}.plan-job-head{align-items:center;gap:8px;min-width:0;margin:-4px 0 -4px -6px;display:flex}.plan-job-head .btn svg{width:15px;height:15px}.plan-wait-meta{justify-content:space-between;gap:10px;width:100%;min-width:0;display:flex}.tabular{font-variant-numeric:tabular-nums}.plan-warn{border-radius:var(--r);background:var(--warn-soft);color:var(--warn);text-align:left;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.plan-warn svg{flex:none;width:15px;height:15px}.plan-cancelled{border-radius:var(--r);color:var(--muted);background:#ffffff0a;align-items:center;gap:8px;padding:10px 12px;display:flex}.plan-cancelled svg{width:16px;height:16px}.plan-jobs{border-top:1px solid var(--glass-line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.plan-jobs-head{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.plan-jobs ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.plan-job{border-radius:var(--r);cursor:pointer;transition:background var(--t), border-color var(--t);background:#ffffff08;border:1px solid #0000;outline:none;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.plan-job:hover,.plan-job:focus-visible{background:#ffffff0f}.plan-job.on{border-color:rgba(var(--accent-rgb), .4);background:var(--accent-soft)}.pj-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pj-label{color:var(--ink2);font-size:13px;font-weight:550}.pj-sub{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.pj-actions{flex:none;align-items:center;gap:4px;display:flex}.plan-job .btn.xs:not(.icon),.plan-chip .btn.xs:not(.icon){border-radius:6px;gap:4px;height:24px;padding:0 8px;font-size:12px}.pj-glyph{flex:none}.pj-glyph.done{color:var(--ok)}.pj-glyph.failed{color:var(--danger)}.pj-glyph.cancelled{color:var(--muted)}.progress-ring{flex:none}.progress-ring .pr-track{fill:none;stroke:#ffffff1f;stroke-width:3px}.progress-ring .pr-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .4s var(--ease)}.progress-ring.spinning{animation:1.1s linear infinite spin}.plan-chips{flex:none;align-items:center;gap:6px;display:flex}.hud-top:has(.plan-chips) .name-input{width:200px}.plan-chip{border:1px solid var(--glass-line);height:30px;color:var(--ink2);animation:fade-in var(--t);background:#ffffff0a;border-radius:99px;flex:none;align-items:center;gap:4px;padding:0 4px 0 2px;font-size:12.5px;display:inline-flex}.plan-chip.ready{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .35)}.plan-chip.more{cursor:pointer;color:var(--muted);padding:0 10px}.plan-chip-main{height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:99px;align-items:center;gap:6px;padding:0 8px 0 4px;display:inline-flex}.plan-chip-main:hover{color:var(--accent)}.plan-chip .pc-meta{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.plan-chip.ready .btn.xs{border-radius:99px}.warn-row{border-radius:var(--r);background:var(--warn-soft);color:var(--warn);align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.warn-row svg{width:15px;height:15px;margin-top:1px}.est-toolbar{align-items:center;gap:8px;padding:2px 16px 10px;display:flex}.est-cur{flex:1}.est-cur button{font-family:var(--font-mono);letter-spacing:.02em;padding:0 6px;font-size:12px}.est-toolbar .btn.icon svg{width:16px;height:16px}.est-scroll{gap:8px}.est-skel{border-radius:var(--r);height:64px}.est-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.est-row{border-bottom:1px solid var(--glass-line);grid-template-columns:18px 44px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.est-row:last-child{border-bottom:0}.est-no{font-family:var(--font-mono);color:var(--faint);text-align:right;padding-top:3px;font-size:11px}.est-thumb{border-radius:var(--r-sm);background:var(--paper);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--glass-line);place-items:center;display:grid;overflow:hidden}.est-thumb img{object-fit:contain;width:100%;height:100%}.est-thumb svg{width:18px;height:18px;color:var(--faint)}.est-thumb.empty{background:#ffffff0a}.est-main{flex-direction:column;gap:2px;min-width:0;display:flex}.est-name{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.est-link{all:unset;cursor:pointer}.est-link:hover{color:var(--accent)}.est-link svg{vertical-align:-1px;opacity:.6;width:11px;height:11px}.est-meta{color:var(--muted);flex-wrap:wrap;gap:2px 8px;font-size:11.5px;display:flex}.est-meta .mono{font-family:var(--font-mono);color:var(--ink2);font-size:11px}.est-price{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:12px}.est-old{color:var(--faint);margin-left:6px}.est-disc{color:var(--accent);margin-left:6px;font-style:normal;font-weight:600}.est-orig{color:var(--faint);font-size:11px;display:block}.est-total{font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:1px;font-size:13px;font-weight:700}.est-note{color:var(--muted);font-size:11.5px;line-height:1.4}.est-note.warn{color:var(--warn)}.est-footer{border-top:1px solid var(--glass-line);background:linear-gradient(180deg, rgba(var(--accent-rgb), .05), rgba(var(--accent-rgb), 0));flex-direction:column;gap:8px;padding:12px 16px 16px;display:flex}.est-sum{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.est-sum>div{flex-direction:column;gap:1px;min-width:0;display:flex}.est-sum-label{color:var(--ink2);font-size:12px}.est-sum small{font-size:11.5px}.est-sum b{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:24px;font-weight:700}@media (max-width:1100px){.hide-sm{display:none}.name-input{width:180px}}.opening-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opening-row>:nth-child(odd):last-child{grid-column:1/-1}.opening-tile{flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.opening-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.opening-icon svg{width:18px;height:18px}.insp-hint{color:var(--faint);align-items:center;gap:6px;font-size:11.5px;display:flex}.insp-hint svg{width:13px;height:13px}.faint{color:var(--faint)}.accent-num{color:var(--accent);font-variant-numeric:tabular-nums}.chip{align-items:center;gap:6px;display:inline-flex}.chip svg{width:14px;height:14px}.chip-sub{color:var(--faint);font-variant-numeric:tabular-nums;font-size:10.5px}.chip.on .chip-sub{color:rgba(var(--accent-rgb), .75)}.avatar.sm{width:28px;height:28px;font-size:11px}.menu-item>span{flex:1;align-items:center;gap:10px;display:flex}.menu-item kbd,.menu-item .menu-check{margin-left:auto}kbd{color:var(--faint);border:1px solid var(--line);white-space:nowrap;background:#ffffff08;border-radius:5px;padding:1px 6px;font:500 10.5px ui-monospace,JetBrains Mono,monospace}.menu-item.on{color:var(--accent)}.menu-item.on svg.menu-check{color:var(--accent);width:15px;height:15px}.tooltip{z-index:500;border:1px solid var(--line2);max-width:260px;box-shadow:var(--shadow-sm);color:var(--ink);white-space:pre-line;pointer-events:none;animation:tip-in .12s var(--ease);background:#161c25f7;border-radius:8px;padding:6px 10px;font-size:12px;line-height:1.45;position:fixed;transform:translate(-50%,-100%)}.tooltip.below{transform:translate(-50%)}.tooltip:first-line{font-weight:600}@keyframes tip-in{0%{opacity:0}}.loading-overlay{z-index:400;background:radial-gradient(900px 500px at 50% 35%, rgba(var(--accent-rgb), .09), transparent 65%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, #12181af2;backdrop-filter:blur(10px);place-items:center;animation:.2s fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.lo-glow{filter:blur(110px);opacity:.22;pointer-events:none;border-radius:50%;width:460px;height:460px;position:absolute}.lo-glow.a{background:var(--accent);animation:14s ease-in-out infinite alternate drift;top:10%;left:20%}.lo-glow.b{background:var(--forest);animation:18s ease-in-out infinite alternate-reverse drift;bottom:8%;right:18%}.lo-card{text-align:center;width:min(420px,100vw - 32px);box-shadow:var(--shadow);animation:pop-in .26s var(--ease);background:#1b2426b8;border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:32px 30px 28px;display:flex;position:relative}.lo-card .wordmark{color:var(--ink);margin-top:2px}.lo-card .eyebrow{margin-top:-6px}.lo-label{width:100%;color:var(--ink2);justify-content:space-between;align-items:baseline;gap:10px;min-height:20px;font-size:13.5px;display:flex}.lo-label b{color:var(--accent);font:500 12.5px var(--font-mono)}.lo-track{height:6px}.lo-error{text-align:left;border-radius:var(--r);background:var(--danger-soft);color:#ff9d97;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.lo-error svg{flex:none;width:18px;height:18px;margin-top:1px}.split-btn{display:flex}.split-btn>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .split-more{border-top-left-radius:0;border-bottom-left-radius:0;width:30px;margin-left:1px}.split-btn .split-more svg{width:15px;height:15px}.photo-pill{background:var(--accent-soft);height:30px;color:var(--accent);border:1px solid rgba(var(--accent-rgb), .35);animation:fade-in var(--t);border-radius:99px;align-items:center;gap:6px;padding:0 4px 0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.photo-pill>svg{width:15px;height:15px}.rail-item{flex-direction:column;display:flex}.rail-sep{background:var(--glass-line);height:1px;margin:4px 10px 8px}.dp{flex-direction:column;gap:10px;display:flex}.dp-state{color:var(--muted);place-items:center;padding:40px 0;display:grid}.dp-presets{flex-wrap:wrap;gap:6px;display:flex}.dp-group{border-radius:var(--r-lg);border:1px solid var(--glass-line);background:#ffffff06}.dp-group-head{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;width:100%;color:var(--muted);border-radius:var(--r-lg);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:11.5px;font-weight:600;display:flex}.dp-group-head:hover{color:var(--ink)}.dp-chevron{width:15px;height:15px;transition:transform var(--t);transform:rotate(-90deg)}.dp-group.open .dp-chevron{transform:none}.dp-group-body{animation:fade-in var(--t);flex-direction:column;gap:14px;padding:2px 12px 14px;display:flex}.dp-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.dp-row.col{flex-direction:column;align-items:stretch;gap:6px}.dp-row-hint{flex-basis:100%;margin-top:-4px}.dp-label{color:var(--ink2);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.dp-label svg{width:15px;height:15px;color:var(--accent)}.dp-hint{color:var(--faint);font-size:11px;line-height:1.35}.dp-slider{gap:6px}.dp-slider .slider-head{align-items:center}.dp-seg{display:flex}.dp-seg button{flex:1}.dp-sep{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:4px 2px 0;font-size:11px;font-weight:600}.num-wrap{align-items:center;gap:4px;display:inline-flex}.num-input{border:1px solid var(--line);width:64px;height:26px;color:var(--ink);font:500 12px var(--font);font-variant-numeric:tabular-nums;text-align:right;transition:border-color var(--t), box-shadow var(--t);background:#ffffff08;border-radius:6px;outline:none;padding:0 6px}.num-input:hover{border-color:var(--line2)}.num-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.num-unit{color:var(--muted);min-width:18px;font-size:11.5px}.switch{border:1px solid var(--line2);cursor:pointer;width:36px;height:20px;transition:background var(--t), border-color var(--t);background:#ffffff14;border-radius:99px;flex:none;padding:0;position:relative}.switch-knob{background:var(--ink2);width:14px;height:14px;transition:transform .18s var(--ease), background var(--t);border-radius:50%;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on .switch-knob{background:var(--accent-ink);transform:translate(16px)}.switch:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dropdown-btn{border-radius:var(--r-sm);border:1px solid var(--line);height:32px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--t);background:#ffffff08;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;display:flex}.dropdown-btn:hover,.dropdown-btn.open{border-color:var(--accent)}.dropdown-btn svg{width:15px;height:15px;color:var(--muted);transition:transform var(--t)}.dropdown-btn.open svg{transform:rotate(180deg)}.popover{z-index:260;border-radius:var(--r-lg);background:var(--glass-strong);box-shadow:var(--shadow);animation:pop-in var(--t) var(--ease);max-height:50vh;padding:6px;position:fixed;overflow-y:auto}.popover.menu-pop .menu-item{width:100%}.color-ctl{align-items:center;gap:6px;display:inline-flex}.swatch-btn{border:1px solid var(--line2);cursor:pointer;border-radius:7px;width:26px;height:26px;padding:0;box-shadow:inset 0 0 0 2px #12181a59}.swatch-btn:hover{border-color:var(--accent)}.hex-input{text-align:left;text-transform:uppercase;width:78px;font-family:ui-monospace,JetBrains Mono,monospace}.color-pop{padding:10px;overflow:visible}.cp{flex-direction:column;gap:10px;width:220px;display:flex}.cp-sv{cursor:crosshair;touch-action:none;border-radius:8px;height:140px;position:relative;overflow:hidden}.cp-sv-white{background:linear-gradient(90deg,#fff,#fff0);position:absolute;inset:0}.cp-sv-black{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cp-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 1px #00000080}.cp-hue{appearance:none;cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:99px;outline:none;width:100%;height:10px;margin:0}.cp-hue::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--bg);background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000080}.cp-swatches{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.cp-swatch{aspect-ratio:1;border:1px solid var(--line2);cursor:pointer;transition:transform var(--t);border-radius:6px;padding:0}.cp-swatch:hover{transform:scale(1.08)}.cp-swatch.on{box-shadow:0 0 0 2px var(--accent)}.render-head{flex-direction:column;gap:12px;display:flex}.photo-row{border-radius:var(--r-lg);border:1px solid var(--glass-line);background:#ffffff06;padding:10px 12px}.render-card{border-radius:var(--r-lg);border:1px solid rgba(var(--accent-rgb), .25);background:linear-gradient(135deg, rgba(var(--accent-rgb), .08), rgba(var(--blueprint-rgb), .05));flex-direction:column;gap:10px;padding:12px;display:flex}.custom-res{align-items:center;gap:6px;display:flex}.custom-res .input{text-align:center;width:90px}.custom-res>svg{width:14px;height:14px}.render-busy{flex-direction:column;gap:8px;padding:4px 0;display:flex}.render-busy .row{color:var(--ink2);gap:6px}.render-result{animation:slide-up .2s var(--ease);flex-direction:column;gap:8px;display:flex}.render-preview{border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--glass-line);aspect-ratio:16/9;place-items:center;display:grid;position:relative;overflow:hidden}.render-preview img{object-fit:cover;width:100%;height:100%}.render-preview .badge{background:#12181abf;position:absolute;bottom:8px;left:8px}.render-close{background:#12181a99;position:absolute;top:6px;right:6px}a.btn{text-decoration:none}.toolbar-wrap{z-index:17;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hud>.toolbar-wrap{pointer-events:none}.toolbar-wrap>*{pointer-events:auto}.toolbar{animation:slide-up .26s var(--ease);border-radius:14px;align-items:center;gap:2px;padding:5px;display:flex}.tool-btn{width:38px;height:38px;color:var(--muted);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:10px;place-items:center;display:grid;position:relative}.tool-btn svg{width:19px;height:19px}.tool-btn:hover{background:rgba(var(--accent-rgb), .1);color:var(--accent)}.tool-btn.on{background:var(--accent-soft);color:var(--accent)}.tool-sep{background:var(--glass-line);width:1px;height:22px;margin:0 4px}.tool-count{background:var(--accent);min-width:15px;height:15px;color:var(--accent-ink);border-radius:99px;place-items:center;padding:0 4px;font-size:9.5px;font-weight:700;display:grid;position:absolute;top:3px;right:2px}.toolbar-wrap>.tool-hint{pointer-events:none;color:var(--ink2);border-radius:99px;padding:6px 12px;font-size:12px;animation:.2s fade-in}.measure-pop{border-radius:var(--r-lg);width:260px;animation:slide-up .18s var(--ease);padding:8px}.measure-head{align-items:center;gap:8px;padding:2px 2px 6px 6px;display:flex}.measure-head>svg{width:15px;height:15px;color:var(--accent)}.measure-head b{font-size:13px;font-weight:600}.clear-btn{height:24px;color:var(--muted);padding:0 8px;font-size:11.5px}.measure-list{flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.measure-list li{border-radius:8px;align-items:center;gap:10px;padding:5px 4px 5px 6px;display:flex}.measure-list li:hover{background:#ffffff0a}.measure-list b{font-variant-numeric:tabular-nums;flex:1;font-size:13px;font-weight:600}.measure-idx{background:var(--accent-soft);width:20px;height:20px;color:var(--accent);border-radius:6px;place-items:center;font-size:10.5px;font-weight:600;display:grid}.measure-empty{margin:4px 6px 6px}.comment-bubble{z-index:90;border-radius:var(--r-lg);background:var(--glass-strong);box-shadow:var(--shadow);animation:pop-in .16s var(--ease);flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed}.comment-tail{border-left:1px solid var(--glass-line);border-top:1px solid var(--glass-line);background:#111819;width:12px;height:12px;margin-left:-6px;position:absolute;top:-7px;transform:rotate(45deg)}.comment-bubble.flip .comment-tail{border:none;border-right:1px solid var(--glass-line);border-bottom:1px solid var(--glass-line);top:auto;bottom:-7px}.comment-input{resize:none;height:auto;min-height:56px;font:13px/1.4 var(--font);padding:8px 10px}.btn.xs.primary svg{color:var(--accent-ink)}.comment-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.comment-item{border-radius:var(--r);border:1px solid var(--glass-line);transition:border-color var(--t);background:#ffffff06;align-items:flex-start;gap:4px;padding:4px 4px 4px 0;display:flex}.comment-item:hover{border-color:rgba(var(--accent-rgb), .35)}.comment-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:6px 4px 6px 10px;display:flex}.comment-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.comment-meta{color:var(--faint);align-items:baseline;gap:8px;font-size:11.5px;display:flex}.comment-meta b{color:var(--ink2);font-size:12px;font-weight:600}.comment-text{color:var(--ink);word-break:break-word;white-space:pre-wrap;font-size:13px}.comment-focus{width:15px;height:15px;color:var(--faint);opacity:0;transition:opacity var(--t);margin-top:6px}.comment-item:hover .comment-focus{opacity:1;color:var(--accent)}.progress-stack{z-index:150;pointer-events:none;width:340px;transition:left .2s var(--ease), bottom .2s var(--ease);flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:16px;left:96px}body[data-mode=launcher] .progress-stack{left:20px}body.panel-open .progress-stack{left:468px}body[data-mode=project].panel-open .progress-stack{bottom:124px}.progress-chip{pointer-events:auto;border-radius:var(--r-lg);background:var(--glass-strong);animation:slide-up .2s var(--ease);flex-direction:column;gap:7px;padding:9px 12px 10px;font-size:12.5px;transition:opacity .3s,border-color .3s;display:flex}.progress-chip.done{border-color:rgba(var(--accent-rgb), .4)}.pc-row{align-items:center;gap:8px;min-width:0;display:flex}.pc-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink2);flex:1;overflow:hidden}.pc-row b{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.pc-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex:none;animation:1.2s ease-in-out infinite pulse}.pc-icon{width:15px;height:15px;color:var(--accent)}.pc-track{height:4px}.img-skeleton{pointer-events:none;background:linear-gradient(90deg, #ffffff06 0%, rgba(var(--accent-rgb), .08) 50%, #ffffff06 100%);background-size:200% 100%;animation:1.3s ease-in-out infinite shimmer;position:absolute;inset:0}.tile-info{backdrop-filter:blur(6px);width:28px;height:28px;color:var(--ink2);cursor:pointer;opacity:0;transition:opacity var(--t), color var(--t);background:#12181a99;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;left:6px}.tile-info svg{width:15px;height:15px}.tile:hover .tile-info{opacity:1}.tile-info:hover{color:var(--accent)}.inspector.rich{width:340px}.mi-card{flex-direction:column;gap:12px;min-width:0;display:flex}.mi-hero{aspect-ratio:1;border-radius:var(--r-lg);background:var(--pic-surface);border:1px solid var(--glass-line);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.mi-hero>img{object-fit:contain;width:100%;height:100%;filter:var(--pic-shadow);padding:7%}.mi-hero.zoomable{cursor:zoom-in}.mi-hero.zoomable>img{transition:transform .25s}.mi-hero.zoomable:hover>img{transform:scale(1.04)}.mi-lightbox{z-index:200;backdrop-filter:blur(6px);cursor:zoom-out;background:#060a0ab8;place-items:center;padding:32px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.mi-lightbox-frame{aspect-ratio:1;border-radius:var(--r-lg);cursor:default;background:var(--pic-surface);border:1px solid var(--glass-line);width:min(78vh,88vw);position:relative;overflow:hidden;box-shadow:0 24px 80px #00000080}.mi-lightbox-frame>img{object-fit:contain;width:100%;height:100%;filter:var(--pic-shadow);padding:6% 6% 10%}.mi-lightbox-frame>.img-fallback{width:100%;height:100%}.mi-lightbox-cap{background:linear-gradient(#0000,#0000008c);padding:10px 14px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.mi-hero>.img-fallback{width:100%;height:100%}.mi-hero.skeleton{min-height:0}.mi-heart{opacity:1;top:8px;right:8px}.mi-discount{background:var(--accent);color:var(--accent-ink);border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:700;position:absolute;top:8px;left:8px}.mi-head{flex-direction:column;gap:3px;min-width:0;display:flex}.mi-provider{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.mi-name{letter-spacing:-.005em;margin:0;font-size:16px;font-weight:650;line-height:1.3}.mi-sub{align-items:center;gap:8px;min-width:0;margin-top:2px;display:flex}.mi-sku{color:var(--ink2);white-space:nowrap;user-select:text;background:#ffffff0d;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font:500 11.5px ui-monospace,JetBrains Mono,monospace;display:inline-flex}.mi-sku svg{width:12px;height:12px;color:var(--muted)}.mi-price{border-radius:var(--r);background:linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(var(--blueprint-rgb), .08));border:1px solid rgba(var(--accent-rgb), .22);justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.mi-price b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.mi-avail{color:var(--accent);font-size:11.5px}.mi-dims{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;display:grid}.mi-dims>div{border-radius:var(--r);background:#ffffff0a;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.mi-dims svg{width:14px;height:14px;color:var(--accent)}.mi-dims b{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.mi-dims span{color:var(--muted);font-size:10.5px}.mi-attrs{border-radius:var(--r);border:1px solid var(--glass-line);flex-direction:column;margin:0;display:flex}.mi-attrs>div{grid-template-columns:96px 1fr;gap:10px;padding:7px 10px;font-size:12.5px;display:grid}.mi-attrs>div+div{border-top:1px solid var(--glass-line)}.mi-attrs dt{color:var(--muted)}.mi-attrs dd{color:var(--ink);word-break:break-word;margin:0}.mi-desc{flex-direction:column;gap:4px;display:flex}.mi-desc p{color:var(--ink2);white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.mi-desc.open p{-webkit-line-clamp:unset;display:block}.mi-more{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.mi-more svg{width:13px;height:13px;transition:transform var(--t)}.mi-desc.open .mi-more svg{transform:rotate(180deg)}.mi-actions{gap:8px;display:flex}.mi-actions:empty{display:none}.mi-skel-line{border-radius:6px;min-height:14px}.mi-skel-line.w40{width:40%}.mi-skel-line.w60{width:60%}.mi-skel-line.w80{width:80%}.inspector.rich .mi-card{border-bottom:1px solid var(--glass-line);padding-bottom:12px}.model-pop{z-index:40;border-radius:var(--r-xl);background:var(--glass-strong);width:300px;box-shadow:var(--shadow);animation:pop-in .16s var(--ease);max-height:calc(100vh - 90px);padding:12px;position:fixed;overflow-y:auto}.model-pop.pinned{border-color:rgba(var(--accent-rgb), .3);width:340px}.model-pop-close{z-index:2;background:#12181a99;position:absolute;top:8px;right:8px}.model-pop.pinned .mi-heart{right:42px}.mi-card.mi-compact .mi-hero{aspect-ratio:16/10}.inspector>*,.mi-card>*,.model-pop>*{flex-shrink:0}.btn-group{gap:2px;display:flex}.btn:disabled svg{opacity:.6}.toast-action{height:26px;color:var(--accent);padding:0 10px;font-weight:600}.toast-action:hover{background:var(--accent-soft)}.insp-tabs{display:flex}.insp-tabs button{flex:1;gap:6px}.insp-tabs svg{width:14px;height:14px}.tab-count{color:var(--muted);background:#ffffff14;border-radius:99px;padding:0 6px;font-size:10.5px}.insp-tabs button.on .tab-count{background:var(--accent-soft);color:var(--accent)}.insp-name{font-size:15px;font-weight:600}.insp-empty{margin:4px 2px}.slot-list{flex-direction:column;gap:6px;display:flex}.slot-row{border-radius:var(--r);border:1px solid var(--glass-line);transition:border-color var(--t);background:#ffffff06;align-items:center;gap:4px;padding-right:4px;display:flex}.slot-row:hover{border-color:rgba(var(--accent-rgb), .4)}.slot-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 4px 6px 6px;display:flex}.slot-main .swatch,.slot-main .img-fallback{background:#ffffff0d;border-radius:8px;flex:none;width:38px;height:38px}.slot-main .img-fallback svg{width:14px;height:14px}.slot-text{flex-direction:column;flex:1;min-width:0;display:flex}.slot-text b{font-size:12.5px;font-weight:600}.slot-text span{color:var(--muted);font-size:11.5px}.slot-go{width:15px;height:15px;color:var(--faint)}.slot-row:hover .slot-go{color:var(--accent)}.slot-footer{gap:6px;margin-top:2px;display:flex}.door-toggle{flex-direction:column;gap:6px;display:flex}.block-side{align-items:center;gap:6px;display:flex}.block-side .segmented{flex:1;min-width:0}.slot-pick{z-index:120;border-radius:var(--r-xl);background:var(--glass-strong);width:280px;box-shadow:var(--shadow);animation:pop-in .16s var(--ease);border-color:rgba(var(--accent-rgb), .3);padding:10px;position:fixed}.slot-pick-head{align-items:center;gap:8px;padding:2px 4px 8px;display:flex}.slot-pick-head svg{width:16px;height:16px;color:var(--accent)}.slot-pick-head b{font-size:13.5px;font-weight:600}.slot-pick-list{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow-y:auto}.slot-pick-item{cursor:pointer;text-align:left;color:var(--ink2);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;display:flex}.slot-pick-item.on{background:var(--accent-soft);color:var(--ink)}.slot-pick-item.all{border-top:1px solid var(--glass-line);border-radius:0 0 9px 9px;margin-top:4px;padding-top:9px}.slot-pick-idx{width:22px;height:22px;color:var(--muted);background:#ffffff0f;border-radius:6px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.slot-pick-idx svg{width:13px;height:13px}.slot-pick-item.on .slot-pick-idx{background:var(--accent);color:var(--accent-ink)}.slot-pick-tag{color:var(--accent);white-space:nowrap;font-size:10.5px}.slot-pick-check{width:15px;height:15px;color:var(--accent);margin-left:auto}.slot-pick-foot{justify-content:flex-end;gap:6px;padding-top:10px;display:flex}.keys{flex-wrap:wrap;gap:3px;display:inline-flex}.keys kbd{color:var(--ink2);border-color:var(--line2);background:#ffffff0d;border-bottom-width:2px;padding:1px 6px;font-size:11px}.help-sheet{z-index:30;border-radius:var(--r-xl);background:var(--glass-strong);width:380px;max-height:calc(100vh - 160px);animation:slide-left .22s var(--ease);flex-direction:column;display:flex;position:absolute;top:78px;right:12px}@keyframes slide-left{0%{opacity:0;transform:translate(12px)}}.help-head{align-items:center;gap:10px;padding:14px 10px 8px 16px;display:flex}.help-head>svg{width:18px;height:18px;color:var(--accent)}.help-head h2{flex:1;margin:0;font-size:15px;font-weight:600}.help-body{flex-direction:column;gap:14px;padding:4px 16px 10px;display:flex;overflow-y:auto}.help-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:11px;font-weight:600}.help-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.help-group li{color:var(--ink2);align-items:baseline;gap:8px;font-size:12.5px;line-height:1.4;display:flex}.help-group li .keys{flex:none}.help-foot{border-top:1px solid var(--glass-line);color:var(--ink2);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 12px;font-size:12.5px;display:flex}.toolbar-wrap>.context-hint{pointer-events:none}.context-hint{max-width:min(720px,100vw - 520px);color:var(--ink2);border-radius:99px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;animation:.2s fade-in;display:flex}.ch-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ch-sep{color:var(--faint)}.lang-switch{display:inline-flex}.lang-switch button{letter-spacing:.04em;min-width:36px;padding:0 8px;font-size:11.5px;font-weight:600}.menu-lang{justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.auth-brand .auth-lang{margin-left:auto}.hud.has-inspector .help-sheet{right:364px}.chip-filter{row-gap:6px;padding:0 16px 10px}.chip-filter .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chip-filter .chip-more{color:var(--accent);border-style:dashed;align-items:center;gap:4px;display:inline-flex}.chip-filter .chip-more svg{width:14px;height:14px}.fav-folders{flex-direction:column;gap:8px;padding:2px 16px 10px;display:flex}.fav-folders .chip{align-items:center;gap:6px;max-width:100%;display:inline-flex}.fav-folders .chip svg{flex:none;width:13px;height:13px}.fav-folders .chip .ellipsis{max-width:140px}.chip-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.chip.on .chip-count{color:var(--accent);opacity:.75}.chip-add{color:var(--muted);border-style:dashed}.chip-add:hover{border-color:rgba(var(--accent-rgb), .45);color:var(--accent)}.fav-chip.drop-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:scale(1.05)}.fav-name-input{flex:180px;align-items:center;gap:4px;min-width:0;display:flex}.fav-name-input .input{flex:1;min-width:0;height:28px}.fav-folder-bar{border-radius:var(--r);border:1px solid var(--glass-line);min-height:32px;animation:fade-in var(--t);background:#ffffff08;align-items:center;gap:6px;padding:2px 4px 2px 10px;display:flex}.fav-folder-bar b{flex:1;min-width:0;font-size:13px;font-weight:600}.fav-folder-icon{width:15px;height:15px;color:var(--accent);flex:none}.fav-folder-bar .fav-name-input{flex:1}.btn.fav-danger:hover{color:var(--danger);background:var(--danger-soft)}.tile-more{backdrop-filter:blur(6px);width:28px;height:24px;color:var(--ink2);cursor:pointer;opacity:0;transition:opacity var(--t), color var(--t);background:#12181a99;border:none;border-radius:12px;place-items:center;display:grid;position:absolute;bottom:6px;right:6px}.tile-more svg{width:15px;height:15px}.tile:hover .tile-more,.tile-more:focus-visible{opacity:1}.tile-more:hover{color:var(--accent)}.fav-pick{z-index:130;border-radius:var(--r-xl);background:var(--glass-strong);box-shadow:var(--shadow);border:1px solid rgba(var(--accent-rgb), .3);animation:pop-in .16s var(--ease);flex-direction:column;gap:2px;padding:8px;display:flex;position:fixed}.fav-pick-head{flex-direction:column;gap:1px;min-width:0;padding:4px 8px 8px;display:flex}.fav-pick-head b{font-size:13.5px;font-weight:600}.fav-pick-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.fav-pick-item{cursor:pointer;text-align:left;width:100%;min-height:34px;color:var(--ink2);transition:background var(--t), color var(--t);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.fav-pick-item>svg{width:15px;height:15px;color:var(--muted);flex:none}.fav-pick-item>span:first-of-type{flex:1;min-width:0}.fav-pick-item:hover{color:var(--ink);background:#ffffff0f}.fav-pick-item.on{background:var(--accent-soft);color:var(--ink)}.fav-pick-item.on>svg:first-child,.fav-pick-item.add,.fav-pick-item.add>svg{color:var(--accent)}.fav-pick-item.danger,.fav-pick-item.danger>svg{color:var(--danger)}.fav-pick-item.danger:hover{background:var(--danger-soft)}.fav-pick-check{width:15px;height:15px;color:var(--accent);flex:none}.fav-pick-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.fav-pick-loading{color:var(--muted);place-items:center;padding:6px;display:grid}.fav-pick-new{gap:6px;padding:4px 2px 2px;display:flex}.fav-pick-new .input{flex:1;min-width:0}.lights-section{margin-bottom:10px}.lights-head{cursor:default}.lights-head .tab-count{margin-left:auto}.light-add-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.light-add{text-align:center;cursor:grab;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px 8px}.light-add .tile-name{max-width:100%;font-size:11.5px}.light-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.light-row{border-radius:var(--r);border:1px solid var(--glass-line);transition:border-color var(--t);background:#ffffff06;align-items:center;gap:2px;padding-right:4px;display:flex}.light-row:hover{border-color:rgba(var(--accent-rgb), .4)}.light-row.on{border-color:var(--accent);background:var(--accent-soft)}.light-row.off .light-text b{color:var(--muted)}.light-main{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:6px 4px 6px 6px;display:flex}.light-icon{width:32px;height:32px;color:var(--ink2);box-shadow:inset 0 -3px 0 var(--glow,transparent);background:#ffffff0d;border-radius:9px;flex:none;place-items:center;display:grid}.light-icon svg{width:16px;height:16px}.light-text{flex-direction:column;flex:1;min-width:0;display:flex}.light-text b{font-size:12.5px;font-weight:600}.light-text span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.light-dot{border:1px solid #ffffff40;border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.light-power{padding:2px 0}.slider input[type=range].custom-track{height:6px}.model-load{pointer-events:auto;border-radius:var(--r-xl);background:var(--glass-strong);animation:ml-in .28s var(--ease);transition:opacity .26s var(--ease), transform .26s var(--ease), border-color .3s;align-items:stretch;gap:12px;padding:10px;display:flex;position:relative;overflow:hidden}.model-load:before{content:"";pointer-events:none;background:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 16px 16px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 70%);mask-image:linear-gradient(90deg,#0000 0%,#000 70%)}.model-load.done{border-color:rgba(var(--accent-rgb), .45)}.model-load.failed{border-color:#e5534b73}.model-load.leaving{opacity:0;transform:translate(-14px)scale(.98)}@keyframes ml-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.ml-thumb{background:radial-gradient(circle at 50% 40%, #243032, var(--bg2));border:1px solid var(--glass-line);border-radius:12px;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative;overflow:hidden}.ml-thumb>img,.ml-thumb>.img-fallback{object-fit:contain;width:100%;height:100%;padding:4px}.ml-thumb .img-fallback{color:var(--accent)}.ml-thumb .img-fallback svg{width:24px;height:24px}.model-load.loading .ml-thumb>img{filter:saturate(.6)brightness(.8)}.ml-scan{pointer-events:none;background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .28) 85%, rgba(var(--accent-rgb), .9) 100%);height:40%;animation:1.6s cubic-bezier(.45,0,.55,1) infinite ml-scan;position:absolute;top:-40%;left:0;right:0}@keyframes ml-scan{to{top:100%}}.ml-badge{place-items:center;animation:.2s fade-in;display:grid;position:absolute;inset:0}.ml-badge svg{border-radius:50%;width:26px;height:26px;padding:4px}.ml-badge.ok{background:#13291f8c}.ml-badge.ok svg{background:var(--accent);color:var(--accent-ink);animation:pop-in .24s var(--ease)}.ml-badge.err{background:#3c121280}.ml-badge.err svg{background:var(--danger);color:#fff}.ml-body{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding-right:22px;display:flex;position:relative}.ml-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ml-pct{font:500 11.5px var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums}.ml-name{font:600 14px/1.3 var(--font-display);color:var(--ink)}.ml-status{color:var(--muted);font-size:12px}.model-load.done .ml-status{color:var(--accent)}.model-load.failed .ml-status{color:#ff8a83}.ml-track{background:#ffffff12;border-radius:99px;height:4px;margin-top:6px;position:relative;overflow:hidden}.ml-fill{background:linear-gradient(90deg, var(--forest), var(--accent));width:100%;transition:width .3s var(--ease);border-radius:99px;position:absolute;top:0;bottom:0;left:0}.ml-fill.indeterminate{background:linear-gradient(90deg, transparent 0%, rgba(var(--accent-rgb), .25) 25%, var(--accent) 50%, rgba(var(--accent-rgb), .25) 75%, transparent 100%);background-repeat:no-repeat;background-size:50% 100%;animation:1.3s ease-in-out infinite ml-shimmer}@keyframes ml-shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.model-load.failed .ml-fill{background:var(--danger);opacity:.6}.ml-cancel{color:var(--muted);position:absolute;top:6px;right:6px}.ml-cancel:hover{color:var(--ink)}.ml-more{pointer-events:auto;font:500 11.5px var(--font-mono);color:var(--muted);background:var(--glass-strong);border-radius:999px;align-self:flex-start;padding:4px 10px}.brand-link{cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;margin:-4px -6px;padding:4px 6px;transition:background .15s,opacity .15s;display:inline-flex}.brand-link:hover{background:rgba(var(--accent-rgb), .08)}.brand-link:active{opacity:.8}.plan-refining{background:color-mix(in srgb, var(--accent,#3ec7d3) 12%, transparent);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:flex}.plan-refining svg{flex:none;width:14px;height:14px}.pc-refining{color:var(--accent,#3ec7d3)}@media (max-width:900px){.auth-screen{padding:16px}.auth-card{padding:24px 18px 20px}.modal-backdrop{padding:12px}.modal-head{padding:16px 14px 6px 16px}.modal-body{padding:10px 16px 16px}.modal-foot{flex-wrap:wrap;padding:12px 16px 14px}.launcher-top{padding:0 16px}.launcher-main{padding:20px 16px 40px}.tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex:none}.hud-top{gap:4px;padding:0 6px 0 4px}.hud-top>:not(.name-edit):not(.spacer){flex-shrink:0}:is(.hud-top .name-input,.hud-top:has(.plan-chips) .name-input){flex:0 auto;width:clamp(72px,24vw,180px);min-width:0;max-width:none}.hud-top .segmented button{padding:4px 8px}.side-panel{width:min(360px,100vw - 108px)}.inspector{width:min(300px,100vw - 24px)}.help-sheet{max-width:calc(100vw - 24px)}.progress-stack,body[data-mode=launcher] .progress-stack{width:min(340px,100vw - 24px);left:12px}}@media (max-width:600px){.hud-top{flex-wrap:wrap;row-gap:6px;height:auto;padding:6px}.hud-top .name-edit{flex:90px;min-width:0}:is(.hud-top .name-input,.hud-top:has(.plan-chips) .name-input){width:100%;min-width:0}.hud-top .plan-chips,.hud-top>.spacer{display:none}.hud-top .btn-group{margin-left:auto}.rail,.side-panel,.help-sheet{top:120px}.side-panel{width:calc(100vw - 108px)}.help-sheet{max-height:calc(100vh - 200px)}}.panel-tools .btn.on{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fsel{text-align:left;cursor:pointer;align-items:center;gap:8px;min-width:0;display:inline-flex}.fsel.select{background-image:none;padding-right:10px}.fsel:not(.input):not(.select){background:var(--bg2);height:36px;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:0 10px 0 12px;font-size:13.5px}.fsel:disabled{opacity:.55;cursor:default}.fsel.open,.fsel:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4fd1a524}.fsel-val{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fsel-chev{color:var(--muted);flex:none;transition:transform .12s}.fsel.open .fsel-chev{color:var(--accent);transform:rotate(180deg)}.fsel-list{z-index:10000;background:var(--panel);border:1px solid var(--line2,#37454a);color:var(--ink);border-radius:10px;padding:4px;font-size:13.5px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000073}.fsel-item{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;display:flex}.fsel-item.hi{background:#4fd1a51a}.fsel-item.on{color:var(--accent)}.fsel-item.dis{opacity:.45;cursor:default}.fsel-text{flex:1}.fsel-check{color:var(--accent);flex:none}.auth-legal{flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:0 16px;font-size:12.5px;display:flex;position:absolute;bottom:18px;left:0;right:0}.auth-legal a{color:var(--muted);text-decoration:none}.auth-legal a:hover{color:var(--accent)}.auth-screen.auth-over{z-index:9000;backdrop-filter:blur(6px);background:#080c0db8}.auth-reason{background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .25);border-radius:12px;flex-direction:column;gap:4px;margin:-6px 0 16px;padding:12px 14px;font-size:13.5px;display:flex}.auth-reason b{color:var(--ink);font-size:15px}.auth-guest{margin-top:10px}.guest-cta{gap:8px}.feat-list{color:var(--ink2);flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.feat-list li{padding-left:20px;line-height:1.35;position:relative}.feat-list li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:10px;height:6px;position:absolute;top:4px;left:2px;transform:rotate(-45deg)}.use-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.use-bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:5px;overflow:hidden}.use-bar span{background:var(--accent);border-radius:2px;height:100%;display:block}.use-bar span.full{background:var(--warn,#e3b341)}.pack-opt{border:1px solid var(--line);background:var(--bg2);width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pack-opt:hover{border-color:var(--accent)}.pack-opt:disabled{opacity:.6;cursor:default}.om-tabs{margin:0 12px 8px}.om-tabs button{flex:1}.om-empty{flex-direction:column;align-items:center;gap:10px;padding:8px 0 16px;display:flex}.om-tile{position:relative}.om-edit{background:#12181abf;position:absolute;top:6px;right:6px}.om-badge{background:rgba(var(--accent-rgb), .2);color:var(--accent);border-radius:6px;padding:2px 6px;font-size:10.5px;position:absolute;top:6px;left:6px}.tile-swatch{border-radius:inherit;width:100%;height:100%}.om-grid{grid-template-columns:132px 1fr;align-items:start;gap:16px;margin-bottom:12px;display:grid}.om-preview{flex-direction:column;align-items:center;gap:6px;display:flex}.om-swatch{border:1px solid var(--line);border-radius:14px;width:132px;height:132px;box-shadow:inset 0 0 0 1px #ffffff0a}.om-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.om-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 1px #00000040}.om-dot.on{border-color:var(--accent)}.om-hex{width:96px}.om-range{width:100%;accent-color:var(--accent)}@media (max-width:520px){.om-grid{grid-template-columns:1fr}}.google-desktop{color:#e3e3e3;background:#1f1f1f;border:1px solid #8e918f;border-radius:999px;gap:10px;height:40px}.google-desktop:hover{background:#2a2a2a}.auth-desktop-wait{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:6px 0;display:flex}.desktop-done{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.desktop-done .ok-ico{color:var(--accent)}.pay-list{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.pay-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.pay-list li:first-child{border-top:0}.pay-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}html.mobile{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--m-tab-h:64px;--m-bottom:calc(var(--m-tab-h) + var(--sab));--m-top:calc(var(--sat) + 8px);--m-rail:0px;--touch-stick-bottom:calc(var(--m-tab-h) + 30px);--touch-stick-left:26px;text-size-adjust:100%}html.mobile body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none}html.mobile:not(.web3d) body,html.mobile .hud>*{touch-action:manipulation}html.mobile.kbd-open{--m-bottom:var(--kbd)}html.mobile.kbd-open .m-tabbar,html.mobile.kbd-open .touch-stick-rest{display:none}html.mobile input:not([type=range]):not([type=checkbox]):not([type=radio]),html.mobile textarea,html.mobile select{font-size:16px}@keyframes m-sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes m-fade{0%{opacity:0}}html.touch .tile{touch-action:pan-y;cursor:pointer}html.touch .heart{opacity:1}@media (hover:none){.tile:hover,.cat-card:hover,.hero-card:hover,.project-card:hover,.project-card:hover .thumb>img{transform:none}}html.touch .tile:active,html.touch .cat-card:active,html.touch .m-tab:active,html.touch .m-tile:active{transform:scale(.97)}html.mobile .auth-screen{padding:calc(14px + var(--sat)) calc(14px + var(--sar)) calc(14px + var(--sab)) calc(14px + var(--sal));overscroll-behavior:contain;place-items:start center}html.mobile .auth-card{border-radius:22px;margin:auto 0;padding:24px 18px 20px}html.mobile .auth-form .btn{min-height:48px}html.mobile .auth-form .input{height:48px}html.mobile.landscape .auth-card{width:min(440px,100%)}html.mobile .launcher-top{height:calc(56px + var(--sat));padding:var(--sat) calc(14px + var(--sar)) 0 calc(14px + var(--sal))}html.mobile .launcher-top .brand svg,html.mobile .launcher-top .logo{max-height:28px}html.mobile .launcher-main{padding:16px calc(16px + var(--sar)) calc(32px + var(--sab)) calc(16px + var(--sal));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}html.mobile .hero-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}html.mobile .hero-card{border-radius:18px;flex-direction:column;align-items:flex-start;gap:12px;min-height:132px;padding:14px}html.mobile .hero-card b{font-size:15px}html.mobile .hero-card span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}html.mobile .hero-card:last-child:nth-child(odd){flex-direction:row;grid-column:1/-1;align-items:center;min-height:0}html.mobile .hero-icon{border-radius:14px;width:46px;height:46px}html.mobile .toolbar{gap:10px;margin-bottom:14px}html.mobile .toolbar>.spacer{display:none}html.mobile .toolbar .tabs{width:100%}html.mobile .toolbar .tab{flex:1 0 auto;justify-content:center;height:40px}html.mobile .toolbar .search{width:100%}html.mobile .toolbar .search .input{height:44px}html.mobile .project-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}html.mobile .project-card{border-radius:18px}html.mobile .thumb{aspect-ratio:4/3;border-radius:18px 18px 0 0}html.mobile .thumb .badge{font-size:10px;top:8px;left:8px}html.mobile .card-body{gap:4px;padding:10px 4px 10px 12px}html.mobile .card-body b{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.3;display:-webkit-box;overflow:hidden}html.mobile .card-body .btn.icon{width:40px;height:40px}html.mobile .modal-backdrop{place-items:end center;padding:0}html.mobile .modal{max-width:100%;max-height:calc(var(--app-h,100dvh) - var(--sat) - 16px);padding-bottom:var(--sab);animation:m-sheet-up .26s var(--ease);border-radius:22px 22px 0 0;width:100%!important}html.mobile .modal:before{content:"";background:#ffffff38;border-radius:3px;flex:none;width:40px;height:5px;margin:8px auto 0;display:block}html.mobile .modal-head{padding:8px 10px 4px 18px}html.mobile .modal-head .btn.icon{width:44px;height:44px}html.mobile .modal-body{-webkit-overflow-scrolling:touch;padding:8px 18px 18px}html.mobile .modal-foot{gap:8px;padding:12px 18px 14px}html.mobile .modal-foot .btn{flex:auto;height:48px}html.mobile .modal:has(.plan-flow){height:calc(var(--app-h,100dvh) - var(--sat) - 8px)}html.mobile .modal:has(.plan-flow) .modal-body{flex:1}html.mobile .plan-options{grid-template-columns:1fr}html.mobile .plan-preview svg{height:min(56vw,300px)}html.mobile .plan-flow .btn.primary,html.mobile .plan-flow .btn.lg{min-height:50px}html.mobile .drop,html.mobile .dropzone,html.mobile .plan-drop{min-height:180px}html.mobile .menu{border-radius:18px;min-width:230px;max-width:calc(100vw - 16px);padding:8px}html.mobile .menu-item{gap:12px;height:46px;font-size:15px}html.mobile .menu-item svg{width:18px;height:18px}html.mobile .toasts,html.mobile body[data-mode=project] .toasts{left:calc(10px + var(--sal));right:calc(10px + var(--sar));top:calc(var(--m-top) + 112px);align-items:stretch;bottom:auto;transform:none}html.mobile body[data-mode=launcher] .toasts{top:auto;bottom:calc(16px + var(--sab))}html.mobile .toast{min-width:0;max-width:none;font-size:14px}html.mobile .m-top{z-index:21;top:var(--m-top);left:calc(8px + var(--sal) + var(--m-rail));right:calc(8px + var(--sar));height:54px;animation:slide-down .26s var(--ease);border-radius:18px;align-items:center;gap:2px;padding:0 5px;display:flex;position:absolute}html.mobile .m-top .btn.icon{border-radius:13px;flex:none;width:44px;height:44px}html.mobile .m-top .btn.icon svg{width:20px;height:20px}html.mobile .m-top .btn.primary.icon{border-radius:50%}html.mobile .m-top .avatar-btn{margin-left:2px}html.mobile .m-name{flex:1;align-items:center;gap:6px;min-width:0;display:flex}html.mobile .m-name .name-input{width:100%;min-width:0;max-width:none;height:40px;font:600 16px var(--font-display);padding:0 6px}html.mobile .m-views{z-index:19;top:calc(var(--m-top) + 62px);left:calc(50% + var(--m-rail) / 2);align-items:center;gap:8px;animation:.3s m-fade;display:flex;position:absolute;transform:translate(-50%)}html.mobile .m-views .segmented{background:var(--glass);-webkit-backdrop-filter:blur(10px);border-radius:16px;flex-wrap:nowrap;gap:2px;padding:4px}html.mobile .m-views .segmented button{white-space:nowrap;border-radius:12px;min-width:70px;min-height:38px;padding:0 12px;font-size:13px}html.mobile .m-views .segmented button svg{width:17px;height:17px}html.mobile .m-views>.btn{background:var(--glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-line);border-radius:50%;width:46px;height:46px}html.mobile .m-views>.btn.on{color:var(--accent)}html.mobile .m-tabbar{z-index:26;height:var(--m-bottom);padding:0 calc(6px + var(--sar)) var(--sab) calc(6px + var(--sal));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-line);animation:m-sheet-up .26s var(--ease);background:#0f1416f0;align-items:stretch;display:flex;position:absolute;bottom:0;left:0;right:0}html.mobile .m-tab{min-width:0;color:var(--muted);font:500 11px/1.15 var(--font);cursor:pointer;transition:color var(--t), transform .12s;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:6px 2px 4px;display:flex;position:relative}html.mobile .m-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}html.mobile .m-tab svg{width:23px;height:23px;transition:transform .2s var(--ease)}html.mobile .m-tab.on{color:var(--accent)}html.mobile .m-tab.on svg{transform:translateY(-1px)}html.mobile .m-tab.on:before{content:"";background:var(--accent);width:28px;height:3px;box-shadow:0 0 12px var(--accent-glow);border-radius:0 0 3px 3px;margin-left:-14px;position:absolute;top:0;left:50%}html.mobile .hud>.side-panel.sheet{z-index:24;left:calc(var(--sal) + var(--m-rail));right:var(--sar);top:auto;bottom:var(--m-bottom);width:auto;height:var(--sheet-h);opacity:1;transform:translateY(calc(100% + var(--m-bottom)));visibility:hidden;transition:transform .3s var(--ease), height .3s var(--ease), visibility 0s linear .3s;background:#101618f5;border-bottom:none;border-radius:22px 22px 0 0;position:absolute;box-shadow:0 -12px 40px #00000073}html.mobile .hud>.side-panel.sheet.open{transform:translateY(var(--sheet-drag,0px));visibility:visible;transition:transform .3s var(--ease), height .3s var(--ease), visibility 0s}html.mobile .hud>.side-panel.sheet.dragging{transition:none}html.mobile .side-panel.sheet.half{--sheet-h:calc(var(--app-h,100dvh) * .55)}html.mobile .side-panel.sheet.full{--sheet-h:calc(var(--app-h,100dvh) - var(--m-bottom) - var(--m-top) - 62px)}html.mobile .m-grip-row{touch-action:none;cursor:grab;flex:none;place-items:center;height:22px;display:grid}html.mobile .m-grip{background:#ffffff3d;border-radius:3px;width:40px;height:5px}html.mobile .side-panel.sheet .panel-head{touch-action:none;padding:0 8px 6px 18px}html.mobile .side-panel.sheet .panel-head h2{font:600 18px var(--font-display)}html.mobile .side-panel.sheet .panel-head .btn.icon{width:44px;height:44px}html.mobile .side-panel .panel-scroll{padding:4px 14px calc(20px + var(--sab));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}html.mobile .side-panel .panel-tools{padding:4px 14px 10px}html.mobile .side-panel .panel-tools .input,html.mobile .side-panel .search .input{height:44px}html.mobile .side-panel .btn:not(.icon):not(.xs){min-height:40px}html.mobile .side-panel .chip,html.mobile .side-panel .chips button{min-height:36px}html.mobile .side-panel .segmented button{min-height:40px}html.mobile .tile-grid{gap:10px}html.mobile .tile-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}html.mobile .tile{border-radius:16px}html.mobile .tile-name{font-size:13.5px}html.mobile .tile-meta{font-size:12px}html.mobile .heart{width:34px;height:34px}html.mobile .cat-card{border-radius:16px;height:98px;font-size:12.5px}html.mobile .cat-img{width:40px;height:40px}html.mobile .mode-banner{margin:0 14px 10px}html.mobile .side-panel .panel-hint{display:none}:is(html.mobile:has(.hud.has-inspector) .touch-stick-rest,html.mobile:has(.hud:not([data-tool=select])) .touch-stick-rest){opacity:0}html.mobile .hud .inspector{left:calc(8px + var(--sal) + var(--m-rail));right:calc(8px + var(--sar));bottom:calc(var(--m-bottom) + 8px);max-height:calc(var(--app-h,100dvh) * .42);z-index:22;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:20px;padding:12px 12px 14px;width:auto!important}html.mobile.sheet-open .hud .inspector{display:none}html.mobile .inspector .btn.icon{width:40px;height:40px}html.mobile .m-insp:not(.open) .inspector.rich>:not(.insp-head):not(.insp-actions){display:none}html.mobile .m-insp .inspector.rich .insp-head{cursor:pointer}html.mobile .m-insp .inspector.rich .insp-head b:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:7px;height:7px;transition:transform .2s var(--ease);margin:0 0 3px 10px;display:inline-block;transform:rotate(-135deg)}html.mobile .m-insp.open .inspector.rich .insp-head b:after{margin-bottom:5px;transform:rotate(45deg)}html.mobile .insp-action{min-height:56px;font-size:11.5px}html.mobile .insp-action svg{width:20px;height:20px}html.mobile .hud>.toolbar-wrap{bottom:calc(var(--m-bottom) + 12px)}html.mobile .hud[data-tool=select]>.toolbar-wrap,html.mobile .toolbar-wrap>.tool-hint,html.mobile .toolbar-wrap>.context-hint{display:none}html.mobile .tool-btn{width:46px;height:46px}html.mobile.sheet-open .hud>.toolbar-wrap{display:none}html.mobile .hud>.minimap{top:calc(var(--m-top) + 116px);right:calc(8px + var(--sar));z-index:18;width:min(240px,62vw)}html.mobile .hud>.minimap.collapsed{width:auto}html.mobile .mm-map{width:100%}html.mobile .mm-head .btn.xs{width:36px;height:36px}html.mobile.sheet-open .hud>.minimap{display:none}html.mobile .hud>.help-sheet{left:calc(var(--sal) + var(--m-rail));right:var(--sar);top:auto;bottom:var(--m-bottom);width:auto;max-height:calc(var(--app-h,100dvh) * .7);z-index:27;max-width:none;animation:m-sheet-up .26s var(--ease);border-radius:22px 22px 0 0}html.mobile .help-head .btn.icon{width:44px;height:44px}html.mobile .help-group li{font-size:14px}html.mobile .m-gestures li{border-bottom:1px solid var(--glass-line);padding:8px 0}html.mobile .m-gestures li:last-child{border-bottom:none}html.mobile .progress-stack,html.mobile body.panel-open .progress-stack,html.mobile body[data-mode=project].panel-open .progress-stack{left:calc(10px + var(--sal) + var(--m-rail));right:calc(10px + var(--sar));width:auto;bottom:calc(var(--m-bottom) + 10px)}html.mobile body[data-mode=launcher] .progress-stack{bottom:calc(14px + var(--sab))}html.mobile .m-scrim{z-index:27;background:#060a0a73;animation:.2s m-fade;position:fixed;inset:0}html.mobile .m-scrim.light{background:#060a0a40}html.mobile .m-more{z-index:28;left:calc(var(--sal) + var(--m-rail));right:var(--sar);bottom:var(--m-bottom);max-height:calc(var(--app-h,100dvh) * .72);animation:m-sheet-up .26s var(--ease);background:#101618f7;border-radius:22px 22px 0 0;flex-direction:column;display:flex;position:absolute;box-shadow:0 -12px 40px #00000073}html.mobile .m-more-head{align-items:center;padding:0 8px 4px 18px;display:flex}html.mobile .m-more-head h2{font:600 18px var(--font-display);flex:1;margin:0}html.mobile .m-more-head .btn.icon{width:44px;height:44px}html.mobile .m-more-body{overscroll-behavior:contain;flex-direction:column;gap:10px;padding:4px 14px 18px;display:flex;overflow-y:auto}html.mobile .m-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}html.mobile .m-tile{border:1px solid var(--glass-line);min-height:86px;color:var(--ink2);font:500 11.5px/1.2 var(--font);text-align:center;cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t), transform .12s;background:#ffffff09;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:12px 4px 10px;display:flex}html.mobile .m-tile>span:last-child{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}html.mobile .m-tile-icon{background:var(--forest-deep);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}html.mobile .m-tile-icon svg{width:20px;height:20px}html.mobile .m-tile.on{border-color:rgba(var(--accent-rgb), .5);background:var(--accent-soft);color:var(--ink)}html.mobile .m-eyebrow{font:500 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 2px 0}html.mobile .m-place{z-index:23;top:calc(var(--m-top) + 116px);left:calc(10px + var(--sal) + var(--m-rail));right:calc(10px + var(--sar));border:1px solid rgba(var(--accent-rgb), .4);animation:m-sheet-up .22s var(--ease);box-shadow:var(--shadow-sm);background:#101618eb;border-radius:16px;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex;position:absolute}html.mobile .m-place-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}html.mobile .m-place-icon svg{width:18px;height:18px}html.mobile .m-place-text{min-width:0;color:var(--ink);flex:1;font-size:13.5px;line-height:1.3}html.mobile .m-place .btn{flex:none;height:40px}html.mobile.tap-placing .hud>.minimap{display:none}html.mobile .m-ctx{z-index:29;left:calc(10px + var(--sal) + var(--m-rail));right:calc(10px + var(--sar));bottom:calc(var(--m-bottom) + 10px);animation:m-sheet-up .2s var(--ease);box-shadow:var(--shadow);background:#101618f7;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:absolute}html.mobile .m-ctx-item{min-height:70px;color:var(--ink2);font:500 12px var(--font);cursor:pointer;background:#ffffff0a;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;display:flex}html.mobile .m-ctx-item svg{width:20px;height:20px;color:var(--accent)}html.mobile .m-ctx-item.danger,html.mobile .m-ctx-item.danger svg{color:var(--danger)}html.mobile .hud .comment-bubble{max-width:calc(100vw - 20px)}html.mobile .loading-overlay .lo-card{padding:26px 20px 22px}html.mobile.landscape{--m-tab-h:0px;--m-rail:78px;--m-top:calc(var(--sat) + 6px);--touch-stick-bottom:26px;--touch-stick-left:calc(78px + 22px)}html.mobile.landscape .m-tabbar{width:calc(var(--m-rail) + var(--sal));height:auto;padding:calc(6px + var(--sat)) 4px calc(6px + var(--sab)) calc(4px + var(--sal));border-top:none;border-right:1px solid var(--glass-line);flex-direction:column;justify-content:center;gap:2px;top:0;bottom:0;right:auto}html.mobile.landscape .m-tab{flex:0 64px}html.mobile.landscape .m-tab.on:before{border-radius:0 3px 3px 0;width:3px;height:28px;margin:-14px 0 0;top:50%;left:0}html.mobile.landscape .m-top{width:min(440px,46vw);height:50px;right:auto}html.mobile.landscape .m-views{top:var(--m-top);left:auto;right:calc(8px + var(--sar));transform:none}html.mobile.landscape .m-views .segmented button{min-width:0}html.mobile.landscape .hud>.minimap{top:calc(var(--m-top) + 58px);width:min(220px,30vw)}html.mobile.landscape .hud>.side-panel.sheet{width:min(400px,50vw);right:auto;top:calc(var(--m-top) + 58px);bottom:calc(8px + var(--sab));height:auto;left:calc(var(--sal) + var(--m-rail) + 8px);transform:translateX(calc(-100% - var(--m-rail) - 20px));box-shadow:var(--shadow);border-radius:20px}html.mobile.landscape .hud>.side-panel.sheet.open{transform:none}html.mobile.landscape .m-grip-row{display:none}html.mobile.landscape .side-panel.sheet .panel-head{padding-top:10px}html.mobile.landscape .hud .inspector{left:auto;right:calc(8px + var(--sar));bottom:calc(8px + var(--sab));max-height:calc(var(--app-h,100dvh) - var(--m-top) - 70px);width:min(340px,44vw)!important}html.mobile.landscape .m-more,html.mobile.landscape .hud>.help-sheet{left:calc(var(--sal) + var(--m-rail) + 8px);width:min(460px,60vw);right:auto;top:calc(var(--m-top) + 8px);bottom:calc(8px + var(--sab));border-radius:20px;max-height:none}html.mobile.landscape .m-grid{grid-template-columns:repeat(4,minmax(0,1fr))}html.mobile.landscape .m-place{top:auto;bottom:calc(10px + var(--sab));left:calc(50% - 180px + var(--m-rail) / 2);width:360px;right:auto}html.mobile.landscape .m-ctx{left:auto;right:calc(10px + var(--sar));width:min(420px,56vw);bottom:calc(10px + var(--sab))}html.mobile.landscape .toasts,html.mobile.landscape body[data-mode=project] .toasts{top:calc(var(--m-top) + 58px);width:340px;left:calc(50% - 170px);right:auto}html.mobile.landscape .progress-stack{bottom:calc(10px + var(--sab));left:calc(10px + var(--m-rail) + var(--sal));width:320px;right:auto}html.mobile.landscape .hud>.toolbar-wrap{bottom:calc(12px + var(--sab))}html.mobile.landscape .hero-row{grid-template-columns:repeat(3,minmax(0,1fr))}html.mobile.landscape .hero-card:last-child:nth-child(odd){flex-direction:column;grid-column:auto;align-items:flex-start}html.mobile.landscape .modal{border-radius:22px 22px 0 0;max-width:640px}
