*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background:#0a0a0a;color:#e0e0e0;font-family:SF Mono,Fira Code,Cascadia Code,JetBrains Mono,Consolas,monospace;min-height:100vh;overflow-x:hidden}canvas#matrix-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.page{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:80px 24px 60px}header{margin-bottom:64px}.logo{font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:#fff}.manifesto{margin-bottom:80px}.manifesto p{font-size:1.05rem;line-height:1.75;margin-bottom:1.6em;color:#d0d0d0}.manifesto p:first-child{font-size:1.25rem;color:#fff;font-weight:500}.manifesto .highlight{color:#fff;font-weight:500}.word{opacity:0;display:inline;transition:none}.word.visible{opacity:1}.word.glow{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.6),0 0 20px rgba(255,255,255,.2)}footer{padding-top:40px;border-top:1px solid #1a1a1a;display:flex;flex-direction:column;align-items:center;gap:20px;opacity:0;transition:opacity .6s ease}footer.visible{opacity:1}footer a{color:gray;text-decoration:none;font-size:.85rem;transition:color .2s ease}footer a:hover{color:#fff}.github-cta{margin-bottom:4px}.github-cta a{color:#606060;transition:color .2s ease}.github-cta a:hover{color:#fff}.footer-links{display:flex;gap:24px}.footer-copy{color:#404040;font-size:.8rem;text-align:center}.footer-copy a{color:#606060;text-decoration:underline;text-underline-offset:2px}.footer-copy a:hover{color:#fff}.chart-container{margin-top:10px;margin-bottom:0}.chart-container canvas{display:block;width:100%}.chart-caption{text-align:center;font-size:1.05rem;line-height:1.75;color:#d0d0d0;margin-top:12px;margin-bottom:0}.tabs{display:flex;gap:0;margin-top:16px}.tab{background:none;border:none;border-bottom:2px solid transparent;color:#606060;font-family:inherit;font-size:.85rem;padding:8px 16px;cursor:pointer;transition:color .2s ease,border-color .2s ease}.tab:hover{color:#a0a0a0}.tab.active{color:#fff;border-bottom-color:#4ecdc4}.hidden{display:none!important}#section-ontology{max-width:none;margin:0 calc(-50vw + 50%);padding:0 24px;width:100vw}.onto-intro{margin-bottom:32px;max-width:640px;margin-left:auto;margin-right:auto}.onto-intro p{font-size:1.05rem;line-height:1.75;color:#d0d0d0}.onto-intro a{color:#fff;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#404040}.onto-intro a:hover{text-decoration-color:#fff}.onto-demo-note{font-size:.85rem!important;color:#606060!important;font-style:italic}.onto-files{background:#111;border:1px solid #222;border-radius:8px;padding:20px;margin-bottom:24px;max-width:640px;margin-left:auto;margin-right:auto;transition:opacity .5s ease,max-height .5s ease;max-height:600px;overflow:hidden}.onto-files.minimized{max-height:0;opacity:0;padding:0 20px;margin-bottom:0;border-color:transparent}.onto-files-header{font-size:.8rem;color:#606060;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}#onto-file-list{list-style:none}#onto-file-list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.85rem;color:#909090;transition:color .3s ease}#onto-file-list li .file-icon{width:20px;text-align:center}#onto-file-list li .file-name{flex:1}#onto-file-list li .file-size{color:#505050;font-size:.75rem}#onto-file-list li .file-check{color:transparent;transition:color .3s ease;width:16px}#onto-file-list li.checked{color:#d0d0d0}#onto-file-list li.checked .file-check{color:#4ecdc4}.onto-spawn-btn{display:block;width:100%;margin-top:16px;padding:12px;background:#4ecdc4;color:#0a0a0a;border:none;border-radius:6px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease}.onto-spawn-btn:hover{background:#45b7aa}.onto-spawn-btn.disabled{opacity:.4;pointer-events:none}.onto-canvas-wrap{position:relative;margin-bottom:24px;opacity:0;max-height:0;overflow:hidden;transition:opacity .6s ease,max-height .6s ease}.onto-canvas-wrap.visible{opacity:1;max-height:1000px}.onto-canvas-wrap canvas{display:block;width:100%;border-radius:8px;background:#0a0a0a;cursor:grab}.onto-counter{text-align:center;font-size:.85rem;color:#d0d0d0;margin-top:10px;opacity:0;transition:opacity .3s ease}.onto-chat{background:#111;border:1px solid #222;border-radius:8px;margin-bottom:24px;max-width:640px;margin-left:auto;margin-right:auto;opacity:0;max-height:0;overflow:hidden;transition:opacity .6s ease,max-height .6s ease}.onto-chat.visible{opacity:1;max-height:500px}.onto-chat-header{font-size:.8rem;color:#606060;text-transform:uppercase;letter-spacing:.1em;padding:14px 16px 8px}.onto-chat-body{padding:8px 16px;max-height:280px;overflow-y:auto}.chat-msg{margin-bottom:12px;font-size:.85rem;line-height:1.5;animation:fadeInMsg .3s ease}.chat-user{color:#d0d0d0}.chat-agent{color:#4ecdc4}.chat-role{display:block;font-size:.7rem;color:#505050;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}@keyframes fadeInMsg{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.onto-chat-input{padding:8px 16px 14px}.onto-chat-input input{width:100%;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;padding:10px 14px;color:#606060;font-family:inherit;font-size:.85rem}.onto-reset-wrap{text-align:center;margin-bottom:40px}.onto-reset-btn{background:none;border:1px solid #2a2a2a;color:#606060;font-family:inherit;font-size:.8rem;padding:8px 20px;border-radius:6px;cursor:pointer;transition:color .2s ease,border-color .2s ease}.onto-reset-btn:hover{color:#d0d0d0;border-color:#505050}@media(max-width:480px){.page{padding:48px 20px 40px}.manifesto p{font-size:.95rem}.manifesto p:first-child{font-size:1.1rem}footer{flex-direction:column;align-items:center}}
