:root{--color-bg-primary: #0f0f23;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #252541;--color-bg-elevated: #2d2d4a;--color-bg-hover: #363659;--color-text-primary: #e4e4f0;--color-text-secondary: #a0a0b8;--color-text-muted: #6b6b85;--color-text-inverse: #0f0f23;--color-border: #3a3a5c;--color-border-light: #2a2a48;--color-accent-primary: #6366f1;--color-accent-secondary: #818cf8;--color-accent-tertiary: #a5b4fc;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .15);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .15);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-accent: linear-gradient(135deg, #818cf8 0%, #c084fc 100%);--gradient-surface: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .05) 100%);--glass-bg: rgba(26, 26, 46, .8);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(20px);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--header-height: 60px;--panel-min-width: 350px}[data-theme=light]{--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-bg-elevated: #ffffff;--color-bg-hover: #e2e8f0;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-6);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);z-index:100}.header-left{display:flex;align-items:center;gap:var(--space-4)}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-icon{width:32px;height:32px;color:var(--color-accent-primary)}.logo h1{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:var(--space-3)}.divider{width:1px;height:24px;background:var(--color-border);margin:0 var(--space-2)}.header-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.header-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.icon-btn.small{width:28px;height:28px}.small-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.small-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.primary-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.primary-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}.primary-btn:active{transform:translateY(0)}.secondary-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.secondary-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.dropdown-container{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;gap:var(--space-2)}.dropdown-arrow{transition:transform var(--transition-fast)}.dropdown-container.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:240px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.dropdown-container.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-section{padding:var(--space-2)}.dropdown-label{display:block;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-weight-normal);cursor:pointer;transition:all var(--transition-fast);text-align:left}.dropdown-item:hover{background:var(--color-bg-hover);color:var(--color-accent-secondary)}.dropdown-item svg{flex-shrink:0;color:var(--color-text-muted)}.dropdown-item:hover svg{color:var(--color-accent-primary)}.dropdown-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.header-dropdown{position:relative}.header-dropdown .dropdown-menu{min-width:220px}.dropdown-menu-right{left:auto;right:0}#theme-toggle .sun-icon{display:none}#theme-toggle .moon-icon,[data-theme=light] #theme-toggle .sun-icon{display:block}[data-theme=light] #theme-toggle .moon-icon{display:none}.app-main{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:var(--space-4);flex:1;padding:var(--space-4);overflow:hidden;min-height:0}.panel{display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.panel-header h2,.panel-header h3{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.panel-actions{display:flex;align-items:center;gap:var(--space-2)}.editor-container{flex:0 0 auto;height:350px;overflow:hidden;background:var(--color-bg-primary);font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;min-height:150px;max-height:80vh;position:relative}.panel-input>.editor-container:first-of-type{height:400px;min-height:200px}.panel-shacl>.editor-container{height:400px;min-height:200px}.panel-input,.panel-shacl{overflow:auto}.editor-container.small{flex:0 0 auto;height:180px;min-height:80px;max-height:400px;resize:vertical;overflow:hidden}.cm-editor{height:100%;font-family:var(--font-mono)!important}.cm-scroller{font-family:var(--font-mono)!important}.cm-content{padding:var(--space-3)!important}.cm-gutters{background:var(--color-bg-secondary)!important;border-right:1px solid var(--color-border)!important}.cm-activeLineGutter{background:var(--color-bg-tertiary)!important}.cm-activeLine{background:#6366f114!important}.ontology-section{padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.ontology-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.ontology-mode-toggle{display:flex;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px}.ontology-mode-btn{padding:4px 12px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ontology-mode-btn.active{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.ontology-header h3{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ontology-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);max-height:200px;overflow-y:auto;padding-right:var(--space-2)}.ontology-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ontology-item:hover{border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.ontology-item.selected{border-color:var(--color-accent-primary);background:#6366f11a}.ontology-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent-primary);cursor:pointer}.ontology-item label{font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.context-section{border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.context-section .panel-header{padding:var(--space-2) var(--space-4);background:var(--color-bg-elevated);cursor:pointer;-webkit-user-select:none;user-select:none}.context-section .panel-header h3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-transform:none;color:var(--color-accent-primary)}.context-section .panel-header h3 svg{color:var(--color-accent-secondary)}.context-editor-wrapper{transition:max-height var(--transition-normal),opacity var(--transition-normal);overflow:hidden}.context-editor-wrapper.collapsed{max-height:0;opacity:0}.context-section .editor-container.small{height:180px;min-height:100px;max-height:400px;flex:0 0 auto;overflow:hidden;resize:vertical}.primary-btn.small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.chevron-icon{transition:transform var(--transition-fast)}.chevron-icon.rotated{transform:rotate(180deg)}.custom-ontology-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.custom-ontology-section h4{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.custom-ontology-form{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap}.input-group{display:flex;flex-direction:column;gap:var(--space-1)}.input-group:first-child{flex:0 0 80px}.input-group:nth-child(2){flex:1;min-width:200px}.custom-ontology-form button{flex-shrink:0;margin-bottom:2px}.input-group label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.input-group input{padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-mono);transition:all var(--transition-fast)}.input-group input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #6366f133}.input-group input::placeholder{color:var(--color-text-muted)}.custom-ontologies-list{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);max-height:150px;overflow-y:auto;padding-right:var(--space-2)}.custom-ontology-tag{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background:#6366f126;border:1px solid var(--color-accent-primary);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-accent-tertiary)}.ontology-wrapper{transition:max-height var(--transition-normal),opacity var(--transition-normal);overflow:hidden;max-height:1000px;opacity:1}.ontology-wrapper.collapsed{max-height:0;opacity:0}.ontology-content-padding{padding-top:var(--space-3)}.output-format-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.output-format-header h4{margin:0;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.custom-ontology-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.custom-ontology-header h4{margin:0;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.custom-ontology-tag .prefix{font-weight:var(--font-weight-semibold);color:var(--color-accent-secondary)}.custom-ontology-tag button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.custom-ontology-tag button:hover{color:var(--color-error);background:#ef444433}.frame-section{border-top:1px solid var(--color-border)}.frame-section .panel-header{padding:var(--space-2) var(--space-4)}.panel-output{display:flex;flex-direction:column}.tabs-wrapper{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);overflow-x:auto}.tabs{display:flex;gap:var(--space-1)}.tab{padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tab.active{background:var(--gradient-primary);color:#fff}.tabs-actions{display:flex;gap:var(--space-2);flex-shrink:0}.output-container{flex:1 1 auto;height:100%;overflow:auto;position:relative;min-height:200px}.output-view{position:absolute;inset:0;overflow:auto;padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;display:none;background:var(--color-bg-primary)}.output-view.active{display:block}.output-view pre{margin:0;white-space:pre-wrap;word-break:break-word}.output-view .json-key{color:#f472b6}.output-view .json-string{color:#a5f3fc}.output-view .json-number{color:#fbbf24}.output-view .json-boolean{color:#22c55e}.output-view .json-null{color:var(--color-text-muted)}.status-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary)}.status-icon{font-size:10px}.status-ready{color:var(--color-success)}.status-processing{color:var(--color-warning);animation:pulse 1s infinite}.status-error{color:var(--color-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.table-container{overflow:auto;max-height:100%}.triples-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.triples-table th{position:sticky;top:0;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.5px}.triples-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);word-break:break-all;font-family:var(--font-mono);font-size:var(--text-xs)}.triples-table tr:hover td{background:var(--color-bg-tertiary)}.triples-table .uri{color:var(--color-accent-secondary)}.triples-table .literal{color:#a5f3fc}#output-graph{padding:0}.graph-container{width:100%;height:100%;background:var(--color-bg-primary)}.graph-container svg{width:100%;height:100%}.graph-node{cursor:pointer}.graph-node circle{fill:var(--color-accent-primary);stroke:var(--color-accent-secondary);stroke-width:2;transition:all var(--transition-fast)}.graph-node:hover circle{fill:var(--color-accent-secondary);r:12}.graph-node text{fill:var(--color-text-primary);font-size:10px;font-family:var(--font-sans);pointer-events:none}.graph-link{stroke:var(--color-border);stroke-opacity:.6;stroke-width:1.5}.graph-link-label{fill:var(--color-text-muted);font-size:9px;font-family:var(--font-sans)}.panel-shacl{display:flex;flex-direction:column}.shacl-actions{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.validation-report{border-top:1px solid var(--color-border);background:var(--color-bg-tertiary);max-height:350px;overflow:hidden;display:flex;flex-direction:column}.report-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.report-header h3{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.report-actions{display:flex;align-items:center;gap:var(--space-2)}.report-content{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4)}.report-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-weight:var(--font-weight-medium)}.report-status.conforms{background:var(--color-success-bg);color:var(--color-success)}.report-status.violations{background:var(--color-error-bg);color:var(--color-error)}.violations-list{display:flex;flex-direction:column;gap:var(--space-2)}.violation-item{padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:3px solid var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.violation-item:hover{background:var(--color-bg-tertiary);border-left-color:var(--color-error)}.violation-item:last-child{margin-bottom:0}.violation-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.violation-number{font-weight:var(--font-weight-semibold);color:var(--color-error);font-size:var(--text-xs)}.violation-line{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-warning);background:var(--color-warning-bg);padding:2px 6px;border-radius:var(--radius-sm)}.violation-details{display:flex;flex-direction:column;gap:var(--space-2)}.violation-path,.violation-focus,.violation-message,.violation-value{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs)}.violation-label{flex-shrink:0;font-weight:var(--font-weight-medium);color:var(--color-text-muted);min-width:80px}.violation-path code,.violation-focus code,.violation-value code{font-family:var(--font-mono);color:var(--color-accent-secondary);background:var(--color-bg-primary);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all}.violation-message span{color:var(--color-text-primary)}.violation-severity{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);margin-left:auto}.violation-severity.violation{background:var(--color-error-bg);color:var(--color-error)}.violation-severity.warning{background:var(--color-warning-bg);color:var(--color-warning)}.violation-severity.info{background:var(--color-info-bg);color:var(--color-info)}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:90%;max-width:500px;max-height:80vh;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.modal-content.large{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.modal-close{color:var(--color-text-secondary)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6)}.example-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);cursor:pointer;transition:all var(--transition-fast)}.example-item:hover{border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.example-item:last-child{margin-bottom:0}.example-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gradient-surface);border-radius:var(--radius-md);color:var(--color-accent-primary)}.example-info h4{font-size:var(--text-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.example-info p{font-size:var(--text-sm);color:var(--color-text-secondary)}.help-section{margin-bottom:var(--space-6)}.help-section:last-child{margin-bottom:0}.help-section h3{font-size:var(--text-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-accent-primary)}.help-section p{margin-bottom:var(--space-3);color:var(--color-text-secondary)}.help-section ul{list-style:none;padding-left:var(--space-4)}.help-section li{position:relative;margin-bottom:var(--space-2);color:var(--color-text-secondary)}.help-section li:before{content:"•";position:absolute;left:calc(-1 * var(--space-4));color:var(--color-accent-primary)}.keyboard-shortcut{display:inline-flex;align-items:center;gap:var(--space-1)}.keyboard-shortcut kbd{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:2000;display:flex;flex-direction:column;gap:var(--space-3)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slideIn var(--transition-normal) ease;min-width:280px;max-width:400px}.toast.success{border-left:3px solid var(--color-success)}.toast.error{border-left:3px solid var(--color-error)}.toast.warning{border-left:3px solid var(--color-warning)}.toast.info{border-left:3px solid var(--color-info)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast.success .toast-icon{color:var(--color-success)}.toast.error .toast-icon{color:var(--color-error)}.toast.warning .toast-icon{color:var(--color-warning)}.toast.info .toast-icon{color:var(--color-info)}.toast-message{flex:1;font-size:var(--text-sm);color:var(--color-text-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.hidden{display:none!important}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-8);color:var(--color-text-muted);text-align:center}.empty-state svg{width:48px;height:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state p{font-size:var(--text-sm)}@media(max-width:1200px){.app-main{grid-template-columns:1fr 1fr}.panel-shacl{grid-column:1 / -1;max-height:300px}}@media(max-width:768px){html,body{overflow:auto}#app{height:auto;min-height:100vh;overflow:visible}.app-header{height:auto;padding:var(--space-3) var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.header-left,.header-right{flex-wrap:wrap}.header-btn span{display:none}.app-main{display:flex;flex-direction:column;overflow:visible;padding-bottom:var(--space-8)}.panel{min-height:500px;height:auto;max-height:none!important;overflow:visible}.editor-container{height:350px;min-height:350px}.panel-shacl{max-height:none}.ontology-grid{grid-template-columns:1fr}.tabs{overflow-x:auto;padding-bottom:var(--space-2)}.custom-ontology-form{flex-direction:column;align-items:stretch}.custom-ontology-form button{margin-top:var(--space-2)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-primary)}::selection{background:#6366f14d;color:var(--color-text-primary)}.ontology-grid,.custom-ontologies-list,.validation-report{resize:vertical}
