.wb-ontology-editor{--ms-blue:#0078d4;--ms-blue-dark:#106ebe;--ms-blue-light:#2b88d8;--ms-green:#107c10;--ms-green-light:#159118;--ms-yellow:#ffb900;--ms-orange:#d83b01;--ms-purple:#5c2d91;--ms-cyan:#00a9e0;--ms-red:#e81123;--bg-primary:#1b1b1b;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--bg-elevated:#323232;--text-primary:#fff;--text-secondary:#b3b3b3;--text-tertiary:#a0a0a0;--border-color:#404040;--border-subtle:#333;--on-accent:#fff;--stat-blue:#5cb0f2;--stat-green:#3fb950;--stat-purple:#c4a2f0;--ms-yellow-fg:#ffb900;--progress-from:#4da6ff;--progress-to:#b98ee6;--success:#107c10;--warning:#ffb900;--error:#e81123;--info:#0078d4;--shadow-sm:0 2px 4px #0003;--shadow-md:0 4px 8px #00000040;--shadow-lg:0 8px 16px #0000004d;--shadow-glow:0 0 20px #0078d44d;--transition-fast:.15s ease-out;--transition-normal:.25s ease-out;--transition-slow:.4s ease-out;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-primary:"Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Cascadia Code", "Fira Code", monospace;--graph-bg:#1e1e1e;--graph-node-text:#b3b3b3;--graph-edge-color:#6e6e6e;--graph-edge-text:#9ca0a8;--graph-edge-label-bg:#15161d;--chess-square-dark:#141e32d9;--chess-square-light:#1e3250a6;--about-link-color:#9fd6ff;--about-link-hover-color:#c8e8ff}.wb-ontology-editor .light-theme{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e8e8e8;--bg-elevated:#fff;--text-primary:#1a1a1a;--text-secondary:#444;--text-tertiary:#666;--border-color:silver;--border-subtle:#d8d8d8;--stat-blue:#0067c0;--stat-green:#107c10;--stat-purple:#7a3fbf;--ms-yellow-fg:#8a6a00;--progress-from:#0078d4;--progress-to:#5c2d91;--shadow-sm:0 2px 4px #00000014;--shadow-md:0 4px 8px #0000001a;--shadow-lg:0 8px 16px #0000001f;--graph-bg:#fcfcfc;--graph-node-text:#2a2a2a;--graph-edge-color:#888;--graph-edge-text:#555;--graph-edge-label-bg:#f2f2f2;--chess-square-dark:#dce6f5cc;--chess-square-light:#f0f5ffe6;--about-link-color:#004578;--about-link-hover-color:#003a63}.wb-ontology-editor .theme-aurora{--ms-blue:#2aaa92;--ms-blue-dark:#1f8d78;--ms-blue-light:#3fd0b4;--info:#2aaa92;--ms-cyan:#6ad6f9;--progress-from:#2aaa92;--bg-primary:#0e2b27;--bg-secondary:#14352f;--bg-tertiary:#1c463e;--bg-elevated:#173e37;--text-primary:#eafbf6;--text-secondary:#a6d2c8;--text-tertiary:#8ab0a6;--border-color:#265c53;--border-subtle:#1c4640;--on-accent:#08221d;--shadow-glow:0 0 20px #2aaa9259;--graph-bg:#0f2d28;--graph-node-text:#c2e6dc;--graph-edge-color:#4f8c7f;--graph-edge-text:#8fbdb2;--graph-edge-label-bg:#0c2622;--chess-square-dark:#082824d9;--chess-square-light:#10403a99;--about-link-color:#6de9bb;--about-link-hover-color:#abe88e}.wb-ontology-editor .theme-crimson{--ms-blue:#d6002a;--ms-blue-dark:#a8001f;--ms-blue-light:#e63956;--info:#d6002a;--progress-from:#d6002a;--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-tertiary:#eef0f2;--bg-elevated:#fff;--text-primary:#1b1f24;--text-secondary:#495057;--text-tertiary:#656d75;--border-color:#d6dae0;--border-subtle:#e3e6ea;--shadow-glow:0 0 20px #d6002a38;--graph-bg:#fff;--graph-node-text:#1b1f24;--graph-edge-color:#8a9198;--graph-edge-text:#646b72;--graph-edge-label-bg:#fbf7f8;--chess-square-dark:#d6002a12;--chess-square-light:#fbf7f8;--about-link-color:#a8001f;--about-link-hover-color:#d6002a}.wb-ontology-editor .theme-picker{display:inline-flex;position:relative}.wb-ontology-editor .theme-menu{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:172px;box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.wb-ontology-editor .theme-menu-item{width:100%;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);text-align:left;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.wb-ontology-editor .theme-menu-item:hover{background:var(--bg-tertiary)}.wb-ontology-editor .theme-menu-item.active{color:var(--ms-blue);font-weight:600}.wb-ontology-editor .theme-menu-item .theme-check{margin-left:auto}.wb-ontology-editor .theme-swatch{border:1px solid var(--border-color);border-radius:4px;flex-shrink:0;width:14px;height:14px}.wb-ontology-editor .mobile-menu-themes{border-top:1px solid var(--border-subtle);flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;display:flex}.wb-ontology-editor .mobile-menu-themes .theme-check{margin-left:auto}.wb-ontology-editor .mobile-menu-item.active{color:var(--ms-blue);font-weight:600}.wb-ontology-editor .about-link{color:var(--about-link-color);text-underline-offset:2px;font-weight:600;text-decoration:underline}.wb-ontology-editor .about-link:hover{color:var(--about-link-hover-color)}.wb-ontology-editor *{box-sizing:border-box;margin:0;padding:0}.wb-ontology-editor,.wb-ontology-editor,.wb-ontology-editor{height:100%;font-family:var(--font-primary)}.wb-ontology-editor{background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.wb-ontology-editor .app-container{grid-template-rows:64px 1fr;grid-template-columns:280px 1fr 360px;gap:0;height:100dvh;display:grid}.wb-ontology-editor .header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:100;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.wb-ontology-editor .header-logo{align-items:center;gap:12px;display:flex}.wb-ontology-editor .header-logo>div{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.wb-ontology-editor .header-logo svg{width:32px;height:32px}.wb-ontology-editor .header-title{color:var(--text-primary);font-size:20px;font-weight:700}.wb-ontology-editor .header-title-preview{color:var(--text-secondary);margin-left:6px;font-size:12px;font-weight:500}.wb-ontology-editor .header-context{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:12px;overflow:hidden}.wb-ontology-editor .header-stats{align-items:center;gap:24px;display:flex}.wb-ontology-editor .stat-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.wb-ontology-editor .stat-value{color:var(--ms-yellow-fg);font-weight:600}.wb-ontology-editor .header-actions{align-items:center;gap:12px;display:flex}.wb-ontology-editor .icon-btn{width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.wb-ontology-editor .icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wb-ontology-editor .icon-btn[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;z-index:1000;padding:5px 10px;font-size:12px;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.wb-ontology-editor .icon-btn[data-tooltip]:hover:after{opacity:1}.wb-ontology-editor .header-text-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.wb-ontology-editor .header-text-btn:hover{background:var(--ms-blue);border-color:var(--ms-blue);color:var(--on-accent)}.wb-ontology-editor .quest-panel{background:var(--bg-secondary);border-right:1px solid var(--border-color);color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.wb-ontology-editor .panel-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.wb-ontology-editor .panel-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.wb-ontology-editor .quest-list{flex:1;padding:12px;overflow-y:auto}.wb-ontology-editor .quest-card{background:var(--bg-elevated);border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--border-subtle);transition:all var(--transition-fast);margin-bottom:12px;padding:16px}.wb-ontology-editor .quest-card:hover{border-color:var(--ms-blue);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.wb-ontology-editor .quest-card.active{border-color:var(--ms-blue);background:#0078d41a}.wb-ontology-editor .quest-card.completed{border-color:var(--ms-green);opacity:.8}.wb-ontology-editor .quest-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.wb-ontology-editor .quest-title{color:var(--text-primary);font-size:15px;font-weight:600}.wb-ontology-editor .quest-badge{border-radius:var(--radius-sm);text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:600}.wb-ontology-editor .quest-badge.beginner{background:var(--ms-green);color:#fff}.wb-ontology-editor .quest-badge.intermediate{background:var(--ms-yellow);color:#000}.wb-ontology-editor .quest-badge.advanced{background:var(--ms-purple);color:#fff}.wb-ontology-editor .quest-description{color:var(--text-secondary);margin-bottom:12px;font-size:13px;line-height:1.5}.wb-ontology-editor .quest-reward{color:#9a9a9a;align-items:center;gap:8px;font-size:12px;display:flex}.wb-ontology-editor .quest-points{color:var(--ms-yellow-fg);font-weight:600}.wb-ontology-editor .active-quest-panel{border-radius:var(--radius-lg);border:1px solid var(--ms-blue);background:linear-gradient(135deg,#0078d41a,#5c2d911a);margin:12px;padding:20px}.wb-ontology-editor .active-quest-title{color:var(--ms-blue);align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:600;display:flex}.wb-ontology-editor .quest-progress{align-items:center;gap:8px;margin-bottom:16px;display:flex}.wb-ontology-editor .progress-bar{background:var(--bg-tertiary);border-radius:3px;flex:1;height:6px;overflow:hidden}.wb-ontology-editor .progress-fill{background:linear-gradient(90deg, var(--progress-from), var(--progress-to));height:100%;transition:width var(--transition-normal)}.wb-ontology-editor .progress-text{color:var(--text-secondary);font-size:12px}.wb-ontology-editor .current-step{background:var(--bg-elevated);border-radius:var(--radius-md);border-left:3px solid var(--ms-blue);padding:16px}.wb-ontology-editor .step-instruction{color:var(--text-primary);margin-bottom:8px;font-size:14px}.wb-ontology-editor .step-hint{color:var(--text-tertiary);font-size:12px;font-style:italic}.wb-ontology-editor .quest-actions{gap:8px;margin-top:16px;display:flex}.wb-ontology-editor .btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:flex}.wb-ontology-editor .btn-primary{background:var(--ms-blue);color:var(--on-accent)}.wb-ontology-editor .btn-primary:hover{background:var(--ms-blue-dark);box-shadow:var(--shadow-md)}.wb-ontology-editor .btn-secondary{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}.wb-ontology-editor .btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wb-ontology-editor .btn-success{background:var(--ms-green);color:#fff}.wb-ontology-editor .graph-container{background:var(--bg-primary);background-image:linear-gradient(45deg, var(--chess-square-dark) 25%, transparent 25%), linear-gradient(-45deg, var(--chess-square-dark) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--chess-square-dark) 75%), linear-gradient(-45deg, transparent 75%, var(--chess-square-dark) 75%);background-position:0 0,0 20px,20px -20px,-20px 0;background-size:40px 40px;background-color:var(--chess-square-light);position:relative;overflow:hidden}.wb-ontology-editor .graph-canvas{width:100%;height:100%}.wb-ontology-editor .graph-controls{gap:8px;display:flex;position:absolute;bottom:24px;left:24px}.wb-ontology-editor .graph-control-btn{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.wb-ontology-editor .graph-control-btn:hover{background:var(--ms-blue);color:var(--on-accent);border-color:var(--ms-blue)}.wb-ontology-editor .graph-focus-badge{color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0078d4eb;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.wb-ontology-editor .graph-focus-exit{color:#fff;cursor:pointer;pointer-events:all;background:#fff3;border:none;border-radius:10px;padding:2px 8px;font-family:inherit;font-size:11px}.wb-ontology-editor .graph-focus-exit:hover{background:#ffffff59}.wb-ontology-editor .graph-legend{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:180px;padding:16px;position:absolute;bottom:24px;right:24px}.wb-ontology-editor .legend-title{color:var(--text-secondary);text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:600}.wb-ontology-editor .legend-item{color:var(--text-primary);align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.wb-ontology-editor .legend-dot{border-radius:50%;width:12px;height:12px}.wb-ontology-editor .right-sidebar{background:var(--bg-secondary);border-left:1px solid var(--border-color);flex-direction:column;display:flex;overflow-y:auto}.wb-ontology-editor .search-filter-section{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:16px}.wb-ontology-editor .inspector-panel{background:var(--bg-secondary);color:var(--text-primary);flex-direction:column;flex-shrink:0;display:flex}.wb-ontology-editor .inspector-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.wb-ontology-editor .inspector-empty-icon{margin-bottom:16px;font-size:48px}.wb-ontology-editor .inspector-empty-title{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.wb-ontology-editor .inspector-empty-text{color:var(--text-secondary);font-size:14px;line-height:1.5}.wb-ontology-editor .inspector-content{padding:20px}.wb-ontology-editor .entity-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.wb-ontology-editor .entity-icon{border-radius:var(--radius-lg);background:var(--bg-tertiary);justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.wb-ontology-editor .entity-info h2{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:600}.wb-ontology-editor .entity-info p{color:var(--text-secondary);font-size:13px}.wb-ontology-editor .inspector-section{margin-bottom:24px}.wb-ontology-editor .section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.wb-ontology-editor .property-list{flex-direction:column;gap:8px;display:flex}.wb-ontology-editor .property-item{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:flex-start;padding:12px;display:flex}.wb-ontology-editor .rel-item{flex-direction:column;gap:4px}.wb-ontology-editor .rel-item-row{flex-wrap:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.wb-ontology-editor .rel-item-arrow{color:var(--ms-blue);flex-shrink:0}.wb-ontology-editor .rel-item-entity{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.wb-ontology-editor .rel-item-cardinality{color:var(--ms-blue);font-size:11px;font-family:var(--font-mono)}.wb-ontology-editor .property-name{color:var(--text-primary);font-size:14px;font-weight:500}.wb-ontology-editor .property-type{color:var(--ms-blue);font-size:12px;font-family:var(--font-mono)}.wb-ontology-editor .property-identifier{background:var(--ms-yellow);color:#000;border-radius:var(--radius-sm);margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600}.wb-ontology-editor .query-section{border-top:1px solid var(--border-color);background:var(--bg-secondary);padding:20px}.wb-ontology-editor .query-input-container{gap:8px;margin-bottom:16px;display:flex}.wb-ontology-editor .query-input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-primary);flex:1;padding:12px 16px}.wb-ontology-editor .query-input:focus{border-color:var(--ms-blue);outline:none;box-shadow:0 0 0 3px #0078d433}.wb-ontology-editor .query-input::placeholder{color:var(--text-tertiary)}.wb-ontology-editor .query-result{background:var(--bg-elevated);border-radius:var(--radius-md);border-left:3px solid var(--ms-green);color:var(--text-primary);white-space:pre-wrap;padding:16px;font-size:14px;line-height:1.6}.wb-ontology-editor .badges-panel{border-top:1px solid var(--border-color);padding:12px}.wb-ontology-editor .badges-grid{flex-wrap:wrap;gap:8px;display:flex}.wb-ontology-editor .badge-item{background:var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.wb-ontology-editor .badge-locked{opacity:.4;filter:grayscale()}.wb-ontology-editor .binding-card{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-primary);margin-bottom:12px;padding:16px}.wb-ontology-editor .binding-source{align-items:center;gap:8px;margin-bottom:12px;display:flex}.wb-ontology-editor .binding-source-icon{background:var(--ms-blue);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--on-accent);justify-content:center;align-items:center;font-size:16px;display:flex}.wb-ontology-editor .binding-source-info{flex:1}.wb-ontology-editor .binding-source-name{color:var(--text-primary);font-size:14px;font-weight:600}.wb-ontology-editor .binding-source-table{color:var(--ms-cyan);font-size:12px;font-family:var(--font-mono)}.wb-ontology-editor .column-mapping{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.wb-ontology-editor .column-mapping:last-child{border-bottom:none}.wb-ontology-editor .column-property{color:var(--text-primary);flex:1}.wb-ontology-editor .column-arrow{color:var(--text-tertiary)}.wb-ontology-editor .column-source{color:var(--ms-cyan);font-family:var(--font-mono);text-align:right;flex:1}.wb-ontology-editor .relationship-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.wb-ontology-editor .relationship-icon{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--ms-blue), var(--ms-purple));color:#fff;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.wb-ontology-editor .relationship-flow{background:var(--bg-elevated);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:16px;margin-bottom:16px;padding:24px;display:flex}.wb-ontology-editor .relationship-entity{background:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;padding:12px 20px}.wb-ontology-editor .relationship-entity-icon{margin-bottom:4px;font-size:24px}.wb-ontology-editor .relationship-entity-name{color:var(--text-primary);font-size:14px;font-weight:600}.wb-ontology-editor .relationship-arrow{color:var(--ms-blue);flex-direction:column;align-items:center;gap:4px;display:flex}.wb-ontology-editor .relationship-arrow-name{font-size:12px;font-weight:600}.wb-ontology-editor .relationship-arrow-icon{font-size:20px}.wb-ontology-editor .cardinality-badge{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);padding:4px 12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--ms-blue)}50%{box-shadow:0 0 20px var(--ms-blue), 0 0 30px var(--ms-blue)}}.wb-ontology-editor .highlight-pulse{animation:1.5s ease-in-out infinite pulse}.wb-ontology-editor .highlight-glow{animation:2s ease-in-out infinite glow}.wb-ontology-editor .modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wb-ontology-editor .modal-close{color:var(--text-secondary);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.wb-ontology-editor .modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.wb-ontology-editor .modal-content{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color);width:90%;max-width:600px;box-shadow:var(--shadow-lg);color:var(--text-primary);padding:40px;position:relative}.wb-ontology-editor .modal-content h2{color:var(--text-primary)}.wb-ontology-editor .modal-content p{color:var(--text-secondary)}.wb-ontology-editor .modal-header{text-align:center;margin-bottom:32px}.wb-ontology-editor .modal-logo{margin-bottom:16px;font-size:64px}.wb-ontology-editor .modal-title{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:600}.wb-ontology-editor .modal-subtitle{color:var(--text-secondary);font-size:16px}.wb-ontology-editor .modal-features{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;display:grid}.wb-ontology-editor .feature-card{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);color:var(--text-primary);padding:20px}.wb-ontology-editor .feature-icon{margin-bottom:8px;font-size:24px}.wb-ontology-editor .feature-title{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.wb-ontology-editor .feature-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.wb-ontology-editor .modal-actions{justify-content:center;gap:16px;display:flex}.wb-ontology-editor ::-webkit-scrollbar{width:8px}.wb-ontology-editor ::-webkit-scrollbar-track{background:var(--bg-primary)}.wb-ontology-editor ::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.wb-ontology-editor ::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.wb-ontology-editor .toast{background:var(--ms-green);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;align-items:center;gap:12px;padding:16px 24px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.wb-ontology-editor .toast-icon{font-size:20px}@media (width<=1200px){.wb-ontology-editor .app-container{grid-template-columns:260px 1fr 320px}.wb-ontology-editor .app-container .app-footer{left:260px;right:320px}}@media (width<=900px){.wb-ontology-editor .app-container .app-footer{display:none}.wb-ontology-editor .app-container{flex-direction:column;height:100dvh;display:flex}.wb-ontology-editor .header{flex-shrink:0;height:56px;padding:0 12px}.wb-ontology-editor .quest-panel,.wb-ontology-editor .right-sidebar,.wb-ontology-editor .header-stats,.wb-ontology-editor .header-actions{display:none}.wb-ontology-editor .header-mobile-menu{display:flex}.wb-ontology-editor .graph-container{flex:1;min-height:0;overflow:hidden}.wb-ontology-editor .mobile-panel-tabs{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));flex-shrink:0;display:flex}.wb-ontology-editor .graph-legend{display:none}.wb-ontology-editor .graph-controls{bottom:12px;left:12px}}@media (width<=480px){.wb-ontology-editor .header-logo svg{width:28px;height:28px}.wb-ontology-editor .header-title{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:15px;overflow:hidden}.wb-ontology-editor .header-context{display:none}.wb-ontology-editor .modal-content{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;padding:20px}.wb-ontology-editor .modal-overlay{padding:0}.wb-ontology-editor .modal-features{grid-template-columns:1fr}.wb-ontology-editor .modal-logo{font-size:48px}.wb-ontology-editor .modal-title{font-size:22px}}.wb-ontology-editor .nl-builder-modal{width:90vw;max-width:700px}.wb-ontology-editor .nl-builder-modal .modal-header{text-align:left;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.wb-ontology-editor .nl-builder-modal .modal-header h2{margin:0;font-size:18px}.wb-ontology-editor .nl-input-textarea{border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;min-height:120px;color:var(--text-primary);resize:vertical;border-radius:8px;padding:16px;font-family:inherit;font-size:14px}.wb-ontology-editor .nl-input-textarea:focus{border-color:var(--accent);outline:none}.wb-ontology-editor .nl-input-wrapper{position:relative}.wb-ontology-editor .nl-input-wrapper .nl-input-textarea{padding-right:56px}.wb-ontology-editor .voice-btn{background:var(--bg-secondary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.wb-ontology-editor .voice-btn:hover{background:var(--accent);color:#fff}.wb-ontology-editor .voice-btn.recording{color:#fff;background:#e81123;animation:1.5s ease-in-out infinite pulse-recording}@keyframes pulse-recording{0%,to{box-shadow:0 0 #e8112366}50%{box-shadow:0 0 0 12px #e8112300}}.wb-ontology-editor .recording-indicator{color:#e81123;background:#e811231a;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.wb-ontology-editor .recording-dot{background:#e81123;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.wb-ontology-editor .example-prompts{margin-top:16px}.wb-ontology-editor .example-prompts h4{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.wb-ontology-editor .example-chips{flex-wrap:wrap;gap:8px;display:flex}.wb-ontology-editor .example-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .2s}.wb-ontology-editor .example-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.wb-ontology-editor .nl-generate-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.wb-ontology-editor .nl-generate-btn:hover:not(:disabled){background:#106ebe}.wb-ontology-editor .nl-generate-btn:disabled{opacity:.5;cursor:not-allowed}.wb-ontology-editor .nl-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.wb-ontology-editor .nl-preview{max-height:60vh;overflow-y:auto}.wb-ontology-editor .preview-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.wb-ontology-editor .preview-header h3{color:var(--text-primary);margin:0}.wb-ontology-editor .preview-section{margin-bottom:20px}.wb-ontology-editor .preview-section h4{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:12px}.wb-ontology-editor .preview-items{flex-wrap:wrap;gap:8px;display:flex}.wb-ontology-editor .preview-item{background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.wb-ontology-editor .json-editor{border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;min-height:200px;max-height:300px;color:var(--text-primary);resize:vertical;border-radius:8px;padding:12px;font-family:Cascadia Code,Fira Code,monospace;font-size:12px}.wb-ontology-editor .json-editor:focus{border-color:var(--accent);outline:none}.wb-ontology-editor .preview-actions{gap:12px;margin-top:20px;display:flex}.wb-ontology-editor .preview-actions .btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:14px;font-weight:600}.wb-ontology-editor .preview-actions .btn-primary:hover{background:#106ebe}.wb-ontology-editor .preview-actions .btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:12px 24px;font-size:14px}.wb-ontology-editor .preview-actions .btn-secondary:hover{background:var(--bg-tertiary)}@keyframes spin{to{transform:rotate(360deg)}}.wb-ontology-editor .spin{animation:1s linear infinite spin}.wb-ontology-editor .ontology-summary-modal{flex-direction:column;width:90vw;max-width:800px;max-height:85vh;display:flex}.wb-ontology-editor .ontology-summary-modal .modal-header{text-align:left;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.wb-ontology-editor .ontology-summary-modal .modal-header h2{margin:0;font-size:18px}.wb-ontology-editor .summary-content{flex:1;padding-right:8px;overflow-y:auto}.wb-ontology-editor .summary-section{margin-bottom:24px}.wb-ontology-editor .summary-section h3{color:var(--text-primary);margin-bottom:8px;font-size:20px}.wb-ontology-editor .summary-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle);margin-bottom:12px;padding-bottom:8px;font-size:14px}.wb-ontology-editor .summary-description{color:var(--text-secondary);font-size:14px;line-height:1.6}.wb-ontology-editor .summary-entities{flex-direction:column;gap:12px;display:flex}.wb-ontology-editor .summary-entity-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:16px}.wb-ontology-editor .entity-card-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.wb-ontology-editor .entity-icon-large{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.wb-ontology-editor .entity-card-header strong{color:var(--text-primary);margin-bottom:4px;font-size:16px;display:block}.wb-ontology-editor .entity-card-header p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.wb-ontology-editor .entity-properties{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.wb-ontology-editor .property-row{background:var(--bg-tertiary);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.wb-ontology-editor .prop-name{color:var(--text-primary);font-weight:500}.wb-ontology-editor .prop-type{color:var(--ms-cyan);font-family:var(--font-mono);font-size:11px}.wb-ontology-editor .prop-id-badge{background:var(--ms-yellow);color:#000;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:600}.wb-ontology-editor .summary-relationships{flex-direction:column;gap:10px;display:flex}.wb-ontology-editor .summary-relationship-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;padding:14px}.wb-ontology-editor .relationship-flow-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.wb-ontology-editor .rel-entity{color:var(--text-primary);font-size:14px;font-weight:500}.wb-ontology-editor .rel-arrow{color:var(--ms-blue);align-items:center;gap:8px;font-size:16px;display:flex}.wb-ontology-editor .rel-label{color:var(--ms-blue);font-size:12px;font-weight:600}.wb-ontology-editor .relationship-meta{align-items:center;gap:10px;display:flex}.wb-ontology-editor .rel-description{color:var(--text-tertiary);font-size:12px}.wb-ontology-editor .designer-page{background:var(--bg-primary);height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.wb-ontology-editor .designer-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.wb-ontology-editor .designer-back-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.wb-ontology-editor .designer-back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wb-ontology-editor .designer-meta-fields{flex:1;gap:12px;display:flex}.wb-ontology-editor .designer-meta-name{color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;width:260px;padding:4px 8px;font-size:16px;font-weight:600}.wb-ontology-editor .designer-meta-name:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .designer-meta-desc{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;flex:1;padding:4px 8px;font-size:13px}.wb-ontology-editor .designer-meta-desc:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .designer-split{flex:1;display:flex;overflow:hidden}.wb-ontology-editor .designer-sidebar{border-right:1px solid var(--border-color);background:var(--bg-secondary);flex-direction:column;gap:20px;width:380px;min-width:320px;padding:16px;display:flex;overflow-y:auto}.wb-ontology-editor .template-picker{flex-direction:column;gap:16px;display:flex}.wb-ontology-editor .template-picker-header h3{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:600}.wb-ontology-editor .template-picker-header p{color:var(--text-secondary);margin:0;font-size:13px}.wb-ontology-editor .template-picker-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wb-ontology-editor .template-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.wb-ontology-editor .template-card:hover{border-color:var(--ms-blue);box-shadow:0 0 0 2px #0078d426}.wb-ontology-editor .template-card-icon{font-size:24px;line-height:1}.wb-ontology-editor .template-card-label{color:var(--text-primary);font-size:14px;font-weight:600}.wb-ontology-editor .template-card-desc{color:var(--text-tertiary);font-size:11px;line-height:1.3}.wb-ontology-editor .designer-preview{background:var(--bg-primary);flex-direction:column;flex:1;display:flex}.wb-ontology-editor .designer-preview-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;gap:0;display:flex}.wb-ontology-editor .designer-tab{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 24px;font-size:13px;font-weight:500}.wb-ontology-editor .designer-tab:hover{color:var(--text-primary)}.wb-ontology-editor .designer-tab.active{color:var(--ms-blue);border-bottom-color:var(--ms-blue)}.wb-ontology-editor .designer-graph-container{flex:1;min-height:200px}.wb-ontology-editor .designer-rdf-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.wb-ontology-editor .designer-rdf-toolbar{border-bottom:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:8px 12px;display:flex}.wb-ontology-editor .designer-rdf-source{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;color:var(--text-secondary);flex:1;margin:0;padding:16px;font-size:12px;line-height:1.6;overflow:auto}.wb-ontology-editor .designer-rdf-textarea{resize:none;background:var(--bg-primary);color:var(--text-primary);border:none;outline:none}.wb-ontology-editor .designer-rdf-textarea::placeholder{color:var(--text-tertiary,#999)}.wb-ontology-editor .designer-import-error{color:#d83b01;border-bottom:1px solid var(--border-color);background:#d83b0114;padding:6px 12px;font-size:12px}.wb-ontology-editor .designer-add-btn.small.secondary{background:var(--bg-tertiary,#e0e0e0);color:var(--text-primary)}.wb-ontology-editor .designer-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.wb-ontology-editor .designer-section-header h3{color:var(--text-primary);font-size:14px;font-weight:600}.wb-ontology-editor .designer-section-header span{color:var(--text-secondary);font-size:12px;font-weight:600}.wb-ontology-editor .designer-add-btn{background:var(--ms-blue);color:var(--on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.wb-ontology-editor .designer-add-btn:hover{background:var(--ms-blue-dark)}.wb-ontology-editor .designer-add-btn:disabled{opacity:.4;cursor:not-allowed}.wb-ontology-editor .designer-add-btn.small{padding:2px 8px;font-size:11px}.wb-ontology-editor .designer-empty{color:var(--text-tertiary);text-align:center;padding:12px;font-size:13px}.wb-ontology-editor .designer-entity-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast);margin-bottom:8px;overflow:hidden}.wb-ontology-editor .designer-entity-card.selected{border-color:var(--ms-blue)}.wb-ontology-editor .designer-entity-header{cursor:pointer;background:var(--bg-tertiary);transition:background var(--transition-fast);align-items:center;gap:8px;padding:8px 10px;display:flex}.wb-ontology-editor .designer-entity-header:hover{background:var(--bg-elevated)}.wb-ontology-editor .designer-expand-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0;display:flex}.wb-ontology-editor .designer-entity-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex}.wb-ontology-editor .designer-entity-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.wb-ontology-editor .designer-entity-badge{color:var(--text-tertiary);background:var(--bg-primary);border-radius:100px;padding:2px 8px;font-size:11px}.wb-ontology-editor .designer-delete-btn{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:4px;display:flex}.wb-ontology-editor .designer-delete-btn:hover{color:var(--ms-red);background:#e811231a}.wb-ontology-editor .designer-delete-btn.small{padding:2px}.wb-ontology-editor .designer-entity-body{border-top:1px solid var(--border-color);flex-direction:column;gap:10px;padding:12px;display:flex}.wb-ontology-editor .designer-field{flex-direction:column;gap:4px;display:flex}.wb-ontology-editor .designer-field>span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.wb-ontology-editor .designer-field input[type=text],.wb-ontology-editor .designer-field textarea,.wb-ontology-editor .designer-field select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-primary);resize:vertical;padding:6px 8px}.wb-ontology-editor .designer-field input:focus,.wb-ontology-editor .designer-field textarea:focus,.wb-ontology-editor .designer-field select:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .designer-field-row{gap:8px;display:flex}.wb-ontology-editor .designer-field-row .designer-field{flex:1}.wb-ontology-editor .designer-field-hint{margin-top:2px;padding:0 2px;font-size:11px;line-height:1.3;display:block}.wb-ontology-editor .designer-field-hint.error{color:var(--color-error,#e81123)}.wb-ontology-editor .designer-id-btn.warning{color:var(--color-error,#e81123);border-color:var(--color-error,#e81123)}.wb-ontology-editor .designer-icon-grid{flex-wrap:wrap;gap:4px;display:flex}.wb-ontology-editor .designer-icon-btn{border-radius:var(--radius-sm);background:var(--bg-primary);cursor:pointer;width:32px;height:32px;transition:border-color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;font-size:16px;display:flex}.wb-ontology-editor .designer-icon-btn.active,.wb-ontology-editor .designer-icon-btn:hover{border-color:var(--ms-blue)}.wb-ontology-editor .designer-color-grid{flex-wrap:wrap;gap:6px;display:flex}.wb-ontology-editor .designer-color-btn{cursor:pointer;width:24px;height:24px;transition:border-color var(--transition-fast), transform var(--transition-fast);border:2px solid #0000;border-radius:50%}.wb-ontology-editor .designer-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.wb-ontology-editor .designer-color-btn:hover{transform:scale(1.15)}.wb-ontology-editor .designer-property-list{flex-direction:column;gap:4px;display:flex}.wb-ontology-editor .designer-property-row{align-items:center;gap:4px;display:flex}.wb-ontology-editor .designer-grip{color:var(--text-tertiary);cursor:grab;padding:2px;display:flex}.wb-ontology-editor .designer-prop-name{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);flex:1;padding:4px 6px;font-size:12px}.wb-ontology-editor .designer-prop-name:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .designer-prop-type{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:90px;color:var(--text-secondary);padding:4px 6px;font-size:12px}.wb-ontology-editor .designer-prop-type:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .designer-id-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:3px;display:flex}.wb-ontology-editor .designer-id-btn.active{color:var(--ms-yellow-fg);border-color:var(--ms-yellow-fg);background:#ffb9001a}.wb-ontology-editor .designer-rel-card{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast);margin-bottom:8px;overflow:hidden}.wb-ontology-editor .designer-rel-card.selected{border-color:var(--ms-blue)}.wb-ontology-editor .designer-rel-header{background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.wb-ontology-editor .designer-rel-header:hover{background:var(--bg-elevated)}.wb-ontology-editor .designer-rel-flow{color:var(--text-primary);align-items:center;gap:4px;font-size:13px;display:flex}.wb-ontology-editor .designer-rel-arrow{color:var(--ms-blue);margin:0 4px;font-weight:600}.wb-ontology-editor .designer-rel-body{border-top:1px solid var(--border-color);flex-direction:column;gap:10px;padding:12px;display:flex}.wb-ontology-editor .designer-toolbar{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.wb-ontology-editor .designer-toolbar-sep{background:var(--border-color);width:1px;height:20px;margin:0 4px}.wb-ontology-editor .designer-toolbar-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.wb-ontology-editor .designer-toolbar-btn:hover{background:var(--ms-blue);color:var(--on-accent);border-color:var(--ms-blue)}.wb-ontology-editor .designer-toolbar-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.wb-ontology-editor .designer-toolbar-btn.submit{color:#fff;background:#24292e;border-color:#24292e}.wb-ontology-editor .designer-toolbar-btn.submit:hover{background:#2f363d;border-color:#2f363d}.wb-ontology-editor .designer-validation-errors{border-radius:var(--radius-md);background:#e8112314;border:1px solid #e811234d;margin-top:10px;padding:10px 12px}.wb-ontology-editor .designer-validation-success{border-radius:var(--radius-md);background:#16c60c14;border:1px solid #16c60c4d;margin-top:10px;padding:10px 12px;animation:.2s ease-out designer-fade-in}@keyframes designer-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wb-ontology-editor .designer-validation-header{color:var(--ms-red);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.wb-ontology-editor .designer-validation-errors ul{padding:0;list-style:none}.wb-ontology-editor .designer-validation-errors li{color:var(--text-secondary);padding:2px 0;font-size:12px}.wb-ontology-editor .designer-validation-errors li:before{content:"• ";color:var(--ms-red)}.wb-ontology-editor .designer-error-link{cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wb-ontology-editor .designer-error-link:hover{color:var(--text-primary)}.wb-ontology-editor .designer-success-msg{color:var(--ms-green);align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.wb-ontology-editor .designer-action-btn{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.wb-ontology-editor .designer-action-btn.primary{background:var(--ms-blue);color:var(--on-accent)}.wb-ontology-editor .designer-action-btn.primary:hover{background:var(--ms-blue-dark)}.wb-ontology-editor .designer-action-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.wb-ontology-editor .designer-action-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.wb-ontology-editor .submit-catalogue-modal{max-width:480px}.wb-ontology-editor .submit-step{flex-direction:column;gap:12px;margin-top:8px;display:flex}.wb-ontology-editor .submit-description{color:var(--text-secondary);font-size:14px;line-height:1.5}.wb-ontology-editor .submit-description a{color:var(--ms-blue)}.wb-ontology-editor .device-code-display{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.wb-ontology-editor .device-code{letter-spacing:2px;color:var(--text-primary);font-family:Cascadia Code,Fira Code,monospace;font-size:22px;font-weight:600}.wb-ontology-editor .submit-user-info{color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.wb-ontology-editor .submit-avatar{border-radius:50%}.wb-ontology-editor .submit-form{flex-direction:column;gap:10px;display:flex}.wb-ontology-editor .submit-label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.wb-ontology-editor .submit-label input,.wb-ontology-editor .submit-label textarea,.wb-ontology-editor .submit-label select{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);resize:vertical;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.wb-ontology-editor .submit-label input:focus,.wb-ontology-editor .submit-label textarea:focus,.wb-ontology-editor .submit-label select:focus{border-color:var(--ms-blue);outline:none;box-shadow:0 0 0 2px #0078d426}.wb-ontology-editor .submit-form-row{gap:12px;display:flex}.wb-ontology-editor .submit-form-row .submit-label{flex:1}.wb-ontology-editor .submit-icon-input{text-align:center;width:48px!important;font-size:18px!important}.wb-ontology-editor .submit-hint-inline{color:var(--text-tertiary);font-weight:400}.wb-ontology-editor .submit-form-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.wb-ontology-editor .submit-center{text-align:center;align-items:center}.wb-ontology-editor .submit-success-icon{color:var(--ms-green)}.wb-ontology-editor .submit-success-text{color:var(--ms-green);font-size:16px;font-weight:600}.wb-ontology-editor .submit-error-icon{color:var(--ms-red)}.wb-ontology-editor .submit-error-text{color:var(--ms-red);font-size:14px}.wb-ontology-editor .submit-instructions{margin-top:4px}.wb-ontology-editor .submit-instructions h3{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600}.wb-ontology-editor .submit-instructions ol{color:var(--text-secondary);padding-left:20px;font-size:13px;line-height:1.8}.wb-ontology-editor .submit-instructions ol a{color:var(--ms-blue)}.wb-ontology-editor .submit-instructions code{background:var(--bg-elevated);border-radius:4px;padding:1px 5px;font-family:Cascadia Code,Fira Code,monospace;font-size:12px}.wb-ontology-editor .submit-download-actions{gap:8px;margin-top:4px;display:flex}.wb-ontology-editor .submit-fallback{border-top:1px solid var(--border-color);color:var(--text-tertiary);margin-top:12px;padding-top:12px;font-size:13px}.wb-ontology-editor .submit-hint{color:var(--text-tertiary);text-align:center;font-size:13px}.wb-ontology-editor .designer-action-btn.submit{color:#fff;background:#24292e;border:none}.wb-ontology-editor .designer-action-btn.submit:hover{background:#2f363d}.wb-ontology-editor .designer-action-btn.small{min-width:unset;padding:4px 8px;font-size:12px}.wb-ontology-editor .spinner{animation:1s linear infinite spin}.wb-ontology-editor .learn-page{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-primary);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.wb-ontology-editor .learn-header{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);z-index:10;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.wb-ontology-editor .learn-back-btn{color:var(--ms-blue);font:500 14px/1 var(--font-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.wb-ontology-editor .learn-back-btn:hover{background:var(--bg-tertiary)}.wb-ontology-editor .learn-header-title{font:600 16px/1 var(--font-primary);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:8px;padding:4px 8px;display:flex}.wb-ontology-editor .learn-header-title:hover{background:var(--bg-tertiary)}.wb-ontology-editor .learn-loading,.wb-ontology-editor .learn-error{min-height:60vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:15px;display:flex}.wb-ontology-editor .learn-error{color:var(--error)}.wb-ontology-editor .learn-index{width:100%;max-width:960px;margin:0 auto;padding:48px 24px 80px}.wb-ontology-editor .learn-index-hero{text-align:center;margin-bottom:48px}.wb-ontology-editor .learn-index-hero h1{color:var(--text-primary);margin:0 0 12px;font-size:32px;font-weight:700}.wb-ontology-editor .learn-index-hero p{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:16px;line-height:1.6}.wb-ontology-editor .learn-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.wb-ontology-editor .learn-card{text-align:left;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:flex-start;padding:24px;display:flex}.wb-ontology-editor .learn-card:hover{border-color:var(--ms-blue);box-shadow:var(--shadow-md)}.wb-ontology-editor .learn-card-order{background:var(--ms-blue);min-width:28px;height:28px;color:var(--on-accent);font:700 12px/1 var(--font-primary);white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;padding:0 10px;display:inline-flex}.wb-ontology-editor .learn-card h2{color:var(--text-primary);margin:0 0 8px;font-size:17px;font-weight:600}.wb-ontology-editor .learn-card p{color:var(--text-secondary);margin:0 0 auto;padding-bottom:16px;font-size:13px;line-height:1.55}.wb-ontology-editor .learn-card-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;display:flex}.wb-ontology-editor .learn-card-icon{font-size:28px;line-height:1}.wb-ontology-editor .learn-card-badge{font:600 11px/1 var(--font-primary);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.wb-ontology-editor .learn-card-badge--lab{color:#b4009e;background:#b4009e1f}.wb-ontology-editor .learn-card-badge--path{color:var(--ms-blue);background:#0078d41f}.wb-ontology-editor .learn-card-meta{color:var(--text-tertiary);margin-bottom:4px;font-size:12px}.wb-ontology-editor .learn-card-cta{color:var(--ms-blue);font:500 13px/1 var(--font-primary);align-items:center;gap:4px;margin-top:8px;display:flex}.wb-ontology-editor .learn-card-review-badge{font:500 11px/1 var(--font-primary);color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;align-items:center;gap:4px;margin-bottom:4px;padding:3px 8px;display:inline-flex}.wb-ontology-editor [data-theme=dark] .learn-card-review-badge{color:#fde68a;background:#fef3c71f;border-color:#fde68a40}.wb-ontology-editor .app-footer{font:400 13px/1 var(--font-primary);color:var(--text-tertiary);justify-content:center;align-items:center;gap:8px;padding:32px 24px 48px;display:flex}.wb-ontology-editor .app-container .app-footer{z-index:50;pointer-events:none;justify-content:center;padding:6px 12px;position:fixed;bottom:4px;left:280px;right:360px}.wb-ontology-editor .app-container .app-footer a,.wb-ontology-editor .app-container .app-footer span{pointer-events:auto}.wb-ontology-editor .app-footer a{color:var(--text-tertiary);transition:color var(--transition-fast);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.wb-ontology-editor .app-footer a:hover{color:var(--ms-blue)}.wb-ontology-editor .app-footer-sep{color:var(--text-tertiary)}.wb-ontology-editor .learn-course-header{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.wb-ontology-editor .learn-course-icon{font-size:36px;line-height:1}.wb-ontology-editor .learn-article{width:100%;max-width:760px;margin:0 auto;padding:40px 24px 80px}.wb-ontology-editor .learn-article-content h1{color:var(--text-primary);margin:0 0 24px;font-size:30px;font-weight:700;line-height:1.3}.wb-ontology-editor .learn-article-content h2{color:var(--text-primary);margin:32px 0 12px;font-size:22px;font-weight:600;line-height:1.3}.wb-ontology-editor .learn-article-content h3{color:var(--text-primary);margin:24px 0 8px;font-size:17px;font-weight:600}.wb-ontology-editor .learn-article-content p{color:var(--text-primary);margin:0 0 16px;font-size:15px;line-height:1.7}.wb-ontology-editor .learn-article-content a{color:var(--ms-blue);text-decoration:none}.wb-ontology-editor .learn-article-content a:hover{text-decoration:underline}.wb-ontology-editor .learn-article-content strong{font-weight:600}.wb-ontology-editor .learn-article-content em{color:var(--text-secondary)}.wb-ontology-editor .learn-article-content ul,.wb-ontology-editor .learn-article-content ol{margin:0 0 16px;padding-left:24px}.wb-ontology-editor .learn-article-content li{color:var(--text-primary);margin-bottom:4px;font-size:15px;line-height:1.7}.wb-ontology-editor .learn-article-content table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14px}.wb-ontology-editor .learn-article-content th,.wb-ontology-editor .learn-article-content td{text-align:left;border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px}.wb-ontology-editor .learn-article-content th{background:var(--bg-tertiary);font-weight:600}.wb-ontology-editor .learn-article-content pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:0 0 20px;padding:16px;overflow-x:auto}.wb-ontology-editor .learn-article-content code{font-family:var(--font-mono);color:var(--text-primary);font-size:13px}.wb-ontology-editor .learn-article-content p code{background:var(--bg-tertiary);border-radius:3px;padding:2px 6px;font-size:13px}.wb-ontology-editor .learn-embed-slot{border-radius:var(--radius-md);margin:20px 0;overflow:hidden}.wb-ontology-editor .learn-embed-fullscreen{z-index:1500;border:none!important;border-radius:0!important;width:100vw!important;height:100vh!important;margin:0!important;position:fixed!important;inset:0!important}.wb-ontology-editor .presentation-overlay .learn-embed-fullscreen{z-index:2100}.wb-ontology-editor .learn-embed-error{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:13px;display:flex}.wb-ontology-editor .learn-article-toolbar{justify-content:flex-end;padding:0 0 12px;display:flex}.wb-ontology-editor .learn-present-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);align-items:center;gap:6px;padding:7px 16px;font:500 13px/1 Segoe UI,sans-serif;display:inline-flex}.wb-ontology-editor .learn-present-btn:hover{border-color:var(--ms-blue);background:var(--ms-blue);color:var(--on-accent)}.wb-ontology-editor .presentation-overlay{z-index:2000;color:#e6e6e6;background:#0d1117;flex-direction:column;font-family:Segoe UI,system-ui,sans-serif;display:flex;position:fixed;inset:0}.wb-ontology-editor .presentation-overlay.light-theme{color:#1f2328;background:#fafbfc}.wb-ontology-editor .presentation-chrome{z-index:2200;gap:8px;display:flex;position:absolute;top:56px;right:20px}.wb-ontology-editor .presentation-close,.wb-ontology-editor .presentation-theme-toggle{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.wb-ontology-editor .presentation-close{color:#ccc;background:#ffffff1a}.wb-ontology-editor .light-theme .presentation-close{color:#555;background:#0000000f}.wb-ontology-editor .presentation-close:hover{background:#fff3}.wb-ontology-editor .light-theme .presentation-close:hover{background:#0000001f}.wb-ontology-editor .presentation-theme-toggle{color:#ccc;background:#ffffff1a}.wb-ontology-editor .light-theme .presentation-theme-toggle{color:#555;background:#0000000f}.wb-ontology-editor .presentation-theme-toggle:hover{background:#fff3}.wb-ontology-editor .light-theme .presentation-theme-toggle:hover{background:#0000001f}.wb-ontology-editor .presentation-stage{flex:1;justify-content:center;align-items:center;gap:16px;min-height:0;padding:60px 24px 24px;display:flex}.wb-ontology-editor .presentation-nav{color:#999;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s,color .15s;display:flex}.wb-ontology-editor .light-theme .presentation-nav{color:#888;background:#0000000d}.wb-ontology-editor .presentation-nav:hover:not(:disabled){color:#fff;background:#ffffff29}.wb-ontology-editor .light-theme .presentation-nav:hover:not(:disabled){color:#333;background:#0000001a}.wb-ontology-editor .presentation-nav:disabled{opacity:.25;cursor:default}.wb-ontology-editor .presentation-slide-wrapper{flex:1;justify-content:center;align-items:flex-start;max-width:900px;max-height:100%;display:flex;overflow-y:auto}.wb-ontology-editor .presentation-slide{width:100%;padding:40px 48px;animation:.25s ease-out slideIn}.wb-ontology-editor .presentation-slide h1{margin-bottom:24px;font-size:2.4em}.wb-ontology-editor .presentation-slide h2{margin-bottom:20px;font-size:1.8em}.wb-ontology-editor .presentation-slide p,.wb-ontology-editor .presentation-slide li{font-size:1.15em;line-height:1.7}.wb-ontology-editor .presentation-slide table{font-size:1em}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.wb-ontology-editor .presentation-footer{flex-shrink:0;align-items:center;gap:16px;padding:12px 24px 16px;display:flex}.wb-ontology-editor .presentation-progress{background:#ffffff1a;border-radius:2px;flex:1;height:3px;overflow:hidden}.wb-ontology-editor .light-theme .presentation-progress{background:#00000014}.wb-ontology-editor .presentation-progress-bar{background:#0078d4;border-radius:2px;height:100%;transition:width .3s}.wb-ontology-editor .presentation-counter{color:#888;white-space:nowrap;font:500 13px/1 Segoe UI,sans-serif}.wb-ontology-editor .presentation-next-hint{color:#0078d4;font-weight:400}.wb-ontology-editor .quiz-block{border:2px solid #0078d4;border-radius:12px;max-width:700px;min-height:50px;margin:24px auto;padding:16px}.wb-ontology-editor .quiz-interactive{background:#161b22;border:1px solid #30363d;border-radius:12px;max-width:700px;margin:24px auto;padding:32px}.wb-ontology-editor .light-theme .quiz-interactive{background:#f6f8fa;border-color:#d0d7de}.wb-ontology-editor .quiz-fallback{color:#8b949e;text-align:center;padding:24px;font:600 1.2em/1.6 Segoe UI,sans-serif}.wb-ontology-editor .quiz-header{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.wb-ontology-editor .quiz-icon{color:#0078d4;flex-shrink:0;margin-top:2px}.wb-ontology-editor .quiz-question{color:#e6edf3;font:600 1.3em/1.4 Segoe UI,sans-serif}.wb-ontology-editor .light-theme .quiz-question{color:#1f2328}.wb-ontology-editor .quiz-options{flex-direction:column;gap:10px;display:flex}.wb-ontology-editor .quiz-option{cursor:pointer;text-align:left;background:#0d1117;border:1.5px solid #30363d;border-radius:10px;align-items:center;gap:14px;width:100%;padding:14px 18px;transition:border-color .15s,background .15s,transform .1s;display:flex}.wb-ontology-editor .light-theme .quiz-option{background:#fff;border-color:#d0d7de}.wb-ontology-editor .quiz-option:hover:not(:disabled){background:#0d1117;border-color:#0078d4;transform:translate(4px)}.wb-ontology-editor .light-theme .quiz-option:hover:not(:disabled){background:#eff6ff}.wb-ontology-editor .quiz-option-letter{color:#8b949e;text-align:center;background:#21262d;border-radius:50%;flex-shrink:0;width:30px;height:30px;font:700 13px/30px Segoe UI,sans-serif}.wb-ontology-editor .light-theme .quiz-option-letter{color:#57606a;background:#e1e7ed}.wb-ontology-editor .quiz-option-text{color:#c9d1d9;font:400 1.05em/1.4 Segoe UI,sans-serif}.wb-ontology-editor .light-theme .quiz-option-text{color:#1f2328}.wb-ontology-editor .quiz-option:disabled{cursor:default;transform:none}.wb-ontology-editor .quiz-option--correct{background:#2ea0431f!important;border-color:#2ea043!important}.wb-ontology-editor .quiz-option--correct .quiz-option-letter{color:#fff;background:#2ea043}.wb-ontology-editor .quiz-option--wrong{background:#da36331f!important;border-color:#da3633!important}.wb-ontology-editor .quiz-option--wrong .quiz-option-letter{color:#fff;background:#da3633}.wb-ontology-editor .quiz-option--dimmed{opacity:.4}.wb-ontology-editor .quiz-result{align-items:center;gap:8px;margin-top:16px;font:600 1em/1 Segoe UI,sans-serif;animation:.3s slideIn;display:flex}.wb-ontology-editor .quiz-result--correct{color:#2ea043}.wb-ontology-editor .quiz-result--wrong{color:#da3633}.wb-ontology-editor .quiz-explanation{color:#8b949e;background:#21262d;border-radius:8px;margin-top:12px;padding:14px 16px;font:400 .95em/1.6 Segoe UI,sans-serif;animation:.3s slideIn}.wb-ontology-editor .light-theme .quiz-explanation{color:#57606a;background:#e1e7ed}.wb-ontology-editor .presentation-slide .quiz-interactive{max-width:720px;margin:auto}.wb-ontology-editor .learn-article-nav{border-top:1px solid var(--border-color);justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;display:flex}.wb-ontology-editor .learn-nav-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);max-width:48%;transition:border-color var(--transition-fast);align-items:center;gap:10px;padding:12px 16px;display:flex}.wb-ontology-editor .learn-nav-btn:hover{border-color:var(--ms-blue)}.wb-ontology-editor .learn-nav-next{text-align:right;margin-left:auto}.wb-ontology-editor .learn-nav-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:11px;display:block}.wb-ontology-editor .learn-nav-title{font:500 14px/1.3 var(--font-primary);color:var(--ms-blue);display:block}.wb-ontology-editor .header-mobile-menu{display:none;position:relative}.wb-ontology-editor .header-hamburger{width:40px;height:40px}.wb-ontology-editor .command-palette-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:min(20vh,160px);display:flex;position:fixed;inset:0}.wb-ontology-editor .command-palette{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:90%;max-width:520px;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000059}.wb-ontology-editor .command-palette-input-row{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:12px 16px;display:flex}.wb-ontology-editor .command-palette-search-icon{color:var(--text-tertiary);flex-shrink:0}.wb-ontology-editor .stats-panel{border-bottom:1px solid var(--border-subtle);flex-shrink:0}.wb-ontology-editor .stats-panel-header{width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 16px;font-family:inherit;display:flex}.wb-ontology-editor .stats-panel-header:hover{background:var(--bg-tertiary)}.wb-ontology-editor .stats-panel-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.wb-ontology-editor .stats-panel-body{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.wb-ontology-editor .stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.wb-ontology-editor .stat-card{border-radius:var(--radius-md);border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 8px;display:flex}.wb-ontology-editor .stat-card--blue{background:#0078d41f;border-color:#0078d440}.wb-ontology-editor .stat-card--purple{background:#5c2d911f;border-color:#5c2d9140}.wb-ontology-editor .stat-card--green{background:#107c101f;border-color:#107c1040}.wb-ontology-editor .stat-card-icon{opacity:1}.wb-ontology-editor .stat-card--blue .stat-card-icon{color:var(--stat-blue)}.wb-ontology-editor .stat-card--purple .stat-card-icon{color:var(--stat-purple)}.wb-ontology-editor .stat-card--green .stat-card-icon{color:var(--stat-green)}.wb-ontology-editor .stat-card-value{font-size:22px;font-weight:700;line-height:1}.wb-ontology-editor .stat-card--blue .stat-card-value{color:var(--stat-blue)}.wb-ontology-editor .stat-card--purple .stat-card-value{color:var(--stat-purple)}.wb-ontology-editor .stat-card--green .stat-card-value{color:var(--stat-green)}.wb-ontology-editor .stat-card-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:500}.wb-ontology-editor .light-theme .stat-card--blue{background:#0078d414}.wb-ontology-editor .light-theme .stat-card--purple{background:#5c2d9114}.wb-ontology-editor .light-theme .stat-card--green{background:#107c1014}.wb-ontology-editor .command-palette-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.wb-ontology-editor .command-palette-input::placeholder{color:var(--text-tertiary)}.wb-ontology-editor .command-palette-kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-tertiary);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;line-height:1.4}.wb-ontology-editor .command-palette-list{max-height:320px;padding:6px;overflow-y:auto}.wb-ontology-editor .command-palette-empty{text-align:center;color:var(--text-tertiary);padding:24px 16px;font-size:14px}.wb-ontology-editor .command-palette-item{border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:14px;transition:background .1s;display:flex}.wb-ontology-editor .command-palette-item:hover,.wb-ontology-editor .command-palette-item.selected{background:var(--bg-hover)}.wb-ontology-editor .command-palette-item-icon{color:var(--text-secondary);flex-shrink:0;align-items:center;display:flex}.wb-ontology-editor .command-palette-item-label{flex:1}.wb-ontology-editor .command-palette-shortcut{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-tertiary);border-radius:4px;margin-left:auto;padding:2px 6px;font-family:inherit;font-size:11px;line-height:1.4}.wb-ontology-editor .command-palette-footer{border-top:1px solid var(--border-color);color:var(--text-tertiary);gap:16px;padding:8px 16px;font-size:11px;display:flex}.wb-ontology-editor .command-palette-footer span{align-items:center;gap:4px;display:flex}.wb-ontology-editor .help-kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-tertiary);text-align:center;border-radius:4px;width:fit-content;padding:2px 8px;font-family:inherit;font-size:12px;line-height:1.6}.wb-ontology-editor .tour-overlay{z-index:3000;pointer-events:auto;background:#0000008c;transition:clip-path .35s;position:fixed;inset:0}.wb-ontology-editor .tour-tooltip{z-index:3001;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:260px;padding:16px 20px;position:fixed;box-shadow:0 8px 32px #0000004d}.wb-ontology-editor .tour-tooltip-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.wb-ontology-editor .tour-tooltip-step{color:var(--ms-blue);font-size:11px;font-weight:600}.wb-ontology-editor .tour-tooltip-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.wb-ontology-editor .tour-tooltip-close:hover{color:var(--text-primary);background:var(--bg-hover)}.wb-ontology-editor .tour-tooltip-title{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.wb-ontology-editor .tour-tooltip-desc{color:var(--text-secondary);margin:0 0 14px;font-size:13px;line-height:1.5}.wb-ontology-editor .tour-tooltip-actions{gap:8px;margin-bottom:10px;display:flex}.wb-ontology-editor .tour-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.wb-ontology-editor .tour-btn-primary{background:var(--ms-blue);color:var(--on-accent)}.wb-ontology-editor .tour-btn-primary:hover{background:#106ebe}.wb-ontology-editor .tour-btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.wb-ontology-editor .tour-btn-secondary:hover{background:var(--bg-hover)}.wb-ontology-editor .tour-skip{text-align:center;width:100%;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 0 0;font-size:11px;display:block}.wb-ontology-editor .tour-skip:hover{color:var(--text-secondary);text-decoration:underline}.wb-ontology-editor .mobile-menu-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1001;flex-direction:column;gap:2px;min-width:220px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.wb-ontology-editor .mobile-menu-stats{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;margin-bottom:4px;padding:8px 12px;font-size:13px;display:flex}.wb-ontology-editor .mobile-menu-item{color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;display:flex}.wb-ontology-editor .mobile-menu-item:hover{background:var(--bg-tertiary)}.wb-ontology-editor .mobile-panel-tabs{background:var(--bg-secondary);border-top:1px solid var(--border-color);gap:4px;padding:4px 8px;display:none}.wb-ontology-editor .mobile-tab{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;font-size:10px;display:flex}.wb-ontology-editor .mobile-tab.active{color:var(--ms-blue)}.wb-ontology-editor .mobile-tab:hover{color:var(--text-primary)}.wb-ontology-editor .mobile-panel-drawer{display:none}@media (width<=900px){.wb-ontology-editor .mobile-panel-drawer{bottom:calc(48px + env(safe-area-inset-bottom,0px));background:var(--bg-secondary);z-index:500;border-top:1px solid var(--border-color);flex-direction:column;display:flex;position:fixed;top:56px;left:0;right:0;overflow-y:auto}.wb-ontology-editor .mobile-panel-close{background:var(--bg-tertiary);border:none;border-bottom:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:10px;font-family:inherit;font-size:13px;display:flex}.wb-ontology-editor .mobile-panel-close:hover{color:var(--text-primary)}.wb-ontology-editor .mobile-panel-drawer .quest-panel,.wb-ontology-editor .mobile-panel-drawer .inspector-panel{flex:1;min-height:0;display:flex}.wb-ontology-editor .mobile-panel-drawer .search-filter-section{flex-shrink:0}.wb-ontology-editor .header-mobile-menu{display:flex}.wb-ontology-editor .mobile-panel-tabs{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));flex-shrink:0;display:flex}}@media (width<=600px){.wb-ontology-editor .modal-content{border-radius:var(--radius-lg);width:95%;max-height:90vh;padding:16px}}@media (width<=900px){.wb-ontology-editor .designer-topbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.wb-ontology-editor .designer-meta-fields{flex-direction:column;gap:6px;width:100%}.wb-ontology-editor .designer-meta-name,.wb-ontology-editor .designer-meta-desc{width:100%}.wb-ontology-editor .designer-split{flex-direction:column}.wb-ontology-editor .designer-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border-color);max-height:50vh}.wb-ontology-editor .designer-preview{min-height:40vh}}@media (width<=600px){.wb-ontology-editor .learn-card-grid{grid-template-columns:1fr}.wb-ontology-editor .learn-header,.wb-ontology-editor .learn-index{padding-left:16px;padding-right:16px}.wb-ontology-editor .learn-article{padding:16px}.wb-ontology-editor .learn-nav-btn{flex:1}.wb-ontology-editor .learn-article-nav{flex-direction:column}}.wb-ontology-editor .pathfinder-panel{border-bottom:1px solid var(--border-subtle);flex-shrink:0}.wb-ontology-editor .pathfinder-header{width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 16px;font-family:inherit;display:flex}.wb-ontology-editor .pathfinder-header:hover{background:var(--bg-tertiary)}.wb-ontology-editor .pathfinder-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.wb-ontology-editor .pathfinder-body{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.wb-ontology-editor .pathfinder-selects{align-items:flex-end;gap:6px;display:flex}.wb-ontology-editor .pathfinder-select-group{flex-direction:column;flex:1;gap:4px;display:flex}.wb-ontology-editor .pathfinder-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);font-size:10px;font-weight:600}.wb-ontology-editor .pathfinder-select{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;padding:6px 8px;font-family:inherit;font-size:12px}.wb-ontology-editor .pathfinder-select:focus{border-color:var(--ms-blue);outline:none}.wb-ontology-editor .pathfinder-arrow-icon{color:var(--text-tertiary);flex-shrink:0;margin-bottom:4px}.wb-ontology-editor .pathfinder-actions{gap:6px;display:flex}.wb-ontology-editor .pathfinder-btn-find{background:var(--ms-blue);color:var(--on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.wb-ontology-editor .pathfinder-btn-find:hover:not(:disabled){background:var(--ms-blue-dark)}.wb-ontology-editor .pathfinder-btn-find:disabled{opacity:.4;cursor:not-allowed}.wb-ontology-editor .pathfinder-btn-clear{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);justify-content:center;align-items:center;gap:4px;padding:7px 10px;font-family:inherit;font-size:12px;display:flex}.wb-ontology-editor .pathfinder-btn-clear:hover{background:var(--bg-elevated);color:var(--text-primary)}.wb-ontology-editor .pathfinder-message{border-radius:var(--radius-sm);padding:8px 10px;font-size:12px}.wb-ontology-editor .pathfinder-message--warn{color:var(--ms-yellow-fg);background:#ffb9001a;border:1px solid #ffb9004d}.wb-ontology-editor .pathfinder-result{flex-direction:column;gap:8px;display:flex}.wb-ontology-editor .pathfinder-result-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.wb-ontology-editor .pathfinder-chain{flex-direction:column;gap:0;display:flex}.wb-ontology-editor .pathfinder-chain-item{flex-direction:column;align-items:flex-start;display:flex}.wb-ontology-editor .pathfinder-chain-rel{align-items:center;gap:6px;padding:2px 0 2px 20px;display:flex}.wb-ontology-editor .pathfinder-chain-rel-arrow{background:var(--ms-blue);width:1px;height:16px;position:relative}.wb-ontology-editor .pathfinder-chain-rel-arrow:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ms-blue);position:absolute;bottom:-4px;left:-3px}.wb-ontology-editor .pathfinder-chain-rel-name{color:var(--ms-blue);font-size:10px;font-style:italic;font-weight:500}.wb-ontology-editor .pathfinder-chain-node{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-tertiary);align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.wb-ontology-editor .pathfinder-chain-node--start{border-color:var(--ms-green);background:#107c101a}.wb-ontology-editor .pathfinder-chain-node--end{border-color:var(--ms-orange);background:#d83b011a}.wb-ontology-editor .pathfinder-chain-icon{font-size:16px;line-height:1}.wb-ontology-editor .pathfinder-chain-name{color:var(--text-primary);font-size:12px;font-weight:600}.wb-ontology-editor{height:100%;min-height:32rem;overflow:hidden}.wb-ontology-editor .oe-shell{background:var(--bg-primary);height:100%;color:var(--text-primary);flex-direction:column;display:flex}.wb-ontology-editor .designer-page{flex:1;min-height:0}.oe-bar{border-bottom:1px solid var(--border-color,#d0d0d0);background:var(--bg-secondary,#fafafa);color:var(--text-primary,#1b1b1b);flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.oe-field{flex-direction:column;flex:12rem;gap:.25rem;display:flex}.oe-field-narrow{flex:0 8rem}.oe-field span{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.6875rem}.oe-field input{border:1px solid var(--border-color,#d0d0d0);background:var(--bg-primary,#fff);color:inherit;font:inherit;border-radius:4px;padding:.375rem .5rem}.oe-btn{border:1px solid var(--border-color,#d0d0d0);background:var(--bg-primary,#fff);color:inherit;font:inherit;cursor:pointer;border-radius:4px;align-items:center;gap:.375rem;padding:.4375rem .75rem;display:inline-flex}.oe-btn:disabled{opacity:.5;cursor:not-allowed}.oe-btn-primary{background:var(--ms-blue,#0078d4);border-color:var(--ms-blue,#0078d4);color:#fff}.oe-link-btn{color:var(--ms-blue,#0078d4);cursor:pointer;font:inherit;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.oe-status,.oe-error{word-break:break-all;flex-basis:100%}.oe-status a{color:var(--ms-blue,#0078d4)}.oe-error{color:#d13438}.oe-muted{opacity:.7}.oe-spin{animation:1s linear infinite oe-spin}@keyframes oe-spin{to{transform:rotate(360deg)}}.oe-modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.oe-modal{background:var(--bg-primary,#fff);width:min(60rem,100%);max-height:100%;color:var(--text-primary,#1b1b1b);border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.oe-modal-header{justify-content:space-between;align-items:baseline;display:flex}.oe-modal-header h2{margin:0;font-size:1rem}.oe-added{color:#107c10}.oe-removed{color:#d13438}.oe-warning{background:#ffb9001f;border:1px solid #ffb900;border-radius:4px;gap:.625rem;padding:.75rem;display:flex}.oe-warning p,.oe-warning ul{margin:.25rem 0 0}.oe-warning ul{padding-left:1.125rem}.oe-diff{border:1px solid var(--border-color,#d0d0d0);background:var(--bg-secondary,#fafafa);border-radius:4px;flex:1;margin:0;padding:.5rem 0;font-size:.75rem;line-height:1.5;overflow:auto}.oe-diff-line{white-space:pre-wrap;word-break:break-all;gap:.5rem;padding:0 .5rem;display:flex}.oe-diff-gutter{text-align:right;opacity:.5;-webkit-user-select:none;user-select:none;flex:0 0 2.5rem}.oe-diff-line.oe-added{background:#107c101f}.oe-diff-line.oe-removed{background:#d134381f}.oe-diff-empty{padding:1rem 0}.oe-modal-footer{justify-content:flex-end;gap:.5rem;display:flex}
/*$vite$:1*/