:root{--bg:#090708;--panel:#121011;--panel2:#181315;--line:#302326;--line2:#4b292f;--text:#f5eeee;--muted:#aa999d;--red:#b42d40;--red2:#e15466;--red3:#5f1b27;--gold:#d7a75d;--shadow:0 24px 70px rgba(0,0,0,.42);font-family:'DM Sans',sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 10%,#200f14 0,transparent 27%),var(--bg);color:var(--text);min-height:100vh}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.13;pointer-events:none}.ambient-a{width:420px;height:420px;background:#a92438;right:-180px;top:10%}.ambient-b{width:280px;height:280px;background:#6d2634;left:15%;bottom:-140px}.topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(9,7,8,.86);backdrop-filter:blur(18px);display:flex;align-items:center;padding:0 clamp(20px,4vw,64px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--text);cursor:pointer;text-align:left}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--red2);color:#fff;background:linear-gradient(145deg,#45131d,#170b0e);box-shadow:0 0 24px rgba(225,84,102,.2);font:650 12px 'Unbounded'}.brand b{display:block;font:600 15px 'Unbounded';letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.18em;margin-top:3px}.topnav{display:flex;align-self:stretch;margin-left:8vw}.nav-btn{position:relative;border:0;background:none;color:var(--muted);font-weight:600;padding:0 22px;cursor:pointer}.nav-btn.active{color:var(--text)}.nav-btn.active:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:2px;background:var(--red2);box-shadow:0 0 12px var(--red2)}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.save-state{font-size:12px;color:var(--muted);margin-right:8px}.save-state i{display:inline-block;width:7px;height:7px;background:#6ebc87;border-radius:50%;margin-right:7px}.save-state.saving i{background:var(--gold)}button,input,select,textarea{font:inherit}button{transition:.18s ease}.primary,.secondary,.spark,.icon-btn{border:1px solid var(--line2);border-radius:7px;cursor:pointer}.primary{background:linear-gradient(135deg,#a82539,#7e1d2d);color:white;padding:11px 16px;font-weight:700;box-shadow:0 8px 25px rgba(136,26,43,.2)}.primary:hover{filter:brightness(1.14);transform:translateY(-1px)}.secondary{background:#181315;color:var(--text);padding:10px 14px}.secondary:hover,.icon-btn:hover{border-color:#84505a;background:#21171a}.icon-btn{background:#171214;color:var(--muted);width:40px;height:40px}.view{display:none;max-width:1480px;margin:0 auto;padding:42px clamp(20px,4vw,64px) 80px}.view.active{display:block}.hero{min-height:250px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:28px}.eyebrow{color:var(--red2);font-size:10px;letter-spacing:.2em;font-weight:700}.hero h1{font:650 clamp(34px,4.5vw,64px)/1.05 'Unbounded';margin:13px 0 17px;letter-spacing:-.04em}.hero h1 em{color:transparent;-webkit-text-stroke:1px #c74d5e;font-style:normal}.hero p{color:var(--muted);font-size:16px}.hero-stat{border-left:1px solid var(--line2);padding:24px 50px;min-width:190px}.hero-stat strong{font:600 44px 'Unbounded';display:block}.hero-stat span{color:var(--muted);font-size:12px}.panel{background:linear-gradient(145deg,rgba(24,19,21,.96),rgba(14,12,13,.96));border:1px solid var(--line);box-shadow:var(--shadow)}.library-toolbar{padding:14px;display:flex;gap:12px;border-radius:9px}.search{flex:1;display:flex;align-items:center;gap:10px;background:#0d0b0c;border:1px solid var(--line);border-radius:6px;padding:0 13px}.search input{width:100%;border:0;background:none;outline:0;padding:11px 0;color:var(--text)}select,input,textarea{background:#0d0b0c;color:var(--text);border:1px solid var(--line);border-radius:6px;outline:0}select:focus,input:focus,textarea:focus{border-color:#8e3b49;box-shadow:0 0 0 3px rgba(180,45,64,.12)}select{padding:10px 36px 10px 12px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:36px 0 17px}.section-heading h2{margin:0;font:600 20px 'Unbounded'}.section-heading p{margin:8px 0 0;color:var(--muted);font-size:13px}.view-toggle{border:1px solid var(--line);border-radius:6px;overflow:hidden}.view-toggle button{border:0;background:#0e0b0c;color:var(--muted);padding:9px 12px}.view-toggle button.active{color:var(--text);background:#25191c}.persona-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.persona-card{position:relative;border:1px solid var(--line);background:#100d0e;border-radius:9px;overflow:hidden;transition:.22s}.persona-card:hover{transform:translateY(-3px);border-color:#6c343e;box-shadow:0 18px 44px rgba(0,0,0,.38)}.card-art{height:118px;background:radial-gradient(circle at 70% 20%,var(--avatar2),transparent 38%),linear-gradient(145deg,var(--avatar1),#0b0809);display:flex;align-items:center;padding:20px}.avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font:600 20px 'Unbounded';background:rgba(8,6,7,.55);border:2px solid rgba(255,255,255,.18);box-shadow:0 10px 25px #0007}.favorite{position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid #ffffff25;background:#0b080999;color:#cdbfc2;border-radius:50%;cursor:pointer}.favorite.on{color:var(--gold)}.card-body{padding:18px}.card-body h3{font:600 17px 'Unbounded';margin:0 0 8px}.card-body p{color:var(--muted);height:40px;overflow:hidden;margin:0;font-size:13px;line-height:1.5}.chip{display:inline-block;color:#e69aa6;background:#40141d;border:1px solid #692333;border-radius:99px;padding:4px 9px;font-size:10px;margin-top:13px}.card-actions{display:flex;border-top:1px solid var(--line);padding:9px;gap:5px}.card-actions button{flex:1;border:0;background:none;color:var(--muted);padding:8px 4px;cursor:pointer;border-radius:5px;font-size:12px}.card-actions button:hover{background:#24171a;color:white}.empty{grid-column:1/-1;padding:65px;text-align:center;border:1px dashed var(--line2);color:var(--muted)}.editor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.back-link{border:0;background:none;color:var(--muted);padding:0;cursor:pointer;margin-bottom:16px}.title-row{display:flex;align-items:center;gap:12px}.title-row input{font:600 clamp(24px,3vw,38px) 'Unbounded';border:0;background:none;padding:0;max-width:650px}.title-row span{font-size:9px;border:1px solid #67404a;color:#c38893;padding:4px 7px;border-radius:99px}.editor-head p{color:var(--muted);margin:10px 0 0}.mode-switch{display:flex;background:#0d0a0b;border:1px solid var(--line);border-radius:7px;padding:4px}.mode-switch button{border:0;background:none;color:var(--muted);padding:8px 16px;border-radius:4px;cursor:pointer}.mode-switch button.active{background:#38151c;color:white}.editor-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:22px;align-items:start}.editor-tools{position:relative;border-radius:9px;margin-bottom:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.editor-tools b{display:block;margin-top:4px}.editor-tools small{color:var(--muted);display:block;margin-top:3px}.spark{background:#2b131a;color:#f4bdc5;border-color:#74303c;padding:10px 14px}.ai-menu{display:none;position:absolute;right:17px;top:68px;z-index:5;background:#181214;border:1px solid var(--line2);border-radius:7px;padding:6px;box-shadow:var(--shadow);min-width:210px}.ai-menu.open{display:grid}.ai-menu button{border:0;background:none;color:var(--text);text-align:left;padding:10px;border-radius:4px;cursor:pointer}.ai-menu button:hover{background:#30191f}.form-section{border:1px solid var(--line);background:#110e0f;border-radius:9px;margin-bottom:12px;overflow:hidden}.section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:#161113;color:var(--text);padding:16px 18px;cursor:pointer}.section-toggle span:first-child{font:600 13px 'Unbounded'}.section-count{color:var(--muted);font-size:11px;margin-left:auto;margin-right:14px}.section-content{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;border-top:1px solid var(--line)}.form-section.collapsed .section-content{display:none}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label,.modal-card>label,.field-pair label{font-size:11px;color:#c9babe;font-weight:700;letter-spacing:.04em}.form-field input,.form-field select,.form-field textarea,.modal-card input{width:100%;padding:11px 12px}.form-field textarea{resize:vertical;min-height:82px;line-height:1.5}.custom-wrap{display:none;margin-top:7px}.custom-wrap.show{display:block}.output-column{position:sticky;top:98px;border-radius:9px;padding:21px;max-height:calc(100vh - 120px);display:flex;flex-direction:column}.output-head{display:flex;justify-content:space-between;align-items:center}.output-head h2{font:600 18px 'Unbounded';margin:7px 0 0}.output-tabs{display:flex;gap:4px;margin:18px 0 12px;overflow-x:auto}.output-tabs button{border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);padding:9px 10px;white-space:nowrap;cursor:pointer;font-size:11px}.output-tabs button.active{color:#f0a0ad;border-color:var(--red2)}#outputPreview{white-space:pre-wrap;word-break:break-word;background:#0b090a;border:1px solid var(--line);border-radius:6px;padding:17px;color:#decfd2;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;min-height:350px;flex:1}.token-row{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:9px 2px 14px}.output-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.output-actions .wide{grid-column:1/-1}.modal{border:0;padding:0;background:transparent;color:var(--text);max-width:none}.modal::backdrop{background:#050304d9;backdrop-filter:blur(6px)}.modal-card{width:min(610px,calc(100vw - 32px));background:#120f10;border:1px solid var(--line2);border-radius:10px;padding:24px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h2{font:600 21px 'Unbounded';margin:7px 0 18px}.warning{background:#2a1810;border:1px solid #674227;border-radius:7px;padding:13px 15px;margin-bottom:16px;color:#edc89a}.warning p{color:#c3a98a;font-size:12px;line-height:1.5;margin:5px 0 0}.modal-card>label,.field-pair label{display:flex;flex-direction:column;gap:7px;margin:12px 0}.field-pair{display:grid;grid-template-columns:2fr 1fr;gap:12px}.connection-status{font-size:12px;color:var(--muted);padding:9px 0}.connection-status.success{color:#79c690}.connection-status.error{color:#ec7888}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.changes-card{width:min(720px,calc(100vw - 32px))}.muted{color:var(--muted);font-size:13px}.changes-list{display:grid;gap:8px;max-height:52vh;overflow:auto}.change-item{border:1px solid var(--line);background:#0c0a0b;border-radius:6px;padding:12px}.change-item b{display:block;font-size:11px;color:#e394a0;margin-bottom:6px}.change-item p{margin:0;color:#d8c9cc;font-size:12px;line-height:1.5}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#21171a;border:1px solid #67303a;color:white;padding:11px 17px;border-radius:7px;z-index:100;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:980px){.save-state,.topnav{display:none}.editor-layout{grid-template-columns:1fr}.output-column{position:relative;top:auto;max-height:none}.hero-stat{display:none}.section-content{grid-template-columns:1fr}.form-field.full{grid-column:auto}}@media(max-width:650px){.topbar{padding:0 14px}.header-actions .icon-btn{display:none}.view{padding:28px 14px 60px}.hero{min-height:220px}.hero h1{font-size:33px}.library-toolbar{flex-wrap:wrap}.search{flex-basis:100%}.editor-head{align-items:start;gap:18px}.title-row input{max-width:66vw;font-size:22px}.editor-tools{align-items:start;gap:15px;flex-direction:column}.ai-actions{display:flex}.output-actions{grid-template-columns:1fr 1fr}.output-actions .wide{grid-column:1/-1}.persona-grid{grid-template-columns:1fr}}
