:root{--bg-primary:#0f1115;--bg-secondary:#16181d;--bg-tertiary:#1f2229;--bg-panel:#16181db3;--text-primary:#f0f2f5;--text-secondary:#a0a4b0;--text-muted:#6b707d;--accent-primary:#8b5cf6;--accent-primary-hover:#7c3aed;--accent-secondary:#3b82f6;--border-color:#ffffff14;--border-highlight:#8b5cf64d;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-glow:0 0 15px #8b5cf633;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 15%,#8b5cf60d 0%,#0000 25%),radial-gradient(circle at 85% 30%,#3b82f60d 0%,#0000 25%);height:100vh;line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit;transition:all .2s}input,textarea,select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:8px 12px;font-family:inherit;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--border-highlight);outline:none}.CodeMirror{color:#000;direction:ltr;height:300px;font-family:monospace}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{white-space:nowrap;background-color:#f7f7f7;border-right:1px solid #ddd}.CodeMirror-linenumber{text-align:right;color:#999;white-space:nowrap;min-width:20px;padding:0 3px 0 5px}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;width:auto;border:0!important}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:#0000}@keyframes blink{50%{background-color:#0000}}.cm-tab{-webkit-text-decoration:inherit;text-decoration:inherit;display:inline-block}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute;top:0;bottom:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;position:relative;overflow:hidden}.CodeMirror-scroll{z-index:0;outline:0;height:100%;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;position:relative;overflow:scroll!important}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{z-index:6;outline:0;display:none;position:absolute}.CodeMirror-vscrollbar{top:0;right:0;overflow:hidden scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow:scroll hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{z-index:3;min-height:100%;position:absolute;top:0;left:0}.CodeMirror-gutter{white-space:normal;vertical-align:top;height:100%;margin-bottom:-50px;display:inline-block}.CodeMirror-gutter-wrapper{z-index:4;position:absolute;background:0 0!important;border:none!important}.CodeMirror-gutter-background{z-index:4;position:absolute;top:0;bottom:0}.CodeMirror-gutter-elt{cursor:default;z-index:4;position:absolute}.CodeMirror-gutter-wrapper ::selection{background-color:#0000}.CodeMirror-gutter-wrapper ::selection{background-color:#0000}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{font-family:inherit;font-size:inherit;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;background:0 0;border-width:0;border-radius:0;margin:0;position:relative;overflow:visible}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{z-index:0;position:absolute;inset:0}.CodeMirror-linewidget{z-index:2;padding:.1px;position:relative}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{visibility:hidden;width:100%;height:0;position:absolute;overflow:hidden}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;z-index:3;position:relative}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection{background:#d7d4f0}.CodeMirror-line>span::selection{background:#d7d4f0}.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection{background:#d7d4f0}.CodeMirror-line>span::-moz-selection{background:#d7d4f0}.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{flex-flow:wrap;display:flex}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;font:inherit;z-index:0;word-wrap:break-word;border:1px solid #ced4da;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:10px}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{z-index:8;background:#fff;height:auto;inset:50px 0 0;border-right:none!important;border-bottom-right-radius:0!important;position:fixed!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;flex:auto;position:relative;border-right:none!important}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{-webkit-user-select:none;user-select:none;-o-user-select:none;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative}.editor-toolbar.fullscreen{box-sizing:border-box;opacity:1;z-index:9;background:#fff;border:0;width:100%;height:50px;padding-top:10px;padding-bottom:10px;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:before{background:-moz-linear-gradient(270deg,#fff 0,#fff0 100%);background:-o-linear-gradient(270deg,#fff 0,#fff0 100%);background:-ms-linear-gradient(left,#fff 0,#fff0 100%);background:linear-gradient(90deg,#fff 0,#fff0 100%);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:after{background:-moz-linear-gradient(270deg,#fff0 0,#fff 100%);background:-o-linear-gradient(270deg,#fff0 0,#fff 100%);background:-ms-linear-gradient(left,#fff0 0,#fff 100%);background:linear-gradient(90deg,#fff0 0,#fff 100%);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;right:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;height:30px;margin:0;padding:0;display:inline-block;text-decoration:none!important}.editor-toolbar button{white-space:nowrap;min-width:30px;padding:0 6px;font-weight:700}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{color:#0000;text-indent:-10px;border-left:1px solid #d9d9d9;border-right:1px solid #fff;width:0;margin:0 6px;display:inline-block}.editor-toolbar button:after{vertical-align:text-bottom;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (width<=700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;text-align:right;padding:8px 10px;font-size:12px}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{min-width:4em;margin-left:1em;display:inline-block}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{z-index:7;box-sizing:border-box;width:100%;height:100%;display:none;position:absolute;top:0;left:0;overflow:auto}.editor-preview-side{z-index:9;box-sizing:border-box;word-wrap:break-word;border:1px solid #ddd;width:50%;display:none;position:fixed;top:50px;bottom:0;right:0;overflow:auto}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{visibility:hidden;z-index:2;background-color:#f9f9f9;padding:8px;display:block;position:absolute;top:30px;box-shadow:0 8px 16px #0003}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);max-width:100%;height:0;max-height:100%;padding-top:var(--height);width:var(--width);background-repeat:no-repeat;background-size:contain;display:block}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.save-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.save-modal{background:var(--bg-panel);border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:520px;animation:.2s cubic-bezier(.4,0,.2,1) slideUp;overflow:hidden;box-shadow:0 30px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.save-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.save-modal-title{color:var(--text-primary);align-items:center;gap:10px;font-size:1rem;font-weight:700;display:flex}.save-modal-close{color:var(--text-muted);border-radius:6px;padding:4px;transition:all .2s}.save-modal-close:hover{color:var(--text-primary);background:#ffffff14}.save-modal-section{padding:12px 24px}.save-modal-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.7rem;font-weight:700;display:flex}.save-modal-input{width:100%;color:var(--text-primary);background:#00000040;border:1px solid #ffffff14;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:all .2s}.save-modal-input:focus{border-color:#8b5cf680;outline:none;box-shadow:0 0 0 3px #8b5cf61a}.tag-cloud-selector{flex-wrap:wrap;gap:8px;display:flex}.tag-pill{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.tag-pill:hover{color:var(--text-primary);background:#8b5cf61a;border-color:#8b5cf64d;transform:translateY(-1px)}.tag-pill.active{color:#c4b5fd;background:linear-gradient(135deg,#8b5cf640,#6d28d926);border-color:#8b5cf699;box-shadow:0 2px 8px #8b5cf633}.tag-check{color:#a78bfa;font-size:.7rem}.new-tag-row{gap:8px;display:flex}.add-tag-btn{color:#c4b5fd;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.add-tag-btn:hover:not(:disabled){background:#8b5cf64d;transform:translateY(-1px)}.add-tag-btn:disabled{opacity:.3;cursor:not-allowed}.selected-preview{border-top:1px solid #ffffff0d;padding-top:14px}.selected-tags-row{flex-wrap:wrap;gap:6px;display:flex}.selected-tag-badge{color:#c4b5fd;background:#8b5cf633;border:1px solid #8b5cf666;border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;display:flex}.selected-tag-badge button{color:#a78bfa;padding:0 2px;font-size:.9rem;line-height:1;transition:color .15s}.selected-tag-badge button:hover{color:#ef4444}.save-modal-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}.save-confirm-btn{align-items:center;gap:6px;display:flex}.workspace-container{flex-direction:column;gap:16px;height:100%;padding:16px;display:flex}.editor-toolbar-top{background:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.toolbar-group{align-items:center;gap:8px;display:flex}.toolbar-btn{width:36px;height:36px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.toolbar-btn:hover{background:var(--bg-secondary);color:var(--accent-primary)}.editor-main{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.undo-bar{border-bottom:1px solid var(--border-color);background:#ffffff05;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.story-title-display{color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border-radius:6px;align-items:center;gap:8px;max-width:400px;padding:4px 12px;font-size:.875rem;font-weight:500;display:flex;overflow:hidden}.title-icon{color:var(--accent-primary);opacity:.8}.undo-controls{align-items:center;gap:12px;display:flex}.undo-btn{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.undo-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-tertiary);transform:translateY(-1px)}.undo-btn:disabled{opacity:.4;cursor:not-allowed}.log-btn{color:#f59e0b!important;border-color:#f59e0b4d!important}.log-btn:hover:not(:disabled){color:#fbbf24!important;background:#f59e0b1a!important;border-color:#f59e0b99!important}.editor-wrapper,.editor-wrapper .EasyMDEContainer{flex-direction:column;flex:1;min-height:0;display:flex}.autosave-indicator{color:#10b981;background:#10b9811a;border-radius:100px;align-items:center;gap:4px;margin-left:10px;padding:2px 8px;font-size:.75rem;animation:1.8s forwards fadeInOut;display:inline-flex}@keyframes fadeInOut{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.save-btn:hover:not(:disabled),.download-btn:hover:not(:disabled){color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.editor-wrapper .editor-toolbar{border:none;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);opacity:1}.editor-wrapper .editor-toolbar button{color:var(--text-secondary)!important}.editor-wrapper .editor-toolbar button:hover,.editor-wrapper .editor-toolbar button.active{background:var(--bg-secondary);border-color:#0000;color:var(--accent-primary)!important}.editor-wrapper .CodeMirror{color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:none;flex:1;min-height:0;font-size:1rem;line-height:1.6}.editor-wrapper .CodeMirror-cursor{border-left-color:var(--accent-primary)}.editor-wrapper .editor-preview,.editor-wrapper .editor-preview-side{border-top:1px solid var(--border-color);background:var(--bg-primary)!important;color:var(--text-primary)!important}.editor-wrapper .editor-preview h1,.editor-wrapper .editor-preview h2,.editor-wrapper .editor-preview h3,.editor-wrapper .editor-preview h4,.editor-wrapper .editor-preview h5,.editor-wrapper .editor-preview h6,.editor-wrapper .editor-preview-side h1,.editor-wrapper .editor-preview-side h2,.editor-wrapper .editor-preview-side h3{border-bottom:1px solid var(--border-color);padding-bottom:4px;color:var(--text-primary)!important}.editor-wrapper .editor-preview p,.editor-wrapper .editor-preview li,.editor-wrapper .editor-preview-side p,.editor-wrapper .editor-preview-side li{color:var(--text-secondary)!important}.editor-wrapper .editor-preview blockquote,.editor-wrapper .editor-preview-side blockquote{border-left:4px solid var(--accent-primary);background:var(--bg-tertiary);margin:8px 0;padding:8px 16px;color:var(--text-secondary)!important}.editor-wrapper .editor-preview a,.editor-wrapper .editor-preview-side a{color:var(--accent-primary)!important}.editor-wrapper .editor-preview code,.editor-wrapper .editor-preview pre,.editor-wrapper .editor-preview-side code,.editor-wrapper .editor-preview-side pre{border:1px solid var(--border-color);border-radius:4px;background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.editor-wrapper .CodeMirror-fullscreen{background:var(--bg-primary)!important;color:var(--text-primary)!important}.editor-wrapper .editor-toolbar.fullscreen{background:var(--bg-tertiary)!important}.editor-wrapper .CodeMirror-selected{background-color:#fff3!important}.editor-wrapper .CodeMirror-focused .CodeMirror-selected{background-color:#ffffff4d!important}.editor-wrapper .CodeMirror ::selection{color:inherit;background:#ffffff4d}.editor-wrapper .CodeMirror .cm-header-1{font-size:1.5rem;line-height:1.4}.editor-wrapper .CodeMirror .cm-header-2{font-size:1.3rem;line-height:1.4}.editor-wrapper .CodeMirror .cm-header-3{font-size:1.15rem;line-height:1.4}.ai-chat-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#14141e99,#1e142866);border:1px solid #ffffff14;border-radius:16px;align-items:stretch;gap:12px;min-height:200px;padding:16px;display:flex;box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.model-selector{background:var(--bg-secondary);border-color:var(--border-color);width:150px;font-size:.875rem}.prompt-input{color:var(--text-primary);resize:none;background:#0003;border:1px solid #ffffff0d;border-radius:12px;flex:1;padding:16px 20px;font-family:inherit;font-size:.95rem;line-height:1.6;transition:all .3s cubic-bezier(.4,0,.2,1)}.prompt-input:focus{background:#0006;border-color:#8b5cf680;outline:none;box-shadow:0 0 0 4px #8b5cf61a}.chat-actions{flex-direction:column;justify-content:flex-end;gap:8px;height:100%;display:flex}.icon-btn{background:var(--bg-secondary);width:40px;height:40px;color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-primary);background:#ffffff1a}.send-btn{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 20px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #8b5cf64d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf680}.send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{animation:1s linear infinite spin}.logs-modal-overlay{z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.logs-modal{flex-direction:column;width:100%;max-width:1200px;height:90vh;animation:.3s cubic-bezier(.4,0,.2,1) modalSlideUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logs-header{border-bottom:1px solid var(--border-color);background:#ffffff08;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.header-title{align-items:center;gap:12px;display:flex}.header-title h3{margin:0;font-size:1.25rem;font-weight:700}.header-actions{align-items:center;gap:12px;display:flex}.clear-btn{color:var(--text-muted);border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:600}.clear-btn:hover{color:#ff4d4d;background:#ff4d4d1a}.close-btn{color:var(--text-muted);justify-content:center;align-items:center;padding:4px;display:flex}.close-btn:hover{color:var(--text-primary);transform:rotate(90deg)}.logs-content{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.no-logs{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-style:italic;display:flex}.log-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;transition:transform .2s;overflow:hidden}.log-item:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.log-meta{border-bottom:1px solid var(--border-color);background:#0003;align-items:center;gap:16px;padding:12px 16px;display:flex}.log-time{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.log-status{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.status-success{color:#10b981;background:#10b9811a}.status-loading{color:#3b82f6;background:#3b82f61a}.status-error{color:#ef4444;background:#ef44441a}.log-model{color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;margin-left:auto;padding:2px 8px;font-size:.75rem}.log-details{flex-direction:column;gap:16px;padding:16px;display:flex}.log-section{flex-direction:column;gap:6px;display:flex}.log-section label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:.7rem;font-weight:700}.log-text{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text-primary);background:#0000001a;border-radius:6px;padding:10px;font-size:.875rem;line-height:1.5}.log-text.italic{color:var(--text-secondary);font-style:italic}.log-text.response{color:#d8b4fe;border-left:2px solid var(--accent-primary);background:#8b5cf60d}.log-text.error{color:#fca5a5}.copy-log-btn{color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.copy-log-btn:hover{color:var(--text-primary);background:#ffffff1a}.prompt-library-container{flex-direction:column;gap:24px;height:100%;padding:16px;display:flex;overflow-y:auto}.prompt-section{flex-direction:column;gap:12px;display:flex}.section-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:flex}.section-actions{align-items:center;gap:4px;display:flex}.action-btn{width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.action-btn:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.tag-cloud{flex-wrap:wrap;gap:8px;padding:4px;display:flex}.prompt-tag{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.01em;background:#ffffff08;border-radius:10px;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.prompt-tag:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #8b5cf640}.prompt-tag:active{background:var(--accent-primary);color:#fff;transition:all 50ms;transform:translateY(0)scale(.96)}.prompt-section:first-child .prompt-tag:hover{border-color:var(--accent-secondary);box-shadow:0 8px 25px #3b82f640}.prompt-section:first-child .prompt-tag:active{background:var(--accent-secondary)}.prompt-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.prompt-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:1200px;max-width:95%;max-height:90vh;padding:32px;display:flex;box-shadow:0 20px 50px #0009}.prompt-modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.prompt-modal-header h3{color:var(--accent-primary);margin:0;font-size:1.5rem}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.close-btn:hover{color:var(--text-primary)}.prompt-modal-form{flex-direction:column;gap:16px;display:flex}.prompt-modal-form input,.prompt-modal-form textarea{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:14px 18px;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.1rem;line-height:1.6}.prompt-modal-form textarea{resize:vertical;min-height:500px}.prompt-modal-form input:focus,.prompt-modal-form textarea:focus{border-color:var(--accent-primary)}.prompt-modal-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.context-menu{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:1000;border-radius:6px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 4px 12px #00000080}.context-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 20px;font-size:1rem;display:flex}.context-menu-item:hover{background:var(--bg-tertiary)}.context-menu-item.delete{color:#ef4444}.context-menu-item.delete:hover{background:#ef44441a}.story-manager-container{flex-direction:column;gap:24px;height:100%;padding:20px;display:flex;overflow-y:auto}.sm-section{flex-direction:column;gap:16px;display:flex}.sm-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:.75rem;font-weight:700;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.search-input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 10px 10px 42px;font-size:.875rem;transition:all .3s}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--border-highlight);background:var(--bg-tertiary)}.story-list{flex-direction:column;gap:10px;display:flex}.story-card{background:var(--bg-panel);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.story-card:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translate(4px)}.story-card.active{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:var(--shadow-glow);animation:2s infinite activePulse}@keyframes activePulse{0%{box-shadow:0 0 #8b5cf666}70%{box-shadow:0 0 0 10px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.story-date{color:var(--text-muted);font-size:.65rem;font-weight:500}.story-card.active:before{content:"";background:var(--accent-primary);border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.story-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.story-title{color:var(--text-primary);flex:1;padding-right:12px;font-size:.9375rem;font-weight:600;line-height:1.4}.story-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.story-card:hover .story-actions{opacity:1}.story-action-btn{color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.story-action-btn:hover{color:var(--text-primary);background:#ffffff0d}.story-action-btn.delete:hover{color:#ff4d4d;background:#ff4d4d1a}.story-tags{flex-wrap:wrap;gap:6px;display:flex}.story-tag-badge{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.02em;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:700}.active .story-tag-badge{background:var(--accent-primary);color:#fff;border-color:#0000}.story-manager-container .tag-cloud{flex-wrap:wrap;gap:8px;display:flex}.story-manager-container .prompt-tag{border-radius:10px;padding:5px 12px;font-size:.75rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.story-manager-container .prompt-tag.active{background:var(--accent-primary);color:#fff;border-color:#0000;box-shadow:0 4px 12px #8b5cf64d}.clear-filter-btn{text-transform:uppercase;color:var(--accent-primary);opacity:.8;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700;transition:all .2s}.clear-filter-btn:hover{opacity:1;background:#8b5cf61a}.settings-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:520px;max-width:95vw;max-height:85vh;padding:28px;overflow-y:auto;box-shadow:0 20px 60px #0009}.settings-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-title{color:var(--text-primary);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.settings-hint{color:var(--text-muted);margin-bottom:20px;font-size:.8125rem;line-height:1.5}.model-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.model-empty{color:var(--text-muted);text-align:center;border:1px dashed var(--border-color);border-radius:8px;padding:16px;font-size:.875rem}.model-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.model-card-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.model-badge{background:var(--accent-primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:.7rem;font-weight:700}.model-display-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.model-id-text{color:var(--text-muted);font-family:monospace;font-size:.75rem}.model-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.key-toggle-btn{color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;max-width:160px;padding:4px 8px;font-family:monospace;font-size:.75rem;display:flex;overflow:hidden}.key-toggle-btn:hover{color:var(--text-primary)}.delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.delete-btn:hover{background:#ef44441a}.add-model-btn{border:1px dashed var(--border-color);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.875rem;transition:all .2s;display:flex}.add-model-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.add-model-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:10px;margin-top:8px;padding:16px;display:flex}.add-model-form label{color:var(--text-secondary);margin-bottom:-4px;font-size:.8125rem;font-weight:600}.optional-tag{color:var(--text-muted);font-size:.75rem;font-weight:400}.add-model-form select,.add-model-form input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:.875rem}.add-model-form select:focus,.add-model-form input:focus{border-color:var(--accent-primary)}.form-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.btn-primary{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.875rem;font-weight:600}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:8px 18px;font-size:.875rem;font-weight:500}.btn-secondary:hover{background:var(--bg-secondary)}.resizable-layout{background:var(--bg-primary);flex:1;gap:0;padding:12px;display:flex;overflow:hidden}.resizable-col{border-radius:16px;flex-direction:column;height:100%;display:flex;overflow:hidden}.col-left{background:var(--bg-secondary);flex-shrink:0}.col-center{background:var(--bg-secondary);border:1px solid var(--border-highlight);flex:1;min-width:300px;margin:0 4px;box-shadow:0 0 40px #0000004d}.col-right{background:var(--bg-panel);flex-shrink:0}.resize-handle{cursor:col-resize;z-index:10;flex-shrink:0;justify-content:center;align-items:center;width:10px;transition:all .2s;display:flex;position:relative}.resize-handle:hover .resize-handle-dots,.resize-handle:active .resize-handle-dots{opacity:1;background:#8b5cf6b3;box-shadow:0 0 8px #8b5cf680}.resize-handle-dots{opacity:.5;background:#ffffff1a;border-radius:4px;width:3px;height:40px;transition:all .2s}.resize-handle:before{content:"";position:absolute;inset:0 -4px}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-header{background:var(--bg-panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:100;border-radius:0;justify-content:space-between;align-items:center;height:64px;min-height:64px;padding:0 24px;display:flex;box-shadow:0 4px 30px #0000001a}.brand-title{color:var(--text-primary);letter-spacing:-.03em;align-items:center;gap:12px;font-size:1.25rem;font-weight:800;display:flex}.brand-glow{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);border-radius:10px;justify-content:center;align-items:center;padding:8px;display:flex;box-shadow:0 0 20px #8b5cf64d}.brand-icon{color:#fff}.user-actions{align-items:center;gap:8px;display:flex}.user-profile{border:1px solid var(--border-color);background:#ffffff08;border-radius:100px;align-items:center;gap:12px;padding:4px 12px 4px 4px;display:flex}.avatar-ring{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:50%;padding:2px;display:flex}.avatar{background:var(--bg-tertiary);width:30px;height:30px;color:var(--text-secondary);border:1px solid #0003;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-details{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:.85rem;font-weight:600;line-height:1}.user-status{color:#10b981;align-items:center;gap:4px;font-size:.65rem;font-weight:500;display:flex}.user-status:before{content:"";background:#10b981;border-radius:50%;width:4px;height:4px;display:block}.divider-v{background:var(--border-color);width:1px;height:24px;margin:0 4px}.icon-button{width:40px;height:40px;color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;display:flex}.icon-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.icon-button.logout:hover{color:#ef4444;background:#ef44440d;border-color:#ef44444d}.primary-button.google-auth{color:#1f2937;background:#fff;border-radius:100px;align-items:center;gap:10px;padding:8px 16px;font-weight:700;display:flex}.primary-button.google-auth:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.loading-state{color:var(--text-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.pulse{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #8b5cf6b3}70%{transform:scale(1);box-shadow:0 0 0 10px #8b5cf600}to{transform:scale(.95);box-shadow:0 0 #8b5cf600}}.main-area{background:var(--bg-primary);flex:1;display:flex;overflow:hidden}.column{border-radius:16px;flex-direction:column;height:100%;display:flex;overflow:hidden}.column-left{background:var(--bg-secondary)}.column-center{background:var(--bg-secondary);border:1px solid var(--border-highlight);box-shadow:0 0 40px #0000004d}.column-right{background:var(--bg-panel)}.left-sidebar-content{flex-direction:column;gap:1rem;height:100%;display:flex}.left-tabs{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;padding:4px}.tab-content-wrapper{flex:1;overflow:hidden}.sidebar-tabs{gap:4px;margin-bottom:.5rem;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:.75rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.tab-btn:hover{color:var(--text-color);background:#ffffff0d}.tab-btn.active{color:var(--primary-color);background:#ffffff1a;box-shadow:0 4px 12px #0003}.tab-with-badge{position:relative}.badge{background:var(--accent-color);color:#fff;text-align:center;border:2px solid #0f172a;border-radius:10px;min-width:16px;padding:1px 5px;font-size:.65rem;position:absolute;top:-6px;right:-8px;box-shadow:0 2px 4px #0000004d}.sidebar-tab-content{flex:1;overflow:hidden}.placeholder-content{flex-direction:column;gap:16px;padding:24px;display:flex}.placeholder-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:.875rem;font-weight:600;display:flex}
