:root{--ui-bg-void: #060508;--ui-surface: rgba(20, 16, 30, .96);--ui-surface-deep: rgba(12, 10, 22, .98);--ui-accent: #f59e0b;--ui-accent-bright: #fbbf24;--ui-glow: #22d3ee;--ui-glow-soft: rgba(34, 211, 238, .35);--ui-border: rgba(245, 158, 11, .4);--ui-border-cool: rgba(56, 189, 248, .28);--ui-text: #ece8e3;--ui-text-muted: #9b92a8;--ui-text-strong: #ffffff;--ui-overlay-scrim: rgba(4, 3, 8, .72);--ui-shadow-deep: rgba(0, 0, 0, .85);--ui-menu-outer-glow: rgba(245, 158, 11, .06);--ui-menu-cyan-line: rgba(34, 211, 238, .06);--ui-cat-side-border: rgba(56, 189, 248, .15);--ui-title-underline: rgba(245, 158, 11, .2);--ui-cat-hover-bg: rgba(245, 158, 11, .08);--ui-cat-hover-text: #f5ead8;--ui-cat-active-bg: rgba(245, 158, 11, .14);--ui-subcat-label: #8a7d9a;--ui-subcat-rule: rgba(245, 158, 11, .12);--ui-card-bg: rgba(28, 24, 44, .82);--ui-card-border: rgba(56, 189, 248, .12);--ui-card-hover-bg: rgba(40, 32, 58, .92);--ui-card-hover-border: rgba(251, 191, 36, .45);--ui-card-text: #b8b0c4;--ui-preview-bg: rgba(10, 8, 18, .65);--ui-details-bg: rgba(16, 14, 28, .94);--ui-details-border: rgba(245, 158, 11, .2);--ui-detail-title: #ffffff;--ui-detail-en: #667788;--ui-detail-desc: #8899aa;--ui-detail-hint: #556677;--ui-pattern-item-border: rgba(34, 211, 238, .5);--ui-pattern-badge-bg1: rgba(245, 158, 11, .92);--ui-pattern-badge-bg2: rgba(217, 119, 6, .88);--ui-pattern-badge-fg: #1a1020;--ui-scrollbar-track: rgba(0, 0, 0, .2);--ui-scrollbar-thumb: rgba(245, 158, 11, .35);--ui-scrollbar-thumb-hover: rgba(251, 191, 36, .5);--ui-scrollbar-thumb-cool: rgba(34, 211, 238, .28);--ui-hud-top-grad-a: rgba(14, 12, 24, .88);--ui-hud-top-grad-b: rgba(14, 12, 24, 0);--ui-hud-chip-bg: rgba(28, 22, 42, .78);--ui-hud-mode: #c9a87a;--ui-hud-btn-bg: rgba(55, 40, 28, .55);--ui-hud-btn-text: #f5e6d3;--ui-hud-btn-hover-bg: rgba(80, 55, 30, .75);--ui-hud-btn-hover-border: rgba(251, 191, 36, .75);--ui-hud-action-bg: rgba(22, 18, 36, .9);--ui-hud-action-text: #f0e8dc;--ui-hud-action-hover-bg: rgba(38, 30, 52, .95);--ui-hud-action-shadow: rgba(245, 158, 11, .22);--ui-hud-admin-text: #ffcc88;--ui-hud-admin-border: rgba(255, 180, 0, .4);--ui-hud-admin-hover-bg: rgba(60, 40, 0, .9);--ui-hud-admin-active-bg: rgba(80, 50, 0, .9);--ui-hud-decon-text: #ffaaaa;--ui-hud-decon-border: rgba(255, 100, 100, .45);--ui-hud-decon-active-bg: rgba(90, 20, 25, .92);--ui-hud-banner-bg-a: rgba(80, 20, 25, .92);--ui-hud-banner-bg-b: rgba(50, 15, 20, .92);--ui-hud-banner-text: #ffcccc;--ui-hud-banner-muted: rgba(255, 200, 200, .85);--ui-hud-banner-btn-bg: rgba(40, 10, 12, .9);--ui-hud-banner-btn-text: #ffdddd;--ui-hud-build-info-bg: rgba(22, 18, 38, .92);--ui-hud-build-info-border: rgba(34, 211, 238, .45);--ui-hud-build-info-glow: rgba(245, 158, 11, .08);--ui-hud-hint: #888888;--ui-hud-mode-badge-text: #0c4a6e;--ui-hud-mode-badge-bg: rgba(56, 189, 248, .85);--ui-hud-controls: rgba(180, 168, 200, .45);--ui-admin-overlay: rgba(0, 0, 0, .65);--ui-admin-panel-bg: rgba(10, 12, 26, .97);--ui-admin-panel-border: rgba(255, 200, 50, .35);--ui-admin-header-bg: rgba(40, 30, 5, .9);--ui-admin-title: #ffcc44;--ui-admin-hint-bg: rgba(0, 100, 180, .2);--ui-admin-hint-border: rgba(0, 150, 255, .3);--ui-admin-hint-text: #88ddff;--ui-admin-close-border: rgba(255, 100, 80, .4);--ui-admin-close-text: #ff8877;--ui-admin-cat-bg: rgba(8, 10, 22, .95);--ui-admin-cat-text: #8899aa;--ui-admin-cat-hover-text: #ddcc88;--ui-admin-part-bg: rgba(20, 24, 50, .8);--ui-admin-part-text: #aabbcc;--ui-admin-json-bg: rgba(5, 7, 15, .9);--ui-admin-json-text: #a5e9f5;--ui-decon-svg-shadow: rgba(255, 60, 60, .6);--ui-decon-track: rgba(40, 20, 20, .85);--ui-decon-fill: #ff5555;--ui-decon-hint: #ffaaaa;--ui-pattern-svg-shadow: rgba(80, 200, 255, .55);--ui-pattern-track: rgba(20, 35, 45, .9);--ui-pattern-arc: #6ec8ff;--ui-pattern-hint: #b8e8ff;--ui-deconstruct-frame: rgba(255, 90, 90, .35);--ui-deconstruct-frame-mid: rgba(255, 120, 100, .55)}[data-theme=light]{--ui-bg-void: #e8e4dc;--ui-surface: rgba(255, 253, 250, .97);--ui-surface-deep: rgba(245, 241, 235, .98);--ui-accent: #c2410c;--ui-accent-bright: #ea580c;--ui-glow: #0e7490;--ui-glow-soft: rgba(14, 116, 144, .28);--ui-border: rgba(194, 65, 12, .42);--ui-border-cool: rgba(8, 145, 178, .38);--ui-text: #1c1917;--ui-text-muted: #57534e;--ui-text-strong: #0c0a0a;--ui-overlay-scrim: rgba(80, 72, 62, .4);--ui-shadow-deep: rgba(0, 0, 0, .18);--ui-menu-outer-glow: rgba(194, 65, 12, .12);--ui-menu-cyan-line: rgba(8, 145, 178, .15);--ui-cat-side-border: rgba(8, 145, 178, .22);--ui-title-underline: rgba(194, 65, 12, .28);--ui-cat-hover-bg: rgba(194, 65, 12, .1);--ui-cat-hover-text: #292524;--ui-cat-active-bg: rgba(194, 65, 12, .16);--ui-subcat-label: #78716c;--ui-subcat-rule: rgba(194, 65, 12, .2);--ui-card-bg: rgba(255, 255, 255, .88);--ui-card-border: rgba(8, 145, 178, .22);--ui-card-hover-bg: rgba(255, 252, 248, .98);--ui-card-hover-border: rgba(234, 88, 12, .55);--ui-card-text: #44403c;--ui-preview-bg: rgba(245, 240, 232, .95);--ui-details-bg: rgba(250, 247, 242, .96);--ui-details-border: rgba(194, 65, 12, .25);--ui-detail-title: #1c1917;--ui-detail-en: #57534e;--ui-detail-desc: #57534e;--ui-detail-hint: #78716c;--ui-pattern-item-border: rgba(8, 145, 178, .45);--ui-pattern-badge-bg1: rgba(251, 191, 36, .95);--ui-pattern-badge-bg2: rgba(245, 158, 11, .92);--ui-pattern-badge-fg: #1c1917;--ui-scrollbar-track: rgba(0, 0, 0, .06);--ui-scrollbar-thumb: rgba(194, 65, 12, .35);--ui-scrollbar-thumb-hover: rgba(234, 88, 12, .5);--ui-scrollbar-thumb-cool: rgba(8, 145, 178, .35);--ui-hud-top-grad-a: rgba(255, 252, 248, .92);--ui-hud-top-grad-b: rgba(255, 252, 248, 0);--ui-hud-chip-bg: rgba(255, 255, 255, .85);--ui-hud-mode: #57534e;--ui-hud-btn-bg: rgba(255, 247, 237, .95);--ui-hud-btn-text: #292524;--ui-hud-btn-hover-bg: rgba(255, 237, 213, .98);--ui-hud-btn-hover-border: rgba(234, 88, 12, .65);--ui-hud-action-bg: rgba(255, 255, 255, .92);--ui-hud-action-text: #1c1917;--ui-hud-action-hover-bg: rgba(255, 250, 240, .98);--ui-hud-action-shadow: rgba(194, 65, 12, .18);--ui-hud-admin-text: #9a3412;--ui-hud-admin-border: rgba(194, 65, 12, .45);--ui-hud-admin-hover-bg: rgba(255, 237, 213, .95);--ui-hud-admin-active-bg: rgba(254, 215, 170, .95);--ui-hud-decon-text: #b91c1c;--ui-hud-decon-border: rgba(220, 38, 38, .45);--ui-hud-decon-active-bg: rgba(254, 226, 226, .95);--ui-hud-banner-bg-a: rgba(254, 226, 226, .96);--ui-hud-banner-bg-b: rgba(252, 211, 211, .96);--ui-hud-banner-text: #7f1d1d;--ui-hud-banner-muted: rgba(127, 29, 29, .85);--ui-hud-banner-btn-bg: rgba(255, 255, 255, .9);--ui-hud-banner-btn-text: #991b1b;--ui-hud-build-info-bg: rgba(255, 255, 255, .94);--ui-hud-build-info-border: rgba(8, 145, 178, .4);--ui-hud-build-info-glow: rgba(194, 65, 12, .1);--ui-hud-hint: #78716c;--ui-hud-mode-badge-text: #f0f9ff;--ui-hud-mode-badge-bg: rgba(8, 145, 178, .9);--ui-hud-controls: rgba(87, 83, 78, .55);--ui-admin-overlay: rgba(60, 55, 48, .45);--ui-admin-panel-bg: rgba(255, 253, 250, .98);--ui-admin-panel-border: rgba(194, 65, 12, .35);--ui-admin-header-bg: rgba(255, 247, 237, .95);--ui-admin-title: #9a3412;--ui-admin-hint-bg: rgba(224, 242, 254, .85);--ui-admin-hint-border: rgba(8, 145, 178, .35);--ui-admin-hint-text: #0c4a6e;--ui-admin-close-border: rgba(220, 38, 38, .4);--ui-admin-close-text: #b91c1c;--ui-admin-cat-bg: rgba(245, 241, 235, .98);--ui-admin-cat-text: #57534e;--ui-admin-cat-hover-text: #1c1917;--ui-admin-part-bg: rgba(255, 255, 255, .92);--ui-admin-part-text: #44403c;--ui-admin-json-bg: rgba(250, 250, 249, .98);--ui-admin-json-text: #0c4a6e;--ui-decon-svg-shadow: rgba(220, 38, 38, .45);--ui-decon-track: rgba(254, 226, 226, .95);--ui-decon-fill: #dc2626;--ui-decon-hint: #991b1b;--ui-pattern-svg-shadow: rgba(8, 145, 178, .4);--ui-pattern-track: rgba(224, 242, 254, .95);--ui-pattern-arc: #0284c7;--ui-pattern-hint: #0c4a6e;--ui-deconstruct-frame: rgba(220, 38, 38, .35);--ui-deconstruct-frame-mid: rgba(239, 68, 68, .5)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--ui-bg-void);font-family:Segoe UI,Roboto,Oxygen,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.game-container,.hud,.build-menu{user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--ui-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border-radius:3px}.hud{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;font-family:Segoe UI,Roboto,sans-serif;color:var(--ui-text);z-index:10}.hud>*{pointer-events:auto}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(180deg,var(--ui-hud-top-grad-a) 0%,var(--ui-hud-top-grad-b) 100%)}.hud-time{font-size:18px;font-weight:600;letter-spacing:2px;color:var(--ui-accent-bright)}.hud-floor{display:flex;align-items:center;gap:8px;font-size:16px;background:var(--ui-hud-chip-bg);padding:6px 16px;border-radius:6px;border:1px solid var(--ui-border-cool)}.hud-btn{background:var(--ui-hud-btn-bg);border:1px solid var(--ui-border);color:var(--ui-hud-btn-text);width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .15s}.hud-btn:hover{background:var(--ui-hud-btn-hover-bg);border-color:var(--ui-hud-btn-hover-border)}.hud-mode{font-size:14px;color:var(--ui-hud-mode)}.hud-bottom{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:12px}.hud-action-btn{background:var(--ui-hud-action-bg);border:1px solid var(--ui-border);color:var(--ui-hud-action-text);padding:12px 24px;border-radius:8px;font-size:15px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-action-btn:hover{background:var(--ui-hud-action-hover-bg);border-color:var(--ui-accent-bright);transform:translateY(-2px);box-shadow:0 4px 24px var(--ui-hud-action-shadow),0 0 20px var(--ui-glow-soft)}.hud-action-btn-admin{border-color:var(--ui-hud-admin-border);color:var(--ui-hud-admin-text)}.hud-action-btn-admin:hover{background:var(--ui-hud-admin-hover-bg);border-color:var(--ui-accent-bright);box-shadow:0 4px 20px var(--ui-hud-action-shadow)}.hud-action-btn-admin.active{background:var(--ui-hud-admin-active-bg);border-color:var(--ui-accent-bright);color:var(--ui-hud-admin-text);animation:admin-pulse 1.5s ease-in-out infinite}@keyframes admin-pulse{0%,to{box-shadow:0 0 8px var(--ui-glow-soft)}50%{box-shadow:0 0 18px var(--ui-glow-soft)}}.hud-action-btn-deconstruct{border-color:var(--ui-hud-decon-border);color:var(--ui-hud-decon-text)}.hud-action-btn-deconstruct:hover{border-color:var(--ui-hud-decon-border);box-shadow:0 4px 20px var(--ui-glow-soft)}.hud-action-btn-deconstruct.active{background:var(--ui-hud-decon-active-bg);border-color:var(--ui-hud-decon-border);color:var(--ui-hud-decon-text);animation:deconstruct-btn-pulse 1s ease-in-out infinite}@keyframes deconstruct-btn-pulse{0%,to{box-shadow:0 0 6px var(--ui-glow-soft)}50%{box-shadow:0 0 16px var(--ui-glow-soft)}}.hud-deconstruct-banner{position:absolute;top:52px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 18px;border-radius:8px;background:linear-gradient(90deg,var(--ui-hud-banner-bg-a),var(--ui-hud-banner-bg-b));border:1px solid var(--ui-hud-decon-border);box-shadow:0 4px 24px var(--ui-glow-soft);max-width:min(640px,92vw);z-index:11;animation:deconstruct-banner-glow 1.4s ease-in-out infinite}@keyframes deconstruct-banner-glow{0%,to{border-color:var(--ui-hud-decon-border)}50%{border-color:var(--ui-accent-bright)}}.hud-deconstruct-banner__icon{width:10px;height:10px;border-radius:50%;background:var(--ui-decon-fill);box-shadow:0 0 10px var(--ui-decon-fill);flex-shrink:0;animation:deconstruct-dot .9s ease-in-out infinite}@keyframes deconstruct-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.85)}}.hud-deconstruct-banner__text{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35;color:var(--ui-hud-banner-text);text-align:left}.hud-deconstruct-banner__text strong{font-size:15px;letter-spacing:.04em;color:var(--ui-text-strong)}.hud-deconstruct-banner__text span{font-size:12px;color:var(--ui-hud-banner-muted)}.hud-deconstruct-banner__btn{flex-shrink:0;padding:8px 14px;border-radius:6px;border:1px solid var(--ui-hud-decon-border);background:var(--ui-hud-banner-btn-bg);color:var(--ui-hud-banner-btn-text);font-size:13px;cursor:pointer}.hud-deconstruct-banner__btn:hover{background:var(--ui-hud-action-hover-bg);border-color:var(--ui-border)}.hud-build-info{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:var(--ui-hud-build-info-bg);border:1px solid var(--ui-hud-build-info-border);box-shadow:0 0 24px var(--ui-hud-build-info-glow);padding:10px 20px;border-radius:8px;font-size:14px;text-align:center}.hud-hint{display:block;margin-top:4px;font-size:12px;color:var(--ui-hud-hint)}.hud-mode-badge{display:inline-block;margin-left:10px;padding:2px 8px;font-size:12px;font-weight:600;color:var(--ui-hud-mode-badge-text);background:var(--ui-hud-mode-badge-bg);border-radius:4px;vertical-align:middle}.hud-controls{position:absolute;bottom:20px;right:20px;font-size:11px;color:var(--ui-hud-controls);text-align:right;line-height:1.6;pointer-events:none}.deconstruct-hold-overlay{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.deconstruct-hold-overlay__svg{filter:drop-shadow(0 0 8px var(--ui-decon-svg-shadow))}.deconstruct-hold-overlay__track{stroke:var(--ui-decon-track)}.deconstruct-hold-overlay__fill{stroke:var(--ui-decon-fill);stroke-linecap:round}.deconstruct-hold-overlay__hint{font-size:11px;font-weight:600;color:var(--ui-decon-hint);text-shadow:0 0 6px var(--ui-shadow-deep),0 1px 2px var(--ui-shadow-deep);letter-spacing:.02em;white-space:nowrap}.pattern-ghost-load-overlay{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:150;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:10px}.pattern-ghost-load-overlay__svg{filter:drop-shadow(0 0 10px var(--ui-pattern-svg-shadow));animation:pattern-ghost-load-spin 1.1s linear infinite}.pattern-ghost-load-overlay__track{stroke:var(--ui-pattern-track)}.pattern-ghost-load-overlay__arc{stroke:var(--ui-pattern-arc);stroke-linecap:round}@keyframes pattern-ghost-load-spin{to{transform:rotate(360deg)}}.pattern-ghost-load-overlay__hint{font-size:12px;font-weight:600;color:var(--ui-pattern-hint);text-shadow:0 0 8px var(--ui-shadow-deep),0 1px 2px var(--ui-shadow-deep);letter-spacing:.03em;white-space:nowrap}.build-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--ui-overlay-scrim);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.build-menu{display:flex;width:85vw;max-width:1200px;height:80vh;max-height:750px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;box-shadow:0 8px 48px var(--ui-shadow-deep),0 0 0 1px var(--ui-menu-cyan-line),0 0 40px var(--ui-menu-outer-glow)}.build-menu-categories{width:200px;min-width:200px;background:var(--ui-surface-deep);border-right:1px solid var(--ui-cat-side-border);display:flex;flex-direction:column;padding:16px 0}.build-menu-title{padding:0 20px 16px;font-size:20px;font-weight:700;color:var(--ui-accent-bright);letter-spacing:1px;border-bottom:1px solid var(--ui-title-underline);margin-bottom:8px}.build-menu-cat-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;background:transparent;border:none;color:var(--ui-text-muted);font-size:14px;cursor:pointer;text-align:left;transition:all .15s}.build-menu-cat-btn:hover{background:var(--ui-cat-hover-bg);color:var(--ui-cat-hover-text)}.build-menu-cat-btn.active{background:var(--ui-cat-active-bg);color:var(--ui-text-strong);border-left:3px solid var(--ui-accent)}.cat-icon{font-size:20px}.cat-name{font-weight:500}.build-menu-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.build-subcategory{margin-bottom:8px}.subcategory-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ui-subcat-label);padding:8px 4px 6px;border-bottom:1px solid var(--ui-subcat-rule);margin-bottom:8px}.subcategory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.subcategory-grid.special-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.build-menu-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:var(--ui-card-bg);border:1px solid var(--ui-card-border);border-radius:8px;cursor:pointer;transition:all .15s;color:var(--ui-card-text);min-height:70px}.build-menu-item:hover{background:var(--ui-card-hover-bg);border-color:var(--ui-card-hover-border);color:var(--ui-text-strong);transform:translateY(-1px)}.build-menu-item-special{padding:20px 12px;min-height:100px;gap:10px}.build-menu-item-special .item-icon{font-size:44px}.build-menu-item-special .item-name{font-size:14px;font-weight:600}.item-icon{font-size:28px}.item-icon-preview{width:56px;height:56px;object-fit:contain;image-rendering:auto;border-radius:6px;background:var(--ui-preview-bg);padding:4px}.item-name{font-size:11px;text-align:center;line-height:1.3}.build-menu-details{width:280px;min-width:280px;background:var(--ui-details-bg);border-left:1px solid var(--ui-details-border);padding:24px 20px;display:flex;flex-direction:column;align-items:center;overflow-y:auto}.detail-icon{font-size:64px;margin-bottom:16px}.detail-icon-preview{width:128px;height:128px;object-fit:contain;border-radius:10px;background:var(--ui-preview-bg);padding:8px;margin-bottom:16px}.build-menu-details h3{font-size:18px;color:var(--ui-detail-title);margin:0 0 4px;text-align:center}.detail-name-en{font-size:12px;color:var(--ui-detail-en);margin:0 0 16px}.detail-desc{font-size:13px;color:var(--ui-detail-desc);text-align:center;line-height:1.6}.detail-hint{color:var(--ui-detail-hint);font-size:14px;text-align:center;margin-top:100px}.build-menu-list::-webkit-scrollbar{width:6px}.build-menu-list::-webkit-scrollbar-track{background:var(--ui-scrollbar-track)}.build-menu-list::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border-radius:3px}.build-menu-list::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover)}.build-menu-details::-webkit-scrollbar{width:4px}.build-menu-details::-webkit-scrollbar-track{background:var(--ui-scrollbar-track)}.build-menu-details::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb-cool);border-radius:2px}.build-menu-item.has-pattern{border-color:var(--ui-pattern-item-border)}.pattern-badge{position:absolute;top:3px;right:3px;background:linear-gradient(135deg,var(--ui-pattern-badge-bg1),var(--ui-pattern-badge-bg2));color:var(--ui-pattern-badge-fg);font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;line-height:1.2}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ui-admin-overlay);display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-panel{display:flex;flex-direction:column;width:92vw;max-width:1300px;height:85vh;background:var(--ui-admin-panel-bg);border:1px solid var(--ui-admin-panel-border);border-radius:12px;overflow:hidden;box-shadow:0 0 60px var(--ui-menu-outer-glow),0 8px 60px var(--ui-shadow-deep)}.admin-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--ui-admin-header-bg);border-bottom:1px solid var(--ui-admin-panel-border);flex-shrink:0}.admin-title{font-size:16px;font-weight:700;color:var(--ui-admin-title);letter-spacing:1px;white-space:nowrap}.admin-builder-hint{flex:1;font-size:12px;color:var(--ui-admin-hint-text);text-align:center;padding:4px 12px;background:var(--ui-admin-hint-bg);border:1px solid var(--ui-admin-hint-border);border-radius:6px;animation:pulse-hint 2s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:1}50%{opacity:.65}}.admin-close-btn{margin-left:auto;background:transparent;border:1px solid var(--ui-admin-close-border);color:var(--ui-admin-close-text);font-size:18px;width:32px;height:32px;border-radius:6px;cursor:pointer;line-height:1;transition:all .15s}.admin-close-btn:hover{background:var(--ui-hud-decon-active-bg);color:var(--ui-text-strong)}.admin-body{display:flex;flex:1;overflow:hidden}.admin-categories{width:190px;min-width:190px;background:var(--ui-admin-cat-bg);border-right:1px solid var(--ui-admin-panel-border);display:flex;flex-direction:column;padding:10px 0;overflow-y:auto}.admin-cat-btn{padding:10px 14px;background:transparent;border:none;border-left:3px solid transparent;color:var(--ui-admin-cat-text);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:all .12s}.admin-cat-btn:hover{background:var(--ui-cat-hover-bg);color:var(--ui-admin-cat-hover-text)}.admin-cat-btn.active{background:var(--ui-cat-active-bg);border-left-color:var(--ui-accent);color:var(--ui-admin-title)}.admin-parts-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;padding:14px;overflow-y:auto;align-content:start}.admin-part-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:var(--ui-admin-part-bg);border:1px solid var(--ui-border-cool);border-radius:8px;cursor:pointer;transition:all .13s;color:var(--ui-admin-part-text)}.admin-part-item:hover{background:var(--ui-card-hover-bg);border-color:var(--ui-border);color:var(--ui-text-strong);transform:translateY(-2px);box-shadow:0 4px 16px var(--ui-hud-action-shadow)}.admin-part-img{width:56px;height:56px;object-fit:contain;background:var(--ui-preview-bg);border-radius:6px;padding:4px}.admin-part-composition .admin-part-composition-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--ui-glow-soft);border-radius:6px;font-size:28px;padding:4px}.admin-part-label{font-size:10px;text-align:center;line-height:1.3}.admin-composition{width:240px;min-width:240px;background:var(--ui-admin-cat-bg);border-left:1px solid var(--ui-admin-panel-border);padding:18px 16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.admin-comp-title{font-size:14px;font-weight:700;color:var(--ui-admin-title);letter-spacing:1px;padding-bottom:8px;border-bottom:1px solid var(--ui-admin-panel-border)}.admin-comp-stat{font-size:14px;color:var(--ui-admin-part-text)}.admin-comp-stat strong{color:var(--ui-text-strong);font-size:18px}.admin-comp-hint{font-size:11px;color:var(--ui-detail-hint);line-height:1.6}.admin-btn{padding:8px 12px;background:var(--ui-hud-action-bg);border:1px solid var(--ui-border-cool);border-radius:7px;color:var(--ui-text);font-size:13px;font-weight:600;cursor:pointer;transition:all .13s;text-align:center}.admin-btn:hover:not(:disabled){background:var(--ui-hud-action-hover-bg);border-color:var(--ui-border);color:var(--ui-text-strong)}.admin-btn:disabled{opacity:.4;cursor:default}.admin-btn-export{background:linear-gradient(180deg,var(--ui-pattern-badge-bg1),var(--ui-pattern-badge-bg2));border-color:var(--ui-border);color:var(--ui-pattern-badge-fg);text-shadow:0 1px 2px var(--ui-shadow-deep)}.admin-btn-export:hover:not(:disabled){background:linear-gradient(180deg,var(--ui-accent-bright),var(--ui-accent));border-color:var(--ui-accent-bright);color:var(--ui-text-strong)}.admin-btn-danger{background:var(--ui-hud-decon-active-bg);border-color:var(--ui-hud-decon-border);color:var(--ui-hud-decon-text);margin-top:auto}.admin-btn-danger:hover:not(:disabled){background:var(--ui-hud-banner-bg-a);border-color:var(--ui-decon-fill);color:var(--ui-hud-banner-text)}.admin-btn-row{display:flex;gap:8px}.admin-btn-row .admin-btn{flex:1;font-size:12px;padding:6px 8px}.admin-json-area{font-family:Courier New,monospace;font-size:11px;background:var(--ui-admin-json-bg);border:1px solid var(--ui-border-cool);border-radius:6px;color:var(--ui-admin-json-text);padding:8px;resize:vertical;min-height:80px;line-height:1.4}.admin-categories::-webkit-scrollbar,.admin-parts-grid::-webkit-scrollbar,.admin-composition::-webkit-scrollbar{width:5px}.admin-categories::-webkit-scrollbar-track,.admin-parts-grid::-webkit-scrollbar-track,.admin-composition::-webkit-scrollbar-track{background:var(--ui-scrollbar-track)}.admin-categories::-webkit-scrollbar-thumb,.admin-parts-grid::-webkit-scrollbar-thumb,.admin-composition::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border-radius:3px}.game-container{width:100vw;height:100vh;position:relative;overflow:hidden;background:var(--ui-bg-void, #060508)}.game-canvas{display:block;width:100%;height:100%;outline:none}.game-container--deconstruct{animation:deconstruct-frame 1.25s ease-in-out infinite}@keyframes deconstruct-frame{0%,to{box-shadow:inset 0 0 0 2px var(--ui-deconstruct-frame)}50%{box-shadow:inset 0 0 0 4px var(--ui-deconstruct-frame-mid)}}
