.creator-container{max-width:1400px;margin:0 auto;padding:20px}.creator-header{text-align:center;margin-bottom:40px;padding:30px;background:rgba(192,132,252,.08);border-radius:15px;border:1px solid rgba(192,132,252,.2)}.creator-header h2{font-size:2.5em;color:#c084fc;text-shadow:0 0 12px rgba(192,132,252,.7);margin-bottom:10px}.creator-header p{color:#d6d1ec;opacity:.9}.auth-container{max-width:600px;margin:0 auto 40px;padding:30px;background:rgba(255,255,255,.05);border-radius:15px;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}.auth-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.auth-tab{padding:12px 24px;background:0 0;border:none;color:#d6d1ec;cursor:pointer;font-size:1em;border-bottom:2px solid transparent;transition:all .3s ease}.auth-tab.active{color:#c084fc;border-bottom-color:#c084fc}.auth-tab:hover{color:#e9d5ff}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#e9d5ff;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;background:#251a36;border:1px solid rgba(192,132,252,.3);border-radius:8px;color:#e9d5ff;font-size:1em;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:#c084fc;box-shadow:0 0 12px rgba(192,132,252,.3)}.form-group textarea{resize:vertical;min-height:100px}.editor-wrapper{display:grid;grid-template-columns:1fr 350px;gap:20px;margin-top:30px}.editor-main{display:flex;flex-direction:column;gap:20px;min-width:0}.editor-wrapper>*{min-width:0}.editor-panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:25px;backdrop-filter:blur(10px)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(192,132,252,.2)}.panel-header h2{color:#c084fc;font-size:1.4em;margin:0}.panel-toggle{background:rgba(168,85,247,.2);color:#d8b4fe;border:1px solid rgba(168,85,247,.3);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85em;transition:all .3s ease}.panel-toggle:hover{background:rgba(168,85,247,.3)}.character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:30px}.character-item{background:rgba(255,255,255,.05);padding:15px;border-radius:10px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:all .3s ease}.character-item:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);box-shadow:0 10px 25px rgba(168,85,247,.2)}.character-item.active{border-color:#c084fc;background:rgba(192,132,252,.15)}.character-avatar-small{width:50px;height:50px;background:linear-gradient(45deg,#c084fc,#7e22ce);border-radius:8px;margin-bottom:10px;overflow:hidden}.character-avatar-small img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.character-item-name{color:#e9d5ff;font-weight:600;margin-bottom:5px}.character-item-open{display:block;width:100%;padding:0;margin:0;border:0;background:0 0;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:inherit;overflow:hidden;text-overflow:ellipsis}.character-item-open:focus-visible{outline:2px solid #c084fc;outline-offset:3px;border-radius:4px}.character-item-chat{display:inline-block;margin-top:8px;font-size:.8em;color:#c084fc;text-decoration:none;border:1px solid rgba(192,132,252,.35);border-radius:12px;padding:3px 10px}.character-item-chat:hover{background:rgba(192,132,252,.15)}.character-item-feedback{display:inline-block;margin:8px 0 0 6px;padding:3px 9px;border:1px solid rgba(251,191,36,.4);border-radius:12px;background:rgba(251,191,36,.12);color:#fde68a;font-size:.8em}.character-item-tagline{color:#d1c9f0;font-size:.85em;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basic-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.avatar-upload{grid-column:1/3}.avatar-preview{width:100px;height:100px;background:linear-gradient(45deg,#c084fc,#7e22ce);border-radius:10px;margin-top:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.avatar-preview img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.crop-viewport{position:relative;width:320px;height:320px;margin:0 auto;overflow:hidden;border-radius:10px;background:#0b0613;touch-action:none;cursor:grab}.crop-viewport:active{cursor:grabbing}.crop-viewport img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.crop-mask{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle closest-side at center,transparent 98%,rgba(11,6,19,.72) 100%)}.crop-controls{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:14px;flex-wrap:wrap}.crop-controls input[type=range]{width:180px}.toggle-group{display:flex;gap:20px;margin-top:15px}.toggle-item{display:flex;align-items:center;gap:10px}.toggle-switch{width:40px;height:24px;flex-shrink:0;background:rgba(255,255,255,.1);border:1px solid rgba(192,132,252,.3);border-radius:12px;cursor:pointer;position:relative;transition:all .3s ease}.toggle-switch.active{background:#a855f7;border-color:#c084fc}.toggle-switch::after{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .3s ease}.toggle-switch.active::after{left:18px}.lorebook-entries{margin-top:15px}.tag-picker{margin-top:10px;border:1px solid rgba(192,132,252,.25);border-radius:10px;padding:0 12px;background:rgba(255,255,255,.02)}.tag-picker>summary{cursor:pointer;list-style:none;padding:10px 0;font-size:.9em;color:#d8b4fe;display:flex;justify-content:space-between;align-items:center}.tag-picker>summary::-webkit-details-marker{display:none}.tag-picker>summary::after{content:'\203A';font-size:1.3em;opacity:.7;transition:transform .15s;margin-left:10px}.tag-picker[open]>summary::after{transform:rotate(90deg)}.tag-picker-count{font-size:.85em;opacity:.7;margin-left:auto}.tag-group{margin:0 0 12px}.tag-group-name{font-size:.72em;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:6px}.tag-chips{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{border:1px solid rgba(192,132,252,.35);background:0 0;color:#e9d5ff;border-radius:999px;padding:4px 11px;font-size:.82em;cursor:pointer;transition:background .12s,border-color .12s}.tag-chip:hover{border-color:#c084fc}.tag-chip.on{background:rgba(168,85,247,.28);border-color:#c084fc}.muse-btn{background:rgba(192,132,252,.12);border:1px solid rgba(192,132,252,.35);color:#d8b4fe;padding:2px 9px;border-radius:999px;font-size:.75em;cursor:pointer;margin-left:8px;vertical-align:middle;min-height:28px!important;line-height:1.2;transition:all .2s ease}.muse-btn:hover:not(:disabled){background:rgba(192,132,252,.25)}.muse-btn:disabled{opacity:.6;cursor:wait}.prompt-toggle{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#86efac;padding:2px 9px;border-radius:999px;font-size:.75em;cursor:pointer;margin-left:6px;vertical-align:middle;min-height:28px!important;line-height:1.2;transition:all .2s ease}.prompt-toggle.off{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18);color:#a09ab5}.prompt-toggle:hover{filter:brightness(1.15)}.tidy-row{display:flex;gap:12px;align-items:flex-start;padding:12px;margin-bottom:10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.tidy-row .tidy-body{flex:1;min-width:0}.tidy-row .tidy-name{color:#e9d5ff;font-weight:600;font-size:.9em}.tidy-row .tidy-issue{color:#fbbf24;font-size:.8em;margin:3px 0}.tidy-row .tidy-issue.info{color:#93c5fd}.tidy-row .tidy-snip{color:#a09ab5;font-size:.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tidy-kw{display:inline-block;margin:4px 4px 0 0;padding:2px 8px;border-radius:999px;font-size:.75em;background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.3)}.tidy-actions{display:flex;flex-direction:column;gap:6px}.tidy-summary{color:#d1c9f0;font-size:.9em;margin-bottom:14px}.tidy-trim{margin-top:8px;font-size:.85em}.tidy-trim summary{cursor:pointer;color:#86efac}.tidy-trim-text{white-space:pre-wrap;margin-top:8px;padding:10px;border-radius:8px;background:rgba(0,0,0,.25);border:1px solid rgba(34,197,94,.25);color:#d1c9f0;max-height:320px;overflow:auto}.weave-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-bottom:10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.weave-row.off{opacity:.45}.weave-row input[type=checkbox]{margin-top:6px;width:16px;height:16px;accent-color:#c084fc}.weave-row .weave-body{flex:1;min-width:0}.weave-row input[type=text],.weave-row textarea{width:100%;box-sizing:border-box;background:rgba(0,0,0,.3);border:1px solid rgba(192,132,252,.2);color:#e9e4f5;border-radius:6px;padding:6px 8px;font-size:.85em;margin-bottom:6px}.weave-row textarea{min-height:70px;resize:vertical}.forge-field{padding:8px 12px;margin-bottom:8px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.forge-field strong{color:#c084fc;display:block;margin-bottom:4px;font-size:.85em}.forge-field div{color:#e9e4f5;font-size:.9em;white-space:pre-wrap}.weave-row .weave-const{font-size:.75em;color:#93c5fd;margin-bottom:4px}.forge-modes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.beta-tag{margin-left:4px;padding:1px 6px;border-radius:999px;background:rgba(192,132,252,.2);color:#e9d5ff;font-size:.7em;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}.forge-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:140px;padding:14px;border:2px dashed rgba(192,132,252,.35);border-radius:10px;background:rgba(0,0,0,.2);color:#a09ab5;text-align:center;cursor:pointer}.forge-drop.over,.forge-drop:focus-visible,.forge-drop:hover{border-color:#c084fc;color:#e9e4f5}.forge-drop img{max-width:100%;max-height:220px;border-radius:8px;object-fit:contain}.forge-drop.has span{font-size:.85em}.toggle-group.forge-switches{flex-wrap:wrap;margin:0 0 14px}#forgeHint{min-height:70px}.forge-pitches{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.forge-pitch{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(192,132,252,.25)}.forge-pitch h3{margin:0;color:#c084fc;font-size:1em}.forge-pitch p{margin:0;color:#e9e4f5;font-size:.9em}.forge-pitch dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:.82em}.forge-pitch dt{color:#a09ab5}.forge-pitch dd{margin:0;color:#d1c9f0}.forge-pitch .btn{flex:none;margin-top:auto}.forge-names{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 14px;color:#d1c9f0;font-size:.9em}.forge-names .name-chip{padding:3px 10px;border-radius:999px;border:1px solid rgba(192,132,252,.35);background:rgba(192,132,252,.08);color:#e9e4f5;font:inherit;cursor:pointer}.forge-names .name-chip:focus-visible,.forge-names .name-chip:hover{border-color:#c084fc;background:rgba(192,132,252,.18)}.bulk-line{padding:7px 10px;margin-top:6px;border-radius:6px;font-size:.85em;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:#d1c9f0}.bulk-line.ok{border-color:rgba(34,197,94,.35)}.bulk-line.bad{border-color:rgba(248,113,113,.4);color:#fca5a5}.lorebook-entry{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-left:4px solid;border-radius:8px;padding:15px;margin-bottom:15px;transition:all .3s ease}.lorebook-entry.constant{border-left-color:#3b82f6}.lorebook-entry.contextual{border-left-color:#eab308}.lorebook-entry.keyword{border-left-color:#10b981}.lorebook-entry:hover{background:rgba(255,255,255,.06)}.entry-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.entry-type-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.entry-type-dot.constant{background:#3b82f6}.entry-type-dot.contextual{background:#eab308}.entry-type-dot.keyword{background:#10b981}.entry-title{font-weight:600;color:#e9e4ff;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-title .entry-keys-inline{font-weight:400;opacity:.65;font-size:.88em;margin-left:8px}.entry-keys{color:#e9d5ff;font-weight:600;flex:1}.entry-actions{display:flex;gap:8px}.entry-action-btn{background:rgba(255,255,255,.1);border:none;color:#d6d1ec;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8em;transition:all .2s ease}.entry-action-btn:hover{background:rgba(255,255,255,.2)}.entry-content{color:#d1c9f0;font-size:.9em;margin-bottom:10px;max-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.entry-meta{display:flex;flex-wrap:wrap;gap:4px 15px;font-size:.8em;color:#b5afd0}.preview-panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:20px;backdrop-filter:blur(10px);position:sticky;top:20px;max-height:500px;overflow-y:auto}.preview-panel h3{color:#c084fc;margin-bottom:15px;font-size:1.1em}.book-item-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.book-badge{font-size:.72em;padding:2px 8px;border-radius:999px;border:1px solid rgba(192,132,252,.35);color:#e9d5ff;background:rgba(168,85,247,.15)}.book-badge.everyone{border-color:rgba(251,191,36,.4);color:#fde68a;background:rgba(251,191,36,.12)}.book-badge.me{border-color:rgba(96,165,250,.4);color:#bfdbfe;background:rgba(96,165,250,.12)}.book-badge.commands{border-color:rgba(96,165,250,.4);color:#93c5fd;background:rgba(96,165,250,.12)}.book-badge.off{border-color:rgba(148,163,184,.4);color:#94a3b8;background:rgba(148,163,184,.12)}.book-badge.public{border-color:rgba(34,197,94,.4);color:#86efac;background:rgba(34,197,94,.12)}.book-badge.nsfw{border-color:rgba(248,113,113,.4);color:#fca5a5;background:rgba(248,113,113,.12)}.shared-book{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;margin-bottom:10px}.shared-book-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shared-book-cmds{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.shared-cmd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.04);font-size:.85em}.shared-cmd.off{opacity:.5}.shared-cmd code{color:#93c5fd}.preview-tag{display:inline-block;padding:2px 9px;margin:2px 2px 0 0;border-radius:999px;background:rgba(168,85,247,.18);border:1px solid rgba(168,85,247,.35);color:#e9d5ff;font-size:.85em;white-space:nowrap}.preview-content{color:#d6d1ec;font-size:.85em;line-height:1.5;background:rgba(0,0,0,.3);padding:12px;border-radius:8px;max-height:300px;overflow-y:auto;margin-bottom:15px}.token-estimate{background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.2);padding:10px;border-radius:8px;text-align:center}.token-count{color:#c084fc;font-weight:700;font-size:1.2em}.token-label{color:#d1c9f0;font-size:.85em}.button-group{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}#editorContainer:not(.hidden) .button-group{position:fixed;bottom:16px;right:16px;left:auto;margin:0;z-index:60;padding:10px 12px;border-radius:14px;background:rgba(20,12,30,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(192,132,252,.3);box-shadow:0 10px 34px rgba(0,0,0,.5)}#editorContainer:not(.hidden) .button-group .btn{padding:10px 18px}#editorContainer:not(.hidden) .editor-main{padding-bottom:90px}.editor-panel.foldable>.panel-header{cursor:pointer;user-select:none}.panel-header .panel-fold{padding:0;margin:0;border:0;background:0 0;color:inherit;font:inherit;text-align:inherit;cursor:inherit}.panel-header .panel-fold:focus-visible{outline:2px solid #c084fc;outline-offset:3px;border-radius:4px}.editor-panel.foldable>.panel-header h2::after{content:'\25BE';display:inline-block;margin-left:8px;font-size:.7em;opacity:.6;transition:transform .2s}.editor-panel.folded>.panel-header h2::after{transform:rotate(-90deg)}.editor-panel.folded>:not(.panel-header){display:none!important}.editor-panel.folded>.panel-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.panel-header .panel-count{font-size:.6em;color:#d1c9f0;opacity:.8;margin-left:8px;font-weight:400}.beta-tag{font-size:.55em;vertical-align:middle;padding:2px 8px;border-radius:999px;background:rgba(251,191,36,.15);color:#fcd34d;border:1px solid rgba(251,191,36,.4);margin-left:6px;font-weight:600;letter-spacing:.3px}.story-beat{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px 12px;margin-bottom:8px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.story-beat-num{width:30px;height:30px;border-radius:50%;background:rgba(192,132,252,.18);color:#e9d5ff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85em}.story-beat-title{color:#e9d5ff;font-weight:600}.story-beat-meta{color:#d1c9f0;font-size:.8em;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-beat-actions{display:flex;gap:4px}.story-beat-actions button{background:0 0;border:1px solid rgba(255,255,255,.12);color:#d8d2e8;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:.8em}.story-beat-actions button:hover{background:rgba(192,132,252,.15)}.character-search{display:none;margin:-6px 0 14px}.character-search.on{display:block}.character-search input{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:#e9d5ff;font-size:.95em}.character-search input:focus{outline:0;border-color:rgba(192,132,252,.6)}.panel-intro+.character-search{margin-top:10px}@media (max-width:768px){.editor-panel{padding:16px}.character-list{display:block;max-height:52vh;overflow-y:auto;padding-right:2px;margin-bottom:10px}.character-item{display:grid;grid-template-columns:40px 1fr auto;column-gap:10px;align-items:center;padding:8px 10px;margin-bottom:6px}.character-item:hover{transform:none;box-shadow:none}.character-avatar-small{width:40px;height:40px;margin:0;grid-row:1/span 2}.character-item-name{margin:0;grid-column:2;font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-item-tagline{grid-column:2;font-size:.78em}.character-item-chat{grid-column:3;grid-row:1/span 2;margin:0}.character-item>.book-item-meta{grid-column:2}}.atelier-jump{position:fixed;top:12px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:60;max-width:calc(100vw - 24px);display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:999px;background:rgba(20,12,30,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(192,132,252,.3);box-shadow:0 10px 34px rgba(0,0,0,.5);overflow-x:auto;scrollbar-width:none;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.atelier-jump::-webkit-scrollbar{display:none}.atelier-jump.show{opacity:1;pointer-events:auto;transform:translateX(-50%)}.atelier-jump button{flex:none;background:0 0;border:1px solid transparent;color:#d8d2e8;cursor:pointer;padding:6px 12px;border-radius:999px;font-size:.82em;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.atelier-jump button:hover{background:rgba(192,132,252,.15)}.atelier-jump button.active{background:rgba(192,132,252,.28);border-color:rgba(192,132,252,.6);color:#fff}.atelier-jump button.home{color:#c084fc}@media (max-width:768px){#editorContainer:not(.hidden) .button-group{left:10px;right:10px;bottom:10px;flex-direction:row}#editorContainer:not(.hidden) .button-group .btn{flex:1;padding:10px 8px;font-size:.9em}}.btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:1em;transition:all .3s ease;flex:1;min-width:120px}.btn-primary{background:linear-gradient(45deg,#a21caf,#7c3aed);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(168,85,247,.4)}.btn-secondary{background:rgba(168,85,247,.2);color:#d8b4fe;border:1px solid rgba(168,85,247,.3)}.btn-secondary:hover{background:rgba(168,85,247,.3)}.msg-choice.chosen{background:rgba(168,85,247,.55);color:#fff;border-color:#c084fc}.btn-success{background:rgba(34,197,94,.2);color:#86efac;border:1px solid rgba(34,197,94,.3)}.btn-success:hover{background:rgba(34,197,94,.3)}.btn-danger{background:rgba(239,68,68,.2);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:rgba(239,68,68,.3)}.add-item-btn{background:rgba(168,85,247,.15);color:#d8b4fe;border:2px dashed rgba(168,85,247,.4);padding:15px 20px;border-radius:8px;cursor:pointer;text-align:center;transition:all .3s ease;margin-bottom:15px}.add-item-btn:hover{background:rgba(168,85,247,.25);border-color:rgba(168,85,247,.6)}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;min-height:35px;align-content:flex-start}.tag-badge{background:rgba(168,85,247,.2);color:#d8b4fe;padding:6px 12px;border-radius:15px;display:flex;align-items:center;gap:8px;border:1px solid rgba(168,85,247,.3)}.tag-badge button{background:0 0;border:none;color:#d8b4fe;cursor:pointer;padding:0;font-size:1.2em;line-height:1}.tag-badge button:hover{color:#f3e8ff}@media (max-width:768px){.tag-badge{gap:0;padding-right:0}.tag-badge button{min-width:40px}}.status-message{padding:15px 20px;border-radius:8px;margin-bottom:20px;animation:slideIn .3s ease}.status-message.success{background:rgba(132,204,22,.2);border:1px solid rgba(132,204,22,.4);color:#86efac}.status-message.error{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4);color:#fca5a5}.status-message.info{background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.4);color:#93c5fd}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.collapsible-content{max-height:1000px;overflow:hidden;transition:max-height .3s ease}.collapsible-content.collapsed{max-height:0}.greeting-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start}.greeting-item textarea{flex:1;background:rgba(0,0,0,.2);color:#f3e8ff;font-family:inherit;font-size:.95em;padding:10px 12px;border:1px solid rgba(192,132,252,.3);border-radius:8px;min-height:90px;resize:vertical}.greeting-item textarea::placeholder{color:rgba(243,232,255,.4)}.greeting-remove{background:rgba(239,68,68,.2);color:#fca5a5;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;flex-shrink:0}.greeting-remove:hover{background:rgba(239,68,68,.3)}.command-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-left:3px solid #a855f7;border-radius:8px;padding:15px;margin-bottom:15px}.command-name{color:#e9d5ff;font-weight:600;margin-bottom:8px}.command-triggers{color:#d1c9f0;font-size:.85em;margin-bottom:8px}.command-instructions{color:#b5afd0;font-size:.9em;background:rgba(0,0,0,.2);padding:8px;border-radius:6px;white-space:pre-wrap;max-height:4.6em;overflow:hidden;cursor:pointer;position:relative}.command-instructions.open{max-height:none}.command-instructions:not(.open)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.6em;background:linear-gradient(transparent,rgba(20,12,30,.95));pointer-events:none}.import-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.import-export-card{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.1);border-radius:10px;padding:20px;text-align:center}.import-export-card h4{color:#c084fc;margin-bottom:12px}.import-export-card p{color:#d1c9f0;font-size:.9em;margin-bottom:15px}.import-export-card .btn{margin:5px 0}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.7);animation:fadeIn .3s ease}.modal.active{display:flex;align-items:center;justify-content:center}.modal-content{background:#0b0613;padding:30px;border-radius:15px;border:1px solid rgba(192,132,252,.2);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(192,132,252,.2)}.modal-header h2{color:#c084fc;margin:0}.modal-close{background:0 0;border:none;color:#d6d1ec;font-size:1.5em;cursor:pointer;padding:0}.modal-close:hover{color:#c084fc}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@media (max-width:1024px){.editor-wrapper{grid-template-columns:1fr}.preview-panel{position:relative;top:0}}@media (max-width:768px){.basic-info-grid{grid-template-columns:1fr}.avatar-upload{grid-column:1}.import-export-grid{grid-template-columns:1fr}.toggle-group{flex-direction:column}.button-group{flex-direction:column}.btn{flex:1}}.nav-header{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.08);padding:15px 20px;margin-bottom:30px;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{color:#d6d1ec;text-decoration:none;transition:color .3s ease;display:flex;align-items:center;gap:8px}.nav-links a:hover{color:#c084fc}.logout-btn{background:rgba(239,68,68,.2);color:#fca5a5;border:1px solid rgba(239,68,68,.3);padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:rgba(239,68,68,.3)}.hidden{display:none}header h1 a{text-decoration:none;color:inherit}.auth-form .btn{width:100%}.label-faint{opacity:.5}.required{color:#f87171}.form-group .check-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.tos-link{color:#7eb8f7;margin-left:4px}#authStatus{margin-top:15px}.editor-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}#userInfoNav{color:#d6d1ec}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.panel-intro{color:#d1c9f0;font-size:.9em;margin-bottom:12px}.panel-intro.spaced{margin-bottom:15px}#codexPanel .panel-intro{margin-bottom:10px}.label-note{font-weight:400;opacity:.6;font-size:.85em}.label-aside{font-weight:400;opacity:.7}.list-empty{grid-column:1/-1;color:#d1c9f0;text-align:center;padding:20px}.book-badge.count{opacity:.7}.avatar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#avatarUploadStatus,.crop-controls span{font-size:.85em;opacity:.7}#charAvatar{margin-top:8px}.tag-picker .hint{margin:6px 0 10px}.blocked-models,.voice-group{margin-top:18px}#charBlockedModels{min-height:52px}.toggle-group.images-toggle{margin-top:10px}.codex-more{margin-top:15px}.codex-more-title{white-space:nowrap;margin-right:12px}.codex-more .tag-picker-count{text-align:right}.codex-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.codex-more>.toggle-group{margin:0 0 14px}#messagingGroup,.memory-style,.parlor-look{margin-top:14px}.messaging-choice{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#messagingNote{color:#f87171;font-size:.88em;font-weight:600}.voice-pick{display:flex;gap:8px;align-items:center}#charVoice{flex:1}#charVoicePlay{white-space:nowrap}#charVoiceLine{margin-top:6px;font-size:.9em}#charVoiceLineNote{margin:4px 0 0;font-size:.82em;opacity:.7}.voice-extra{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.voice-extra>div{flex:1;min-width:160px}.form-group .voice-extra label{font-size:.85em;opacity:.75}#charParlorTheme{font-family:monospace;font-size:.8em}#codexNudge{font-size:.82em;color:#fcd34d;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);border-radius:8px;padding:8px 10px;margin-bottom:10px}#codexNudge a{color:#fde68a}#bookKindBadge{font-size:.8em}#bookPanel .form-row{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}#bookPanel .scope-group{flex:1;min-width:220px}#bookPickedRow{flex-basis:100%}#bookPickedList{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.9em}#bookPickedList label{display:flex;gap:6px;align-items:center;margin:0}#bookPickedList>span{opacity:.6}#bookPanel .toggle-item{margin-bottom:14px}#bookEntriesHint{color:#a09ab5;font-size:.82em;margin:0}.codex-legend{color:#a09ab5;font-size:.8em;margin-bottom:15px}.codex-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.codex-legend .dot.constant{background:#3b82f6}.codex-legend .dot.keyword{background:#22c55e}.codex-legend strong.constant{color:#93c5fd}.codex-legend strong.keyword{color:#86efac}.codex-legend a{color:#c084fc;font-size:.95em}.quotable-lines{margin-top:18px}.quotable-lines .panel-intro a{color:#c084fc}#codexBulkBar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 8px;font-size:.85em;color:#a09ab5}#codexBulkBar label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;margin:0}#codexSearch{flex:1;min-width:180px;max-width:320px;margin:0;padding:6px 10px;font-size:.95em}.entry-header .entry-select{margin:0 6px 0 0}.none-yet{color:#d1c9f0;opacity:.7}.panel-buttons{display:flex;gap:10px;flex-wrap:wrap}.add-item-btn.import{background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.3);color:#93c5fd}.add-item-btn.tidy{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.3);color:#fcd34d}.add-item-btn.weave{background:rgba(192,132,252,.12);border-color:rgba(192,132,252,.35);color:#d8b4fe}.fuzzy-all{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:#a09ab5;font-size:.85em}.command-row{display:flex;justify-content:space-between;align-items:start}.command-body{flex:1}.command-category{color:#b5afd0;font-size:.8em;margin-top:5px}.command-actions{display:flex;gap:6px;margin-left:10px;flex:none}#storyPanel .toggle-group{margin-bottom:12px}.reveal-group{max-width:420px}.empty-note{color:#a09ab5;font-size:.85em}.story-beat-body{min-width:0}.story-beat-actions .delete{color:#fca5a5}.shared-book-head strong{color:#e9d5ff}.shared-book-head strong+.book-badge{margin-left:6px}.shared-book-meta{color:#a09ab5;font-size:.8em;margin-top:3px}.shared-book-head .toggle-item label{margin:0 8px 0 0;font-size:.85em}.shared-book-bulk{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.shared-book-bulk span{font-size:.8em;color:#a09ab5}.shared-cmd .toggle-switch{flex:none;transform:scale(.8)}.inbox-note{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;margin-bottom:10px}.inbox-note.done{background:0 0;border-style:dashed}.inbox-note-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:#a09ab5;font-size:.85em}.inbox-note-head strong{color:#e9d5ff}.inbox-note-message{margin:8px 0;color:#e9d5ff;white-space:pre-wrap;overflow-wrap:anywhere}.inbox-lines{margin:0 0 10px;font-size:.85em}.inbox-lines summary{cursor:pointer;color:#c084fc}.inbox-lines p{margin:6px 0 0;padding-left:10px;border-left:2px solid rgba(192,132,252,.3);color:#d6d1ec;white-space:pre-wrap;overflow-wrap:anywhere}.inbox-note-actions{display:flex;flex-wrap:wrap;gap:8px}.test-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}#testMessageInput{flex:1;min-width:220px}#testResult{margin-top:14px}#testMeta{font-size:.82em;color:#a09ab5;margin-bottom:8px}#testReply{background:rgba(0,0,0,.25);border:1px solid rgba(192,132,252,.2);border-radius:10px;padding:12px 14px;color:#e9d5ff;white-space:pre-wrap;line-height:1.55}#testResult details{margin-top:10px}#testResult summary{cursor:pointer;color:#c084fc;font-size:.85em}#testPrompt{white-space:pre-wrap;font-size:.78em;color:#b5afd0;background:rgba(0,0,0,.3);padding:12px;border-radius:8px;max-height:420px;overflow:auto;margin-top:8px}.scene-count,.scene-note{color:#a09ab5;font-size:.85em;margin-bottom:12px}.scene{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;margin-bottom:10px}.scene-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.scene-head strong{color:#e9d5ff}#sceneRunAllBtn:disabled,.scene .entry-action-btn:disabled{opacity:.6;cursor:default}.scene-meta,.scene-none{color:#a09ab5;font-size:.8em}.scene-test-line{margin-top:6px;color:#d1c9f0;font-size:.9em;white-space:pre-wrap}.scene-failed,.scene>.scene-none{margin-top:8px}.scene-failed{color:#fca5a5;font-size:.85em}.scene-runs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.scene-run{background:rgba(0,0,0,.25);border:1px solid rgba(192,132,252,.2);border-radius:10px;padding:10px 12px;min-width:0}.scene-run-head{color:#c084fc;font-size:.8em;margin-bottom:6px}.scene-run-head span{color:#a09ab5}.scene-reply{color:#e9d5ff;font-size:.9em;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.scene-fired{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.scene-chip{font-size:.72em;padding:2px 8px;border-radius:999px;border:1px solid rgba(34,197,94,.4);color:#86efac;background:rgba(34,197,94,.12)}.scene-line{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:start;margin-bottom:8px}.scene-line textarea{min-height:64px}@media (max-width:768px){.scene-line,.scene-runs{grid-template-columns:1fr}}#mergeSourceSelect{width:100%;margin-bottom:8px}.merge-offer{margin-top:6px}.merge-question{opacity:.8}.merge-offer .entry-action-btn{margin-left:6px}.merged{color:#86efac}#unsavedBadge{align-self:center;color:#fcd34d;font-size:.85em;white-space:nowrap}.preview-empty{opacity:.7}.no-about{opacity:.6}.token-estimate+.token-estimate{margin-top:8px}#tokenConstantNote{opacity:.7;font-size:.75em;margin-top:3px}#forgeModal .modal-content,#weaveModal .modal-content{max-width:820px}#tidyModal .modal-content{max-width:760px}#cropModal .modal-content{max-width:420px}.modal-intro{color:#d1c9f0;font-size:.9em;margin-bottom:10px}#forgeBrief{min-height:200px}#weaveText{min-height:220px}.run-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}#forgeStatus,#weaveStatus{color:#a09ab5;font-size:.85em}#forgeStatus.error{color:#fca5a5}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}#forgeList .list-head{display:block;margin:12px 0 8px;color:#c084fc}.tidy-summary strong.good{color:#86efac}.tidy-summary strong.warn{color:#fcd34d}.tidy-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tidy-actions .entry-action-btn.use{background:rgba(34,197,94,.2);color:#86efac}.tidy-note{color:#a09ab5;font-size:.8em;margin-top:10px}#cropModal p{font-size:.9em;opacity:.8;margin:0 0 12px}#storyBeatModal .basic-info-grid{grid-template-columns:1fr 1fr;gap:12px}#typeInfo{background:rgba(59,130,246,.1);padding:12px;border-radius:8px;margin-bottom:15px;color:#93c5fd;font-size:.9em}.greeting-item>.popout-wrap{flex:1;min-width:0}.greeting-item>.popout-wrap>textarea{width:100%;box-sizing:border-box}