:root{--gray-0:#1e1e1e;--gray-1:#252526;--gray-2:#2d2d2d;--gray-3:#333;--gray-4:#3c3c3c;--gray-5:#474747;--gray-6:#5a5a5a;--gray-7:#6b6b6b;--gray-8:#969696;--gray-9:#bbb;--gray-10:#ccc;--gray-11:#e7e7e7;--white:#fff;--azure-10:#3794ff;--azure-9:#17b;--azure-8:#0e639c;--azure-7:#007acc;--azure-6:#005a9e;--azure-focus:#007fd4;--azure-selection:#264f78;--azure-active:#094771;--surface-canvas:var(--gray-0);--surface-panel:var(--gray-1);--surface-chrome:var(--gray-3);--surface-inset:var(--gray-2);--surface-input:var(--gray-4);--surface-hover:#2a2d2e;--surface-active:var(--azure-active);--surface-selection:var(--azure-selection);--surface-overlay:#252526;--text-primary:var(--gray-10);--text-strong:var(--gray-11);--text-secondary:var(--gray-8);--text-muted:var(--gray-7);--border-subtle:#2b2b2b;--border-default:#3c3c3c;--border-strong:var(--gray-5);--border-focus:var(--azure-focus);--accent:var(--azure-7);--accent-strong:var(--azure-8);--accent-hover:var(--azure-9);--statusbar-bg:var(--azure-7);--statusbar-fg:var(--white);--statusbar-hover:#1f8ad2;--syntax-plain:#d4d4d4;--syntax-comment:#6a9955;--syntax-keyword:#569cd6;--syntax-string:#ce9178;--syntax-number:#b5cea8;--syntax-constant:#4fc1ff;--syntax-function:#dcdcaa;--syntax-type:#4ec9b0;--syntax-variable:#9cdcfe;--syntax-punctuation:gray;--syntax-line-number:#858585;--font-ui:"IBM Plex Sans", -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-3xl:34px;--code-base:13px;--weight-medium:500;--weight-semibold:600;--tracking-caps:.08em;--size-activitybar:48px;--size-statusbar:22px;--size-titlebar:35px;--size-tab:35px;--size-row:22px;--size-control:26px;--radius-1:2px;--radius-2:3px;--radius-3:4px;--radius-4:6px;--shadow-dialog:0 8px 24px #0000008c;--ease-std:cubic-bezier(.25,.1,.25,1);--dur-fast:.12s;--scrollbar-thumb:#79797966;--scrollbar-thumb-hover:#646464b3}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-canvas);-webkit-font-smoothing:antialiased}::selection{background:var(--surface-selection);color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}.wb{background:var(--surface-canvas);flex-direction:column;height:100vh;display:flex;overflow:hidden}.titlebar{height:var(--size-titlebar);background:var(--surface-chrome);border-bottom:1px solid var(--border-subtle);flex:none;align-items:center;gap:12px;padding:0 8px;display:flex}.titlebar__left{align-items:center;gap:8px;min-width:0;display:flex}.titlebar__home{border-radius:var(--radius-2);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-std);background:0 0;border:0;align-items:center;gap:8px;margin:0 -6px;padding:4px 6px;display:inline-flex}.titlebar__home:hover{background:var(--surface-hover)}.titlebar__logo{object-fit:contain;width:22px;height:22px}.titlebar__brand{font-weight:var(--weight-semibold);color:var(--text-strong);font-size:var(--text-md)}.titlebar__sep{color:var(--text-muted);font-size:var(--text-sm)}.titlebar__build{font-size:var(--text-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.titlebar__search{background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-3);height:22px;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast);flex:0 380px;align-items:center;gap:6px;margin:0 auto;padding:0 8px;display:flex}.titlebar__search:hover{background:#00000026}.titlebar__search span{text-align:center;flex:1}.titlebar__kbd{font-family:var(--font-mono);background:var(--gray-3);border:1px solid var(--gray-5);color:var(--text-secondary);border-radius:3px;padding:1px 4px;font-size:10px}.titlebar__right{align-items:center;gap:2px;margin-left:auto;display:flex}.titlebar__link{border-radius:var(--radius-3);height:24px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--text-sm);background:0 0;border:0;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.titlebar__link:hover{background:var(--surface-hover);color:var(--text-primary)}.wb__body{flex:1;min-height:0;display:flex}.activitybar{width:var(--size-activitybar);background:var(--surface-chrome);border-right:1px solid var(--border-subtle);flex-direction:column;flex:none;justify-content:space-between;padding:4px 0;display:flex}.activitybar__group{flex-direction:column;align-items:center;display:flex}.activitybar__slot{justify-content:center;align-items:center;width:100%;height:48px;display:flex;position:relative}.activitybar__marker{background:var(--text-strong);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.icon-btn{width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn--active{color:var(--text-strong)}.icon-btn .codicon{font-size:18px}.side{background:var(--surface-panel);border-right:1px solid var(--border-subtle);flex-direction:column;flex:none;width:300px;min-height:0;display:flex}.side__head{height:var(--size-titlebar);border-bottom:1px solid var(--border-subtle);flex:none;justify-content:space-between;align-items:center;padding:0 12px 0 14px;display:flex}.side__head-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.side__tabs{border-bottom:1px solid var(--border-subtle);padding:0 6px;display:flex}.tab-btn{height:28px;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast);background:0 0;border:0;border-top:2px solid #0000;align-items:center;gap:3px;padding:0 6px;display:inline-flex}.tab-btn:hover{color:var(--text-primary)}.tab-btn--active{color:var(--text-strong);border-top-color:var(--accent)}.tab-btn .codicon{font-size:14px}.side__search{padding:8px 10px 6px}.input{height:var(--size-control);background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--radius-1);color:var(--text-primary);align-items:center;gap:5px;padding:0 7px;display:flex}.input:focus-within{border-color:var(--border-focus)}.input .codicon{color:var(--text-secondary);font-size:13px}.input input{min-width:0;font-family:var(--font-ui);font-size:var(--text-base);color:inherit;background:0 0;border:0;outline:0;flex:1}.input--block{width:100%}.side__meta{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);justify-content:space-between;align-items:center;padding:2px 14px 4px;display:flex}.side__list{flex:1;padding-bottom:8px;overflow-y:auto}.side__empty{color:var(--text-muted);font-size:var(--text-base);text-align:center;padding:20px 14px}.sym{cursor:pointer;height:22px;font-size:var(--text-base);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:0 12px;display:flex;position:relative}.sym:hover{background:var(--surface-hover)}.sym--active{background:var(--surface-active)}.sym--active:before{content:"";border:1px solid var(--border-focus);pointer-events:none;position:absolute;inset:0}.sym .codicon{flex:none;font-size:15px}.sym__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sym__tag{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);flex:none}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tabstrip{height:var(--size-tab);background:var(--surface-inset);border-bottom:1px solid var(--border-subtle);flex:none;align-items:stretch;display:flex;overflow-x:auto}.tabstrip::-webkit-scrollbar{height:0}.editor-tab{background:var(--surface-inset);border-right:1px solid var(--border-subtle);height:100%;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border-top:1px solid #0000;flex:none;align-items:center;gap:5px;padding:0 10px 0 12px;display:inline-flex;position:relative}.editor-tab--active{background:var(--surface-canvas);color:var(--text-strong);border-top-color:var(--accent)}.editor-tab .codicon{font-size:13px}.editor-tab__close{width:16px;height:16px;color:inherit;opacity:0;border-radius:var(--radius-1);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.editor-tab:hover .editor-tab__close{opacity:.7}.editor-tab__close:hover{background:var(--surface-hover);opacity:1!important}.editor-tab__close .codicon{font-size:11px}.breadcrumb{height:24px;font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex:none;align-items:center;gap:2px;padding:0 14px;display:flex}.breadcrumb__seg{align-items:center;gap:3px;display:inline-flex}.breadcrumb__seg .codicon{opacity:.7;font-size:12px}.breadcrumb__current{color:var(--text-primary)}.editor{background:var(--surface-canvas);flex:1;min-height:0;display:flex;position:relative}.editor__split{flex:1;min-height:0;display:flex}.editor__empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.editor__empty .codicon{opacity:.12;font-size:64px}.editor__empty p{max-width:280px;font-size:var(--text-md);margin:0}.code-wrap{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.code{min-height:0;font-family:var(--font-mono);font-size:var(--code-base);flex:1;display:flex;overflow:auto}.code__gutter{text-align:right;-webkit-user-select:none;user-select:none;z-index:1;background:var(--surface-canvas);flex:none;padding:10px 0;position:sticky;left:0}.code__ln{height:21px;color:var(--syntax-line-number);padding:0 14px 0 20px;line-height:21px}.code__ln--active{color:var(--text-strong)}.code__body{flex:1;min-width:max-content;padding:10px 0}.code__line{white-space:pre;height:21px;color:var(--syntax-plain);cursor:default;padding:0 24px 0 4px;line-height:21px}.code__line--active{background:var(--surface-selection);box-shadow:inset 2px 0 0 var(--accent)}.code__line:hover{background:#ffffff0a}.code__type-link{cursor:pointer;border-bottom:1px solid #0000;text-decoration:none;transition:border-color 80ms}.code__type-link:hover{filter:brightness(1.3);border-bottom-color:currentColor}.ctx-menu{z-index:9999;background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-3);box-shadow:var(--shadow-dialog);flex-direction:column;min-width:160px;padding:4px 0;display:flex;position:fixed}.ctx-menu__item{height:26px;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;display:flex}.ctx-menu__item:hover:not(.ctx-menu__item--disabled){background:var(--surface-active)}.ctx-menu__item--disabled{color:var(--text-muted);cursor:default}.ctx-menu__item .codicon{text-align:center;width:14px;font-size:14px}.ctx-menu__sep{background:var(--border-subtle);height:1px;margin:4px 0}.tk-k{color:var(--syntax-keyword)}.tk-s{color:var(--syntax-string)}.tk-n{color:var(--syntax-number)}.tk-const{color:var(--syntax-constant)}.tk-f{color:var(--syntax-function)}.tk-t{color:var(--syntax-type)}.tk-v{color:var(--syntax-variable)}.tk-c{color:var(--syntax-comment)}.tk-p{color:var(--syntax-punctuation)}.minimap{background:var(--surface-canvas);border-left:1px solid var(--border-subtle);cursor:pointer;flex:none;width:120px;padding-top:10px;position:relative;overflow:hidden}.minimap__code{pointer-events:none;transform-origin:0 0;width:400%;font-family:var(--font-mono);padding-left:4px;font-size:12px;font-weight:600;line-height:12px;transform:scaleY(.333)scaleX(.25)}.minimap__line{white-space:pre;height:12px;line-height:12px;overflow:hidden}.minimap__viewport{pointer-events:none;background:#ffffff12;border:1px solid #ffffff0d;position:absolute;left:0;right:0}.outline{border-left:1px solid var(--border-subtle);background:var(--surface-panel);flex-direction:column;flex:none;width:210px;min-height:0;display:flex}.outline__head{height:var(--size-titlebar);border-bottom:1px solid var(--border-subtle);flex:none;justify-content:space-between;align-items:center;padding:0 10px 0 14px;display:flex}.outline__head-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.outline__count{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--text-muted);background:var(--gray-4);border-radius:999px;padding:1px 5px}.outline__list{flex:1;padding:4px 0;overflow-y:auto}.outline__row{height:22px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:0 14px;display:flex}.outline__row:hover{background:var(--surface-hover)}.outline__row--active{background:var(--surface-active);box-shadow:inset 2px 0 0 var(--accent)}.outline__row .codicon{flex:none;font-size:14px}.outline__row span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.statusbar{height:var(--size-statusbar);background:var(--statusbar-bg);color:var(--statusbar-fg);flex:none;justify-content:space-between;align-items:stretch;display:flex}.statusbar__left,.statusbar__right{align-items:stretch;display:flex}.status-item{height:var(--size-statusbar);font-size:var(--text-xs);color:inherit;cursor:default;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.status-item--btn{cursor:pointer}.status-item--btn:hover{background:var(--statusbar-hover)}.status-item .codicon{font-size:12px}.palette-scrim{z-index:200;background:#0006;justify-content:center;align-items:flex-start;padding:60px 0 0;display:flex;position:fixed;inset:0}.palette{background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-3);width:600px;max-width:92%;max-height:60vh;box-shadow:var(--shadow-dialog);flex-direction:column;display:flex;overflow:hidden}.palette__input-wrap{flex:none;padding:6px 8px}.palette__input{background:var(--surface-input);border:1px solid var(--border-focus);border-radius:var(--radius-1);width:100%;height:28px;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-md);outline:0;padding:0 8px}.palette__list{border-top:1px solid var(--border-subtle);flex:1;padding:4px;overflow-y:auto}.palette__row{border-radius:var(--radius-1);cursor:pointer;height:28px;font-size:var(--text-base);align-items:center;gap:7px;padding:0 8px;display:flex}.palette__row--active{background:var(--surface-active)}.palette__row:hover{background:var(--surface-hover)}.palette__row .codicon{font-size:15px}.palette__kind{font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.palette__empty{text-align:center;color:var(--text-muted);padding:14px}.badge{font-size:var(--text-2xs);font-weight:var(--weight-semibold);border-radius:var(--radius-2);background:var(--surface-inset);color:var(--text-secondary);border:1px solid var(--border-default);align-items:center;padding:1px 5px;display:inline-flex}.selector{background:var(--surface-canvas);justify-content:center;min-height:100vh;display:flex;overflow-y:auto}.selector__inner{width:100%;max-width:900px;padding:64px 28px 48px}.selector__head{align-items:center;gap:16px;margin-bottom:28px;display:flex}.selector__logo{object-fit:contain;flex:none;width:52px;height:52px}.selector__titles{flex:1}.selector__brand{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--text-strong);margin:0}.selector__tag{color:var(--text-secondary);font-size:var(--text-md);margin:3px 0 0}.selector__search{max-width:400px;margin-bottom:24px}.selector__meta{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;display:flex}.selector__grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.selector__empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:32px}.build-card{text-align:left;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-4);cursor:pointer;color:var(--text-primary);font-family:var(--font-ui);transition:border-color var(--dur-fast) var(--ease-std), background var(--dur-fast) var(--ease-std), transform var(--dur-fast) var(--ease-std);flex-direction:column;padding:14px 16px;text-decoration:none;display:flex}.build-card:hover{border-color:var(--border-focus);background:var(--surface-inset);transform:translateY(-1px)}.build-card__game{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:4px;display:flex}.build-card__game .codicon{font-size:13px}.build-card__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong)}.build-card__ver{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.build-card__meta{font-size:var(--text-xs);color:var(--text-secondary);gap:14px;margin-top:12px;display:flex}.build-card__meta span{align-items:center;gap:4px;display:inline-flex}.build-card__meta .codicon{opacity:.8;font-size:13px}.build-card__date{font-size:var(--text-xs);color:var(--text-muted);margin-top:8px}.loading-screen{text-align:center;width:100%;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.loading-screen .codicon{font-size:32px;animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{max-width:320px;font-size:var(--text-md);margin:0}.loading-screen__pct{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.04em}.load-progress{z-index:2;background:#ffffff0f;height:2px;position:absolute;top:0;left:0;right:0;overflow:hidden}.load-progress__bar{background:linear-gradient(90deg, var(--accent), #79c0ff);height:100%;transition:width .12s linear;box-shadow:0 0 8px #79c0ff73}.selector__recent{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.recent-chip{border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-std), background var(--dur-fast) var(--ease-std), transform var(--dur-fast) var(--ease-std);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.recent-chip .codicon{color:var(--accent);font-size:13px}.recent-chip:hover{border-color:var(--border-focus);background:var(--surface-inset);transform:translateY(-1px)}
