:root{color-scheme:dark;--app-rgb: 24, 24, 24;--glass-rgb: 37, 37, 37;--deep-rgb: 18, 18, 20;--accent-rgb: 74, 128, 219;--accent-hover-rgb: 94, 144, 227;--brand-rgb: 124, 108, 255;--brand2-rgb: 129, 82, 255;--indigo-rgb: 54, 64, 222;--hi-rgb: 85, 215, 255;--mint-rgb: 0, 255, 191;--lav-rgb: 169, 155, 255;--on-accent: #fff;--accent-text: #cfe0ff;--glow: 1;--stage: graphite;--bg-app: rgb(var(--app-rgb));--bg-deep: rgb(var(--deep-rgb));--surface-1: #1e1e1e;--surface-2: #252525;--surface-3: #2d2d2d;--glass: rgba(var(--glass-rgb), .86);--glass-strong: rgba(var(--glass-rgb), .94);--glass-deep: rgba(var(--deep-rgb), .9);--popover: rgba(var(--deep-rgb), .98);--scrim: rgba(0, 0, 0, .5);--fill-1: rgba(255, 255, 255, .045);--fill-2: rgba(255, 255, 255, .078);--fill-3: rgba(255, 255, 255, .1);--fill-4: rgba(255, 255, 255, .14);--fill-hover: rgba(255, 255, 255, .06);--well: rgba(0, 0, 0, .28);--line-soft: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .2);--hairline: .5px;--text-1: #fff;--text-strong: rgba(255, 255, 255, .92);--text-ui: rgb(240, 240, 246);--text-2: rgba(255, 255, 255, .6);--text-3: rgba(255, 255, 255, .46);--text-4: rgba(255, 255, 255, .32);--accent: rgb(var(--accent-rgb));--accent-hover: rgb(var(--accent-hover-rgb));--accent-soft: rgba(var(--accent-rgb), .32);--accent-faint: rgba(var(--accent-rgb), .14);--accent-bright: rgba(var(--accent-rgb), .95);--indigo: rgb(var(--indigo-rgb));--violet: rgb(var(--brand2-rgb));--lavender: rgb(var(--lav-rgb));--violet-soft: rgba(var(--brand-rgb), .16);--violet-text: color-mix(in srgb, rgb(var(--lav-rgb)) 60%, white);--cyan: rgb(var(--hi-rgb));--mint: rgb(var(--mint-rgb));--warm: #ffb15c;--grad-brand: linear-gradient(90deg, rgb(var(--indigo-rgb)) 0%, rgb(var(--brand2-rgb)) 100%);--grad-tab: linear-gradient(90deg, rgb(var(--hi-rgb)), rgb(var(--brand-rgb)));--grad-generate: linear-gradient(90deg, rgba(var(--brand-rgb), .62), rgba(var(--mint-rgb), .22), rgba(var(--glass-rgb), .9));--glow-corner: radial-gradient(circle at 88% 4%, rgba(var(--mint-rgb), calc(.3 * var(--glow))), transparent 14%), radial-gradient(circle at 98% 2%, rgba(var(--brand2-rgb), calc(.5 * var(--glow))), transparent 22%), radial-gradient(circle at 50% 100%, rgba(var(--brand2-rgb), calc(.16 * var(--glow))), transparent 30%);--ok: #4ade80;--ok-soft: rgba(74, 222, 128, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--danger-line: rgba(248, 113, 113, .35);--info: rgb(var(--brand-rgb));--path-outer: #ff8a4c;--path-inner: #ffd27d;--path-infill: #55d7ff;--path-support: #ffb15c;--path-model: #6ea8ff;--path-travel: rgba(255, 255, 255, .25);--font-sans: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--text-4xl: 40px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--inset: 24px;--e1: 0 1px 2px rgba(0, 0, 0, .2);--e2: 0 4px 22px rgba(0, 0, 0, .4);--e3: 0 18px 42px rgba(0, 0, 0, .48);--e-modal: 0 24px 60px rgba(0, 0, 0, .55);--inner-hi: inset 0 1px 1.5px rgba(255, 255, 255, .25);--inner-soft: inset 0 0 3px rgba(255, 255, 255, .1);--blur-sm: 10px;--blur-md: 20px;--blur-lg: 40px;--glass-filter: blur(28px) saturate(135%);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, .7, .2);--ease-spring: cubic-bezier(.34, 1.28, .52, 1);--ease-screen: cubic-bezier(.18, .92, .22, 1);--t-fast: .12s;--t-base: .18s;--t-enter: .32s;--t-screen: .55s}:root:is([data-theme=flat],[data-theme=block]){--glow: 0;--bloom: 0;--stage: graphite;--viewport-bg: #1b1b1e;--grad-brand: linear-gradient(var(--accent), var(--accent));--grad-tab: linear-gradient(var(--accent), var(--accent));--grad-generate: linear-gradient(var(--accent), var(--accent));--glow-corner: none;--violet-soft: rgba(255, 255, 255, .1);--violet-text: var(--text-1);--inner-hi: none;--inner-soft: none}:root:is([data-theme=flat],[data-theme=block]) .grad-text,:root:is([data-theme=flat],[data-theme=block]) .brand b,:root:is([data-theme=flat],[data-theme=block]) .rv-brand b{background:none;color:var(--text-1)}:root:is([data-theme=flat],[data-theme=block]) .brand-mark{background:var(--accent);box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .brand-mark:before{display:none}:root:is([data-theme=flat],[data-theme=block]) .btn-generate,:root:is([data-theme=flat],[data-theme=block]) .btn-brand,:root:is([data-theme=flat],[data-theme=block]) .btn-primary{box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .btn-generate:after,:root:is([data-theme=flat],[data-theme=block]) .btn-ai:before,:root:is([data-theme=flat],[data-theme=block]) .btn-image3d:before{display:none}:root:is([data-theme=flat],[data-theme=block]) .btn-ai,:root:is([data-theme=flat],[data-theme=block]) .btn-image3d{background:var(--fill-3)}:root:is([data-theme=flat],[data-theme=block]) .btn-ai:hover:not(:disabled),:root:is([data-theme=flat],[data-theme=block]) .btn-image3d:hover:not(:disabled){background:var(--fill-4)}:root:is([data-theme=flat],[data-theme=block]) .btn-ai .ai-ic,:root:is([data-theme=flat],[data-theme=block]) .btn-image3d .i3-icon{filter:none;color:inherit}:root:is([data-theme=flat],[data-theme=block]) .fillbar:before{background:#ffffff26}:root:is([data-theme=flat],[data-theme=block]) .fillbar:hover:before{background:#ffffff30}:root:is([data-theme=flat],[data-theme=block]) .rail::-webkit-slider-runnable-track{background:linear-gradient(var(--accent),var(--accent)) 0 / var(--v) 100% no-repeat,#ffffff1f}:root:is([data-theme=flat],[data-theme=block]) .rail::-webkit-slider-thumb,:root:is([data-theme=flat],[data-theme=block]) .rail:hover::-webkit-slider-thumb{box-shadow:0 1px 3px #00000073}:root:is([data-theme=flat],[data-theme=block]) .dot,:root:is([data-theme=flat],[data-theme=block]) .dot.ok{box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .avatar,:root:is([data-theme=flat],[data-theme=block]) .user-row .avatar{background:#3b3b40;outline:none}:root:is([data-theme=flat],[data-theme=block]) .avatar-btn .avatar{outline:none}:root:is([data-theme=flat],[data-theme=block]) .modal{background:rgb(var(--glass-rgb))}:root:is([data-theme=flat],[data-theme=block]) .vignette{display:none}:root:is([data-theme=flat],[data-theme=block]) .asset-thumb.glb{background:#5b4734}:root:is([data-theme=flat],[data-theme=block]) .asset-thumb.stl{background:#3a4352}:root:is([data-theme=flat],[data-theme=block]) .swatch.base{background:#9a7550}:root:is([data-theme=flat],[data-theme=block]) .swatch.normal{background:#8484f5}:root:is([data-theme=flat],[data-theme=block]) .swatch.mr{background:#2f6b45}:root:is([data-theme=flat],[data-theme=block]) .lane-bars i.on,:root:is([data-theme=flat],[data-theme=block]) .legend-row i{box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .insp-foot{background:transparent}:root:is([data-theme=flat],[data-theme=block]) .stage i{background:var(--a);box-shadow:inset 0 0 0 1px #ffffff1f}:root:is([data-theme=flat],[data-theme=block]) .stage.is-active i{box-shadow:0 0 0 2px var(--bg-deep),0 0 0 3.5px var(--accent)}:root:is([data-theme=flat],[data-theme=block]) #layer::-webkit-slider-runnable-track{background:linear-gradient(var(--accent),var(--accent)) 0 100% / 100% calc(var(--v) * 100%) no-repeat,#ffffff1a}:root:is([data-theme=flat],[data-theme=block]) #layer::-webkit-slider-thumb{box-shadow:0 1px 4px #00000080}:root:is([data-theme=flat],[data-theme=block]) .film.is-selected{box-shadow:inset 0 0 0 1px var(--accent)}:root:is([data-theme=flat],[data-theme=block]) .side{background:#ffffff04}:root:is([data-theme=flat],[data-theme=block]) .compute-slots i.is-run{background:var(--accent);box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .compute-slots i.is-run:after,:root:is([data-theme=flat],[data-theme=block]) .main-glow,:root:is([data-theme=flat],[data-theme=block]) .create-card:before,:root:is([data-theme=flat],[data-theme=block]) .pcard-thumb:after,:root:is([data-theme=flat],[data-theme=block]) .gen-scan{display:none}:root:is([data-theme=flat],[data-theme=block]) .plan-card{background:var(--fill-1)}:root:is([data-theme=flat],[data-theme=block]) .search:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}:root:is([data-theme=flat],[data-theme=block]) .create-card,:root:is([data-theme=flat],[data-theme=block]) .create-card.is-hero{background:#ffffff09}:root:is([data-theme=flat],[data-theme=block]) .cc-tile{background:rgba(var(--c),.32);box-shadow:none}:root:is([data-theme=flat],[data-theme=block]) .gen-overlay{background:#00000052}:root:is([data-theme=flat],[data-theme=block]) .skel{background:var(--fill-1);animation:pulse 1.4s ease-in-out infinite}:root[data-theme=block]{--line-soft: transparent;--line: rgba(255, 255, 255, .055);--line-strong: rgba(255, 255, 255, .1);--viewport-bg: #161618;--glass: #222225;--glass-strong: #222225;--glass-deep: #222225;--popover: #2b2b2f;--glass-filter: none;--fill-1: rgba(255, 255, 255, .045);--fill-2: rgba(255, 255, 255, .075);--fill-3: rgba(255, 255, 255, .11);--fill-4: rgba(255, 255, 255, .16);--e2: 0 6px 20px rgba(0, 0, 0, .28);--e3: 0 10px 28px rgba(0, 0, 0, .32)}:root[data-theme=block] *,:root[data-theme=block] *:before,:root[data-theme=block] *:after{border-color:transparent}:root[data-theme=block] .cc-drop,:root[data-theme=block] .film-add{border-color:#ffffff24}:root[data-theme=block] .spinner{border-color:#ffffff24;border-top-color:var(--accent)}:root[data-theme=block] .card,:root[data-theme=block] .panel{backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=block] .btn-outline{background:var(--fill-2);box-shadow:none}:root[data-theme=block] .seg{background:#00000038}:root[data-theme=block] .seg-hl{background:#ffffff21;box-shadow:none}:root[data-theme=block] .tool-group{background:#00000038}:root[data-theme=block] .tool-group .icon-btn.is-active,:root[data-theme=block] .icon-btn.is-active{background:#ffffff24;box-shadow:none}:root[data-theme=block] .row.is-selected,:root[data-theme=block] .asset.is-selected,:root[data-theme=block] .film.is-selected{background:#ffffff1f;box-shadow:none}:root[data-theme=block] .presets button.is-active{background:var(--accent);color:var(--on-accent);box-shadow:none}:root[data-theme=block] .presets button.is-active small{color:#ffffffbf}:root[data-theme=block] .stage.is-active{background:var(--fill-4);box-shadow:none}:root[data-theme=block] .sect+.sect{border-top:0;border-radius:12px}:root[data-theme=block] .sect{margin-bottom:6px;border-radius:12px;background:var(--fill-1)}:root[data-theme=block] .estimate,:root[data-theme=block] .plate{background:#ffffff0f}:root[data-theme=block] .estimate>div+div{border-left:0}:root[data-theme=block] .vdivider{background:#ffffff12}:root[data-theme=block] .pcard{background:#222225;box-shadow:0 4px 14px #0000002e}:root[data-theme=block] .pcard:hover,:root[data-theme=block] .pcard.menu-open{background:#29292c;box-shadow:var(--e3)}:root[data-theme=block] .side{background:#1d1d20}:root[data-theme=block] .job{background:#ffffff0d}:root[data-theme=block] .chip{background:#222225;-webkit-backdrop-filter:none;backdrop-filter:none}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg-app);color:var(--text-strong);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.45;-webkit-font-smoothing:antialiased;font-synthesis:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;touch-action:manipulation}button:disabled{opacity:.35;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:1.5px solid var(--accent-hover);outline-offset:2px}::selection{background:var(--accent-soft)}.num,output,.tabular{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1a;border:3px solid transparent;border-radius:99px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#ffffff2e}::-webkit-scrollbar-track{background:transparent}.icon{flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}.group-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;color:var(--text-3)}.title-xl{font-size:var(--text-3xl);font-weight:650;letter-spacing:-.01em;line-height:1.15;color:var(--text-1);margin:0}.title-lg{font-size:var(--text-2xl);font-weight:650;letter-spacing:.01em;line-height:1.2;color:var(--text-1);margin:0}.title-md{font-size:var(--text-md);font-weight:600;color:var(--text-strong);margin:0}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.hint{font-size:var(--text-sm);color:var(--text-3);margin:0}.grad-text{background:linear-gradient(90deg,#8fe6ff,rgb(var(--lav-rgb)) 60%,#e1b6ff);-webkit-background-clip:text;background-clip:text;color:transparent}.card{border:var(--hairline) solid var(--line-soft);border-radius:var(--r-md);background:var(--glass);backdrop-filter:blur(var(--blur-md)) saturate(130%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(130%);box-shadow:0 4px 20px #00000038}.panel{border:var(--hairline) solid var(--line-soft);border-radius:var(--r-lg);background:var(--glass-deep);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--e3)}.panel-glow{background:var(--glow-corner),rgba(var(--glass-rgb),.94)}.plate{border-radius:var(--r-md);background:var(--fill-1)}.well{border-radius:var(--r-md);background:var(--well);box-shadow:inset 0 0 0 var(--hairline) var(--line-soft)}.divider{height:var(--hairline);background:var(--line);border:0;margin:var(--s3) 0}.vdivider{width:.75px;align-self:stretch;margin:6px 4px;background:var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-sm);background:var(--fill-3);color:var(--text-ui);font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background var(--t-base),color var(--t-base),transform var(--t-fast),box-shadow var(--t-base)}.btn:hover:not(:disabled){background:var(--fill-4)}.btn:active:not(:disabled){transform:scale(.97)}.btn-lg{height:40px;padding:0 16px;border-radius:var(--r-md);font-size:var(--text-base)}.btn-sm{height:26px;padding:0 9px;border-radius:7px;font-size:var(--text-xs)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-brand{background:var(--grad-brand);color:#fff;box-shadow:0 6px 22px rgba(var(--brand2-rgb),.28),var(--inner-hi)}.btn-brand:hover:not(:disabled){background:var(--grad-brand);filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--fill-hover);color:var(--text-1)}.btn-outline{background:var(--fill-1);box-shadow:inset 0 0 0 1px #ffffff12;color:var(--text-2)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f8717138}.btn-generate{position:relative;height:48px;border-radius:var(--r-md);font-size:var(--text-md);color:#fff;background:var(--grad-generate);box-shadow:var(--inner-hi),0 10px 30px -10px rgba(var(--brand-rgb),.55);overflow:hidden;isolation:isolate}.btn-generate:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translate(-100%);animation:sheen 3.6s var(--ease-out) infinite}.btn-generate:hover:not(:disabled){background:var(--grad-generate);filter:brightness(1.15)}.btn-generate .btn-meta{font-size:var(--text-xs);font-weight:500;opacity:.7;margin-left:4px}@keyframes sheen{0%,55%{transform:translate(-100%)}to{transform:translate(100%)}}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--text-strong);transition:background var(--t-base),color var(--t-base),transform var(--t-fast)}.icon-btn:hover:not(:disabled){background:var(--fill-3)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn.is-active{background:var(--fill-4);color:#fff;box-shadow:var(--inner-soft)}.icon-btn.sm{width:28px;height:28px;border-radius:8px}.icon-btn.xs{width:22px;height:22px;border-radius:6px}.launcher{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;color:var(--text-strong);transition:background var(--t-base),transform var(--t-base) var(--ease-out)}.launcher:hover{transform:translateY(-1px);background:rgba(var(--glass-rgb),.96)}.launcher.is-active{background:rgba(var(--glass-rgb),.98);box-shadow:var(--inner-hi),0 4px 20px #0000004d}.btn-ai,.btn-image3d{position:relative;background:#ffffff0d;color:var(--text-strong);isolation:isolate}.btn-ai:before,.btn-image3d:before{content:"";position:absolute;inset:0;z-index:-1;padding:1px;border-radius:inherit;background:linear-gradient(110deg,rgba(var(--hi-rgb),.7),rgba(var(--brand-rgb),.8) 55%,#c96bff8c);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;transition:opacity var(--t-base)}.btn-ai:hover:not(:disabled),.btn-image3d:hover:not(:disabled){background:rgba(var(--brand-rgb),.12)}.btn-ai:hover:before,.btn-image3d:hover:before{opacity:1}.btn-ai .ai-ic,.btn-image3d .i3-icon{color:rgb(var(--lav-rgb));filter:drop-shadow(0 0 6px rgba(var(--brand-rgb),.7))}.seg{position:relative;display:inline-flex;gap:2px;padding:2px;border:var(--hairline) solid var(--line);border-radius:10px;background:#2d2d2d}.seg.block{display:flex;width:100%}.seg.block>button{flex:1}.seg-hl{position:absolute;top:2px;bottom:2px;left:0;border-radius:8px;background:#ffffff1c;box-shadow:var(--inner-soft),0 1px 3px #0000004d;transition:transform var(--t-base) var(--ease-spring),width var(--t-base) var(--ease-out);pointer-events:none}.seg>button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border-radius:8px;color:#ffffff6b;font-size:var(--text-sm);font-weight:600;transition:color var(--t-base)}.seg>button:hover{color:#ffffffb3}.seg>button.is-active{color:var(--text-strong)}.seg.md>button{height:34px;font-size:var(--text-base)}.seg.glass{background:rgba(var(--deep-rgb),.6)}.tabs{display:flex;gap:18px}.tab{position:relative;padding:8px 0;color:var(--text-3);font-size:var(--text-md);font-weight:500;transition:color var(--t-base)}.tab:hover{color:var(--text-2)}.tab.is-active{color:var(--text-1)}.tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--grad-tab)}.field{display:grid;gap:6px}.field>.lbl,.lbl{font-size:var(--text-xs);font-weight:600;color:var(--text-3);letter-spacing:.02em}.input,.select,.textarea{width:100%;min-width:0;height:34px;padding:0 10px;border:0;border-radius:var(--r-sm);background:var(--fill-2);color:var(--text-strong);outline:0;box-shadow:inset 0 0 0 1px transparent;transition:background var(--t-base),box-shadow var(--t-base)}.input:hover,.select:hover,.textarea:hover{background:#ffffff1a}.input:focus,.select:focus,.textarea:focus{background:#ffffff1a;box-shadow:inset 0 0 0 1px var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input.lg{height:42px;padding:0 14px;border-radius:10px;font-size:var(--text-md)}.textarea{height:auto;min-height:80px;padding:10px 12px;resize:vertical;line-height:1.55}.select{appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.5)' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select option{background:#222}.numfield{position:relative;min-width:0;display:flex;align-items:center;height:32px;border-radius:var(--r-sm);background:var(--fill-2);transition:background var(--t-base),box-shadow var(--t-base)}.numfield:hover{background:#ffffff1a}.numfield:focus-within{box-shadow:inset 0 0 0 1px var(--accent);background:#ffffff1a}.numfield .axis{width:22px;text-align:center;font-size:var(--text-2xs);font-weight:700}.numfield .axis.x{color:#ff6b6b}.numfield .axis.y{color:#6bdc8b}.numfield .axis.z{color:#6ba6ff}.numfield input{flex:1;width:100%;min-width:0;height:100%;border:0;outline:0;background:none;font-variant-numeric:tabular-nums;font-size:var(--text-sm);padding:0 2px}.numfield .unit{padding-right:8px;font-size:var(--text-2xs);color:var(--text-4)}.numfield input::-webkit-inner-spin-button{display:none}.fillbar{--v: .5;position:relative;display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 12px;border-radius:10px;background:var(--well);overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none;transition:box-shadow var(--t-base)}.fillbar:before{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--v));background:linear-gradient(90deg,#ffffff1a,#fff3);pointer-events:none}.fillbar:hover:before{background:linear-gradient(90deg,#ffffff21,#ffffff3d)}.fillbar:focus-within,.fillbar.is-dragging{box-shadow:inset 0 0 0 1.5px var(--accent)}.fillbar>span,.fillbar>output{position:relative;z-index:1;pointer-events:none;font-size:var(--text-sm)}.fillbar>span{color:var(--text-2);font-weight:500}.fillbar>output{color:var(--text-1);font-weight:600}.fillbar>output small{color:var(--text-3);font-weight:500;margin-left:2px}.fillbar>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.rail{-webkit-appearance:none;appearance:none;--v: 50%;width:100%;height:22px;background:transparent;cursor:pointer}.rail::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--info)) 0 / var(--v) 100% no-repeat,#ffffff1f}.rail::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(var(--brand-rgb),.22),0 2px 6px #0006;transition:box-shadow var(--t-base)}.rail:hover::-webkit-slider-thumb{box-shadow:0 0 0 6px rgba(var(--brand-rgb),.28),0 2px 6px #0006}.switch{position:relative;display:inline-block;width:34px;height:20px;flex:none}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.switch i{position:absolute;inset:0;border-radius:99px;background:#ffffff29;transition:background var(--t-base);pointer-events:none}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:transform var(--t-base) var(--ease-spring)}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{transform:translate(14px)}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;font-size:var(--text-sm);color:var(--text-2)}.check-row b{display:block;font-weight:600;color:var(--text-strong)}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-strong);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.chip.accent{background:var(--accent-bright);color:var(--on-accent)}.badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:6px;background:var(--fill-3);color:var(--text-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;white-space:nowrap}.badge.violet{background:var(--violet-soft);color:var(--violet-text)}.badge.blue{background:var(--accent-faint);color:var(--accent-text)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.grad{background:var(--grad-brand);color:#fff}.dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px rgba(var(--hi-rgb),.6);flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 6px #4ade8099}.dot.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:5px;background:var(--fill-3);color:var(--text-3);font-size:var(--text-2xs);font-family:var(--font-sans);font-weight:600}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4a4a52,#2c2c32);color:var(--text-1);font-size:var(--text-xs);font-weight:700;box-shadow:var(--inner-hi);flex:none}.avatar.ring{box-shadow:0 0 0 1.5px var(--bg-app),0 0 0 3px transparent;background-image:linear-gradient(135deg,#4a4a52,#2c2c32);outline:1.5px solid rgb(var(--brand-rgb));outline-offset:1.5px}.row{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:var(--text-2);transition:background var(--t-base),color var(--t-base),transform var(--t-fast);text-align:left;width:100%}.row:hover{background:var(--fill-hover);color:var(--text-strong)}.row.is-active{background:var(--violet-soft);color:var(--violet-text);font-weight:600}.row.is-active .icon{color:var(--lavender)}.row.is-selected{background:var(--fill-3);color:var(--text-1);box-shadow:inset 0 0 0 1px #ffffff0f}.progress{--v: .4;position:relative;height:4px;border-radius:4px;background:#ffffff1a;overflow:hidden}.progress:after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--v));border-radius:inherit;background:var(--grad-tab);transition:transform .4s var(--ease-out)}.progress.indeterminate:after{transform:none;width:40%;animation:indet 1.4s var(--ease-out) infinite}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(260%)}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.14);border-top-color:var(--cyan);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.meter{height:6px;border-radius:6px;background:#ffffff14;overflow:hidden}.meter>i{display:block;height:100%;border-radius:inherit;background:var(--grad-tab)}.popover{padding:8px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--popover);box-shadow:0 12px 30px #00000073}.menu-item{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border-radius:8px;color:var(--text-strong);font-size:var(--text-base);text-align:left}.menu-item:hover{background:var(--fill-hover)}.menu-item .kbd{margin-left:auto}.menu-item.danger{color:var(--danger)}.modal-shell{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:32px;background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .24s var(--ease-out) both}.modal{position:relative;width:min(880px,100%);max-height:calc(100vh - 64px);padding:24px;border:1px solid var(--line-soft);border-radius:var(--r-xl);background:linear-gradient(90deg,rgba(var(--glass-rgb),.98),rgba(var(--deep-rgb),.98));box-shadow:var(--e-modal);animation:modal-in .34s var(--ease-out) both}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(28px) scale(.985)}}.toast-stack{position:fixed;z-index:80;left:50%;bottom:28px;display:grid;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px 10px 12px;border-radius:14px;background:rgba(var(--glass-rgb),.92);border:var(--hairline) solid var(--line);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:var(--e3);color:var(--text-strong);font-size:var(--text-base);animation:toast-in .36s var(--ease-spring) both}.toast.out{animation:toast-out .2s var(--ease-in) both}.toast .icon{color:var(--ok)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;z-index:90;left:50%;top:calc(100% + 8px);padding:5px 8px;border-radius:7px;background:rgba(var(--deep-rgb),.95);color:var(--text-strong);font-size:var(--text-xs);font-weight:500;white-space:nowrap;opacity:0;transform:translate(-50%,-3px);pointer-events:none;transition:opacity var(--t-fast),transform var(--t-fast);transition-delay:0s}[data-tip]:hover:after{opacity:1;transform:translate(-50%);transition-delay:.35s}[data-tip-pos=right]:after{left:calc(100% + 10px);top:50%;transform:translate(-3px,-50%)}[data-tip-pos=right]:hover:after{transform:translateY(-50%)}[data-tip-pos=top]:after{top:auto;bottom:calc(100% + 8px)}.enter-top,.enter-left,.enter-right,.enter-bottom,.enter-fade{animation:var(--enter-name) .5s var(--ease-out) both;animation-delay:var(--d, 0s)}.enter-top{--enter-name: from-top}.enter-left{--enter-name: from-left}.enter-right{--enter-name: from-right}.enter-bottom{--enter-name: from-bottom}.enter-fade{--enter-name: fade-up}@keyframes from-top{0%{opacity:0;translate:0 -24px}}@keyframes from-left{0%{opacity:0;translate:-32px 0}}@keyframes from-right{0%{opacity:0;translate:48px 0}}@keyframes from-bottom{0%{opacity:0;translate:0 32px}}@keyframes fade-up{0%{opacity:0;translate:0 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.brand{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--text-1)}.brand-mark{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:conic-gradient(from 210deg,rgb(var(--hi-rgb)),rgb(var(--brand-rgb)),#c96bff,rgb(var(--hi-rgb)));box-shadow:0 4px 16px rgba(var(--brand-rgb),.35)}.brand-mark:before{content:"";position:absolute;inset:1.5px;border-radius:7.5px;background:#151517}.brand-mark svg{position:relative;width:18px;height:18px}.brand b{font-weight:700;background:var(--grad-tab);-webkit-background-clip:text;background-clip:text;color:transparent}.modal-sm{width:min(420px,100%);display:grid;gap:14px;padding:22px}.modal-body{font-size:var(--text-base);color:var(--text-2);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.mode-tabs>button{min-width:104px;gap:7px}.tab-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:var(--text-2xs);font-weight:700}html,body{height:100%}#app{min-height:100%}.view-loading{position:fixed;inset:0;display:grid;place-items:center;color:var(--text-3)}
