:root{--bg-primary: #0a0a1a;--bg-secondary: #111128;--bg-panel: rgba(10, 15, 40, .85);--warning: #ff6b2b;--danger: #ff3366;--info: #4488cc;--ok: #00ff88;--accent: #ffaa22;--muted: #6644aa;--text-primary: #e0e0e8;--text-secondary:#667788;--border: rgba(68, 136, 204, .15);--glow-info: 0 0 8px rgba(68, 136, 204, .3);--glow-danger: 0 0 12px rgba(255, 51, 102, .5);--glow-warning: 0 0 8px rgba(255, 107, 43, .4);--font-display: "Orbitron", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}#canvas-container{position:fixed;inset:0;z-index:0;cursor:crosshair}#scanlines{position:fixed;inset:0;z-index:90;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}#noise-grain{position:fixed;inset:-50%;z-index:89;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:256px 256px;animation:noiseShift .5s steps(4) infinite}@keyframes noiseShift{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,2px)}to{transform:translate(0)}}#app-header{position:fixed;top:0;left:0;right:0;height:36px;z-index:50;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-family:var(--font-display);font-size:10px;letter-spacing:3px;text-transform:uppercase}.app-logo{color:var(--danger);font-weight:700;font-size:14px;letter-spacing:6px;text-shadow:0 0 10px rgba(255,51,102,.6),0 0 20px rgba(255,51,102,.3)}.app-divider{color:#4488cc4d;font-weight:300}.app-facility{color:var(--text-secondary);font-size:9px;letter-spacing:4px}#app-header #orbit-toggle,#app-header #scan-toggle,#app-header #audio-toggle{width:28px;height:28px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-family:inherit}#app-header #orbit-toggle{margin-left:auto}#app-header #orbit-toggle:hover,#app-header #scan-toggle:hover,#app-header #audio-toggle:hover{border-color:var(--info);color:var(--info)}#orbit-toggle.active,#scan-toggle.active{color:var(--info);border-color:#48c6}#orbit-toggle:not(.active),#scan-toggle:not(.active){color:#333}#audio-toggle.muted{color:#333;text-decoration:line-through}#hotkeys-panel .panel-body{padding:6px 10px}.hotkey-row{display:flex;align-items:center;justify-content:space-between;padding:3px 0;font-size:11px;color:var(--text-secondary)}.hotkey-row kbd{font-family:var(--font-mono);font-size:10px;background:#4488cc1a;border:1px solid rgba(68,136,204,.3);border-radius:3px;padding:1px 6px;color:var(--info);min-width:24px;text-align:center}.hotkey-row span{font-family:var(--font-display);font-size:8px;letter-spacing:1.5px;text-transform:uppercase}#app-grid{position:fixed;inset:36px 0 0;z-index:10;display:grid;grid-template-columns:260px 1fr 360px;pointer-events:none}#left-column{display:flex;flex-direction:column;gap:8px;padding:12px;pointer-events:auto;overflow-y:auto}#right-column{display:flex;flex-direction:column;gap:8px;padding:12px;pointer-events:auto;grid-column:3;overflow:hidden;max-height:100%}.ui-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;backdrop-filter:blur(8px);position:relative;overflow:hidden}.ui-panel:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%234488cc' fill-opacity='1'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-size:28px 49px}.ui-panel:hover{box-shadow:0 0 12px #4488cc14}.panel-header{padding:8px 12px;font-family:var(--font-display);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--info);border-bottom:1px solid var(--border);text-shadow:0 0 6px rgba(68,136,204,.4);position:relative;z-index:1}.panel-header.pulse{animation:headerPulse .5s ease-out}@keyframes headerPulse{0%{text-shadow:0 0 12px rgba(68,136,204,.8)}to{text-shadow:0 0 6px rgba(68,136,204,.4)}}.panel-body{padding:8px 12px;position:relative;z-index:1}.data-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid rgba(68,136,204,.05)}.data-row:last-of-type{border-bottom:none}.data-label{font-family:var(--font-display);font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.data-value{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.env-divider{height:1px;background:var(--border);margin:6px 0 4px}.bar-group{margin-top:6px;position:relative;z-index:1}.bar-label{font-family:var(--font-display);font-size:10px;letter-spacing:2px;color:var(--text-secondary);display:block;margin-bottom:3px}#energy-bar-container{width:100%;height:12px;background:#0006;border-radius:2px;overflow:hidden;border:1px solid var(--border);position:relative}#energy-bar-fill{height:100%;width:50%;background:var(--ok);transition:width .5s,background .5s;border-radius:1px}#energy-value{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:600;color:#ffffffb3;line-height:1;text-shadow:0 0 3px rgba(0,0,0,.6)}#energy-bar-container.dying{border-color:var(--danger);animation:dyingPulse 1s infinite}@keyframes dyingPulse{0%,to{box-shadow:0 0 4px #ff33664d}50%{box-shadow:0 0 12px #ff3366b3}}#xp-bar-container{width:100%;height:4px;background:#0006;border-radius:2px;overflow:hidden;border:1px solid var(--border);margin-top:4px}#xp-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--info),var(--muted));transition:width .5s;border-radius:1px}#level-buttons{display:flex;flex-wrap:wrap;gap:4px}.level-btn{flex:1 0 auto;min-width:28px;padding:5px 4px;font-family:var(--font-display);font-size:9px;letter-spacing:.5px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:all .2s}.level-btn:hover{border-color:#48c6;color:var(--text-primary)}.level-btn.active{border-color:var(--warning);color:var(--warning);background:#ff6b2b14;box-shadow:var(--glow-warning)}#new-creature-btn,#gallery-btn,#knowledge-viz-btn,#card-btn{flex:1;padding:5px 6px;font-family:var(--font-display);font-size:8px;letter-spacing:1px;text-transform:uppercase;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:all .2s}#new-creature-btn{color:var(--danger)}#new-creature-btn:hover{border-color:var(--danger);box-shadow:var(--glow-danger)}#gallery-btn{color:var(--info)}#gallery-btn:hover{border-color:var(--info);box-shadow:var(--glow-info)}#knowledge-viz-btn{color:var(--muted)}#knowledge-viz-btn:hover{border-color:var(--muted);box-shadow:0 0 8px #64a6}#knowledge-viz-btn.active{border-color:var(--muted);color:var(--muted);background:#6644aa1a}#card-btn{color:var(--accent)}#card-btn:hover{border-color:var(--accent);box-shadow:var(--glow-warning)}#selectors-row{display:flex;gap:4px;margin-top:8px}#selectors-row select{flex:1;padding:5px 6px;font-family:var(--font-mono);font-size:9px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;min-width:0;outline:none}#selectors-row select:focus{border-color:var(--info)}#thought-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}#thought-stream{padding:8px 12px;overflow-y:auto;flex:1;min-height:0;position:relative;z-index:1}.thought-line{margin-bottom:6px;font-size:12px;line-height:1.5;opacity:0;animation:fadeIn .3s forwards;padding-left:8px;border-left:2px solid transparent}@keyframes fadeIn{to{opacity:1}}.thought-token{transition:color .2s}.thought-default{color:#aaa;border-left-color:#a0a0a033}.thought-joy{color:var(--ok);border-left-color:var(--ok)}.thought-discomfort{color:var(--warning);border-left-color:var(--warning)}.thought-distress{color:var(--danger);border-left-color:var(--danger)}.thought-curiosity{color:var(--info);border-left-color:var(--info)}.thought-breakthrough{color:var(--accent);border-left-color:var(--accent);text-shadow:0 0 6px rgba(255,170,34,.3)}.thought-noise{color:#444;border-left-color:#4443}.thought-user{color:#6df;font-style:italic;border-left-color:#6df;border-left-width:3px}.thought-event{color:#679;font-size:11px;letter-spacing:.5px;border-left-color:#456}.thought-event.event-observer{color:var(--accent);border-left-color:var(--accent);font-weight:600}.thought-event.event-creature{color:#4ca;border-left-color:#4ca;text-shadow:0 0 6px rgba(68,204,170,.2)}.thought-event.event-system{color:#568;border-left-color:#345;font-size:10px;letter-spacing:1px;text-transform:uppercase}.thought-action{color:#555;font-size:11px;letter-spacing:1px;border-left-color:#5553}.thought-thinking{color:#456;animation:thinking 1.5s infinite;border-left-color:#4488cc4d;display:flex;align-items:center;gap:8px}.thought-thinking .llm-badge{font-size:8px;letter-spacing:1px;color:#357;font-family:var(--font-display);text-transform:uppercase}@keyframes thinking{0%,to{opacity:.3}50%{opacity:.8}}.action-tag{color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:1px}.thought-text{color:#ccc}.thought-raw{color:#3a4a5a;font-size:9px;font-family:Courier New,monospace;line-height:1.3;word-break:break-all;border-left:1px dashed #2a3a4a;padding:2px 6px;margin:1px 0;background:#0a0f1966;max-height:3.9em;overflow:hidden}.thought-marker{text-align:center;color:#4488cc26;font-size:10px;margin:2px 0;opacity:.5;letter-spacing:4px;border-left:none}.branch-badge{display:inline-block;padding:3px 10px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-radius:2px;margin:4px 0;animation:fadeIn .5s forwards}.branch-badge[data-branch=apex]{background:#ff336626;border:1px solid rgba(255,51,102,.4);color:var(--danger)}.branch-badge[data-branch=oracle]{background:#4488cc26;border:1px solid rgba(68,136,204,.4);color:var(--info)}.branch-badge[data-branch=voyager]{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:var(--ok)}.branch-badge[data-branch=architect]{background:#6644aa26;border:1px solid rgba(102,68,170,.4);color:var(--muted)}.branch-badge[data-branch=scholar]{background:#ffaa221f;border:1px solid rgba(255,170,34,.3);color:var(--accent)}.trait-container{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.trait-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:10px;border-radius:3px;background:#ffaa221a;border:1px solid rgba(255,170,34,.3);color:var(--accent);letter-spacing:.5px;animation:fadeIn .5s forwards}.trait-badge .trait-icon{font-size:11px}.thought-signal{border-left-color:#fc26}.signal-text{font-size:14px;font-weight:700;letter-spacing:2px;display:block}.signal-translation{font-size:10px;color:#666;margin-top:2px;font-style:italic}#observer-panel{flex-shrink:0}#input-row{display:flex;gap:6px}#user-input{flex:1;padding:8px 12px;font-family:var(--font-mono);font-size:11px;background:#0006;color:var(--text-primary);border:1px solid var(--border);border-radius:3px;outline:none;transition:border-color .2s,box-shadow .2s}#user-input:focus{border-color:var(--info);box-shadow:var(--glow-info)}#user-input::placeholder{color:#456;font-style:italic}#send-btn{padding:8px 14px;font-family:var(--font-display);font-size:10px;letter-spacing:2px;background:#4488cc14;color:var(--info);border:1px solid rgba(68,136,204,.3);border-radius:3px;cursor:pointer;transition:all .2s}#send-btn:hover{background:var(--info);color:var(--bg-primary);border-color:var(--info)}#loading-overlay{position:fixed;inset:0;z-index:100;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:opacity .5s}#loading-overlay.hidden{opacity:0;pointer-events:none}#loading-inner{text-align:center;width:400px;padding:40px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);position:relative}#loading-inner:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%234488cc' fill-opacity='1'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-size:28px 49px;border-radius:4px}#loading-title{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:12px;color:var(--info);margin-bottom:8px;text-shadow:0 0 10px rgba(68,136,204,.5),0 0 20px rgba(68,136,204,.2)}#loading-subtitle{font-family:var(--font-display);font-size:9px;color:var(--text-secondary);margin-bottom:24px;letter-spacing:3px}#loading-spinner{width:40px;height:40px;margin:0 auto 20px;border:2px solid var(--border);border-top-color:var(--info);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#loading-stage{font-family:var(--font-display);font-size:11px;color:var(--warning);margin-bottom:8px;letter-spacing:2px;min-height:20px}#loading-detail{font-size:10px;color:var(--text-secondary);margin-bottom:16px;min-height:16px}#progress-bar-container{width:100%;height:4px;background:#0006;border-radius:2px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border)}#progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--info),var(--ok));transition:width .3s}#progress-bar.indeterminate{width:30%;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}#progress-text{font-size:11px;color:var(--text-secondary)}#loading-size{font-size:10px;color:#334;margin-top:8px}#stats-overlay{display:none}#floating-text-container{position:fixed;inset:0;z-index:15;pointer-events:none}.floating-text{position:absolute;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:1px;pointer-events:none;animation:floatUp 1.2s ease-out forwards}.floating-text.energy{color:var(--ok);text-shadow:0 0 6px rgba(0,255,136,.4)}.floating-text.xp{color:var(--muted);text-shadow:0 0 6px rgba(102,68,170,.4)}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}#death-overlay{position:fixed;inset:0;z-index:50;background:#0a0514f0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:20px;animation:deathFadeIn 2s ease-out forwards}#death-overlay.visible{display:flex}@keyframes deathFadeIn{0%{opacity:0}to{opacity:1}}.death-title{font-family:var(--font-display);font-size:16px;color:var(--danger);letter-spacing:8px;text-transform:uppercase;opacity:0;animation:deathTextIn 1.5s 1s ease-out forwards;text-shadow:var(--glow-danger)}.death-cause{font-family:var(--font-display);font-size:10px;color:#ff336680;letter-spacing:3px}.death-thought{max-width:400px;text-align:center;font-size:13px;color:#879;line-height:1.8;font-style:italic;opacity:0;animation:deathTextIn 2s 2s ease-out forwards}.death-memories{max-width:400px;text-align:center;opacity:0;animation:deathTextIn 1.5s 1.5s ease-out forwards}.death-memory{font-size:11px;color:#657;line-height:1.6;font-style:italic;margin-bottom:4px}.death-stats{font-family:var(--font-display);font-size:9px;color:#f366;letter-spacing:2px;text-align:center;line-height:1.8}.death-buttons{display:flex;gap:12px;margin-top:16px;opacity:0;animation:deathTextIn 1s 3s ease-out forwards}.death-btn{padding:8px 20px;font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;background:#ff33660d;color:var(--danger);border:1px solid rgba(255,51,102,.2);border-radius:3px;cursor:pointer;transition:all .3s}.death-btn:hover{background:var(--danger);color:var(--bg-primary);border-color:var(--danger);box-shadow:var(--glow-danger)}.death-btn.primary{color:var(--info);border-color:#4488cc4d;background:#4488cc0d}.death-btn.primary:hover{background:var(--info);color:var(--bg-primary);border-color:var(--info);box-shadow:var(--glow-info)}@keyframes deathTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#death-vignette{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity 1s;background:radial-gradient(ellipse at center,transparent 40%,rgba(50,0,30,.6) 100%)}#death-vignette.visible{opacity:1}#gallery-overlay{position:fixed;inset:0;z-index:100;background:#05050ff5;display:none;flex-direction:column;backdrop-filter:blur(12px);overflow:hidden;padding-top:36px}#gallery-overlay.visible{display:flex}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.gallery-title{font-family:var(--font-display);font-size:16px;letter-spacing:6px;color:var(--info);text-transform:uppercase;text-shadow:0 0 6px rgba(68,136,204,.3)}.gallery-close{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-display);font-size:10px;padding:5px 12px;border-radius:3px;cursor:pointer;letter-spacing:1px}.gallery-close:hover{border-color:var(--danger);color:var(--danger)}.gallery-sort{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid rgba(68,136,204,.08)}.gallery-sort button{padding:4px 10px;font-family:var(--font-display);font-size:11px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;letter-spacing:1px}.gallery-sort button.active{border-color:var(--info);color:var(--info)}.gallery-body{flex:1;overflow-y:auto;padding:16px 24px}.gallery-empty{text-align:center;color:#334;font-size:15px;margin-top:80px;letter-spacing:2px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.gallery-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:14px;cursor:pointer;transition:all .2s}.gallery-card:hover{border-color:#4488cc4d;transform:translateY(-2px);box-shadow:var(--glow-info)}.gallery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gallery-card-swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--border)}.gallery-card-thumbnail{width:40px;height:40px;border-radius:4px;object-fit:cover;border:1px solid var(--border)}.gallery-detail-thumbnail{width:200px;height:200px;border-radius:8px;object-fit:cover;margin:0 auto;display:block;border:1px solid var(--border)}.gallery-card-gen{font-family:var(--font-display);font-size:9px;color:var(--info);letter-spacing:1px}.gallery-card-name{font-size:12px;color:var(--text-primary);margin-bottom:4px}.gallery-card-meta{font-size:9px;color:var(--text-secondary);letter-spacing:1px;line-height:1.6}.gallery-card-death{font-size:9px;color:#ff336680;margin-top:4px;letter-spacing:1px}.gallery-detail{position:absolute;top:0;right:0;width:380px;height:100%;background:var(--bg-primary);border-left:1px solid var(--border);padding:24px;display:none;flex-direction:column;gap:16px;overflow-y:auto}.gallery-detail.visible{display:flex}.gallery-detail-title{font-family:var(--font-display);font-size:14px;color:var(--text-primary);letter-spacing:2px}.gallery-detail-section{border-top:1px solid var(--border);padding-top:12px}.gallery-detail-section h4{font-family:var(--font-display);font-size:9px;color:var(--info);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-weight:400}.gallery-detail-thought{font-size:12px;color:#879;font-style:italic;line-height:1.6}.gallery-detail-memories{font-size:11px;color:var(--text-secondary);line-height:1.6}.gallery-detail-dna{font-size:10px;color:#556;line-height:1.5}.gallery-summon-btn{padding:10px 16px;font-family:var(--font-display);font-size:10px;letter-spacing:2px;background:#4488cc0d;color:var(--info);border:1px solid rgba(68,136,204,.2);border-radius:3px;cursor:pointer;transition:all .3s;text-align:center}.gallery-summon-btn:hover{background:var(--info);color:var(--bg-primary);box-shadow:var(--glow-info)}#test-panel{position:fixed;top:44px;left:16px;width:260px;z-index:20;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;font-size:11px;backdrop-filter:blur(8px);max-height:calc(100vh - 60px);overflow-y:auto}.tp-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-family:var(--font-display);font-size:10px;letter-spacing:3px;color:var(--warning);border-bottom:1px solid var(--border)}.tp-header button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:12px}#tp-body{padding:8px 12px}.tp-section{margin-bottom:10px}.tp-section label{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:10px;margin-bottom:4px;letter-spacing:1px}.tp-section label span{color:var(--text-primary)}.tp-section input[type=range]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-secondary);border-radius:2px;outline:none}.tp-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--warning);border-radius:50%;cursor:pointer}.tp-buttons{display:flex;gap:6px}.tp-buttons button{flex:1;padding:5px 8px;font-family:var(--font-mono);font-size:10px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;letter-spacing:1px}.tp-buttons button:hover{border-color:var(--warning);color:var(--warning)}.tp-status{color:var(--text-secondary);font-size:10px;letter-spacing:1px;line-height:1.6}.tp-dna-title{font-family:var(--font-display);color:var(--text-secondary);font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px}.tp-dna-row{display:flex;gap:6px;font-size:9px;line-height:1.6;color:#556}.tp-dna-key{width:100px;color:var(--text-secondary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tp-dna-bar{color:var(--warning);letter-spacing:-1px;font-size:8px}.tp-dna-val{color:var(--text-primary);width:30px;text-align:right}.tp-actions{max-height:120px;overflow-y:auto}.tp-action-line{font-size:9px;color:#556;line-height:1.5;border-left:2px solid var(--border);padding-left:6px;margin-bottom:2px}.ui-panel.warning{animation:borderPulse 2s ease-in-out infinite}@keyframes borderPulse{0%,to{border-color:var(--border)}50%{border-color:#ff6b2b66;box-shadow:var(--glow-warning)}}.ui-panel.critical{animation:borderPulseCritical 1s ease-in-out infinite}@keyframes borderPulseCritical{0%,to{border-color:var(--border)}50%{border-color:#ff336680;box-shadow:var(--glow-danger)}}#thought-stream::-webkit-scrollbar,.gallery-body::-webkit-scrollbar,#test-panel::-webkit-scrollbar,#left-column::-webkit-scrollbar{width:3px}#thought-stream::-webkit-scrollbar-track,.gallery-body::-webkit-scrollbar-track,#test-panel::-webkit-scrollbar-track,#left-column::-webkit-scrollbar-track{background:transparent}#thought-stream::-webkit-scrollbar-thumb,.gallery-body::-webkit-scrollbar-thumb,#test-panel::-webkit-scrollbar-thumb,#left-column::-webkit-scrollbar-thumb{background:#4488cc4d;border-radius:2px}@media(max-width:900px){#app-grid{grid-template-columns:1fr}#left-column{display:none}#right-column{grid-column:1}}@media(max-width:600px){#app-header{padding:0 8px;gap:6px}.app-facility{display:none}.app-logo{font-size:12px}#right-column{padding:8px}}#callout-container{position:fixed;inset:0;z-index:12;pointer-events:none;overflow:hidden}.detection-box{--det-color: var(--info);border:1.5px solid var(--det-color);pointer-events:auto;cursor:pointer;transition:border-color .3s,box-shadow .3s,opacity .3s;opacity:.7;animation:detBoxAppear .4s ease-out forwards}.detection-box:hover{opacity:1;box-shadow:0 0 12px color-mix(in srgb,var(--det-color) 40%,transparent)}@keyframes detBoxAppear{0%{opacity:0;transform:scale(1.3);border-color:transparent}50%{opacity:.5;border-color:var(--det-color)}to{opacity:.7;transform:scale(1)}}.det-corner{position:absolute;width:10px;height:10px;border-color:var(--det-color);border-style:solid;border-width:0}.det-tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.det-tr{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}.det-bl{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}.det-br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}.det-label{position:absolute;top:-18px;left:0;font-family:var(--font-display);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--det-color);background:#0a0f28d9;padding:1px 6px;white-space:nowrap;line-height:14px}.det-confidence{position:absolute;top:-18px;right:0;font-family:var(--font-mono);font-size:9px;color:var(--det-color);background:#0a0f28d9;padding:1px 4px;line-height:14px;opacity:.7}.detection-box.scanning{opacity:1;border-width:2px;box-shadow:0 0 8px color-mix(in srgb,var(--det-color) 50%,transparent),inset 0 0 12px color-mix(in srgb,var(--det-color) 15%,transparent);animation:scanPulse 1.5s ease-in-out infinite}.detection-box.scanning .det-corner{border-width:0;animation:cornerGlow 1.5s ease-in-out infinite}.detection-box.scanning .det-tl{border-top-width:3px;border-left-width:3px}.detection-box.scanning .det-tr{border-top-width:3px;border-right-width:3px}.detection-box.scanning .det-bl{border-bottom-width:3px;border-left-width:3px}.detection-box.scanning .det-br{border-bottom-width:3px;border-right-width:3px}.detection-box.scan-targeting{opacity:1;animation:scanTarget 1.5s ease-out forwards}@keyframes scanTarget{0%{border-color:transparent;transform:scale(1.6);opacity:.3}30%{border-color:var(--det-color);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes scanPulse{0%,to{box-shadow:0 0 8px color-mix(in srgb,var(--det-color) 40%,transparent),inset 0 0 8px color-mix(in srgb,var(--det-color) 10%,transparent)}50%{box-shadow:0 0 16px color-mix(in srgb,var(--det-color) 60%,transparent),inset 0 0 20px color-mix(in srgb,var(--det-color) 20%,transparent)}}@keyframes cornerGlow{0%,to{border-color:var(--det-color)}50%{border-color:color-mix(in srgb,var(--det-color) 80%,white)}}#card-overlay{position:fixed;inset:0;z-index:45;background:#05050ff5;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;backdrop-filter:blur(12px)}#card-overlay.visible{display:flex}#card-overlay img{max-width:400px;max-height:600px;border:1px solid var(--border);box-shadow:0 0 24px #48c3}.card-actions{display:flex;gap:12px}.card-actions button{font-family:var(--font-display);font-size:10px;letter-spacing:2px;padding:8px 20px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;transition:border-color .2s,color .2s}.card-actions button:hover{border-color:var(--accent);color:var(--accent)}.card-close-btn{position:absolute;top:20px;right:24px;background:none;border:1px solid var(--border);color:var(--text-secondary);font-size:16px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center}.card-close-btn:hover{border-color:var(--danger);color:var(--danger)}#creature-profile-overlay{position:fixed;inset:0;z-index:9999;background:#05050feb;backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;overflow-y:auto}#creature-profile-overlay.visible{display:flex}.profile-content{position:relative;width:min(720px,90vw);max-height:85vh;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:24px}.profile-close{position:absolute;top:12px;right:12px;background:none;border:1px solid var(--text-secondary);color:var(--text-secondary);font-size:18px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.profile-close:hover{border-color:var(--danger);color:var(--danger)}.profile-section{background:#0a0f2880;border:1px solid var(--border);border-radius:3px;padding:12px}.profile-section h3{font-family:var(--font-mono);font-size:11px;color:var(--info);letter-spacing:2px;text-transform:uppercase;margin:0 0 8px;border-bottom:1px solid var(--border);padding-bottom:4px}.profile-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}.profile-row .label{color:var(--text-secondary);font-size:10px;letter-spacing:1px;text-transform:uppercase}.profile-row .value{color:var(--text-primary);font-family:var(--font-mono)}.profile-empty{color:var(--text-secondary);font-size:11px;font-style:italic;padding:8px 0}.profile-trait-row{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px}.profile-trait-row .trait-name{color:var(--accent);font-weight:600}.profile-trait-row .trait-desc{color:var(--text-secondary);font-size:10px;margin-left:auto}.profile-trait-row .trait-progress{color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);margin-left:auto}.profile-memory-row{padding:3px 0;font-size:11px;border-bottom:1px solid rgba(68,136,204,.05)}.profile-memory-row .importance{font-size:9px;color:var(--accent);font-family:var(--font-mono);margin-right:6px}.profile-memory-row .memory-content{color:var(--text-primary)}.profile-dna-row{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:11px}.profile-dna-row .dna-name{color:var(--text-secondary);width:140px;flex-shrink:0;font-size:10px}.profile-dna-row .dna-bar{flex:1;height:4px;background:#4488cc1a;border-radius:2px;overflow:hidden}.profile-dna-row .dna-fill{height:100%;background:var(--info);border-radius:2px;transition:width .3s}.profile-dna-row .dna-value{color:var(--text-primary);font-family:var(--font-mono);width:36px;text-align:right;font-size:10px}.specimen-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.creature-name-display{font-family:var(--font-mono);font-size:13px;color:var(--accent);letter-spacing:1px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.level-badge{font-family:var(--font-display);font-size:11px;letter-spacing:2px;color:var(--info);background:#4488cc1a;border:1px solid rgba(68,136,204,.3);border-radius:3px;padding:2px 6px;white-space:nowrap}.goal-indicator{display:flex;align-items:center;gap:6px;padding:4px 0 6px;min-height:24px}.goal-icon{font-size:12px;width:14px;text-align:center;transition:color .3s}.goal-label{font-family:var(--font-display);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);transition:color .3s;flex:1}.goal-decay-bar{width:40px;height:3px;background:#0000004d;border-radius:2px;overflow:hidden}#goal-decay-fill{height:100%;width:0%;border-radius:2px;transition:width .3s,background .3s;background:var(--info)}.goal-indicator.active .goal-icon,.goal-indicator.active .goal-label{text-shadow:0 0 6px currentColor}@keyframes goalGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.goal-indicator.active .goal-icon{animation:goalGlow 2s ease-in-out infinite}.xp-progress{font-size:9px;color:var(--text-secondary);font-family:var(--font-mono)}.food-picker{display:flex;gap:4px;padding:4px 0}.food-btn{display:flex;align-items:center;gap:3px;padding:3px 6px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-secondary)}.food-btn:hover{border-color:#ffffff4d;background:#ffffff0f}.food-btn.active{border-color:var(--accent);box-shadow:0 0 8px #ffaa224d;color:var(--text-primary)}.food-btn.empty{opacity:.35;pointer-events:none}.food-btn-icon{display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor}.food-btn-count{min-width:10px;text-align:center}.food-picker.hidden{display:none}.env-strip{display:flex;gap:2px;padding:4px 0 0;margin-top:4px;border-top:1px solid var(--border)}.env-item{flex:1;text-align:center;padding:3px 2px;background:#0003;border-radius:2px;cursor:help}.env-val{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-primary);transition:color .3s}.env-item.cold .env-val{color:var(--info)}.env-item.hot .env-val{color:var(--warning)}.env-item.toxic .env-val{color:var(--ok)}.env-item.night .env-val{color:var(--muted)}#creature-actions{display:flex;gap:4px;flex-wrap:wrap}#creature-actions .action-primary{background:#ffaa2226;border-color:#fa26;color:var(--accent)}#creature-actions .action-primary:hover{background:#ffaa2240;box-shadow:0 0 8px #ffaa224d}#world-toggle-btn{width:100%;margin-top:4px;padding:5px 8px;font-family:var(--font-display);font-size:9px;letter-spacing:1.5px;background:#4488cc1a;border:1px solid rgba(68,136,204,.3);color:var(--info);cursor:pointer;transition:all .2s}#world-toggle-btn:hover{background:#48c3;box-shadow:0 0 8px #4488cc4d}#world-toggle-btn.active{background:#4488cc40;border-color:var(--info);box-shadow:0 0 10px #48c3}#world-toggle-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}#more-actions-dropdown{display:none;gap:4px;margin-top:4px}#more-actions-dropdown.visible{display:flex;flex-wrap:wrap}#replay-tutorial-btn{font-size:8px;opacity:.7}#replay-tutorial-btn:hover{opacity:1}.hotkey-help-btn{width:24px;height:24px;border-radius:50%;background:var(--bg-panel);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:4px}.hotkey-help-btn:hover{border-color:var(--info);color:var(--info)}.hotkey-tooltip{position:absolute;bottom:40px;left:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:8px 12px;backdrop-filter:blur(12px);z-index:20;min-width:190px;max-height:70vh;overflow-y:auto}.hotkey-section-label{font-family:var(--font-display);font-size:8px;letter-spacing:2px;color:var(--accent);margin-top:6px;margin-bottom:2px;text-transform:uppercase}.hotkey-section-label:first-child{margin-top:0}#creature-profile-overlay.visible{display:flex;animation:profileSlideIn .25s ease-out}@keyframes profileSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-visual-header{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.profile-dna-swatch{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);flex-shrink:0}.profile-name-block h2{font-family:var(--font-mono);font-size:20px;color:var(--accent);margin:0;letter-spacing:2px}.profile-name-block .profile-subtitle{font-size:12px;color:var(--text-secondary);letter-spacing:1px;margin-top:2px}.profile-goal-mirror{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:10px;color:var(--text-secondary)}.profile-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px}.profile-tab{padding:8px 16px;font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);background:none;border:none;cursor:pointer;position:relative;transition:color .2s}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--info)}.profile-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--info);border-radius:1px 1px 0 0}.profile-tab-content{display:none}.profile-tab-content.active{display:block}.dna-domain{margin-bottom:12px}.dna-domain-header{display:flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer;user-select:none}.dna-domain-header:before{content:"u2B22";font-size:8px;opacity:.6}.dna-domain-header h4{font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;margin:0;flex:1}.dna-domain-header .domain-toggle{font-size:8px;color:var(--text-secondary);transition:transform .2s}.dna-domain.collapsed .domain-toggle{transform:rotate(-90deg)}.dna-domain.collapsed .dna-domain-genes{display:none}.dna-domain[data-domain=Behavioral]{--domain-color: var(--info)}.dna-domain[data-domain=Morphology]{--domain-color: var(--ok)}.dna-domain[data-domain=Appearance]{--domain-color: var(--accent)}.dna-domain[data-domain=Telos]{--domain-color: var(--muted)}.dna-domain[data-domain] .dna-domain-header,.dna-domain[data-domain] .dna-domain-header:before{color:var(--domain-color)}.dna-domain[data-domain] .dna-fill{background:var(--domain-color)}.profile-trait-progress-bar{width:60px;height:3px;background:#0000004d;border-radius:2px;overflow:hidden;margin-left:auto}.profile-trait-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.onboarding-callout{position:fixed;z-index:100;background:var(--bg-panel);border:1px solid var(--accent);border-radius:4px;padding:10px 14px;max-width:260px;backdrop-filter:blur(12px);box-shadow:0 0 20px #fa23;animation:calloutFadeIn .3s ease-out;cursor:pointer}.onboarding-callout .callout-title{font-family:var(--font-display);font-size:10px;letter-spacing:2px;color:var(--accent);margin-bottom:4px}.onboarding-callout .callout-text{font-size:12px;color:var(--text-primary);line-height:1.4}.onboarding-callout .callout-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.onboarding-callout .callout-progress{font-family:var(--font-mono);font-size:9px;color:var(--accent)}.onboarding-callout .callout-dismiss{font-size:9px;color:var(--text-secondary)}.onboarding-callout .callout-skip{display:block;font-size:8px;color:var(--text-secondary);margin-top:4px;text-align:right;opacity:.6}.onboarding-callout .callout-skip:hover{color:var(--accent);opacity:1}@keyframes calloutFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.app-facility.warning{color:var(--warning);animation:headerWarningPulse 2s ease-in-out infinite}.app-facility.critical{color:var(--danger);animation:headerCriticalPulse 1s ease-in-out infinite}.app-facility.nominal{color:var(--ok)}@keyframes headerWarningPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes headerCriticalPulse{0%,to{opacity:1;text-shadow:0 0 8px rgba(255,51,102,.5)}50%{opacity:.5;text-shadow:none}}.bar-label{font-size:10px}.hotkey-row span{font-size:9px}.world-ui-btn{display:block;width:100%;text-align:center;margin-top:4px;font-size:10px;padding:3px 0;border:1px solid rgba(255,136,51,.4);background:#000c;color:#f83;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:2px}.world-ui-btn:hover{background:#f833}.threat-hud{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;padding:20px 32px;background:#28050ad9;border:2px solid rgba(255,51,102,.8);color:var(--danger);text-align:center;pointer-events:auto;animation:threat-pulse 1.5s ease-in-out infinite;min-width:300px;backdrop-filter:blur(4px)}.threat-hud-close{position:absolute;top:6px;right:10px;background:none;border:none;color:var(--danger);font-size:18px;cursor:pointer;opacity:.6;line-height:1}.threat-hud-close:hover{opacity:1}@keyframes threat-pulse{0%,to{border-color:#ff3366b3;box-shadow:0 0 12px #f363}50%{border-color:#f36;box-shadow:0 0 24px #ff336680}}.threat-hud-title{font-family:var(--font-display);font-size:18px;text-transform:uppercase;margin-bottom:8px;letter-spacing:3px;color:#f36;text-shadow:0 0 8px rgba(255,51,102,.6)}.threat-hud-desc{font-size:13px;color:#eee;margin-bottom:10px}.threat-hud-timer{font-family:var(--font-display);font-size:36px;color:#f36;margin-bottom:8px;text-shadow:0 0 12px rgba(255,51,102,.5)}.threat-hud-hint{font-size:11px;color:#c99;text-transform:uppercase;letter-spacing:2px}.training-hud{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:200;padding:6px 16px;background:#ff640026;border:1px solid rgba(255,136,51,.6);color:#f83;font-size:11px;text-transform:uppercase;display:flex;align-items:center;gap:8px;animation:training-pulse 2s ease-in-out infinite}@keyframes training-pulse{0%,to{border-color:#f839}50%{border-color:#f83}}.training-hud button{background:none;border:none;color:#f83;cursor:pointer;font-size:14px}.profile-trait-row-full{display:flex;align-items:flex-start;gap:10px;padding:8px;border:1px solid transparent;border-radius:4px;margin-bottom:4px}.profile-trait-row-full.trainable{cursor:pointer;border-color:#f833}.profile-trait-row-full.trainable:hover{background:#ff883314;border-color:#f836}.profile-trait-row-full.training-active{background:#ff88331f;border-color:#f839}.trait-icon-lg{font-size:20px;min-width:28px;text-align:center}.trait-info{flex:1;min-width:0}.trait-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.trait-name-lg{font-size:11px;text-transform:uppercase;color:var(--text-primary)}.trait-acquired-badge{font-size:9px;padding:1px 6px;background:#00ff8826;color:var(--ok);border:1px solid rgba(0,255,136,.3);border-radius:2px;text-transform:uppercase}.trait-est{font-size:9px;color:var(--text-secondary)}.trait-progress-bar-full{width:100%;height:4px;background:#ffffff14;border-radius:2px;margin-bottom:4px;overflow:hidden}.trait-progress-fill-full{height:100%;background:var(--warning);border-radius:2px;transition:width .3s ease}.trait-progress-fill-full.pulsing{animation:trait-fill-pulse 1.5s ease-in-out infinite}@keyframes trait-fill-pulse{0%,to{opacity:1}50%{opacity:.5}}.trait-desc-sm{font-size:9px;color:var(--text-secondary)}
