:root,[data-theme=dark]{color-scheme:dark;--bg-base: #0b0d12;--bg-app-glow: #24345f;--text-primary: #edf1fb;--text-secondary: #d5def7;--text-muted: #9ca8c5;--text-accent: #b7c8ef;--text-stats: #bfd0ff;--text-entry: #fff1ab;--text-strong: #fff;--text-welcome-or: #91a7d5;--text-preview: #c6d3f4;--text-preview-option: #c8d7fa;--border: #232c41;--border-subtle: #252d41;--border-strong: #303b55;--border-stats: #28314b;--border-chip-active: #628ce7;--border-dashed: #34435e;--surface-header: #101420e8;--surface-sidebar: #101520;--surface-panel: #111827;--surface-elevated: #121a2d;--surface-input: #0d111a;--surface-input-alt: #0f1522;--surface-stats: #171d2c;--surface-chip: #151b29;--surface-btn: #171f30;--surface-btn-hover: #202b43;--surface-tree-page: #111827;--surface-group-selected: #1e2e53;--surface-tools: #11192a;--surface-sticky: #0f1522f2;--surface-toast: #111b2d;--surface-welcome: #121a2d;--surface-preview-start: #131c2f;--surface-preview-end: #0f1524;--chip-text: #c6d3f4;--chip-active-bg: #2b4078;--chip-active-text: #fff;--btn-border-hover: #4f628c;--primary: #2f5fd0;--primary-hover: #3a69db;--primary-soft: #1e2e53;--accent-soft: #2b407866;--text-on-primary: #fff;--danger-bg: #4a2323;--danger-border: #783636;--focus: #7aa3ff;--selected-border: #628ce7;--selected-shadow: #628ce766;--badge-default-color: #bdd0ff;--badge-default-border: #374866;--badge-test-color: #b8dbff;--badge-test-border: #345170;--badge-test-bg: #12273b;--badge-game-color: #ffd9a7;--badge-game-border: #6d5333;--badge-game-bg: #342813;--entry-bg: #59481f;--entry-color: #ffdfa0;--entry-border: #91763b;--status-on-bg: #1b3e2d;--status-on-color: #9bf7c7;--status-on-border: #396f57;--status-off-bg: #3a2222;--status-off-color: #ffc3c3;--status-off-border: #824747;--group-count-bg: #293755;--toast-border: #385082;--toast-text: #e6eeff;--error: #ffb4b4;--welcome-border: #4a5c82;color:var(--text-primary);background:var(--bg-base);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.45}[data-theme=light]{color-scheme:light;--bg-base: #f4f6fb;--bg-app-glow: #d8e4ff;--text-primary: #152033;--text-secondary: #2d3a52;--text-muted: #5a6b86;--text-accent: #3d4f6d;--text-stats: #2f4f9f;--text-entry: #8a6500;--text-strong: #0f1728;--text-welcome-or: #6b7f9f;--text-preview: #3d4f6d;--text-preview-option: #4a5f82;--border: #d8e0ef;--border-subtle: #d0d9ea;--border-strong: #b8c5db;--border-stats: #c7d4eb;--border-chip-active: #4a7fd4;--border-dashed: #c5d0e4;--surface-header: #ffffffe8;--surface-sidebar: #ffffff;--surface-panel: #ffffff;--surface-elevated: #f7f9fd;--surface-input: #ffffff;--surface-input-alt: #f8faff;--surface-stats: #eef3fc;--surface-chip: #f0f4fb;--surface-btn: #f3f6fc;--surface-btn-hover: #e8eef9;--surface-tree-page: #f8faff;--surface-group-selected: #e5edff;--surface-tools: #ffffff;--surface-sticky: #fffffff2;--surface-toast: #ffffff;--surface-welcome: #f7f9fd;--surface-preview-start: #f0f4fc;--surface-preview-end: #e8eef9;--chip-text: #3d4f6d;--chip-active-bg: #dbe8ff;--chip-active-text: #2f4f9f;--btn-border-hover: #9eb5db;--primary: #4a6fd8;--primary-hover: #3a69db;--primary-soft: #eef3ff;--accent-soft: #dbe8ff;--text-on-primary: #fff;--danger-bg: #fde8e8;--danger-border: #e8aaaa;--focus: #4a7fd4;--selected-border: #4a7fd4;--selected-shadow: #4a7fd433;--badge-default-color: #2f4f9f;--badge-default-border: #a8bce0;--badge-test-color: #1d5a8a;--badge-test-border: #9bc4e8;--badge-test-bg: #e8f3ff;--badge-game-color: #8a5a12;--badge-game-border: #e0c48a;--badge-game-bg: #fff6e5;--entry-bg: #fff3d6;--entry-color: #8a6500;--entry-border: #e0c070;--status-on-bg: #e6f7ee;--status-on-color: #1a7a4a;--status-on-border: #8ed4ad;--status-off-bg: #fde8e8;--status-off-color: #b33a3a;--status-off-border: #e8aaaa;--group-count-bg: #e2eaf7;--toast-border: #b8c9e8;--toast-text: #152033;--error: #c62828;--welcome-border: #b8c5db}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app{height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 25% -20%,var(--bg-app-glow) 0%,var(--bg-base) 45%);overflow:hidden}.app-header{display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border-subtle);background:var(--surface-header);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:30;flex-wrap:wrap}.app-header-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto}.app-header-logo{width:38px;height:38px;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 14px #3fb86e47;border:none;padding:0;background:transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.app-header-logo:hover{transform:scale(1.04)}.app-header-logo:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-header-logo-img{width:100%;height:100%;object-fit:cover;display:block}.app-header-titles h1{margin:0;font-size:1.1rem;font-weight:650;letter-spacing:-.02em}.app-header-titles p{margin:2px 0 0;color:var(--text-muted);font-size:.78rem}.app-header-meta{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:center}.header-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-stats);background:var(--surface-stats);border:1px solid var(--border-stats);border-radius:999px;padding:5px 10px;white-space:nowrap}.header-chip strong{color:var(--text-primary);font-weight:650}.header-chip-warn{color:#c47a12;background:#ffb0201f;border-color:#ffb02059}.header-chip-entry{max-width:220px;overflow:hidden;text-overflow:ellipsis}.header-chip-file{max-width:240px;overflow:hidden;text-overflow:ellipsis}.header-chip-file strong{font-weight:600}.btn-switch-file{font-weight:600;padding-inline:12px;border-color:var(--border-strong);background:var(--surface-btn)}.btn-switch-file:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.btn-upload-server{font-weight:600;padding-inline:12px;border-color:#5b7fd6;color:#5b7fd6;background:#5b7fd614}.app-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.btn-save-outline{position:relative;background:var(--surface-btn);border-color:var(--primary);color:var(--primary);font-weight:600;padding-inline:14px}.btn-save-outline:hover{background:var(--primary-soft)}.btn-save-outline.unsaved{border-color:#e8a030;color:#c47a12;background:#ffb02024;animation:save-ring 1.4s ease-out infinite}.btn-save-outline.unsaved:before{content:"";position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:#f0a030;border:2px solid var(--surface-header);animation:save-dot 1.4s ease-in-out infinite}@keyframes save-ring{0%{box-shadow:0 0 #f0a030b3}70%{box-shadow:0 0 0 12px #f0a03000}to{box-shadow:0 0 #f0a03000}}@keyframes save-dot{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.btn-save{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary);font-weight:600;padding-inline:14px}.btn-save:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-btn);border-color:var(--border-strong);color:var(--text-primary)}.btn-icon{min-width:38px;padding-inline:10px;font-size:1rem;line-height:1}.header-dropdown{position:relative}.header-dropdown-trigger{list-style:none}.header-dropdown-trigger::-webkit-details-marker{display:none}.header-dropdown[open] .header-dropdown-trigger{background:var(--surface-btn-hover);border-color:var(--btn-border-hover)}.header-dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;display:grid;gap:4px;background:var(--surface-tools);border:1px solid var(--border-strong);border-radius:11px;padding:6px;z-index:40;box-shadow:0 10px 30px #0000002e}.header-dropdown-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text-primary);border-radius:8px;padding:9px 10px;cursor:pointer;font:inherit;font-size:.86rem}.header-dropdown-item:hover{background:var(--surface-btn-hover)}.theme-toggle{min-width:38px}.layout{flex:1;display:grid;grid-template-columns:380px minmax(0,1fr);min-height:0;overflow:hidden}.sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--surface-sidebar);min-height:0}.sidebar-head{padding:14px 12px 12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-head-title h2{margin:0;font-size:1rem}.sidebar-head-title p{margin:4px 0 0;font-size:.78rem;color:var(--text-muted)}.search-box{position:relative}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none;opacity:.65}.search-box input{width:100%;padding:11px 32px 11px 34px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-input);color:var(--text-primary)}.search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-muted);width:24px;height:24px}.filter-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.chip{border:1px solid var(--border-strong);background:var(--surface-chip);color:var(--chip-text);border-radius:8px;padding:6px;font-size:.78rem}.chip.active{background:var(--chip-active-bg);border-color:var(--border-chip-active);color:var(--chip-active-text)}.type-filter-select-wrap{display:grid;gap:4px}.type-filter-select-label{font-size:.72rem;color:var(--text-muted)}.type-filter-select{width:100%;border:1px solid var(--border-strong);background:var(--surface-chip);color:var(--text-primary);border-radius:8px;padding:7px 8px;font-size:.8rem}.sidebar-tools{display:flex;gap:8px}.btn,.btn-sm,.tree button,.detail button,.tools-menu button{border:1px solid var(--border-strong);background:var(--surface-btn);color:var(--text-primary);border-radius:9px;padding:8px 10px;cursor:pointer;transition:.15s ease}.btn:hover,.btn-sm:hover,.tree button:hover:not(:disabled),.detail button:hover:not(:disabled),.tools-menu button:hover{background:var(--surface-btn-hover);border-color:var(--btn-border-hover)}.btn:disabled,.btn-sm:disabled,.tree button:disabled{opacity:.45;cursor:not-allowed}.btn-sm{font-size:.75rem;padding:6px 8px}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.btn.primary:hover{background:var(--primary-hover)}.btn.danger,.danger{background:var(--danger-bg)!important;border-color:var(--danger-border)!important}.tree{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 12px 12px}.tree-summary{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;border-radius:10px;background:var(--surface-stats);border:1px solid var(--border-stats);font-size:.8rem;color:var(--text-muted)}.tree-summary strong{color:var(--text-stats)}.tree-summary-dot{opacity:.5}.tree-empty{border:1px dashed var(--border-dashed);border-radius:12px;padding:20px 14px;text-align:center;color:var(--text-muted);margin:8px 4px}.tree-empty-icon{font-size:1.4rem;margin-bottom:8px}.tree-empty-hint{margin:8px 0 0;font-size:.78rem}.tree-group{margin-bottom:10px}.tree-group-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:6px;align-items:stretch;border-radius:12px;padding:4px;border:1px solid var(--border);background:var(--surface-elevated)}.tree-group-head.selected{border-color:var(--selected-border);background:var(--surface-group-selected);box-shadow:0 0 0 1px var(--selected-shadow)}.tree-group-head.hidden-section{opacity:.72}.tree-fold{width:32px;min-height:52px;padding:0;border:none!important;background:transparent!important;display:grid;place-items:center}.tree-fold-icon{width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(-45deg);transition:transform .15s ease}.tree-group.collapsed .tree-fold-icon{transform:rotate(-135deg)}.tree-group-select{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left;min-width:0;padding:6px 4px!important;border:none!important;background:transparent!important}.tree-group-select:hover{background:transparent!important}.tree-group-index{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.tree-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;color:var(--text-primary);max-width:100%}.tree-group-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.74rem;color:var(--text-muted)}.tree-actions{display:flex;gap:4px;align-items:center}.tree-actions-compact{opacity:0;transition:opacity .15s ease}.tree-group-head:hover .tree-actions-compact,.tree-question:hover .tree-question-moves,.tree-actions-compact:focus-within{opacity:1}.tree-actions button{width:30px;height:30px;padding:0;font-size:.85rem}.tree-group-questions{display:grid;gap:8px;margin:8px 0 0;padding-left:8px;border-left:2px solid var(--border-subtle)}.tree-group-empty{margin:4px 0 4px 12px;font-size:.78rem;color:var(--text-muted)}.tree-question{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:stretch;border-radius:12px;border:1px solid var(--border);background:var(--surface-tree-page);padding:6px;transition:border-color .15s ease,box-shadow .15s ease}.tree-question:hover{border-color:var(--btn-border-hover)}.tree-question.selected{border-color:var(--selected-border);background:var(--surface-group-selected);box-shadow:0 0 0 1px var(--selected-shadow)}.tree-question.hidden-item{opacity:.68}.tree-question-order{display:grid;place-items:center;align-self:center;width:34px;height:34px;border-radius:10px;background:var(--surface-stats);border:1px solid var(--border-stats);font-size:.78rem;font-weight:700;color:var(--text-stats)}.tree-question-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;text-align:left;border:none!important;background:transparent!important;padding:4px 2px!important}.tree-question-main:hover{background:transparent!important}.tree-question-text{margin:0;font-size:.84rem;line-height:1.4;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}.tree-question.selected .tree-question-text{color:var(--text-primary);font-weight:500}.tree-question-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tree-type-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-size:.68rem;border:1px solid var(--badge-test-border);color:var(--badge-test-color);background:var(--badge-test-bg)}.tree-type-tag.game{color:var(--badge-game-color);border-color:var(--badge-game-border);background:var(--badge-game-bg)}.tree-type-icon{font-size:.72rem;line-height:1}.tree-type-thumb{width:18px;height:18px;border-radius:4px;object-fit:cover;border:1px solid color-mix(in srgb,var(--badge-game-border) 60%,transparent);background:#fff}.tree-category-tag{border-radius:999px;padding:3px 8px;font-size:.66rem;background:var(--primary-soft);color:var(--primary);border:1px solid var(--border-chip-active);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-status-pill{border-radius:999px;padding:2px 7px;font-size:.64rem;font-weight:600}.tree-status-pill.entry{background:var(--entry-bg);color:var(--entry-color);border:1px solid var(--entry-border)}.tree-status-pill.off{background:var(--status-off-bg);color:var(--status-off-color);border:1px solid var(--status-off-border)}.tree-question-moves{align-self:center}.tree-orphans{margin-top:16px;border-top:1px dashed var(--border-dashed);padding-top:12px}.tree-orphans-label{margin:0 0 4px;font-size:.84rem;color:var(--text-secondary)}.tree-orphans-hint{margin:0 0 10px;font-size:.74rem;color:var(--text-muted)}.entry-badge{background:var(--entry-bg);color:var(--entry-color);border:1px solid var(--entry-border);border-radius:999px;padding:2px 7px;font-size:.69rem}.sidebar-actions{border-top:1px solid var(--border);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0}.tools-wrap{grid-column:1 / -1;position:relative}.tools-wrap>.btn{width:100%}.tools-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);display:grid;gap:6px;background:var(--surface-tools);border:1px solid var(--border-strong);border-radius:11px;padding:8px;z-index:20}.tools-menu button{width:100%;text-align:left}.detail{overflow:auto;overscroll-behavior:contain;padding:18px;min-height:0}.detail.empty{display:grid;align-content:start;gap:10px;color:var(--text-muted)}.empty-state-icon{font-size:1.5rem}.manifest-quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-card{border:1px solid var(--border-strong);background:var(--surface-panel);border-radius:12px;padding:12px;display:grid;gap:2px}.stat-card strong{font-size:1rem;color:var(--text-strong)}.stat-card span{font-size:.77rem}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.detail-header h2{margin:0;font-size:1.04rem}.detail-kicker{margin:0 0 4px;color:var(--text-muted);font-size:.8rem}.detail-header-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-pill{border-radius:999px;padding:4px 10px;font-size:.73rem;border:1px solid transparent}.status-pill.on{background:var(--status-on-bg);color:var(--status-on-color);border-color:var(--status-on-border)}.status-pill.off{background:var(--status-off-bg);color:var(--status-off-color);border-color:var(--status-off-border)}.panel{background:var(--surface-panel);border:1px solid var(--border);border-radius:13px;padding:14px;margin-bottom:12px}.panel h2{margin:0 0 10px;font-size:.95rem}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.panel-count{color:var(--text-muted);font-size:.78rem}.panel-section{margin-bottom:14px}.panel-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-step{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:700;background:var(--primary-soft);color:var(--primary);border:1px solid var(--border-chip-active)}.panel-section-hint,.field-hint{margin:4px 0 0;color:var(--text-muted);font-size:.8rem;line-height:1.4}.detail-page .detail-header{margin-bottom:4px}.detail-editor-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:16px;align-items:start}.detail-preview-column{position:sticky;top:12px}.detail-form-column{min-width:0}.preview-panel{padding-bottom:10px}.group-preview-tabs{display:flex;gap:4px;margin-bottom:12px;padding:3px;border-radius:10px;background:var(--surface-btn);border:1px solid var(--border)}.group-preview-tab{flex:1;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600;padding:7px 8px;border-radius:8px;cursor:pointer}.group-preview-tab:hover{color:var(--text-secondary)}.group-preview-tab.active{background:var(--surface-header);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.welcome-intro{text-align:center;max-width:520px;margin:0 auto 8px}.welcome-intro h2{margin:0 0 8px}.welcome-intro p{margin:0;color:var(--text-muted)}.welcome-sidebar-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.welcome-sidebar-head h3{margin:0;font-size:.88rem}.welcome-recent-count{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.welcome-recent-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:flex-start}.welcome-recent-items>li{margin:0;padding:0;flex:0 0 auto}.welcome-recent-item{border:1px solid var(--border-stats);border-radius:8px;background:var(--surface-btn);padding:7px 8px;width:100%;box-sizing:border-box}.welcome-recent-item-top{display:flex;align-items:flex-start;gap:4px}.welcome-recent-delete{flex-shrink:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;width:22px;height:22px;border-radius:6px;font-size:1rem;line-height:1;display:grid;place-items:center;margin:-2px -2px 0 0}.welcome-recent-delete:hover{background:var(--danger-bg);color:var(--text-primary)}.welcome-recent-item.clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.welcome-recent-item.clickable:hover{border-color:var(--primary);box-shadow:0 6px 18px #2f5fd01a}.welcome-recent-item.clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.welcome-recent-item.clickable:active{transform:translateY(1px)}.welcome-recent-item.opening{opacity:.75;pointer-events:none}.welcome-recent-file{display:flex;align-items:flex-start;gap:6px;min-width:0}.welcome-recent-item.clickable .welcome-recent-file strong{color:var(--primary)}.welcome-recent-file-text{display:grid;gap:1px;min-width:0}.welcome-recent-file-text strong{font-size:.82rem;line-height:1.25;word-break:break-word}.welcome-recent-file-text code{font-size:.68rem;color:var(--text-muted);word-break:break-word;line-height:1.25}.welcome-recent-location{font-size:.68rem;color:var(--text-secondary);line-height:1.25}.welcome-recent-icon{font-size:.95rem;flex-shrink:0;line-height:1.25}.welcome-recent-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:.7rem;color:var(--text-muted);line-height:1.2}.welcome-recent-dot{opacity:.55}.btn-upload-server:hover{border-color:#5b7fd6;color:#5b7fd6;background:#5b7fd61a}.btn-upload-server.unsaved{border-color:#e8a030;color:#c47a12;background:#ffb02024}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e1c8c;display:grid;place-items:center;padding:20px;z-index:100}.modal-card{width:min(760px,100%);max-height:min(86vh,900px);display:flex;flex-direction:column;background:var(--surface-header);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 24px 60px #00000047;overflow:hidden}.modal-card.server-upload-modal{width:min(920px,100%);max-height:min(90vh,960px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.05rem}.modal-subtitle{margin:6px 0 0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.modal-close{border:none;background:transparent;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;width:32px;height:32px;border-radius:8px}.modal-close:hover{background:var(--surface-btn);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--border)}.server-compare-auth{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-sidebar)}.server-compare-auth-fields{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;flex:1 1 360px}.server-compare-auth-fields .server-compare-file-name{grid-column:1 / -1}.server-compare-auth-fields label{display:block;margin-bottom:4px;font-size:.78rem;font-weight:500;color:var(--text-secondary)}.server-compare-auth-fields input{width:100%;border:1px solid var(--border-strong);background:var(--surface-input-alt);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem}.server-compare-auth>.btn,.server-compare-auth-actions>.btn{flex:0 0 auto}.server-compare-auth-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}.server-upload-tabs{display:flex;gap:4px;padding:10px 20px 0;border-bottom:1px solid var(--border);background:var(--surface-header)}.server-upload-tab{border:none;background:transparent;color:var(--text-muted);font-size:.84rem;font-weight:600;padding:8px 12px 10px;border-bottom:2px solid transparent;cursor:pointer}.server-upload-tab:hover{color:var(--text-secondary)}.server-upload-tab.active{color:var(--text-primary);border-bottom-color:var(--accent, #5b4fc9)}.server-json-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface-sidebar);padding:12px;min-height:280px;display:flex;flex-direction:column;gap:10px}.server-json-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.server-json-panel-head h3{margin:0;font-size:.9rem}.server-json-panel-head span,.server-json-panel-head a{font-size:.76rem;color:var(--text-muted)}.server-json-panel-head a:hover{color:var(--text-secondary)}.server-json-view{margin:0;flex:1;min-height:240px;max-height:min(48vh,520px);overflow:auto;padding:12px;border-radius:10px;border:1px solid var(--border-stats);background:var(--surface-btn);color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.74rem;line-height:1.45;white-space:pre}.server-upload-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-welcome)}.server-upload-summary-chip{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--surface-btn);border:1px solid var(--border-stats);color:var(--text-secondary)}.server-upload-summary-chip.has-changes{color:#c47a12;background:#ffb02024;border-color:#ffb02059}.server-upload-summary-note{font-size:.8rem;color:var(--text-muted)}.server-upload-body{overflow:auto;padding:16px 20px;display:grid;gap:16px}.server-upload-section{border:1px solid var(--border);border-radius:12px;background:var(--surface-sidebar);padding:12px}.server-upload-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.server-upload-section-head h3{margin:0;font-size:.9rem}.server-upload-section-head span{font-size:.76rem;color:var(--text-muted)}.server-upload-empty{margin:0;font-size:.82rem;color:var(--text-muted)}.server-upload-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.server-upload-item{border:1px solid var(--border-stats);border-radius:10px;background:var(--surface-btn);padding:10px 12px}.server-upload-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.server-upload-item-head strong{font-size:.86rem;line-height:1.35}.server-upload-item-id{margin:4px 0 0;font-size:.72rem;color:var(--text-muted)}.server-upload-badge{flex-shrink:0;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:999px}.badge-added{color:#2f7d4c;background:#3fb86e24}.badge-removed{color:#a94444;background:var(--danger-bg)}.badge-modified{color:#5b4fc9;background:#5b4fc91f}.server-upload-details{margin:8px 0 0;padding-left:0;list-style:none;color:var(--text-secondary);font-size:.8rem;display:grid;gap:4px}.server-upload-detail{display:flex;align-items:flex-start;gap:8px;line-height:1.4}.detail-lang-badge{flex:0 0 auto;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;margin-top:1px}.detail-lang-badge.badge-tr{background:#dc26261f;color:#b91c1c}.detail-lang-badge.badge-en{background:#2563eb1f;color:#1d4ed8}.modal-actions .btn-upload-server:disabled{opacity:.55;cursor:not-allowed}.server-upload-error{margin:0 20px 12px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error);font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.field{margin-bottom:11px}.field label{display:block;margin-bottom:6px;font-size:.84rem;font-weight:500;color:var(--text-secondary)}.panel-section-head h2{margin:0;font-size:.95rem}.panel-section-head .panel-head h2{margin:0}.checkbox{display:flex;align-items:center;gap:10px;font-size:.9rem;line-height:1.4;color:var(--text-secondary);cursor:pointer;padding:4px 0}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border-strong);background:var(--surface-input-alt);color:var(--text-primary);border-radius:9px;padding:10px 12px;min-height:42px}.field textarea,.localized textarea{min-height:88px;resize:vertical}.localized input,.localized textarea{width:100%;border:1px solid var(--border-strong);background:var(--surface-input-alt);color:var(--text-primary);border-radius:9px;padding:10px 12px}.language-switch,.lang-tabs{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:var(--surface-btn);border:1px solid var(--border-stats)}.language-switch button,.lang-tabs button{border-radius:999px;font-size:.72rem;font-weight:600;padding:5px 10px;border:1px solid transparent;background:transparent}.language-switch button.active,.lang-tabs button.active{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.localized-preview{margin:6px 0 0;color:var(--text-muted);font-size:.75rem}.checkbox input{width:18px;height:18px;flex-shrink:0}.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.option-card{border:1px solid var(--border-strong);border-radius:11px;padding:10px;margin-bottom:8px}.option-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.preview-box{background:var(--surface-input-alt);border-radius:9px;padding:10px;margin-bottom:10px}.game-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.game-stat{border:1px solid var(--border-strong);border-radius:9px;padding:8px;background:var(--surface-elevated);display:grid;gap:2px}.game-stat span{color:var(--text-muted);font-size:.73rem}.advanced{border-top:1px dashed var(--border-dashed);padding-top:10px;margin-top:10px}.advanced summary{cursor:pointer;color:var(--text-accent);font-size:.82rem;margin-bottom:10px}.hint{color:var(--text-muted);font-size:.78rem}.detail-actions{display:flex;gap:8px}.sticky-actions{position:sticky;bottom:8px;padding:10px;border-radius:11px;background:var(--surface-sticky);border:1px solid var(--border-stats)}.toast{position:fixed;right:14px;bottom:14px;background:var(--surface-toast);border:1px solid var(--toast-border);border-radius:10px;color:var(--toast-text);padding:9px 12px;display:flex;align-items:center;gap:8px;z-index:40;max-width:min(500px,calc(100vw - 28px))}.toast-close{border:none;background:transparent;color:inherit}.welcome{flex:1;display:grid;grid-template-columns:340px minmax(0,1fr);min-height:0;overflow:hidden}.welcome-sidebar{border-right:1px solid var(--border);background:var(--surface-sidebar);display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:12px 10px}.welcome-sidebar-empty{flex:1;display:grid;align-content:start;gap:6px;padding:12px;border:1px dashed var(--border-stats);border-radius:11px;color:var(--text-muted);font-size:.84rem}.welcome-sidebar-empty p{margin:0}.welcome-sidebar-empty-hint{font-size:.78rem;color:var(--text-muted)}.welcome-main{overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;min-height:0}.welcome-drop{width:min(620px,100%);border:1px dashed var(--welcome-border);border-radius:15px;background:var(--surface-welcome);padding:30px;text-align:center}.welcome-icon{width:72px;height:72px;margin:0 auto 4px;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px #3fb86e38}.welcome-icon img{width:100%;height:100%;object-fit:cover;display:block}.welcome-drop h2{margin:8px 0}.welcome-drop p{margin:0 0 14px;color:var(--text-accent)}.welcome-or{color:var(--text-welcome-or);font-size:.8rem}.welcome-new{min-width:260px}.login-shell{flex:1;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);border:1px solid var(--border-strong);border-radius:14px;background:var(--surface-panel);padding:24px;display:grid;gap:8px;justify-items:center;text-align:center}.login-mascot{width:112px;height:auto;display:block;margin-bottom:4px;border-radius:16px}.login-card h2{margin:0}.login-card p{margin:0 0 8px;color:var(--text-muted);font-size:.88rem}.login-form{display:grid;gap:8px;width:100%;text-align:left}.login-form label{font-size:.78rem;color:var(--text-muted)}.login-form input{width:100%;border:1px solid var(--border-strong);background:var(--surface-input-alt);color:var(--text-primary);border-radius:9px;padding:9px 10px}.login-error{margin:4px 0 0;color:var(--error);font-size:.8rem}.login-submit{margin-top:4px}.login-topbar{display:flex;justify-content:flex-end;padding:14px 18px 0}@media(max-width:1080px){.layout{grid-template-columns:330px minmax(0,1fr)}.detail-editor-layout{grid-template-columns:1fr}.detail-preview-column{position:static}}@media(max-width:900px){.welcome{grid-template-columns:1fr;overflow:auto}.welcome-sidebar{max-height:42vh;border-right:none;border-bottom:1px solid var(--border)}.welcome-main{justify-content:flex-start}.app-header{gap:10px;padding:10px 12px}.app-header-meta{order:3;width:100%;justify-content:flex-start}.app-header-actions{margin-left:0;flex-wrap:wrap}.header-chip-entry{max-width:100%}.layout{grid-template-columns:1fr}.sidebar{max-height:52vh;border-right:none;border-bottom:1px solid var(--border)}.detail{padding-bottom:80px}}@media(max-width:680px){.welcome-sidebar-head{flex-direction:column;align-items:flex-start;gap:4px}.row,.manifest-quick-stats,.sidebar-actions{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.sticky-actions{flex-direction:column}.tree-actions-compact{opacity:1}}@media(hover:none){.tree-actions-compact{opacity:1}}[data-api-mode=local],[data-api-mode=local][data-theme=light]{color-scheme:dark;--bg-base: #030503;--bg-app-glow: #0c2f0c;--text-primary: #c8ffc8;--text-secondary: #8fdf8f;--text-muted: #4a9a4a;--text-accent: #00ff41;--text-stats: #6bff6b;--text-strong: #eaffea;--text-preview: #9dff9d;--text-preview-option: #7ddf7d;--border: #1a4d22;--border-subtle: #143d18;--border-strong: #2a6b32;--border-stats: #1f5230;--border-chip-active: #00ff41;--border-dashed: #2a5c30;--surface-header: #050a05f0;--surface-sidebar: #040804;--surface-panel: #060b06;--surface-elevated: #081008;--surface-input: #030603;--surface-input-alt: #050905;--surface-stats: #0a120a;--surface-chip: #0a140a;--surface-btn: #0a160a;--surface-btn-hover: #0f220f;--surface-tree-page: #060b06;--surface-group-selected: #0f2a12;--surface-tools: #070d07;--surface-sticky: #050905f5;--surface-toast: #081408;--surface-welcome: #070d07;--surface-preview-start: #081008;--surface-preview-end: #050805;--chip-text: #9dff9d;--chip-active-bg: #0f3d18;--chip-active-text: #00ff41;--btn-border-hover: #00ff41;--primary: #00ff41;--primary-hover: #39ff14;--primary-soft: #0a2210;--accent-soft: #00ff4122;--text-on-primary: #001a00;--focus: #00ff41;--selected-border: #00ff41;--selected-shadow: #00ff4144;--badge-default-color: #7dff7d;--badge-default-border: #2a6b32;--badge-test-color: #00ff41;--badge-test-border: #1a5c28;--badge-test-bg: #0a1a0c;--badge-game-color: #b8ff9d;--badge-game-border: #3d6b28;--badge-game-bg: #142010;--toast-border: #00ff4140;--toast-text: #c8ffc8;--error: #ff6b6b;--welcome-border: #1a4d22;font-family:JetBrains Mono,SF Mono,Fira Code,Cascadia Code,ui-monospace,monospace}[data-api-mode=local] .app{position:relative;isolation:isolate}[data-api-mode=local] .app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9000;background:repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}[data-api-mode=local] .app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:8999;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,20,0,.65) 100%),radial-gradient(circle at 50% 0%,rgba(0,255,65,.06) 0%,transparent 45%)}[data-api-mode=local] .app-header{border-bottom-color:#00ff4133;box-shadow:0 0 24px #00ff4112,inset 0 2px #00ff41,inset 0 -1px #00ff4122}[data-api-mode=local] .app-header-titles h1,[data-api-mode=local] .app-header-titles p{text-shadow:0 0 12px rgba(0,255,65,.35)}[data-api-mode=local] .app-header-logo{box-shadow:0 0 16px #00ff4173,0 0 4px #00ff41;filter:saturate(.7) hue-rotate(80deg) brightness(1.1)}[data-api-mode=local] .header-chip-local-api{color:#00ff41;background:#001a00;border-color:#00ff41;text-shadow:0 0 10px rgba(0,255,65,.8);box-shadow:0 0 14px #00ff4140;animation:hacker-pulse 2.2s ease-in-out infinite}@keyframes hacker-pulse{0%,to{box-shadow:0 0 6px #00ff4140;opacity:1}50%{box-shadow:0 0 18px #00ff418c;opacity:.88}}[data-api-mode=local] .btn.primary,[data-api-mode=local] .btn-save,[data-api-mode=local] .btn-upload-server{background:#001500;border-color:#00ff41;color:#00ff41;text-shadow:0 0 8px rgba(0,255,65,.5);box-shadow:0 0 12px #00ff411f}[data-api-mode=local] .btn.primary:hover,[data-api-mode=local] .btn-save:hover{background:#020;box-shadow:0 0 20px #00ff4140}[data-api-mode=local] input,[data-api-mode=local] select,[data-api-mode=local] textarea{background:#030803;border-color:#1a5c28;color:#b8ffb8;caret-color:#00ff41}[data-api-mode=local] input:focus,[data-api-mode=local] select:focus,[data-api-mode=local] textarea:focus{border-color:#00ff41;box-shadow:0 0 0 2px #00ff4133}[data-api-mode=local] .tree-question.selected,[data-api-mode=local] .tree-group.selected>.tree-group-head{box-shadow:inset 3px 0 #00ff41,0 0 16px #00ff4114}[data-api-mode=local] .build-version-badge{color:#4a9a4a;border-color:#1a4d22;background:#050a05ee;font-family:inherit}[data-api-mode=local] .build-version-label{color:#00ff41;text-shadow:0 0 6px rgba(0,255,65,.4)}[data-api-mode=local] .build-version-dev{color:#00ff41;background:#001a00}[data-api-mode=local] .toast{border-color:#00ff41;background:#081408;color:#c8ffc8;box-shadow:0 0 24px #00ff4126}[data-api-mode=local] .modal-card{border-color:#00ff4133;box-shadow:0 0 40px #00ff4114,0 24px 60px #00000080}[data-api-mode=local] ::selection{background:#00ff4140;color:#eaffea}.build-version-badge{position:fixed;left:14px;bottom:14px;z-index:40;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted);background:color-mix(in srgb,var(--surface-header) 88%,transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.build-version-label{color:var(--text-secondary);font-variant-numeric:tabular-nums}.build-version-dev{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:999px;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.page-type-icon{--pti-size: 40px;width:var(--pti-size);height:var(--pti-size);border-radius:calc(var(--pti-size) * .26);display:inline-grid;place-items:center;flex:0 0 auto;color:var(--pti-fg, var(--primary));background:var(--pti-bg, color-mix(in srgb, var(--primary) 12%, var(--surface-welcome)));border:1px solid var(--pti-border, color-mix(in srgb, var(--primary) 22%, var(--border)));box-sizing:border-box}.page-type-icon svg{display:block}.page-type-icon-test{--pti-fg: var(--primary);--pti-bg: color-mix(in srgb, var(--primary) 12%, transparent);--pti-border: color-mix(in srgb, var(--primary) 22%, var(--border))}.page-type-icon-special{--pti-fg: #9333ea;--pti-bg: color-mix(in srgb, #9333ea 12%, transparent);--pti-border: color-mix(in srgb, #9333ea 24%, var(--border))}[data-theme=dark] .page-type-icon-test{--pti-bg: color-mix(in srgb, var(--primary) 18%, transparent)}[data-theme=dark] .page-type-icon-special{--pti-fg: #c084fc;--pti-bg: color-mix(in srgb, #9333ea 22%, transparent);--pti-border: color-mix(in srgb, #9333ea 35%, var(--border))}.page-type-icon.compact{border-radius:5px;border-width:0;background:color-mix(in srgb,currentColor 14%,transparent)}.tree-type-tag .page-type-icon{color:inherit;--pti-fg: currentColor;--pti-bg: color-mix(in srgb, currentColor 14%, transparent);--pti-border: transparent}.type-picker-card{width:min(880px,100%);height:min(82vh,720px);max-height:min(82vh,720px)}.type-picker-head,.type-picker-current-bar,.type-picker-tabs,.type-picker-search-row,.type-picker-footer{flex-shrink:0}.type-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 0}.type-picker-head-text h2{margin:0;font-size:1.12rem;font-weight:650;letter-spacing:-.01em}.type-picker-head-sub{margin:4px 0 0;color:var(--text-muted);font-size:.84rem;line-height:1.4}.type-picker-current-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 22px 0;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface-welcome));border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border))}.type-picker-current-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.type-picker-current-value{font-size:.88rem;font-weight:600;color:var(--text-primary)}.type-picker-current-meta{font-size:.76rem;color:var(--text-muted);margin-left:auto}.type-picker-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 22px 0;padding:4px;border-radius:12px;background:var(--surface-welcome);border:1px solid var(--border)}.type-picker-tab{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.type-picker-tab:hover:not(.active){color:var(--text-primary);background:color-mix(in srgb,var(--surface-header) 70%,transparent)}.type-picker-tab.active{background:var(--surface-header);color:var(--text-primary);box-shadow:0 1px 4px #00000014}.type-picker-tab-test.active{color:var(--primary)}.type-picker-tab-special.active{color:#9333ea}.type-picker-tab-game.active{color:#0d9488}.type-picker-tab-count{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent);opacity:.85}@media(max-width:560px){.type-picker-tabs{grid-template-columns:1fr}.type-picker-tab-label{flex:1;text-align:left}}.type-picker-search-row{display:flex;align-items:center;gap:8px;margin:14px 22px 0;padding:0 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-header);transition:border-color .15s ease,box-shadow .15s ease}.type-picker-search-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.type-picker-search-icon{color:var(--text-muted);font-size:1rem;opacity:.7;flex:0 0 auto}.type-picker-search{flex:1;border:none;background:transparent;color:var(--text-primary);padding:10px 0;font-size:.88rem;outline:none;min-width:0}.type-picker-search::placeholder{color:var(--text-muted);opacity:.75}.type-picker-search-clear{flex:0 0 auto;width:24px;height:24px;border:none;border-radius:6px;background:var(--surface-btn);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;display:grid;place-items:center}.type-picker-search-clear:hover{color:var(--text-primary);background:var(--border)}.type-picker-body{padding:14px 22px;overflow:auto;flex:1;min-height:0}.type-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.type-game-card{position:relative;display:grid;gap:8px;padding:8px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface-header);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.type-game-card:hover{border-color:#0d9488;transform:translateY(-1px);box-shadow:0 8px 20px #0000000f}.type-game-card.selected{border-color:#0d9488;box-shadow:0 0 0 3px #0d948833;background:color-mix(in srgb,#0d9488 5%,var(--surface-header))}.type-game-thumb-wrap{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#fff;border:1px solid color-mix(in srgb,var(--border) 55%,transparent)}[data-theme=dark] .type-game-thumb-wrap{background:#f8fafc}.type-game-thumb{width:86%;height:86%;object-fit:contain;display:block}.type-game-meta{display:grid;gap:1px;padding:0 2px 2px}.type-game-meta strong{font-size:.8rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.type-game-meta em{font-style:normal;font-size:.68rem;color:#0d9488;font-weight:600}.type-test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.type-test-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface-header);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.type-test-card:hover{border-color:var(--primary)}.type-test-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent);background:color-mix(in srgb,var(--primary) 5%,var(--surface-header))}.type-picker-card:has(.type-picker-tab-special.active) .type-test-card:hover{border-color:#9333ea}.type-picker-card:has(.type-picker-tab-special.active) .type-test-card.selected{border-color:#9333ea;box-shadow:0 0 0 3px #9333ea2e;background:color-mix(in srgb,#9333ea 5%,var(--surface-header))}.type-card-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:.65rem;font-weight:800;color:#fff;background:var(--primary);box-shadow:0 2px 6px #00000026;z-index:1}.type-picker-card:has(.type-picker-tab-game.active) .type-card-check{background:#0d9488}.type-picker-card:has(.type-picker-tab-special.active) .type-card-check{background:#9333ea}.type-test-meta{display:grid;gap:3px;min-width:0;padding-right:16px}.type-test-meta strong{font-size:.86rem;line-height:1.3}.type-test-meta span{font-size:.76rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.type-picker-empty{grid-column:1 / -1;margin:32px 0;text-align:center;color:var(--text-muted);font-size:.88rem}.type-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:14px 22px 18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-welcome) 50%,var(--surface-header))}.type-picker-selection{display:grid;gap:1px;min-width:0;flex:1}.type-picker-selection-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.type-picker-selection strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-picker-selection span:last-child{font-size:.76rem;color:var(--text-muted)}.type-picker-selection.changed strong{color:var(--primary)}.type-picker-card:has(.type-picker-tab-game.active) .type-picker-selection.changed strong{color:#0d9488}.type-picker-card:has(.type-picker-tab-special.active) .type-picker-selection.changed strong{color:#9333ea}.type-picker-actions{display:flex;flex-shrink:0;gap:8px}@media(max-width:560px){.type-picker-footer{flex-direction:column;align-items:stretch}.type-picker-actions{justify-content:flex-end}}.type-trigger{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--border-strong);background:var(--surface-welcome);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.type-trigger:hover{border-color:var(--primary);box-shadow:0 4px 14px #0000000d;background:var(--surface-header)}.type-trigger-test:hover{border-color:var(--primary)}.type-trigger-special:hover{border-color:#9333ea}.type-trigger-game:hover{border-color:#0d9488}.type-trigger-thumb{width:48px;height:48px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--border);flex:0 0 auto;padding:3px;box-sizing:border-box}.type-trigger-text{display:grid;gap:2px;min-width:0;flex:1}.type-trigger-text strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-trigger-text span{font-size:.76rem;color:var(--text-muted)}.type-trigger-chevron{flex:0 0 auto;font-size:1.2rem;line-height:1;color:var(--text-muted);opacity:.6;transition:transform .15s ease,opacity .15s ease}.type-trigger:hover .type-trigger-chevron{opacity:1;transform:translate(2px)}.phone-device{display:grid;justify-items:center;gap:10px}.app-screen-frame{width:100%;max-width:300px;border-radius:28px;padding:8px;background:#f0f0f0;box-shadow:0 16px 40px #00000018,inset 0 0 0 1px #0000000d}[data-theme=dark] .app-screen-frame{background:#2a2a2a;box-shadow:0 16px 40px #0005}.app-screen{background:#fff;border-radius:22px;min-height:520px;padding:16px 14px 20px;display:flex;flex-direction:column;color:#333;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;overflow:hidden}[data-theme=dark] .app-screen{background:#fafafa}.app-placeholder{color:#bdbdbd;font-style:italic}.app-mascot-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;flex-shrink:0}.app-mascot{flex-shrink:0;width:52px;display:flex;align-items:center;justify-content:center}.app-mascot-img{width:52px;height:52px;object-fit:contain;display:block;border-radius:10px}.app-bubble{flex:1;min-width:0;padding:10px 12px;border:1.5px solid #cfd8dc;border-radius:14px;background:#fff;font-size:.72rem;line-height:1.45;color:#424242;position:relative}.app-bubble:before{content:"";position:absolute;left:-7px;top:16px;width:10px;height:10px;background:#fff;border-left:1.5px solid #cfd8dc;border-bottom:1.5px solid #cfd8dc;transform:rotate(45deg)}.app-body{flex:1;display:flex;flex-direction:column;min-height:0}.app-statement{margin:0;font-size:.82rem;line-height:1.45;color:#37474f;font-weight:500}.app-statement-center{text-align:center;padding:8px 4px 16px}.app-likert{flex:1;display:flex;flex-direction:column;justify-content:center;gap:24px}.app-likert-scale{display:flex;justify-content:center;gap:14px;padding:0 4px 8px}.app-likert-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;flex:1}.app-likert-ring{width:34px;height:34px;border-radius:50%;border:2.5px solid #ccc;background:#fff;flex-shrink:0}.app-likert-end-label{font-size:.62rem;line-height:1.25;color:#757575;text-align:center;max-width:72px}.app-hscale{flex:1;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;gap:16px;padding:8px 0}.app-hscale-a{margin:0;align-self:start;justify-self:start;max-width:75%;font-size:.78rem;line-height:1.4;color:#455a64;font-weight:500}.app-hscale-b{margin:0;align-self:end;justify-self:end;max-width:75%;text-align:right;font-size:.78rem;line-height:1.4;color:#455a64;font-weight:500}.app-hscale-dots{display:flex;justify-content:center;gap:12px}.app-hscale-dot{width:32px;height:32px;border-radius:50%;background:#e0e0e0;flex-shrink:0}.app-hscale-dot.selected{background:#66bb6a;box-shadow:0 0 0 2px #fff,0 0 0 3px #66bb6a}.app-slider-layout{flex:1;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding-top:8px}.app-slider-copy{display:flex;flex-direction:column;gap:20px;min-width:0}.app-slider-copy .app-statement{font-size:.78rem}.app-slider-legend{display:flex;flex-direction:column;gap:8px;font-size:.62rem;line-height:1.35;color:#78909c}.app-slider-widget{display:flex;gap:8px;align-items:stretch;flex-shrink:0}.app-slider-numbers{display:flex;flex-direction:column;justify-content:space-between;padding:4px 0;font-size:.78rem;font-weight:600;color:#90a4ae}.app-slider-numbers .active{color:#42a5f5}.app-slider-track{position:relative;width:10px;height:200px;border-radius:999px;background:#eceff1;overflow:visible}.app-slider-fill{position:absolute;left:0;right:0;bottom:0;height:50%;background:#66bb6a;border-radius:0 0 999px 999px}.app-slider-thumb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:36px;border-radius:8px;background:#90caf9;border:2px solid #64b5f6;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.55rem;line-height:.9;color:#fff;box-shadow:0 2px 6px #0002}.app-grid{flex:1;display:flex;flex-direction:column;gap:12px}.app-grid-board{display:grid;gap:8px;justify-items:center;flex:1;align-content:center}.app-grid-middle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%}.app-grid-label{font-size:.68rem;color:#607d8b;text-align:center;font-weight:500}.app-grid-label.left,.app-grid-label.right{max-width:52px;line-height:1.25}.app-grid-quad{position:relative;width:148px;height:148px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;border-radius:18px;overflow:hidden;background:#b3e5fc;padding:3px}.app-grid-quad>span:not(.app-grid-marker){background:#e1f5fe;border-radius:4px}.app-grid-quad>span:nth-child(1){border-top-left-radius:14px}.app-grid-quad>span:nth-child(2){border-top-right-radius:14px}.app-grid-quad>span:nth-child(3){border-bottom-left-radius:14px}.app-grid-quad>span:nth-child(4){border-bottom-right-radius:14px}.app-grid-marker{position:absolute!important;left:50%;top:50%;width:16px!important;height:16px!important;margin:-8px 0 0 -8px;border-radius:50%!important;background:#ffca28!important;border:2px solid #fff;box-shadow:0 1px 4px #0003;z-index:1}.app-choices-screen{flex:1;display:flex;flex-direction:column;gap:16px}.app-choice-stack{display:flex;flex-direction:column;gap:10px}.app-choice-stack.binary{gap:12px;margin-top:auto}.app-choice-btn{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid #e0e0e0;background:#fff;color:#37474f;font-size:.78rem;line-height:1.4;text-align:center;cursor:default;font-weight:500}.app-choice-btn.selected{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.app-choice-stack.multi .app-choice-btn{padding:12px 14px;font-size:.74rem}.app-yesno{flex:1;display:flex;align-items:center;padding-top:8px}.app-yesno-card{width:100%;border:1.5px solid #e0e0e0;border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 16px #0000000a}.app-yesno-media{width:100%;aspect-ratio:1.1;border-radius:12px;border:1.5px solid #e0e0e0;overflow:hidden;background:#fafafa}.app-yesno-media.placeholder{background:linear-gradient(135deg,#f5f5f5,#eee)}.app-yesno-media img{width:100%;height:100%;object-fit:cover;display:block}.app-yesno-text{margin:0;text-align:center;font-size:.82rem;line-height:1.45;color:#37474f;font-weight:600;padding:0 4px}.app-yesno-fab-row{display:flex;justify-content:center;gap:28px;padding:8px 0 4px}.app-yesno-fab{width:56px;height:56px;border-radius:50%;border:none;color:#fff;font-size:1.5rem;font-weight:700;line-height:1;cursor:default;display:grid;place-items:center;box-shadow:0 4px 12px #0002}.app-yesno-fab.no{background:#ef5350}.app-yesno-fab.yes{background:#66bb6a}.app-textinput,.app-imageselect,.app-omubumu,.app-game{flex:1;display:flex;flex-direction:column;gap:12px}.app-textinput-field{padding:12px;border-radius:10px;border:1.5px solid #e0e0e0;color:#9e9e9e;font-size:.8rem;background:#fafafa}.app-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.app-image-tile{aspect-ratio:1;border-radius:10px;border:1.5px solid #e0e0e0;background:#f5f5f5;display:grid;place-items:center;font-size:.7rem;color:#9e9e9e;overflow:hidden}.app-image-tile img{width:100%;height:100%;object-fit:cover}.app-omubumu-stack{flex:1;display:flex;flex-direction:column;gap:14px;min-height:0}.app-omubumu-slot{flex:1;display:flex;min-height:72px}.app-omubumu-slot.selected .app-omubumu-image{border-color:#cfd8dc;box-shadow:0 2px 8px #0000000f}.app-omubumu-image{width:50%;height:50%;align-self:center;justify-self:center;margin:0 auto;aspect-ratio:1;border-radius:18px;border:1.5px solid #e8eaed;background:#fff;box-shadow:0 1px 4px #0000000a;display:grid;place-items:center;overflow:hidden}.app-omubumu-image img{width:100%;height:100%;object-fit:cover}.app-game-stage{flex:1;display:grid;place-content:center;gap:8px;text-align:center;border:1.5px dashed #cfd8dc;border-radius:14px;padding:24px;color:#78909c;font-size:.8rem}.app-game-emoji{font-size:2rem}.app-game-blink{gap:10px}.app-blink-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-blink-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-blink-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-game-link{gap:10px}.app-link-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-link-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-link-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-game-unblock{gap:10px}.app-unblock-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-unblock-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-unblock-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-game-shelf{gap:10px}.app-shelf-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-shelf-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-shelf-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-game-mouse{gap:10px}.app-mouse-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-mouse-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-mouse-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-game-hoop{gap:10px}.app-hoop-board{flex:1;min-height:0;display:grid;place-items:center;background:#fff;border-radius:16px;border:1px solid #eceff1;padding:10px 8px;overflow:hidden}.app-hoop-sprite{width:100%;max-height:100%;object-fit:contain;display:block}.app-hoop-meta{margin:0;text-align:center;font-size:.68rem;color:#78909c}.app-special-badge{margin:0;align-self:center;font-size:.72rem;font-weight:600;color:#7c3aed;background:#7c3aed1a;border-radius:999px;padding:4px 10px}.app-special-screen{gap:10px}.app-ad-screen{flex:1;display:grid;place-items:center;padding:8px}.app-ad-frame{width:100%;min-height:220px;border-radius:14px;border:1.5px dashed #c5cae9;background:linear-gradient(160deg,#eef2ff,#f8fafc);display:grid;place-content:center;gap:8px;text-align:center;padding:24px 16px}.app-ad-label{justify-self:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5c6bc0;background:#fff;border:1px solid #c5cae9;border-radius:999px;padding:3px 10px}.app-ad-copy{margin:0;font-size:1rem;font-weight:700;color:#3949ab}.app-ad-hint{margin:0;font-size:.72rem;color:#78909c;line-height:1.4}.app-game-meta{margin:0;font-size:.72rem;color:#90a4ae}.phone-preview-caption{margin:0;text-align:center;font-size:.78rem;color:var(--text-muted);max-width:300px;line-height:1.4}.app-completion-screen{justify-content:flex-start}.app-completion-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:12px 8px 8px}.app-completion-title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:#263238}.app-completion-stats{margin:0;font-size:.78rem;line-height:1.45;color:#607d8b;max-width:220px}.app-completion-stats.muted{opacity:.85}.app-completion-continue{margin-top:8px;min-width:160px;border:none;border-radius:999px;padding:12px 20px;background:#5b4fc9;color:#fff;font-size:.86rem;font-weight:600;cursor:default}.app-group-picker-screen{padding:0;background:#f7f8fb;overflow:hidden}.app-group-picker-header{position:relative;background:#4f7cff;color:#fff;padding:18px 16px 28px;border-radius:0 0 28px 28px;min-height:110px;display:flex;align-items:flex-start;gap:8px}.app-group-picker-headline{margin:0;flex:1;font-size:1.05rem;font-weight:800;line-height:1.25;letter-spacing:-.02em}.app-group-picker-hero-mascot{width:64px;height:64px;object-fit:contain;flex-shrink:0;margin-top:2px}.app-group-picker-body{display:flex;flex-direction:column;gap:14px;padding:18px 14px 10px;flex:1}.app-group-picker-cards{display:grid;gap:10px}.app-group-picker-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 4px 14px #283c7814;border:1.5px solid transparent;font-size:.82rem;font-weight:700;color:#2f3a4a;line-height:1.3}.app-group-picker-card.selected{border-color:#4f7cff;box-shadow:0 6px 18px #4f7cff2e}.app-group-picker-card-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0}.app-group-picker-change{align-self:center;border:none;border-radius:12px;padding:12px 22px;min-width:180px;background:#34c759;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.04em;cursor:default}.app-group-picker-nav{display:flex;justify-content:space-around;align-items:center;padding:10px 8px 14px;background:#fff;border-top:1px solid #eef1f6;font-size:1.05rem}.app-group-picker-nav .active{filter:saturate(1.2)}.app-group-result-screen{align-items:center;justify-content:space-between;gap:16px;padding:28px 18px 22px;background:#fff}.app-group-result-hero{position:relative;display:grid;place-items:center;margin-top:18px}.app-group-result-mascot{width:120px;height:120px;object-fit:contain}.app-group-result-star{position:absolute;right:-6px;top:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#7c4dff;color:#fff;font-size:1.2rem;box-shadow:0 8px 18px #7c4dff59}.app-group-result-copy{text-align:center;max-width:240px}.app-group-result-title{margin:0 0 8px;font-size:.92rem;font-weight:800;color:#263238;line-height:1.3}.app-group-result-message{margin:0;font-size:.78rem;line-height:1.5;color:#546e7a}.app-group-result-stats{margin:8px 0 0;font-size:.72rem;color:#90a4ae}.app-group-result-cta{width:100%;border:none;border-radius:12px;padding:14px 16px;background:#ff8a1f;color:#fff;font-size:.82rem;font-weight:800;letter-spacing:.04em;cursor:default}
