:root{--bg: #09090b;--bg-elevated: #111113;--bg-subtle: #18181b;--border: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .03);--text: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #52525b;--accent: #e4e4e7;--accent-glow: rgba(228, 228, 231, .08);--gold: #d4af37;--gold-soft: rgba(212, 175, 55, .15);--serif: "Spectral", "Times New Roman", serif;--mono: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--serif);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;letter-spacing:.01em}::selection{background:var(--gold-soft);color:var(--text)}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.015;pointer-events:none;z-index:0}.app{position:relative;z-index:1;min-height:100vh}.chat{height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at center,#1a1a2e,#0f0f1a,#050505);position:relative;overflow:hidden}.chat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 10% 10%,rgba(255,255,255,.8) 100%,transparent),radial-gradient(1px 1px at 20% 20%,rgba(255,255,255,.6) 100%,transparent),radial-gradient(2px 2px at 30% 30%,rgba(255,255,255,.9) 100%,transparent),radial-gradient(1px 1px at 40% 40%,rgba(255,255,255,.5) 100%,transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.7) 100%,transparent),radial-gradient(2px 2px at 60% 60%,rgba(255,255,255,.8) 100%,transparent),radial-gradient(1px 1px at 70% 70%,rgba(255,255,255,.6) 100%,transparent),radial-gradient(1px 1px at 80% 80%,rgba(255,255,255,.5) 100%,transparent),radial-gradient(1px 1px at 90% 90%,rgba(255,255,255,.9) 100%,transparent);background-size:550px 550px;opacity:.3;pointer-events:none}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden}.landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 15% 15%,rgba(255,255,255,.6) 100%,transparent),radial-gradient(1px 1px at 35% 35%,rgba(255,255,255,.4) 100%,transparent),radial-gradient(2px 2px at 50% 50%,rgba(255,255,255,.8) 100%,transparent),radial-gradient(1px 1px at 75% 75%,rgba(255,255,255,.5) 100%,transparent),radial-gradient(1px 1px at 85% 25%,rgba(255,255,255,.7) 100%,transparent);background-size:800px 800px;opacity:.03;pointer-events:none}.landing.hidden{display:none}.sacred-symbol{width:120px;height:120px;margin-bottom:3rem;position:relative;display:flex;align-items:center;justify-content:center}.sacred-symbol:before{content:"";position:absolute;width:100%;height:100%;border:1px solid var(--border);border-radius:50%;animation:rotate 60s linear infinite}.sacred-symbol:after{content:"";position:absolute;width:70%;height:70%;border:1px solid var(--border);border-radius:50%;animation:rotate 45s linear infinite reverse}.sacred-symbol .core{width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 30px var(--gold-soft),0 0 60px var(--gold-soft)}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.brand{text-align:center;margin-bottom:4rem}.brand h1{font-size:2.5rem;font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:var(--text);margin-bottom:1rem}.brand p{font-size:1rem;font-weight:300;font-style:italic;color:var(--text-secondary);letter-spacing:.1em}.actions{display:flex;gap:1px;background:var(--border);margin-bottom:6rem}.action-btn{padding:1rem 2.5rem;background:var(--bg);border:none;color:var(--text-secondary);font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .4s ease}.action-btn:hover,.action-btn.primary{background:var(--bg-elevated);color:var(--text)}.action-btn.primary:hover{background:var(--bg-subtle)}.templates{width:100%;max-width:900px}.templates-header{text-align:center;margin-bottom:3rem}.templates-header span{font-family:var(--mono);font-size:.65rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--text-tertiary)}.templates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}.template{background:var(--bg);padding:2.5rem 2rem;cursor:pointer;transition:all .5s ease;position:relative}.template:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background:var(--gold);transition:width .4s ease}.template:hover{background:var(--bg-elevated)}.template:hover:after{width:40%}.template-sigil{width:48px;height:48px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;position:relative}.template-sigil:before{content:"";position:absolute;width:100%;height:100%;border:1px solid var(--border);transform:rotate(45deg)}.template-sigil span{font-family:var(--serif);font-size:1.1rem;font-weight:200;color:var(--text-secondary)}.template:hover .template-sigil span{color:var(--gold)}.template h3{font-size:1rem;font-weight:300;text-align:center;margin-bottom:.75rem;letter-spacing:.1em}.template p{font-size:.8rem;font-weight:300;color:var(--text-tertiary);text-align:center;line-height:1.5}.template-invoke{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:0;transition:opacity .3s ease}.template:hover .template-invoke{opacity:1}.chat-view{display:none;flex-direction:column;height:100vh}.chat-view.active{display:flex}.chat-header{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;padding:1.5rem 2rem;border-bottom:1px solid var(--border)}.chat-header-left{display:flex;align-items:center;gap:2rem}.back-btn{background:none;border:none;color:var(--text-tertiary);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;cursor:pointer;transition:color .3s ease}.back-btn:hover{color:var(--text)}.chat-soul{display:flex!important;align-items:center!important;gap:1rem;justify-self:center!important}.chat-soul>*{pointer-events:auto}.chat-soul-sigil{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);transform:rotate(45deg)}.chat-soul-sigil span{transform:rotate(-45deg);font-size:.9rem;font-weight:200;color:var(--text-secondary)}.chat-soul-blob{width:48px;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%}.chat-soul-info h2{font-size:.95rem;font-weight:300;letter-spacing:.08em}.chat-soul-status{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--text-tertiary);text-transform:uppercase}.chat-header-right{display:flex;gap:1rem;justify-self:end}.header-btn{background:none;border:1px solid var(--border);padding:.5rem 1rem;color:var(--text-tertiary);font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.header-btn:hover{border-color:var(--text-tertiary);color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:3rem 2rem;display:flex;flex-direction:column;gap:2rem;max-width:720px;margin:0 auto;width:100%}.message{max-width:85%;animation:fadeUp .4s ease}.message.user{align-self:flex-end;text-align:right}.message.soul{align-self:flex-start}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message .content{font-size:1.05rem;font-weight:300;line-height:1.7;color:var(--text)}.message.user .content{color:var(--text-secondary)}.message .thinking{font-size:.85rem;font-style:italic;color:var(--text-tertiary);margin-bottom:.75rem;padding-left:1rem;border-left:1px solid var(--border)}.message .meta{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--text-tertiary);margin-top:.75rem;text-transform:uppercase}.typing{display:flex;align-items:center;gap:.5rem}.typing span{width:4px;height:4px;background:var(--text-tertiary);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.chat-input-area{padding:2rem;border-top:1px solid var(--border)}.chat-input-wrapper{max-width:720px;margin:0 auto;display:flex;gap:1rem;align-items:flex-end}.chat-input{flex:1;padding:1rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--serif);font-size:1rem;font-weight:300;resize:none;min-height:24px;max-height:120px;transition:border-color .3s ease}.chat-input:focus{outline:none;border-color:var(--text-tertiary)}.chat-input::placeholder{color:var(--text-tertiary);font-style:italic}.send-btn{background:none;border:1px solid var(--border);width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:1rem;cursor:pointer;transition:all .3s ease}.send-btn:hover{border-color:var(--text);color:var(--text)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.studio-view{display:none;flex-direction:column;height:100vh}.studio-view.active{display:flex}.studio-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border)}.studio-title{font-size:.7rem;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)}.studio-main{display:flex;flex:1;min-height:0}.studio-nav{width:240px;padding:2rem;border-right:1px solid var(--border)}.studio-steps{display:flex;flex-direction:column;gap:.5rem}.studio-step{display:flex;align-items:center;gap:1rem;padding:1rem;background:transparent;border:none;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.studio-step:hover{background:var(--bg-elevated)}.studio-step.active{background:var(--bg-subtle)}.studio-step-num{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-family:var(--mono);font-size:.65rem;color:var(--text-tertiary)}.studio-step.active .studio-step-num{border-color:var(--text-tertiary);color:var(--text)}.studio-step.completed .studio-step-num{background:var(--text-tertiary);border-color:var(--text-tertiary);color:var(--bg)}.studio-step-info h3{font-size:.85rem;font-weight:300;color:var(--text-secondary);margin-bottom:.15rem}.studio-step.active .studio-step-info h3{color:var(--text)}.studio-step-info p{font-size:.7rem;color:var(--text-tertiary)}.studio-content{flex:1;overflow-y:auto;padding:3rem 4rem}.studio-panel{display:none;max-width:560px;animation:fadeUp .4s ease}.studio-panel.active{display:block}.studio-panel h2{font-size:1.75rem;font-weight:200;letter-spacing:.05em;margin-bottom:.5rem}.studio-panel>p{font-size:.95rem;font-weight:300;font-style:italic;color:var(--text-secondary);margin-bottom:3rem}.form-group{margin-bottom:2.5rem}.form-label{display:block;font-family:var(--mono);font-size:.6rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.75rem}.form-input,.form-textarea{width:100%;padding:1rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--serif);font-size:1rem;font-weight:300;transition:border-color .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--text-tertiary)}.form-textarea{min-height:100px;resize:vertical;line-height:1.6}.form-hint{font-size:.8rem;font-style:italic;color:var(--text-tertiary);margin-top:.5rem}.traits-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.trait{padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.trait-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.trait-name{font-size:.85rem;font-weight:300;color:var(--text-secondary)}.trait-val{font-family:var(--mono);font-size:.7rem;color:var(--text-tertiary)}.trait-labels{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-tertiary);margin-bottom:.5rem}input[type=range]{width:100%;height:1px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--bg);border:1px solid var(--text-tertiary);border-radius:50%;cursor:pointer;transition:all .2s ease}input[type=range]::-webkit-slider-thumb:hover{border-color:var(--text);transform:scale(1.1)}.style-options{display:flex;flex-wrap:wrap;gap:.5rem}.style-opt{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-tertiary);font-family:var(--serif);font-size:.8rem;font-weight:300;cursor:pointer;transition:all .3s ease}.style-opt:hover{border-color:var(--text-tertiary);color:var(--text-secondary)}.style-opt.selected{border-color:var(--text-secondary);color:var(--text)}.behaviors-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.behavior{background:var(--bg);padding:1.5rem;cursor:pointer;transition:all .3s ease}.behavior:hover{background:var(--bg-elevated)}.behavior.selected{background:var(--bg-subtle)}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#09090bf2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}.login-overlay.active{opacity:1;pointer-events:auto}.login-card{background:var(--bg);border:1px solid var(--border);padding:3rem;width:100%;max-width:400px;text-align:center;box-shadow:0 20px 40px #0006}.login-card h2{font-size:1.5rem;margin-bottom:.5rem;font-weight:200;letter-spacing:.1em}.login-card p{font-size:.9rem;color:var(--text-tertiary);margin-bottom:2rem}.google-btn{display:flex;align-items:center;justify-content:center;width:100%;background:#fff;color:#3c4043;font-weight:500;border:1px solid var(--border)}.google-btn:hover{background:#f8f9fa;color:#202124}.login-error{color:#ef4444;font-size:.8rem;margin-top:1rem;min-height:1.2em}.sacred-symbol.small{width:48px;height:48px;margin:0 auto 1.5rem}.behavior h4{font-size:.9rem;font-weight:300;margin-bottom:.35rem}.behavior p{font-size:.75rem;color:var(--text-tertiary);line-height:1.4}.behavior.selected h4{color:var(--gold)}.btn-group{display:flex;gap:1rem;margin-top:3rem}.btn{padding:.875rem 2rem;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.btn:hover{border-color:var(--text-tertiary);color:var(--text)}.btn-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.studio-preview{width:320px;border-left:1px solid var(--border);display:flex;flex-direction:column}.preview-header{padding:1.5rem;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary)}.preview-soul{padding:2.5rem;text-align:center;border-bottom:1px solid var(--border)}.preview-sigil{width:64px;height:64px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);transform:rotate(45deg)}.preview-sigil span{transform:rotate(-45deg);font-size:1.25rem;font-weight:200;color:var(--text-secondary)}.preview-name{font-size:1.1rem;font-weight:300;letter-spacing:.1em;margin-bottom:.25rem}.preview-id{font-family:var(--mono);font-size:.6rem;color:var(--text-tertiary)}.preview-chat{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.preview-msg{font-size:.85rem;font-weight:300;line-height:1.5;color:var(--text-secondary)}.preview-msg.soul{padding-left:1rem;border-left:1px solid var(--border)}.preview-msg.user{text-align:right;color:var(--text-tertiary)}.preview-input{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem}.preview-input input{flex:1;padding:.5rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--serif);font-size:.85rem}.preview-input input:focus{outline:none;border-color:var(--text-tertiary)}.preview-input button{background:none;border:1px solid var(--border);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;font-size:.8rem}.preview-input button:hover{border-color:var(--text-tertiary);color:var(--text)}@media(max-width:1100px){.studio-preview{display:none}}@media(max-width:900px){.templates-grid{grid-template-columns:1fr 1fr}.studio-nav{display:none}.studio-content{padding:2rem}.traits-grid{grid-template-columns:1fr}}@media(max-width:600px){.templates-grid{grid-template-columns:1fr}.brand h1{font-size:1.75rem;letter-spacing:.2em}.actions{flex-direction:column;background:transparent;gap:0}.action-btn{border:1px solid var(--border)}.chat-header-right{display:none}.behaviors-grid{grid-template-columns:1fr}}.library-view{display:none;flex-direction:column;height:100vh}.library-view.active{display:flex}.library-header{padding:2rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:2rem}.library-header h1{font-size:1.5rem;font-weight:500}.library-content{flex:1;overflow-y:auto;padding:2rem}.souls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.soul-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center}.soul-card:hover{background:#ffffff0d;border-color:var(--gold);transform:translateY(-2px)}.soul-card-sigil{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#d4af37b3,#8b735599);border:1px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.soul-card-name{font-size:1.2rem;font-weight:500;margin-bottom:.5rem}.soul-card-actions{display:flex;gap:.5rem;margin-top:1rem}.soul-card-btn{flex:1;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.soul-card-btn:hover{background:#ffffff1a;border-color:var(--gold)}.soul-card-btn.primary{background:linear-gradient(135deg,#d4af3799,#8b735580);border:1px solid rgba(212,175,55,.3);color:var(--text)}.library-empty{text-align:center;padding:4rem 2rem;max-width:500px;margin:0 auto}.library-empty p{color:#fff9;margin-bottom:1.5rem;font-size:1.1rem}.insights-toggle{display:inline-block;background:transparent;border:1px solid transparent;color:var(--text-tertiary);padding:0 .25rem;margin-top:.25rem;font-size:.6rem;cursor:pointer;border-radius:4px;transition:all .3s;opacity:.3}.insights-toggle:hover{color:var(--gold);border-color:#d4af371a;background:#d4af3708;opacity:.9}.cognitive-insights{display:none;margin-top:.75rem;padding:1rem;background:#0000004d;border-left:2px solid var(--gold);border-radius:0 6px 6px 0}.cognitive-insights.open{display:block;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.insights-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:.75rem}.insight-step{padding:.4rem 0;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05)}.insight-step:last-child{border-bottom:none}.insight-step.start{color:var(--gold)}.insight-step.response{color:#a8e6cf}.insight-step.complete{color:#90ee90}.tanaki-view{display:none;flex-direction:column;height:100vh}.tanaki-view.active{display:flex}.tanaki-header{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--bg)}.tanaki-title{display:flex;align-items:center;gap:.75rem}.tanaki-sigil{font-size:1.5rem}.tanaki-title h1{font-size:1.2rem;font-weight:300;letter-spacing:.1em}.tanaki-iframe-container{flex:1;position:relative;background:#09090b}.tanaki-iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.template.tanaki-template{background:linear-gradient(135deg,#d4af370d,#8b5a2b0d)}.template.tanaki-template:hover{background:linear-gradient(135deg,#d4af371a,#8b5a2b1a)}.template.tanaki-template .template-sigil:before{border-color:#d4af374d}.template.tanaki-template:hover .template-invoke{color:#d4af37}
