@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-canvas: #f5f4f0;--bg-surface: #FFFFFF;--bg-subtle: #f7f6f2;--bg-muted: #edebe6;--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 0, 0, .07);--bg-selected: rgba(0, 102, 255, .09);--border: #e8e6e1;--border-subtle: rgba(0, 0, 0, .05);--border-strong: #c4c0b8;--border-focus: #0066ff;--text-primary: #0a0a08;--text-secondary: rgba(0, 0, 0, .5);--text-tertiary: rgba(0, 0, 0, .32);--text-inverse: #FFFFFF;--accent: #0066ff;--accent-hover: #0055dd;--accent-soft: rgba(0, 102, 255, .1);--accent-text: #0058cc;--success: #18B558;--warning: #E8930C;--danger: #E5484D;--glass-bg: rgba(255, 255, 255, .78);--glass-bg-solid: rgba(255, 255, 255, .92);--glass-border: rgba(255, 255, 255, .55);--glass-blur: blur(20px) saturate(180%);--dock-blur: blur(40px) saturate(180%);--dock-text: rgba(255, 255, 255, .85);--island-bg: rgba(20, 20, 18, .88);--island-border: rgba(255, 255, 255, .08);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px rgba(0, 0, 0, .07), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .03);--property-panel-width: 340px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 22px;--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--transition-fast: .1s var(--ease);--transition-normal: .18s var(--ease);--transition-medium: .28s var(--ease-out);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:var(--text-inverse)}#app{position:relative;width:100vw;height:100vh;overflow:hidden}#viewport-container{position:absolute;inset:0;overflow:hidden;background:var(--bg-canvas);touch-action:none}#viewport{display:block;width:100%;height:100%;outline:none;touch-action:none}#tab-bar{position:fixed;top:12px;left:14px;z-index:18;display:flex;align-items:center;gap:0;padding:4px;background:#121210b3;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:.5px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 1px 2px #0003,0 4px 16px #00000026,inset 0 .5px #ffffff0f;max-width:calc(100vw - 28px)}#tab-list{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}#tab-list::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;cursor:pointer;min-width:0;max-width:200px;transition:all .18s ease;position:relative;flex-shrink:0;border:1px solid transparent}.tab:hover{background:#ffffff0f;border-color:#ffffff0a}.tab.active{background:#ffffff1f;border-color:#ffffff14;box-shadow:0 1px 3px #0003,inset 0 .5px #ffffff1a}.tab-name{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:#fff6;outline:none;border:none;background:none;min-width:20px;max-width:150px;padding:0 1px;border-radius:3px;letter-spacing:-.01em;cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;transition:color .18s ease}.tab:hover .tab-name{color:#fff9}.tab.active .tab-name{color:#fffffff2;font-weight:600}.tab-name[contenteditable=true]{cursor:text;background:#ffffff1a;color:#fff}.tab-name::selection{background:#06f6}.tab-name.saved-flash{animation:saved-pulse .6s ease}@keyframes saved-pulse{0%{color:#fffffff2}30%{color:var(--success)}to{color:#fffffff2}}.tab-close{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:#fff3;font-size:12px;line-height:1;cursor:pointer;flex-shrink:0;opacity:0;transition:all .12s ease;padding:0}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:#e5484d33;color:#e5484d}.tab-actions{display:flex;align-items:center;gap:1px;margin-left:2px;padding-left:4px;border-left:1px solid rgba(255,255,255,.08)}#tab-new,#tab-open-gh{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#ffffff59;cursor:pointer;flex-shrink:0;transition:all .15s ease;padding:0}#tab-new:hover,#tab-open-gh:hover{background:#ffffff1a;color:#ffffffd9}#tab-open-gh:hover{color:#fff}#tab-milestones{position:fixed;top:12px;right:14px;z-index:18;display:flex;align-items:center;justify-content:center;border:none;border-radius:14px;background:#121210b3;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:.5px solid rgba(255,255,255,.08);box-shadow:0 1px 2px #0003,0 4px 16px #00000026,inset 0 .5px #ffffff0f;color:#ffffff73;cursor:pointer;transition:color .15s ease,background .15s ease;padding:8px 10px}#tab-milestones:hover{background:#1e1e1cd9;color:#ffffffe6}#tab-milestones.has-project{color:var(--accent)}#tab-milestones .ms-icon-clock,#tab-milestones .ms-icon-close{transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s ease;display:block}#tab-milestones .ms-icon-close{position:absolute;opacity:0;transform:rotate(-90deg) scale(.5)}#tab-milestones.panel-open .ms-icon-clock{opacity:0;transform:rotate(90deg) scale(.5)}#tab-milestones.panel-open .ms-icon-close{opacity:1;transform:rotate(0) scale(1)}#dock-assembly{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;background:#1e1e1cbf;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);filter:drop-shadow(0 4px 24px rgba(0,0,0,.18)) drop-shadow(0 0 .5px rgba(255,255,255,.14))}#info-island{display:flex;align-items:center;gap:10px;height:26px;padding:0 18px;pointer-events:none;overflow:hidden;color:#ffffff80;font-size:11px}#status-tool{font-weight:600;color:#ffffffd1;font-size:11px;letter-spacing:-.01em}#status-message{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}#status-measurement{font-family:var(--font-mono);font-size:10px;font-weight:500;color:#fff9;min-width:48px;text-align:right;letter-spacing:-.02em}#dock-bar{display:flex;align-items:center;gap:2px;padding:4px 8px 6px}#dock-tools,#dock-actions{display:flex;align-items:center;gap:2px}.dock-sep{width:1px;height:24px;background:#ffffff14;margin:0 4px;flex-shrink:0;border-radius:1px}.dock-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:transparent;color:#ffffffc7;cursor:pointer;transition:background .15s ease,color .15s ease;outline:none;position:relative;user-select:none;flex-shrink:0}.dock-btn:hover{background:#ffffff17;color:#fff}.dock-btn:active{background:#ffffff24}.dock-btn.active{color:#fff}.dock-btn.active:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#fff}.dock-btn .dock-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.dock-btn .dock-icon svg{width:20px;height:20px;flex-shrink:0}.dock-btn .dock-label{display:none}.dock-btn.action-btn{opacity:.55}.dock-btn.action-btn:hover{opacity:1}.dock-btn[title]:before{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:5px 10px;font-size:11px;font-weight:500;white-space:nowrap;color:#ffffffe6;background:#141412e6;border-radius:var(--radius-sm);box-shadow:0 4px 14px #00000038;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:100}.dock-btn[title]:hover:before{opacity:1;transition-delay:.6s}#more-tools-popup{position:fixed;bottom:92px;left:50%;transform:translate(-50%) translateY(6px);z-index:22;display:none;padding:10px;background:#1e1e1cd1;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000029,0 2px 6px #0000000f,inset 0 .5px #ffffff0f;opacity:0;transition:opacity .15s var(--ease),transform .2s var(--ease-out)}#more-tools-popup.visible{display:block;opacity:1;transform:translate(-50%) translateY(0)}#more-tools-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}#more-tools-grid .dock-btn{width:50px;height:auto;flex-direction:column;gap:3px;padding:8px 4px 6px}#more-tools-grid .dock-btn .dock-label{display:block;font-size:9px;font-weight:500;line-height:1;letter-spacing:.01em;opacity:.5;pointer-events:none}#more-tools-grid .dock-btn.active .dock-label{opacity:.85}#more-tools-grid .dock-btn .dock-icon svg{width:20px;height:20px}#dimension-labels{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:14;overflow:hidden}.dim-label{position:absolute;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-inverse);background:var(--accent);padding:2px 8px;border-radius:999px;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none;line-height:1.4;letter-spacing:-.01em;box-shadow:0 1px 4px #00000026}.measurement-input{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(4px);width:144px;padding:7px 12px;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);outline:none;opacity:0;pointer-events:none;transition:opacity var(--transition-normal),transform var(--transition-normal),border-color var(--transition-fast),box-shadow var(--transition-fast);z-index:26;box-shadow:var(--shadow-md);text-align:center}.measurement-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-md)}.measurement-input.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}#library-panel{position:fixed;bottom:92px;right:12px;z-index:22;width:300px;max-height:540px;overflow:hidden;padding:12px;background:#1e1e1cd1;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000029,0 2px 6px #0000000f,inset 0 .5px #ffffff0f;display:none;flex-direction:column}#library-panel.visible{display:flex}.lib-search{width:100%;padding:7px 10px;font-size:12px;font-family:var(--font-sans);color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);outline:none;margin-bottom:8px;flex-shrink:0}.lib-search::placeholder{color:#ffffff4d}.lib-search:focus{border-color:#fff3;background:#ffffff1f}.lib-cats{display:flex;gap:4px;margin-bottom:10px;overflow-x:auto;flex-shrink:0;-ms-overflow-style:none;scrollbar-width:none}.lib-cats::-webkit-scrollbar{display:none}.lib-cat{padding:4px 10px;font-size:11px;font-weight:500;color:#ffffff80;background:transparent;border:1px solid rgba(255,255,255,.06);border-radius:999px;cursor:pointer;transition:all .12s ease;white-space:nowrap;flex-shrink:0}.lib-cat:hover{color:#fffc;background:#ffffff0f}.lib-cat.active{color:#fff;background:#ffffff1f;border-color:#ffffff26}.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;overflow-y:auto;flex:1;min-height:0}.lib-grid::-webkit-scrollbar{width:4px}.lib-grid::-webkit-scrollbar-track{background:transparent}.lib-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.lib-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:none;border-radius:10px;background:transparent;color:#ffffffb3;cursor:pointer;transition:background .12s ease;position:relative}.lib-item:hover{background:#ffffff14;color:#fff}.lib-item:active{background:#ffffff24}.lib-item.loading{pointer-events:none;opacity:.5}.lib-item.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:mat-spin .6s linear infinite}.lib-thumb{width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#ffffff0a}.lib-thumb[data-pending]{min-height:60px}.lib-thumb-placeholder{width:100%;aspect-ratio:1;border-radius:6px;background:#ffffff0a}.lib-icon{display:flex;align-items:center;justify-content:center}.lib-icon svg{width:28px;height:28px}.lib-name{font-size:9px;font-weight:500;line-height:1.2;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lib-status{grid-column:1 / -1;text-align:center;padding:24px 0;font-size:11px;color:#ffffff59}.lib-dots:after{content:"";animation:lib-dots 1.2s steps(4) infinite}@keyframes lib-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.lib-import-row{display:flex;gap:6px;flex-shrink:0}.lib-import-btn{flex:1;padding:8px;font-size:11px;font-weight:500;color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.lib-import-btn:hover{color:#fff;background:#ffffff1f}#library-panel::-webkit-scrollbar{width:4px}#library-panel::-webkit-scrollbar-track{background:transparent}#library-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}#property-panel{position:fixed;right:12px;top:12px;width:0;min-width:0;max-height:calc(100vh - 80px);overflow:hidden;z-index:18;padding:0;opacity:0;background:#1e1e1cd1;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000029,0 2px 6px #0000000f,inset 0 .5px #ffffff0f;transition:width var(--transition-medium),min-width var(--transition-medium),padding var(--transition-medium),opacity var(--transition-medium)}#property-panel.visible{width:var(--property-panel-width);min-width:var(--property-panel-width);padding:16px 14px;overflow-y:auto;opacity:1}.prop-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.prop-row:last-child{border-bottom:none}.prop-label{font-size:11px;font-weight:500;color:#ffffff73}.prop-value{font-size:11px;font-weight:500;color:#ffffffd9;font-variant-numeric:tabular-nums}.color-picker-row{display:flex;flex-wrap:wrap;gap:5px;padding:10px 0 6px}.color-swatch{width:24px;height:24px;border-radius:var(--radius-xs);cursor:pointer;border:2px solid transparent;transition:border-color var(--transition-fast),transform .1s var(--ease-spring),box-shadow var(--transition-fast);box-shadow:inset 0 0 0 1px #00000014}.color-swatch:hover{transform:scale(1.18);border-color:#fff6}.color-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px #1e1e1ccc,0 0 0 4px var(--accent)}.prop-input{width:64px;padding:4px 8px;font-size:11px;font-family:var(--font-mono);font-weight:500;color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);outline:none;text-align:right;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.prop-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #06f3;background:#ffffff1f}#property-panel input[type=range]{-webkit-appearance:none;appearance:none;height:3px;background:#ffffff1f;border-radius:2px;outline:none;cursor:pointer}#property-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:none;cursor:pointer;box-shadow:0 1px 4px #0000004d;transition:transform .1s var(--ease-spring)}#property-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}#property-panel input[type=range]::-webkit-slider-thumb:active{transform:scale(.95)}#property-panel::-webkit-scrollbar{width:4px}#property-panel::-webkit-scrollbar-track{background:transparent}#property-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}#property-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}body.cursor-crosshair #viewport{cursor:crosshair}body.cursor-move #viewport{cursor:move}body.cursor-pointer #viewport{cursor:pointer}body.cursor-default #viewport{cursor:default}body.space-pan #viewport{cursor:grab!important}body.space-pan-active #viewport{cursor:grabbing!important}#paint-palette{position:absolute;top:12px;left:12px;display:none;z-index:22;pointer-events:auto;background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-lg)}.paint-palette-title{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.paint-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.paint-swatch{width:28px;height:28px;border-radius:var(--radius-xs);cursor:pointer;border:2px solid transparent;transition:border-color var(--transition-fast),transform .1s var(--ease-spring);box-shadow:inset 0 0 0 1px #00000014}.paint-swatch:hover{transform:scale(1.15);border-color:var(--border-strong)}.paint-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent)}.material-search{width:100%;padding:6px 10px;font-size:11px;font-family:var(--font-sans);color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);outline:none;margin-bottom:8px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.material-search:focus{border-color:#fff3;background:#ffffff1f}.material-search::placeholder{color:#ffffff4d}.material-categories{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.mat-cat{padding:3px 8px;font-size:10px;font-weight:500;font-family:var(--font-sans);color:#ffffff80;background:transparent;border:1px solid rgba(255,255,255,.06);border-radius:999px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.mat-cat:hover{color:#fffc;background:#ffffff0f}.mat-cat.active{color:#fff;background:#ffffff1f;border-color:#ffffff26}.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:400px;overflow-y:auto;padding-right:2px}.material-grid::-webkit-scrollbar{width:3px}.material-grid::-webkit-scrollbar-track{background:transparent}.material-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.material-item{cursor:pointer;padding:4px;border-radius:var(--radius-sm);text-align:center;border:2px solid transparent;transition:border-color var(--transition-fast),background var(--transition-fast);position:relative}.material-item:hover{background:#ffffff14;border-color:#ffffff26}.material-item.active{border-color:var(--accent);background:#0066ff26}.material-preview{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #0000000f;object-fit:cover;display:block}.material-item.loading .material-preview{opacity:.5}.material-item.loading:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:mat-spin .6s linear infinite}@keyframes mat-spin{to{transform:rotate(360deg)}}.material-item-name{display:block;font-size:9px;font-weight:500;color:#ffffff80;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}#move-info{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--island-bg);backdrop-filter:var(--dock-blur);-webkit-backdrop-filter:var(--dock-blur);border:1px solid var(--island-border);padding:4px 12px;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--dock-text);box-shadow:0 4px 16px #00000026;z-index:26;pointer-events:none;display:none}#move-info .axis-x{color:#ff6b6b}#move-info .axis-y{color:#5cdb5c}#move-info .axis-z{color:#6ba3ff}.select-marquee{position:absolute;border:1.5px solid var(--accent);background:#0066ff14;pointer-events:none;z-index:14}.render-rect{position:absolute;border:2px solid var(--accent);background:#0066ff0f;pointer-events:none;z-index:14;border-radius:4px;box-shadow:0 0 0 1px #06f3,inset 0 0 20px #0066ff0a}.render-rect:before,.render-rect:after{content:"";position:absolute;width:8px;height:8px;border:2px solid var(--accent);background:#141412e6;border-radius:2px}.render-rect:before{top:-5px;left:-5px}.render-rect:after{bottom:-5px;right:-5px}#render-panel{position:fixed;right:12px;top:12px;z-index:23;width:var(--property-panel-width);max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:#1e1e1cd1;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000029,0 2px 6px #0000000f,inset 0 .5px #ffffff0f;visibility:hidden;opacity:0;pointer-events:none;transform:translate(8px);transition:opacity .2s var(--ease),transform .3s var(--ease-out),visibility .3s}#render-panel.visible{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0)}#render-panel::-webkit-scrollbar{width:4px}#render-panel::-webkit-scrollbar-track{background:transparent}#render-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}#render-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}.render-header{display:flex;align-items:center;justify-content:space-between}.render-title{font-size:12px;font-weight:600;color:#ffffffd9;letter-spacing:-.01em}.render-close-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#ffffff0f;color:#fff6;font-size:14px;cursor:pointer;transition:background .12s ease,color .12s ease}.render-close-btn:hover{background:#ffffff1f;color:#fffc}.render-types{display:flex;gap:4px}.render-type-pill{flex:1;padding:6px 12px;font-size:11px;font-weight:500;font-family:var(--font-sans);color:#ffffff73;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center}.render-type-pill:hover{color:#ffffffb3;background:#ffffff14}.render-type-pill.active{color:#fff;background:#0066ff2e;border-color:#0066ff59}.render-themes{display:flex;flex-direction:column;gap:3px;max-height:260px;overflow-y:auto;padding-right:2px}.render-themes::-webkit-scrollbar{width:3px}.render-themes::-webkit-scrollbar-track{background:transparent}.render-themes::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.render-theme-card{display:flex;align-items:center;gap:10px;padding:8px 10px;font-family:var(--font-sans);color:#fff9;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;cursor:pointer;transition:all .12s ease;text-align:left}.render-theme-card:hover{color:#ffffffd9;background:#ffffff12;border-color:#ffffff1a}.render-theme-card.active{color:#fff;background:#0066ff1f;border-color:#0066ff4d}.render-theme-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.06);transition:border-color .12s ease}.render-theme-card.active .render-theme-thumb{border-color:#06f6}.render-theme-info{display:flex;flex-direction:column;gap:1px;min-width:0}.render-theme-name{font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.render-theme-desc{font-size:10px;font-weight:400;line-height:1.3;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.render-theme-card.active .render-theme-desc{color:#ffffff80}.render-actions{display:flex}.render-go-btn{flex:1;padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease;letter-spacing:-.01em}.render-go-btn:hover{background:var(--accent-hover)}.render-go-btn:active{transform:scale(.98)}.render-go-btn:disabled{opacity:.5;cursor:default}.render-progress{display:flex;align-items:center;gap:10px}.render-progress-bar{flex:1;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.render-progress-fill{height:100%;width:0%;background:var(--accent);border-radius:2px;transition:width .4s var(--ease-out)}.render-progress-text{font-size:10px;font-weight:500;color:#ffffff80;white-space:nowrap;min-width:80px;text-align:right}.render-go-btn:disabled{animation:render-pulse 1.5s ease-in-out infinite}@keyframes render-pulse{0%,to{opacity:.5}50%{opacity:.7}}@media(max-width:768px){.dock-btn{width:38px;height:38px}.dock-btn .dock-icon svg{width:20px;height:20px}#info-island{font-size:10px;gap:6px;padding:0 10px;height:22px}#dock-bar{padding:3px 5px 5px}:root{--property-panel-width: 260px}}@media(max-width:480px){.dock-btn{width:34px;height:34px}.dock-btn .dock-icon svg{width:18px;height:18px}#info-island{font-size:9px;height:20px;gap:4px;padding:0 8px}#dock-bar{padding:2px 4px 4px}#dock-assembly{border-radius:12px}:root{--property-panel-width: 220px}}#comment-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:25;overflow:hidden}.comment-pin{position:absolute;pointer-events:auto;cursor:pointer;transform:translate(-50%,-100%);z-index:26;transition:transform .1s var(--ease-spring)}.comment-pin:hover{transform:translate(-50%,-100%) scale(1.12);z-index:27}.comment-pin-circle{width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--accent);display:flex;align-items:center;justify-content:center;transform:rotate(-45deg);box-shadow:0 2px 8px #0066ff59,0 1px 3px #00000026;border:2px solid rgba(255,255,255,.9)}.comment-pin-number{transform:rotate(45deg);font-size:10px;font-weight:700;color:#fff;line-height:1;user-select:none}.render-comment-pin{position:absolute;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);z-index:26;display:flex;align-items:center;gap:5px;transition:transform .1s var(--ease-spring)}.render-comment-pin:hover{transform:translate(-50%,-50%) scale(1.08);z-index:27}.render-pin-dot{width:14px;height:14px;border-radius:50%;background:#e8930c;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 6px #e8930c66;flex-shrink:0}.render-pin-label{font-size:10px;font-weight:600;color:#fff;background:#e8930cd9;padding:2px 7px;border-radius:4px;white-space:nowrap;box-shadow:0 1px 4px #00000026;max-width:120px;overflow:hidden;text-overflow:ellipsis}.comment-popover{position:absolute;z-index:28;width:240px;padding:12px;background:#141412eb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:12px;box-shadow:0 8px 28px #00000038,0 2px 6px #00000014,inset 0 .5px #ffffff0f;pointer-events:auto;display:flex;flex-direction:column;gap:8px}.comment-popover textarea,.comment-popover input[type=text]{width:100%;padding:6px 8px;font-size:11px;font-family:var(--font-sans);color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);outline:none;resize:none;transition:border-color var(--transition-fast)}.comment-popover textarea:focus,.comment-popover input[type=text]:focus{border-color:#ffffff40;background:#ffffff1f}.comment-popover textarea::placeholder,.comment-popover input[type=text]::placeholder{color:#ffffff4d}.comment-popover textarea{min-height:52px}.comment-popover-actions{display:flex;justify-content:flex-end;gap:6px}.comment-popover-btn{padding:4px 10px;font-size:10px;font-weight:500;font-family:var(--font-sans);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.comment-popover-btn.delete{color:#e5484d;background:#e5484d1f}.comment-popover-btn.delete:hover{background:#e5484d38}.comment-popover-btn.save{color:#fff;background:var(--accent)}.comment-popover-btn.save:hover{background:var(--accent-hover)}.render-annotation-form{position:absolute;z-index:28;width:220px;padding:10px;background:#141412eb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:0 8px 28px #00000038,inset 0 .5px #ffffff0f;pointer-events:auto;display:flex;flex-direction:column;gap:6px}.render-annotation-form input[type=text],.render-annotation-form textarea{width:100%;padding:5px 8px;font-size:11px;font-family:var(--font-sans);color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);outline:none;resize:none;transition:border-color var(--transition-fast)}.render-annotation-form input[type=text]:focus,.render-annotation-form textarea:focus{border-color:#ffffff40;background:#ffffff1f}.render-annotation-form input[type=text]::placeholder,.render-annotation-form textarea::placeholder{color:#ffffff4d}.render-annotation-form textarea{min-height:40px}.render-annotation-form-actions{display:flex;justify-content:flex-end;gap:6px}.render-comments-section{border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.render-comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.render-comments-title{font-size:10px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em}.render-add-annotation-btn{padding:4px 10px;font-size:10px;font-weight:500;font-family:var(--font-sans);color:#fff9;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.render-add-annotation-btn:hover{color:#fff;background:#ffffff1f}.render-add-annotation-btn.active{color:#e8930c;border-color:#e8930c59;background:#e8930c1f}.render-comment-list{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto}.render-comment-list::-webkit-scrollbar{width:3px}.render-comment-list::-webkit-scrollbar-track{background:transparent}.render-comment-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.render-comment-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#ffffff0a;border-radius:var(--radius-sm);font-size:11px}.render-comment-item-dot{width:8px;height:8px;border-radius:50%;background:#e8930c;flex-shrink:0}.render-comment-item-name{font-weight:600;color:#fffc;white-space:nowrap}.render-comment-item-desc{flex:1;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.render-comment-item-del{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:#ffffff4d;font-size:12px;cursor:pointer;flex-shrink:0;transition:background .1s ease,color .1s ease}.render-comment-item-del:hover{background:#e5484d2e;color:#e5484d}#milestones-panel{position:fixed;right:12px;top:54px;z-index:24;width:var(--property-panel-width);max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:#1e1e1cd1;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:.5px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000029,0 2px 6px #0000000f,inset 0 .5px #ffffff0f;visibility:hidden;opacity:0;pointer-events:none;transform:translate(8px);transition:opacity .2s var(--ease),transform .3s var(--ease-out),visibility .3s}#milestones-panel.visible{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0)}#milestones-panel::-webkit-scrollbar{width:4px}#milestones-panel::-webkit-scrollbar-track{background:transparent}#milestones-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}#milestones-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}.ms-header{display:flex;align-items:center;justify-content:space-between}.ms-title{font-size:12px;font-weight:600;color:#ffffffd9;letter-spacing:-.01em}.ms-close-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#ffffff0f;color:#fff6;font-size:14px;cursor:pointer;transition:background .12s ease,color .12s ease}.ms-close-btn:hover{background:#ffffff1f;color:#fffc}#milestones-btn.connected:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px var(--success)}.ms-connect-flow{display:flex;flex-direction:column;gap:10px}.ms-step{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#ffffff8c;line-height:1.4}.ms-step-num{width:18px;height:18px;border-radius:50%;background:#ffffff14;color:#fff9;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ms-step a{color:var(--accent);text-decoration:none}.ms-step a:hover{text-decoration:underline}.ms-connect-btn{width:100%;padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease;letter-spacing:-.01em}.ms-connect-btn:hover{background:var(--accent-hover)}.ms-connect-btn:active{transform:scale(.98)}.ms-connect-btn:disabled{opacity:.5;cursor:default}.ms-connect-intro{font-size:12px;color:#ffffff80;line-height:1.5;text-align:center;padding:4px 0}.ms-github-login-btn{display:flex;align-items:center;justify-content:center;gap:8px}.ms-github-login-btn svg{flex-shrink:0}.ms-device-code{font-family:var(--font-mono);font-size:22px;font-weight:700;color:#fff;text-align:center;padding:12px 16px;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:10px;letter-spacing:.12em;cursor:pointer;transition:background .15s ease;user-select:all}.ms-device-code:hover{background:#ffffff1a}.ms-open-github-btn{display:block;text-align:center;text-decoration:none}.ms-device-waiting{font-size:11px;color:#fff6;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.ms-security-note{font-size:10px;color:#ffffff4d;text-align:center}.ms-open-shared-divider{display:flex;align-items:center;gap:10px;margin:4px 0;color:#ffffff40;font-size:11px}.ms-open-shared-divider:before,.ms-open-shared-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.ms-open-shared-btn{width:100%;padding:7px 16px;font-size:12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:transparent;color:#ffffffb3;cursor:pointer;transition:background .15s ease,color .15s ease}.ms-open-shared-btn:hover{background:#ffffff0f;color:#fff}.ms-shared-input{width:100%;padding:8px 12px;font-size:13px;font-family:JetBrains Mono,monospace;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#0003;color:#fff;outline:none}.ms-shared-input:focus{border-color:var(--accent)}.ms-shared-input::placeholder{color:#ffffff4d}.ms-user-header{display:flex;align-items:center;gap:8px}.ms-avatar{width:24px;height:24px;border-radius:50%}.ms-username{font-size:12px;font-weight:600;color:#ffffffd9;flex:1}.ms-new-project-btn{padding:6px 12px;font-size:11px;font-weight:500;font-family:var(--font-sans);color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .15s ease}.ms-new-project-btn:hover{color:#fff;background:#ffffff1a}.ms-new-project-row{display:flex;gap:6px}.ms-new-project-row input{flex:1;padding:6px 10px;font-size:12px;font-family:var(--font-sans);color:#ffffffd9;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;outline:none}.ms-new-project-row input:focus{border-color:var(--accent)}.ms-new-project-row input::placeholder{color:#ffffff40}.ms-new-project-row button{padding:6px 12px;font-size:11px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:6px;cursor:pointer;transition:background .15s ease}.ms-new-project-row button:hover{background:var(--accent-hover)}.ms-project-list{display:flex;flex-direction:column;gap:3px;max-height:300px;overflow-y:auto}.ms-project-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:#ffffff0a;color:#ffffffb3;font-size:12px;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:all .15s ease;width:100%}.ms-project-item:hover{background:#ffffff14;color:#fff}.ms-project-icon{font-size:14px;flex-shrink:0;opacity:.5}.ms-disconnect-link{font-size:11px;color:#ffffff4d;text-align:center;cursor:pointer;border:none;background:none;font-family:var(--font-sans);padding:4px;transition:color .15s ease;width:100%}.ms-disconnect-link:hover{color:var(--danger)}.ms-timeline-header{display:flex;align-items:center;gap:8px}.ms-back-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#ffffff0f;color:#ffffff80;font-size:14px;cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0}.ms-back-btn:hover{background:#ffffff1f;color:#fffc}.ms-project-name{font-size:12px;font-weight:600;color:#ffffffd9;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-save-milestone-btn{width:100%;padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,transform .1s ease;letter-spacing:-.01em}.ms-save-milestone-btn:hover:not(:disabled){background:var(--accent-hover)}.ms-save-milestone-btn:active:not(:disabled){transform:scale(.98)}.ms-save-milestone-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.ms-timeline{display:flex;flex-direction:column;gap:0;padding-left:10px;max-height:400px;overflow-y:auto}.ms-timeline::-webkit-scrollbar{width:3px}.ms-timeline::-webkit-scrollbar-track{background:transparent}.ms-timeline::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.ms-timeline-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;position:relative}.ms-timeline-item:before{content:"";position:absolute;left:-5px;top:20px;bottom:-8px;width:1px;background:#ffffff1a}.ms-timeline-item:last-child:before{display:none}.ms-timeline-dot{width:10px;height:10px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.15);flex-shrink:0;margin-top:2px;position:relative;left:-10px}.ms-timeline-item:first-child .ms-timeline-dot{background:var(--accent);border-color:#06f6;box-shadow:0 0 6px #0066ff4d}.ms-timeline-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;margin-left:-4px}.ms-timeline-msg{font-size:12px;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-timeline-item:first-child .ms-timeline-msg{color:#ffffffe6;font-weight:500}.ms-timeline-date{font-size:10px;color:#ffffff4d}.ms-timeline-restore{padding:3px 8px;font-size:10px;font-weight:500;font-family:var(--font-sans);color:#ffffff80;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:5px;cursor:pointer;transition:all .15s ease;align-self:flex-start;margin-top:2px}.ms-timeline-restore:hover{color:#fff;background:#0066ff26;border-color:#0066ff4d}.ms-timeline-empty{font-size:11px;color:#ffffff4d;text-align:center;padding:16px 0}.ms-shared-label{font-size:10px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px 2px}.ms-save-flow{display:flex;flex-direction:column;gap:10px}.ms-save-label{font-size:11px;color:#ffffff80}.ms-milestone-input{width:100%;padding:8px 10px;font-size:12px;font-family:var(--font-sans);color:#ffffffd9;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:none;transition:border-color .15s ease}.ms-milestone-input:focus{border-color:var(--accent)}.ms-milestone-input::placeholder{color:#ffffff40}.ms-save-actions{display:flex;gap:6px}.ms-save-cancel-btn{flex:1;padding:8px 16px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:#fff9;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .15s ease}.ms-save-cancel-btn:hover{color:#fff;background:#ffffff1a}.ms-save-go-btn{flex:1;padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease;letter-spacing:-.01em}.ms-save-go-btn:hover{background:var(--accent-hover)}.ms-save-go-btn:active{transform:scale(.98)}.ms-save-go-btn:disabled{opacity:.5;cursor:default}.ms-toast{position:fixed;top:16px;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 16px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:#fff;background:#1e1e1ce0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:0 4px 16px #0003;z-index:100;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;white-space:nowrap}.ms-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.ms-toast-success{border-color:#18b5584d}.ms-toast-error{border-color:#e5484d4d}.ms-toast-action{margin-left:12px;padding:2px 10px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff1a;color:#fff;font-size:12px;cursor:pointer}.ms-toast-action:hover{background:#fff3}.ms-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:ms-spin .6s linear infinite;vertical-align:middle;margin-right:6px}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-loading{font-size:11px;color:#ffffff4d;text-align:center;padding:12px 0}.ms-confirm-overlay{position:absolute;inset:0;background:#141412eb;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:2;padding:24px}.ms-confirm-msg{font-size:12px;color:#ffffffbf;text-align:center;line-height:1.5}.ms-confirm-actions{display:flex;gap:8px}.ms-confirm-actions button{padding:6px 16px;font-size:12px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,transform .1s ease}.ms-confirm-cancel{color:#fff9;background:#ffffff14}.ms-confirm-cancel:hover{background:#ffffff24}.ms-confirm-ok{color:#fff;background:var(--accent)}.ms-confirm-ok:hover{background:var(--accent-hover)}.ms-confirm-ok:active{transform:scale(.98)}.welcome-backdrop{position:fixed;inset:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s var(--ease-out)}.welcome-backdrop.visible{opacity:1}.welcome-backdrop.fade-out{opacity:0;transition:opacity .28s var(--ease)}.welcome-card{width:420px;max-width:calc(100vw - 40px);padding:36px 32px 28px;background:#1c1c1ae0;backdrop-filter:blur(48px) saturate(180%);-webkit-backdrop-filter:blur(48px) saturate(180%);border:.5px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 24px 80px #00000059,0 4px 16px #00000026,inset 0 .5px #ffffff14;display:flex;flex-direction:column;align-items:center;gap:6px;transform:scale(.92) translateY(12px);transition:transform .4s var(--ease-spring),opacity .35s var(--ease-out);opacity:0}.welcome-backdrop.visible .welcome-card{transform:scale(1) translateY(0);opacity:1}.welcome-backdrop.fade-out .welcome-card{transform:scale(.95) translateY(6px);opacity:0;transition:transform .25s var(--ease),opacity .25s var(--ease)}.welcome-badge{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#06f,#3b82f6,#60a5fa);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;letter-spacing:-.04em;box-shadow:0 4px 16px #0066ff59;margin-bottom:6px}.welcome-title{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.2}.welcome-subtitle{font-size:13px;color:#ffffff80;text-align:center;line-height:1.5;max-width:320px;margin-bottom:10px}.welcome-features{width:100%;display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.welcome-feature{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;transition:background .15s ease}.welcome-feature:hover{background:#ffffff0a}.welcome-feature-icon{width:32px;height:32px;border-radius:8px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;margin-top:1px}.welcome-feature-text{display:flex;flex-direction:column;gap:1px}.welcome-feature-name{font-size:12px;font-weight:600;color:#ffffffe0;line-height:1.3}.welcome-feature-desc{font-size:11px;color:#fff6;line-height:1.4}.welcome-btn{width:100%;padding:11px 20px;font-size:13px;font-weight:600;font-family:var(--font-sans);color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .1s ease;letter-spacing:-.01em}.welcome-btn:hover{background:var(--accent-hover)}.welcome-btn:active{transform:scale(.98)}.welcome-hint{font-size:11px;color:#ffffff4d;margin-top:4px}@media(max-width:480px){.welcome-card{padding:28px 20px 22px}.welcome-title{font-size:18px}.welcome-subtitle{font-size:12px}.welcome-feature{padding:8px;gap:10px}}
