.save-status{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;animation:fadeIn .2s ease;transition:all .3s ease;min-width:70px}.save-status--hidden{opacity:0;visibility:hidden;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.save-status-icon{flex-shrink:0}.save-status--writing{background:#f9731626;color:#f97316}:root:not(.light) .save-status--writing{background:#f9731626;color:#f97316}.light .save-status--writing{background:#f9731633;color:#ea580c}.save-status--saving{background:#6366f126;color:#a5b4fc}.save-status--saved{background:#22c55e26;color:#22c55e}.save-status .spin{animation:spin 1s linear infinite}.auth-page-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.auth-page-container{background:var(--bg-secondary, #1e1e2e);border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 20px 40px #0006;animation:slideUp .3s ease}.auth-page-header{text-align:center;margin-bottom:1.5rem}.auth-logo{width:48px;height:48px;margin-bottom:.75rem}.auth-page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary, #fff);margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input-group{display:flex;align-items:center;gap:.75rem;background:var(--bg-tertiary, #2a2a3e);border:1px solid var(--border-color, #404060);border-radius:10px;padding:0 1rem;transition:border-color .2s}.auth-input-group:focus-within{border-color:var(--primary-color, #7c3aed)}.auth-input-group svg{color:var(--text-secondary, #888);flex-shrink:0}.auth-input-group input{flex:1;background:transparent;border:none;padding:.875rem 0;font-size:1rem;color:var(--text-primary, #fff);outline:none}.auth-input-group input::placeholder{color:var(--text-tertiary, #666)}.auth-toggle-password{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:.25rem;display:flex;align-items:center}.auth-toggle-password:hover{color:var(--text-primary, #fff)}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.auth-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--text-tertiary, #666);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color, #404060)}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background:var(--bg-tertiary, #2a2a3e);border:1px solid var(--border-color, #404060);border-radius:10px;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;color:var(--text-primary, #fff);cursor:pointer;transition:all .2s}.auth-google-btn:hover:not(:disabled){background:var(--bg-hover, #353550);border-color:var(--text-tertiary, #666)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch-mode{text-align:center;margin-top:1.25rem;color:var(--text-secondary, #888);font-size:.875rem}.auth-switch-mode button{background:transparent;border:none;color:var(--primary-color, #7c3aed);font-weight:600;cursor:pointer;font-size:inherit}.auth-switch-mode button:hover{text-decoration:underline}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:90%;width:400px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--color-bg-card);box-shadow:0 8px 32px #0000004d;border:1px solid var(--color-border);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;font-size:14px;color:var(--color-text);line-height:1.4}.toast-close{flex-shrink:0;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.toast-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.compile-preview-overlay{z-index:10000}.compile-preview-modal{background:var(--color-bg-card);border-radius:12px;width:min(95vw,900px);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden}.compile-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.compile-preview-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:600;color:var(--color-text)}.compile-preview-actions{display:flex;align-items:center;gap:8px}.settings-toggle{padding:8px;border-radius:6px;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;transition:all .2s}.settings-toggle:hover,.settings-toggle.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.compile-preview-body{display:flex;flex:1;overflow:hidden}.compile-settings-panel{width:280px;padding:20px;background:var(--color-bg-card);border-right:1px solid var(--color-border);overflow-y:auto}.compile-settings-panel h3{margin:0 0 16px;font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.setting-group{margin-bottom:18px}.setting-group>label{display:block;margin-bottom:8px;font-size:.875rem;color:var(--color-text)}.setting-group select,.setting-group input[type=text]{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.875rem}.setting-group input[type=range]{width:100%;margin-top:4px}.format-buttons{display:flex;gap:8px}.format-buttons button{flex:1;padding:10px 16px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-muted);font-weight:500;cursor:pointer;transition:all .2s}.format-buttons button:hover{border-color:var(--color-primary);color:var(--color-text)}.setting-group.checkboxes{display:flex;flex-direction:column;gap:10px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--color-text);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.compile-preview-panel{flex:1;padding:20px;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.preview-stats{display:flex;align-items:center;gap:20px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}.preview-stats span{display:flex;align-items:center;gap:6px}.preview-page-wrapper{flex:1;overflow:auto;display:flex;justify-content:center;padding:20px;background:var(--color-bg-secondary);border-radius:8px}.preview-page{background:#fff;color:#111;box-shadow:0 4px 20px #0000004d;font-family:Times New Roman,Times,serif;position:relative}.preview-page.page-a4{width:280px;min-height:396px}.preview-page.page-letter{width:275px;min-height:355px}.preview-page.page-a5{width:200px;min-height:283px}.preview-title-block{text-align:center;padding:30px 0 20px;border-bottom:1px solid #ddd;margin-bottom:12px}.preview-main-title{font-size:1.2em;font-weight:700;margin-bottom:8px}.preview-by{font-size:.7em;color:#666;font-style:italic}.preview-author{font-size:.85em;margin-top:4px}.preview-toc{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed #ccc}.preview-toc-title{font-size:.9em;font-weight:700;text-align:center;margin-bottom:10px}.preview-toc-item{font-size:.7em;display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.preview-toc-dots{flex:1;overflow:hidden;color:#999}.preview-content{padding-top:8px}.preview-chapter{margin-bottom:12px}.preview-chapter-title{font-size:.85em;font-weight:700;margin-bottom:6px}.preview-ornament{text-align:center;color:#888;margin:8px 0;font-size:.8em}.preview-text{font-size:.7em;line-height:1.5;margin:0;text-align:justify;color:#333}.preview-page-number{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.65em;color:#666}.compile-preview-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.cancel-btn{padding:10px 20px;border-radius:6px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--color-bg-card);color:var(--color-text)}.export-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:6px;border:none;background:var(--color-primary);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.export-btn:hover:not(:disabled){background:var(--color-primary-light)}.export-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 700px){.compile-preview-body{flex-direction:column}.compile-settings-panel{width:100%;border-right:none;border-bottom:1px solid var(--color-border);max-height:200px}.preview-page{transform:scale(.8);transform-origin:top center}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/app/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/app/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/app/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/app/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/app/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/app/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/app/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/app/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/app/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/app/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/app/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/app/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/app/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/app/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/app/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/app/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/app/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/app/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/app/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/app/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/app/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/app/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/app/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/app/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/app/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/app/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/app/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/app/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/app/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/app/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/app/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/app/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/app/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/app/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/app/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/app/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/app/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Size3-Regular-gV2CO0n9.woff2) format("woff2"),url(/app/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/app/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/app/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/app/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/app/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/app/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.tiptap-container{height:100%;display:flex;flex-direction:column}.editor-scroller{flex:1;overflow-y:auto;padding:16px var(--editor-padding, 20px) 100px;display:flex;flex-direction:column;min-height:0;background-color:var(--color-surface-alt, #1a1a2e)}[data-theme=light] .editor-scroller{background-color:#e8e4df;background-image:radial-gradient(circle at 20% 20%,rgba(0,0,0,.02) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,0,0,.03) 0%,transparent 50%)}[data-theme=dark] .editor-scroller{background-color:#1a1a2e;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.01) 0%,transparent 50%)}.editor-scroller>.tiptap,.editor-scroller>.ProseMirror{flex:1 0 auto;min-height:calc(100vh - 120px);cursor:text;background-color:#fff!important;color:#1a1a2e!important;border-radius:2px;box-shadow:0 1px 3px #0000001f,0 4px 12px #00000014;padding:32px 40px;margin-top:8px;margin-bottom:40px}[data-theme=light] .editor-scroller>.tiptap,[data-theme=light] .editor-scroller>.ProseMirror{background-color:#fff!important;color:#1a1a2e!important;box-shadow:0 1px 3px #00000014,0 4px 16px #0000000f}[data-theme=dark] .editor-scroller>.tiptap,[data-theme=dark] .editor-scroller>.ProseMirror{background-color:#0f0f1a!important;color:#e8e4df!important;box-shadow:0 1px 3px #0000004d,0 4px 16px #0003}.font-merriweather .ProseMirror,.font-merriweather .mobile-editor-content{font-family:Merriweather,Georgia,serif!important}.font-literata .ProseMirror,.font-literata .mobile-editor-content{font-family:Literata,Georgia,serif!important}.font-source-serif .ProseMirror,.font-source-serif .mobile-editor-content{font-family:"Source Serif 4",Georgia,serif!important}.font-crimson-pro .ProseMirror,.font-crimson-pro .mobile-editor-content{font-family:Crimson Pro,Georgia,serif!important}.font-lora .ProseMirror,.font-lora .mobile-editor-content{font-family:Lora,Georgia,serif!important}.font-jetbrains-mono .ProseMirror,.font-jetbrains-mono .mobile-editor-content{font-family:JetBrains Mono,Fira Code,monospace!important}.line-height-1-5 .ProseMirror,.line-height-1-5 .ProseMirror p{line-height:1.5!important}.line-height-1-8 .ProseMirror,.line-height-1-8 .ProseMirror p{line-height:1.8!important}.line-height-2-0 .ProseMirror,.line-height-2-0 .ProseMirror p{line-height:2!important}.paragraph-width-narrow .ProseMirror{max-width:520px;margin-left:auto;margin-right:auto}.paragraph-width-medium .ProseMirror{max-width:680px;margin-left:auto;margin-right:auto}.paragraph-width-wide .ProseMirror{max-width:800px;margin-left:auto;margin-right:auto}.paragraph-width-full .ProseMirror{max-width:100%}.font-size-small .ProseMirror,.font-size-small .mobile-editor-content{font-size:1rem!important}.font-size-medium .ProseMirror,.font-size-medium .mobile-editor-content{font-size:1.125rem!important}.font-size-large .ProseMirror,.font-size-large .mobile-editor-content{font-size:1.25rem!important}.page-break-node{-webkit-user-select:none;user-select:none;cursor:default;margin:0;padding:0;position:relative}.page-break-end{height:40px;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.02) 100%);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 8px #0000000f,0 2px 4px #0000000a;border-radius:0 0 4px 4px;margin-left:-24px;margin-right:-24px;position:relative}.page-break-gap{height:24px;background:#e5e0db;margin-left:-48px;margin-right:-48px;margin-top:-1px;position:relative}.page-break-start{height:40px;background:linear-gradient(to top,transparent 0%,rgba(255,255,255,.5) 100%);border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 8px #0000000a,0 -2px 4px #00000005;border-radius:4px 4px 0 0;margin-left:-24px;margin-right:-24px;margin-top:-1px}[data-theme=dark] .page-break-end{background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.02) 100%);border-bottom-color:#ffffff1a;box-shadow:0 4px 8px #0000004d,0 2px 4px #0003}[data-theme=dark] .page-break-gap{background:#1b1b2f}[data-theme=dark] .page-break-start{background:linear-gradient(to top,transparent 0%,rgba(255,255,255,.03) 100%);border-top-color:#ffffff14;box-shadow:0 -4px 8px #0000004d,0 -2px 4px #0003}.page-break-simple .page-break-end{height:1px;background:transparent;border-bottom:2px dashed var(--color-border, #e5e7eb);box-shadow:none;border-radius:0;margin:32px 0}.page-break-simple .page-break-gap,.page-break-simple .page-break-start{display:none}[data-theme=dark] .page-break-simple .page-break-end{border-bottom-color:#fff3}.page-break-node.ProseMirror-selectednode{outline:2px solid var(--color-primary, #8b5cf6);outline-offset:4px;border-radius:8px}.document-enter{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.save-indicator{position:fixed;bottom:80px;right:20px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #22c55e4d;z-index:1000;animation:savePopIn .3s ease-out,savePopOut .3s ease-in 1.5s forwards}@keyframes savePopIn{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes savePopOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mobile-editor-content{font-family:Merriweather,Georgia,serif;font-size:1.125rem;line-height:1.7;color:var(--color-text)}.mobile-editor-content p{margin-bottom:1em}.mobile-editor-content h1{font-size:1.75rem;font-weight:700;margin-top:1.5em;margin-bottom:.8em;line-height:1.3}.mobile-editor-content h2{font-size:1.4rem;font-weight:600;margin-top:1.4em;margin-bottom:.6em}.mobile-editor-content blockquote{border-left:3px solid var(--color-primary);padding-left:1em;margin-left:0;margin-right:0;font-style:italic;color:var(--color-text-muted)}.mobile-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-muted);pointer-events:none;height:0;opacity:.5}.bubble-menu-mobile{display:flex;background:var(--color-bg-card);padding:6px;border-radius:12px;box-shadow:0 4px 12px #0003;border:1px solid var(--color-border);gap:4px;animation:fadeIn .1s ease}.bubble-menu-mobile button{border:none;background:transparent;color:var(--color-text);padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.bubble-menu-mobile button:active,.bubble-menu-mobile button.is-active{background:var(--color-primary);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bubble-menu-image button{font-weight:700;font-size:.875rem;min-width:36px}.bubble-menu-image button svg{width:16px;height:16px}.mobile-editor-toolbar{position:fixed;bottom:calc(var(--panel-indicator-height) + max(12px,var(--safe-area-bottom)));left:0;right:0;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;padding:12px 8px;background:var(--color-bg-card);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #0000001a;z-index:99;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-editor-toolbar::-webkit-scrollbar{display:none}.toolbar-doc-title{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;padding:4px 8px;background:var(--color-bg-hover);border-radius:6px;flex-shrink:0}.tiptap-container.toolbar-top{display:flex;flex-direction:column-reverse}.tiptap-container.toolbar-top .mobile-editor-toolbar{position:sticky;top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--color-border);box-shadow:0 2px 8px #0000001a}.tiptap-container.toolbar-top .dropdown-menu.dropdown-up,.tiptap-container.toolbar-top .dropdown-menu{bottom:auto!important;top:100%!important;margin-top:4px!important;margin-bottom:0!important}@media (orientation: portrait){.mobile-editor-toolbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.mobile-editor-toolbar::-webkit-scrollbar{display:none}.mobile-editor-toolbar{-ms-overflow-style:none;scrollbar-width:none}.dropdown-menu{position:fixed;bottom:calc(80px + var(--safe-area-bottom));left:50%!important;right:auto!important;transform:translate(-50%)!important;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);max-width:calc(100vw - 32px);overflow-y:auto}.tiptap-container.toolbar-top .dropdown-menu{bottom:auto!important;top:calc(70px + var(--safe-area-top))!important;transform:translate(-50%)!important}}@media (orientation: landscape){.mobile-editor-toolbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.dropdown-menu{position:fixed;bottom:calc(60px + var(--safe-area-bottom));left:50%;transform:translate(-50%);max-width:80vw;width:max-content}.dropdown-menu.dropdown-right{left:50%;right:auto;transform:translate(-50%)}}.mobile-editor-toolbar button{min-width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);border-radius:8px;cursor:pointer;transition:all .2s ease}.mobile-editor-toolbar button:active{background:var(--color-bg-secondary);transform:scale(.94)}.mobile-editor-toolbar button.is-active{background:var(--color-primary);color:#fff}.toolbar-divider{width:1px;height:24px;background:var(--color-border);margin:0 4px;flex-shrink:0}.toolbar-dropdown{position:relative;flex-shrink:0}.toolbar-dropdown .dropdown-trigger{display:flex;align-items:center;gap:2px;padding:0 6px;min-width:50px}.toolbar-dropdown .chevron{opacity:.5}.dropdown-menu{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:8px;box-shadow:0 -4px 20px #0000004d;z-index:1000;min-width:140px;max-height:60vh;overflow-y:auto;animation:slideUp .15s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dropdown-menu.dropdown-right{animation:slideUpRight .15s ease-out}@keyframes slideUpRight{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;color:var(--color-text);border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s;min-width:unset;height:auto}.dropdown-menu button:hover,.dropdown-menu button:active{background:var(--color-bg-secondary)}.dropdown-menu button.active{background:var(--color-primary);color:#fff}.dropdown-menu button span{flex:1;text-align:left}.dropdown-divider{height:1px;background:var(--color-border);margin:6px 0}.dropdown-section-label{font-size:.75rem;color:var(--color-text-muted);padding:4px 12px;text-transform:uppercase;letter-spacing:.5px}.code-lang-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px}.code-lang-btn{padding:8px!important;font-size:.7rem!important;font-weight:600;text-align:center!important;justify-content:center!important;min-width:unset!important}.table-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px}.table-size-btn{padding:10px!important;font-size:.875rem!important;font-weight:700;text-align:center!important;justify-content:center!important;min-width:unset!important}.dropdown-advanced{min-width:200px}.bubble-menu-table button{min-width:32px;height:32px;padding:6px}.bubble-menu-table button.danger{color:#ef4444}.ProseMirror table{border-collapse:collapse;width:100%;margin:1rem 0;overflow:hidden;border-radius:8px;border:1px solid var(--color-border)}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-border);padding:8px 12px;text-align:left;position:relative}.ProseMirror th{background:var(--color-bg-secondary);font-weight:600}.ProseMirror .selectedCell{background:rgba(var(--color-primary-rgb, 99, 102, 241),.15)}.ProseMirror pre{background:var(--color-bg-secondary);border-radius:8px;padding:16px;overflow-x:auto;font-family:SF Mono,Fira Code,monospace;font-size:.875rem;margin:1rem 0}.ProseMirror pre code{background:none;padding:0;font-size:inherit}.editor-image{display:block;margin:1rem auto;border-radius:8px;max-width:100%;height:auto}.editor-image.size-small{width:40%;max-width:200px}.editor-image.size-medium{width:70%;max-width:400px}.editor-image.size-large{width:100%;max-width:100%}.editor-image:focus,.editor-image.ProseMirror-selectednode{outline:2px solid var(--color-primary);outline-offset:2px}.mention{color:#713fea;background-color:#713fea1a;padding:.1em .3em;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500}.mention:hover{background-color:#713fea33}.mention-list{background:var(--color-bg-secondary);border-radius:8px;box-shadow:0 8px 24px #0000004d;overflow:hidden;max-height:300px;overflow-y:auto;padding:4px;min-width:200px;z-index:9999}.mention-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:none;background:none;width:100%;text-align:left;border-radius:6px;cursor:pointer;transition:all .15s ease;color:var(--color-text)}.mention-item:hover,.mention-item.is-selected{background:#713fea;color:#fff}.mention-item-emoji{font-size:1.2em}.mention-item-name{flex:1;font-weight:500}.mention-item-type{font-size:.75em;opacity:.7;text-transform:uppercase}.entity-tooltip-modal{max-width:500px;width:90vw;max-height:80vh;overflow-y:auto;background:var(--color-bg-card);border-radius:20px;padding:24px;box-shadow:0 10px 40px #00000080;border:1px solid var(--color-border)}.entity-tooltip-title{display:flex;align-items:center;gap:12px}.entity-tooltip-emoji{font-size:2em}.entity-tooltip-type{display:inline-block;padding:4px 12px;background:#713fea;color:#fff;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase;margin-bottom:16px}.entity-tooltip-section{margin-top:20px}.entity-tooltip-section h4{font-size:.9em;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px}.entity-tooltip-tags{display:flex;flex-wrap:wrap;gap:6px}.entity-tag{padding:4px 10px;background:var(--color-bg);border-radius:12px;font-size:.85em}.mobile-editor-content:focus,.mobile-editor-content:focus-visible{outline:none!important}.ProseMirror:focus,.ProseMirror:focus-visible{outline:none!important}.ProseMirror-focused{outline:none!important}.comment-quote-preview{padding:12px 16px;background:var(--color-bg);border-left:3px solid var(--color-primary);border-radius:0 8px 8px 0;font-style:italic;font-size:.9rem;color:var(--color-text-muted);margin-bottom:16px}.textarea-mobile{width:100%;min-height:80px;resize:vertical;font-family:inherit;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:1rem;line-height:1.5}.textarea-mobile:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8b5cf633}.math-block-wrapper{margin:1rem 0;padding:16px;background:var(--color-bg-secondary);border-radius:12px;border:2px solid transparent;transition:border-color .2s ease}.math-block-wrapper.selected,.math-block-wrapper:hover,.math-block-wrapper.editing{border-color:var(--color-primary)}.math-block-display{cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center}.math-block-editor textarea{width:100%;min-height:80px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:.9rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;resize:vertical;margin-bottom:12px}.math-block-editor textarea:focus{outline:none;border-color:var(--color-primary)}.math-error{color:#ef4444;font-size:.85rem;margin-bottom:8px;padding:8px 12px;background:#ef44441a;border-radius:6px}.math-preview{padding:16px;background:var(--color-bg);border-radius:8px;margin-bottom:12px;text-align:center;min-height:50px;display:flex;align-items:center;justify-content:center}.math-actions{display:flex;gap:8px;justify-content:flex-end}.math-actions button{padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.math-actions button:first-child{background:var(--color-primary);color:#fff;border:none}.math-actions button:first-child:hover{opacity:.9}.math-actions button.cancel{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.math-actions button.cancel:hover{background:var(--color-bg)}.formula-btn{width:100%!important;justify-content:flex-start!important}.formula-btn svg{flex-shrink:0}.ProseMirror pre code .hljs-keyword,.ProseMirror pre code .hljs-selector-tag,.ProseMirror pre code .hljs-built_in{color:#c678dd}.ProseMirror pre code .hljs-string,.ProseMirror pre code .hljs-template-variable{color:#98c379}.ProseMirror pre code .hljs-number,.ProseMirror pre code .hljs-literal{color:#d19a66}.ProseMirror pre code .hljs-comment{color:#5c6370;font-style:italic}.ProseMirror pre code .hljs-function,.ProseMirror pre code .hljs-title{color:#61afef}.ProseMirror pre code .hljs-variable,.ProseMirror pre code .hljs-params{color:#e06c75}.ProseMirror pre code .hljs-type,.ProseMirror pre code .hljs-class{color:#e5c07b}.ProseMirror pre code .hljs-attr,.ProseMirror pre code .hljs-attribute{color:#d19a66}.ProseMirror pre code .hljs-tag,.ProseMirror pre code .hljs-name{color:#e06c75}.ProseMirror pre code .hljs-selector-class,.ProseMirror pre code .hljs-selector-id{color:#61afef}.ProseMirror pre code .hljs-operator,.ProseMirror pre code .hljs-punctuation{color:#abb2bf}.table-dimensions-container{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0}.dimension-input-group{display:flex;flex-direction:column;align-items:center;gap:8px}.dimension-input-group label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dimension-stepper{display:flex;align-items:center;gap:8px;background:var(--color-bg-secondary);border-radius:12px;padding:4px}.stepper-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:none;border-radius:8px;color:var(--color-text);font-size:1.25rem;font-weight:500;cursor:pointer;transition:all .2s ease}.stepper-btn:hover{background:var(--color-primary);color:#fff}.stepper-btn:active{transform:scale(.95)}.dimension-value{min-width:36px;text-align:center;font-size:1.5rem;font-weight:600;color:var(--color-text)}.dimension-separator{font-size:2rem;font-weight:300;color:var(--color-text-muted)}.table-preview-hint{text-align:center;font-size:.875rem;color:var(--color-text-muted);padding:12px 0;border-top:1px solid var(--color-border);margin-top:12px}.code-modal{max-width:420px;width:95vw}.code-modal .modal-body-mobile{overflow-y:auto;max-height:60vh}.code-lang-selector label,.code-preview-section label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.code-lang-grid-modal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.code-lang-option{padding:10px 2px;background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-lang-option:hover{background:var(--color-bg-card);border-color:var(--color-primary);transform:translateY(-2px)}.code-lang-option:active{transform:scale(.96)}.code-lang-option.selected{background:linear-gradient(135deg,var(--color-primary),#9333ea);color:#fff;border-color:transparent;box-shadow:0 4px 12px #7c3aed66}.code-preview-section{margin-top:16px}.code-preview{background:linear-gradient(135deg,#1e1e2e,#2d2d44);border-radius:14px;padding:16px;margin:0;overflow-x:auto;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.6;max-height:160px;overflow-y:auto;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 2px 8px #0000004d}.code-preview code{color:#a6e3a1;white-space:pre}.ProseMirror .spell-error,.spell-error{position:relative;cursor:pointer;text-decoration:underline wavy #ef4444;text-decoration-skip-ink:none;text-underline-offset:2px}.ProseMirror .spell-error:hover,.spell-error:hover{background:#ef44441a;border-radius:2px}.spell-suggestions-popup{position:fixed;z-index:10000;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:8px;min-width:180px;max-width:280px;animation:popupSlideUp .15s ease-out}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.spell-popup-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border);margin:-8px -8px 8px;background:#ef44441a;border-radius:12px 12px 0 0}.spell-popup-word{font-weight:600;color:#ef4444;font-size:.95rem}.spell-popup-label{font-size:.75rem;color:var(--color-text-muted)}.spell-suggestions-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.spell-suggestion-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--color-text);font-size:.95rem;text-align:left;border-radius:8px;cursor:pointer;transition:all .15s ease}.spell-suggestion-btn:hover{background:var(--color-primary);color:#fff;transform:translate(2px)}.spell-suggestion-btn svg{flex-shrink:0;color:var(--color-primary)}.spell-suggestion-btn:hover svg{color:#fff}.spell-popup-actions{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--color-border)}.spell-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--color-bg-secondary);border:none;color:var(--color-text-muted);font-size:.8rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.spell-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.spell-action-btn.add-dict:hover{background:#22c55e26;color:#22c55e}.spell-no-suggestions{padding:12px;text-align:center;color:var(--color-text-muted);font-size:.85rem;font-style:italic}.spell-lang-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.spell-lang-btn{padding:10px 8px;background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:8px;color:var(--color-text);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease;text-align:center}.spell-lang-btn:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.spell-lang-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff}.spell-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#8b5cf61a;border-radius:6px;font-size:.75rem;color:var(--color-primary);font-weight:500}.spell-indicator.loading{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.session-stats-widget{position:fixed;bottom:120px;right:16px;z-index:9998;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;padding:6px 12px;cursor:pointer;box-shadow:0 2px 12px #00000026;transition:all .2s ease;-webkit-user-select:none;user-select:none}.session-stats-widget:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-1px)}.session-stats-widget.expanded{border-radius:12px;padding:8px 12px}.session-stats-collapsed{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--color-text-muted)}.session-stats-collapsed svg{color:var(--color-primary);opacity:.8}.session-stats-value{color:var(--color-text);font-weight:600}.session-stats-separator{opacity:.4}.session-stats-chevron{margin-left:4px;opacity:.5}.session-stats-expanded{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.session-stats-header{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.session-stats-divider{height:1px;background:var(--color-border);margin:8px 0}.session-stats-row{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-text);padding:4px 0}.session-stats-row svg{color:var(--color-text-muted);flex-shrink:0}.session-stats-row.today{color:var(--color-primary);font-weight:500}.session-stats-row.today svg{color:var(--color-primary)}.find-replace-bar{position:sticky;top:0;z-index:200;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:8px 12px;box-shadow:0 2px 8px #0000001a}.find-replace-bar.find-replace-portal{position:fixed;top:0;left:0;right:0;z-index:9999;border-radius:0}.find-replace-row{display:flex;align-items:center;gap:8px}.find-replace-row.replace-row{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.find-replace-icon{color:var(--color-text-muted);flex-shrink:0}.find-replace-input{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;font-size:.9rem;color:var(--color-text);outline:none;transition:border-color .15s ease}.find-replace-input:focus{border-color:var(--color-primary)}.find-replace-input::placeholder{color:var(--color-text-muted)}.find-replace-toggle{padding:4px 8px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.find-replace-toggle:hover{background:var(--color-bg-secondary)}.find-replace-toggle.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.find-replace-count{font-size:.8rem;color:var(--color-text-muted);min-width:40px;text-align:center}.find-replace-nav{padding:4px;border-radius:4px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.find-replace-nav:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text)}.find-replace-nav:disabled{opacity:.3;cursor:not-allowed}.find-replace-action{padding:4px 12px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.find-replace-action:hover:not(:disabled){background:var(--color-bg-secondary)}.find-replace-action.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.find-replace-action.primary:hover:not(:disabled){opacity:.9}.find-replace-action:disabled{opacity:.4;cursor:not-allowed}.find-replace-close{padding:4px;border-radius:4px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;margin-left:4px}.find-replace-close:hover{background:var(--color-bg-secondary);color:var(--color-text)}.ProseMirror .search-result{background:#ffeb3b66;border-radius:2px}.ProseMirror .search-result.current{background:#ff980080;box-shadow:0 0 0 2px #ff98004d}.tiptap-container.novel-indent .ProseMirror p{text-indent:var(--indent-size, 1.5em)}.tiptap-container.novel-indent .ProseMirror h1+p,.tiptap-container.novel-indent .ProseMirror h2+p,.tiptap-container.novel-indent .ProseMirror h3+p,.tiptap-container.novel-indent .ProseMirror blockquote+p,.tiptap-container.novel-indent .ProseMirror hr+p{text-indent:0}.tiptap-container.novel-indent .ProseMirror>p:first-child{text-indent:0}.tiptap-container .editor-scroller{padding-left:var(--editor-padding, 20px);padding-right:var(--editor-padding, 20px)}.tiptap-container.show-paragraph-marks .ProseMirror p:after{content:"¶";color:var(--color-text-muted);opacity:.4;font-size:.85em;margin-left:4px;font-weight:400;pointer-events:none}.tiptap-container.show-paragraph-marks .ProseMirror br:after{content:"↵";color:var(--color-text-muted);opacity:.4;font-size:.85em;pointer-events:none}.tiptap-container.show-paragraph-marks .ProseMirror{word-spacing:.15em}.tiptap-container.show-paragraph-marks .ProseMirror h1:after,.tiptap-container.show-paragraph-marks .ProseMirror h2:after,.tiptap-container.show-paragraph-marks .ProseMirror h3:after,.tiptap-container.show-paragraph-marks .ProseMirror h4:after{content:"¶";color:var(--color-primary);opacity:.5;font-size:.6em;margin-left:8px;font-weight:400;pointer-events:none}.cards-search-container{padding:16px;background:var(--color-bg);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-border)}.cards-search-input{width:100%;padding:12px 16px 12px 44px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text);font-size:1rem;transition:all .2s ease}.cards-search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8b5cf61a}.cards-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.corkboard-filter-group{display:flex;gap:4px;padding:4px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px}.filter-icon-btn{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.filter-icon-btn:hover{background:#8b5cf61a;color:var(--color-primary-light)}.filter-icon-btn.active{background:linear-gradient(135deg,var(--color-primary) 0%,#06b6d4 100%);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.doc-card-premium{background:var(--color-bg-card);border-radius:16px;padding:16px;margin-bottom:12px;border:1px solid var(--color-border);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:12px}.doc-card-premium:active{transform:scale(.98);background:var(--color-bg-secondary)}.doc-card-header{display:flex;align-items:flex-start;gap:12px}.doc-icon-gradient{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 6px -1px #8b5cf633;flex-shrink:0}.doc-info{flex:1;min-width:0}.doc-title-premium{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-subtitle-premium{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.doc-content-preview-premium{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:12px;border-top:1px solid var(--color-border);opacity:.8}.doc-footer-premium{display:flex;align-items:center;justify-content:space-between;margin-top:4px;font-size:.75rem;color:var(--color-text-muted)}.doc-footer-stats{display:flex;align-items:center;gap:12px}.doc-stat-item{display:flex;align-items:center;gap:4px}.status-badge{padding:4px 8px;border-radius:6px;background:#8b5cf61a;color:var(--color-primary);font-weight:600;font-size:.7rem;text-transform:uppercase}.status-badge.empty{background:#94a3b81a;color:var(--color-text-muted)}.cards-grid{width:100%}.grid-card-wrapper{position:relative;transition:transform .15s ease,opacity .15s ease}.grid-card-wrapper.dragging{opacity:.5;transform:scale(.95)}.grid-card-wrapper.drag-over{transform:scale(1.02)}.grid-card-wrapper.drag-over:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px dashed var(--color-primary);border-radius:18px;pointer-events:none;z-index:1}.card-drag-handle{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;background:#0000004d;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:grab;z-index:5;opacity:0;transition:opacity .2s ease}.grid-card-wrapper:hover .card-drag-handle{opacity:1}.card-drag-handle:active{cursor:grabbing}.doc-card-premium.grid-card{margin-bottom:0;height:100%;min-height:180px}.doc-card-premium.grid-card .doc-icon-gradient{width:36px;height:36px}.doc-card-premium.grid-card .doc-title-premium{font-size:.95rem}.doc-content-preview-premium.grid-preview{-webkit-line-clamp:3;font-size:.8rem}.column-controls{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:24px;box-shadow:0 8px 24px #0006;z-index:100}.column-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-secondary);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.column-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.column-btn:disabled{opacity:.3;cursor:not-allowed}.column-count{font-size:.9rem;font-weight:600;color:var(--color-text);min-width:20px;text-align:center}@media (max-width: 768px) and (orientation: portrait){.column-controls,.canvas-controls{bottom:70px}}.synopsis-text{color:var(--color-primary-light);font-style:italic}.doc-meta-indicators{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--color-border);font-size:.75rem}.meta-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:#8b5cf614;color:var(--color-text-muted);cursor:default}.meta-indicator.notes{background:#fbbf241a}.meta-indicator.comments{background:#3b82f61a}.meta-indicator.links{background:#10b9811a}.doc-info-panel{position:fixed;top:0;right:0;width:320px;max-width:90vw;height:100vh;background:var(--color-bg);border-left:1px solid var(--color-border);box-shadow:-4px 0 24px #0003;z-index:1000;display:flex;flex-direction:column;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.doc-info-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.doc-info-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.doc-info-header .close-btn{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.doc-info-header .close-btn:hover{background:#ef44441a;color:#ef4444}.doc-info-content{flex:1;overflow-y:auto;padding:16px}.info-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.info-section:last-child{border-bottom:none}.info-section h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:.85rem;font-weight:600;color:var(--color-primary-light);text-transform:uppercase;letter-spacing:.05em}.synopsis-content{margin:0;padding:12px;background:#8b5cf60d;border-radius:8px;font-style:italic;color:var(--color-text);line-height:1.6}.notes-content{padding:12px;background:var(--color-bg-card);border-radius:8px;border:1px solid var(--color-border);font-size:.9rem;line-height:1.5;color:var(--color-text)}.notes-content p{margin:0 0 8px}.notes-content p:last-child{margin-bottom:0}.comments-list{display:flex;flex-direction:column;gap:12px}.comment-item{padding:12px;background:var(--color-bg-card);border-radius:8px;border-left:3px solid var(--color-primary)}.comment-item.footnote{border-left-color:#fbbf24}.comment-author{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--color-text-muted);margin-bottom:8px}.footnote-badge{padding:2px 6px;border-radius:4px;background:#fbbf2433;color:#fbbf24;font-size:.7rem;text-transform:uppercase}.comment-content{font-size:.9rem;color:var(--color-text);line-height:1.5}.related-docs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.related-docs-list li{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-card);border-radius:8px;color:var(--color-text);font-size:.9rem;cursor:pointer;transition:all .15s ease}.related-docs-list li:hover{background:#8b5cf61a;color:var(--color-primary-light)}.metadata-list{margin:0;padding:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px}.metadata-list dt{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.metadata-list dd{margin:0;font-size:.9rem;color:var(--color-text)}.empty-info{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.empty-info p{margin:0;font-size:.9rem}@media (max-width: 480px){.doc-info-panel{width:100vw;max-width:none}}.epub-preview-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg-secondary);overflow:hidden}.epub-folder-select{padding:16px}.epub-folder-select .section-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.epub-folder-select .section-header h3{margin:0;font-size:16px;font-weight:600}.epub-folder-select .section-hint{color:var(--color-text-secondary);font-size:13px;margin:0 0 16px}.folder-list{display:flex;flex-direction:column;gap:8px}.folder-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .15s ease;color:var(--color-text-primary)}.folder-item:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .1));border-color:var(--color-primary)}.folder-item .folder-name{flex:1;font-weight:500;text-align:left;color:var(--color-text-primary)}.folder-item .doc-count{font-size:12px;color:var(--color-text-secondary)}.epub-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);flex-shrink:0}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease}.toolbar-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toolbar-btn.active{background:var(--color-primary);color:#fff}.toolbar-btn.sepia.active{background:#d4a574}.toolbar-btn.disabled,.toolbar-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.toolbar-spacer{flex:1}.font-size-label{font-size:12px;color:var(--color-text-secondary);min-width:40px;text-align:center}.epub-toc{position:absolute;top:50px;left:0;width:250px;max-height:60%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:0 10px 10px 0;box-shadow:4px 0 16px #00000026;z-index:10;overflow:hidden;display:flex;flex-direction:column}.epub-toc h4{margin:0;padding:12px 16px;font-size:14px;font-weight:600;border-bottom:1px solid var(--color-border)}.toc-list{overflow-y:auto;padding:8px;flex:1}.toc-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--color-text-primary);transition:background .15s ease}.toc-item:hover{background:var(--color-bg-hover)}.toc-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.epub-reader-container{flex:1;position:relative;overflow:hidden;min-height:0}.epub-preview-panel.theme-light .epub-reader-container{background:#fff}.epub-preview-panel.theme-sepia .epub-reader-container{background:#f4ecd8}.epub-preview-panel.theme-dark .epub-reader-container{background:#1a1a1a}.epub-viewer{width:100%;height:100%}.epub-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--color-bg-secondary);color:var(--color-text-secondary)}.epub-loading .spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.epub-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg-secondary);color:var(--color-danger);padding:24px;text-align:center}.epub-error button{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:80px;display:flex;align-items:center;justify-content:center;background:#0000001a;border:none;cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease;z-index:5}.nav-btn:hover{background:#0003;color:var(--color-text-primary)}.nav-btn.prev{left:0;border-radius:0 8px 8px 0}.nav-btn.next{right:0;border-radius:8px 0 0 8px}.epub-preview-panel.theme-dark .nav-btn{background:#ffffff1a;color:#ffffff80}.epub-preview-panel.theme-dark .nav-btn:hover{background:#fff3;color:#fffc}.epub-preview-panel .empty-state-small{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;color:var(--color-text-secondary)}.epub-preview-panel .empty-state-small p{margin:0;font-size:14px}.font-menu-container{position:relative}.font-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 16px #00000026;padding:12px;z-index:20;min-width:160px}.font-size-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.font-size-row button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-hover);border:none;border-radius:6px;cursor:pointer;color:var(--color-text-primary)}.font-size-row button:hover{background:var(--color-primary);color:#fff}.font-size-row span{font-size:13px;font-weight:500;color:var(--color-text-primary)}.font-family-row{display:flex;gap:6px}.font-family-row button{flex:1;padding:8px 4px;background:var(--color-bg-hover);border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;color:var(--color-text-secondary);transition:all .15s ease}.font-family-row button:hover{color:var(--color-text-primary)}.font-family-row button.active{background:var(--color-primary);color:#fff}.progress-text{font-size:14px;font-weight:500}.progress-steps{display:flex;gap:8px;margin-top:8px}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .2s ease}.progress-dot.active{background:var(--color-primary);transform:scale(1.2);animation:pulse 1s ease-in-out infinite}.progress-dot.done{background:var(--color-success, #10b981)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.epub-error .error-message{margin:0;font-size:16px;font-weight:600}.epub-error .error-details{margin:0;font-size:13px;color:var(--color-text-secondary);max-width:280px}.font-menu-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.font-menu-section .section-label{display:block;font-size:11px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px;letter-spacing:.5px}.checkbox-row{display:flex;gap:12px}.checkbox-row label{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;color:var(--color-text-primary)}.checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.format-select{width:100%;padding:8px 12px;font-size:13px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);cursor:pointer}.format-select:hover{border-color:var(--color-primary)}.format-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 99, 102, 241),.2)}.heading-align-row{display:flex;gap:8px;flex-wrap:wrap}.heading-align-item{display:flex;align-items:center;gap:4px;flex:1;min-width:70px}.heading-align-item span{font-size:12px;font-weight:500;color:var(--color-text-secondary);min-width:20px}.format-select-small{flex:1;padding:4px 6px;font-size:11px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);cursor:pointer}.format-select-small:hover{border-color:var(--color-primary)}.format-select-small:focus{outline:none;border-color:var(--color-primary)}.font-menu.premium{min-width:280px;padding:0}.format-tabs{display:flex;border-bottom:1px solid var(--color-border);margin:0;padding:0}.format-tab{flex:1;padding:10px 12px;border:none;background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent;margin-bottom:-1px}.format-tab:hover{color:var(--color-text-primary);background:rgba(var(--color-primary-rgb, 99, 102, 241),.05)}.format-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.format-tab-content{padding:12px}.format-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.format-row:last-child{margin-bottom:0}.format-label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.format-controls{display:flex;align-items:center;gap:8px}.format-controls button{width:28px;height:28px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.format-controls button:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 99, 102, 241),.1)}.format-value{font-size:13px;font-weight:500;min-width:40px;text-align:center}.format-buttons{display:flex;gap:4px}.format-buttons button{padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);font-size:12px;cursor:pointer;transition:all .15s ease}.format-buttons button:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 99, 102, 241),.1)}.format-buttons button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.heading-grid{width:100%;border-collapse:collapse;font-size:12px}.heading-grid th{padding:6px 4px;color:var(--color-text-secondary);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.heading-grid td{padding:4px;text-align:center}.heading-grid .heading-level{font-weight:600;color:var(--color-primary);width:28px}.mini-select{padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);font-size:11px;cursor:pointer;min-width:36px}.mini-select:focus{outline:none;border-color:var(--color-primary)}.mini-btn{width:24px;height:24px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));color:var(--color-text-primary);cursor:pointer;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.mini-btn.italic{font-style:italic}.mini-btn.underline{text-decoration:underline}.mini-btn:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 99, 102, 241),.1)}.mini-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.device-menu-container{position:relative}.device-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 16px #00000026;padding:8px;z-index:20;min-width:140px}.device-menu-title{font-size:11px;text-transform:uppercase;color:var(--color-text-secondary);padding:4px 8px 8px;letter-spacing:.5px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.device-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--color-text-primary);transition:background .15s ease}.device-option:hover{background:var(--color-bg-hover)}.device-option.active{background:var(--color-primary-light);color:var(--color-primary)}.epub-reader-container.with-device-frame{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);overflow:hidden;padding:20px}.device-frame-wrapper{width:100%;height:100%}.device-frame-wrapper.device-iphone,.device-frame-wrapper.device-kindle,.device-frame-wrapper.device-ipad{position:relative;display:flex;flex-direction:column;box-shadow:0 0 0 1px #ffffff1a,0 25px 80px #0009,0 10px 30px #0006;flex-shrink:0}.device-frame-wrapper.device-iphone{width:280px;height:580px;border-radius:48px;background:linear-gradient(145deg,#2a2a2a,#1a1a1a);padding:12px;border:3px solid #3a3a3a}.device-frame-wrapper.device-iphone:before{content:"";position:absolute;top:18px;left:50%;transform:translate(-50%);width:90px;height:28px;background:#000;border-radius:20px;z-index:10;box-shadow:inset 0 0 3px #000c}.device-frame-wrapper.device-iphone .epub-viewer{border-radius:36px;background:#fff;overflow:hidden;flex:1}.device-frame-wrapper.device-kindle{width:320px;height:460px;border-radius:12px;background:linear-gradient(145deg,#3d3d3d,#2a2a2a);padding:20px 16px 45px;border:2px solid #4a4a4a}.device-frame-wrapper.device-kindle:after{content:"kindle";position:absolute;bottom:14px;left:50%;transform:translate(-50%);font-size:11px;font-weight:300;letter-spacing:4px;color:#666;text-transform:lowercase;font-family:system-ui,-apple-system,sans-serif}.device-frame-wrapper.device-kindle .epub-viewer{border-radius:4px;background:beige;overflow:hidden;flex:1;box-shadow:inset 0 0 10px #0000001a}.device-frame-wrapper.device-ipad{width:400px;height:540px;border-radius:28px;background:linear-gradient(145deg,#2f2f2f,#1f1f1f);padding:18px;border:3px solid #404040}.device-frame-wrapper.device-ipad:before{content:"";position:absolute;top:50%;right:-2px;transform:translateY(-50%);width:4px;height:50px;background:linear-gradient(180deg,#4a4a4a,#3a3a3a);border-radius:0 3px 3px 0}.device-frame-wrapper.device-ipad:after{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:8px;height:8px;background:#1a1a1a;border-radius:50%;border:1px solid #333}.device-frame-wrapper.device-ipad .epub-viewer{border-radius:8px;background:#fff;overflow:hidden;flex:1}.device-frame-wrapper .epub-viewer{flex:1;width:100%;height:100%}.epub-reader-container.with-device-frame .nav-btn{opacity:.5;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.epub-reader-container.with-device-frame .nav-btn:hover{opacity:.9;background:#00000080}.toolbar-btn.premium-locked{opacity:.5;cursor:not-allowed;position:relative}.toolbar-btn.premium-locked:hover{background:transparent;color:var(--color-text-secondary)}.premium-lock-badge{position:absolute;bottom:2px;right:2px;color:var(--color-warning, #f59e0b);background:var(--color-bg-card);border-radius:50%;padding:1px}.premium-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.premium-modal{background:var(--color-bg-card);border-radius:20px;padding:32px 24px;max-width:360px;width:100%;text-align:center;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.premium-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-secondary);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.premium-modal-close:hover{background:var(--color-bg);color:var(--color-text)}.premium-modal-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#8b5cf633,#06b6d433);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.premium-modal h3{font-size:1.5rem;font-weight:700;margin-bottom:12px;color:var(--color-text)}.premium-modal p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:20px}.premium-features-list{list-style:none;padding:0;margin:0 0 24px;text-align:left}.premium-features-list li{padding:8px 12px;font-size:.875rem;color:var(--color-text);background:var(--color-bg-secondary);border-radius:8px;margin-bottom:8px}.premium-upgrade-btn{display:inline-block;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;text-decoration:none;transition:all .2s ease}.premium-upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.new-project-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.new-project-modal{max-width:560px;max-height:85vh;width:95%}.new-project-body{display:flex;flex-direction:column;gap:20px;padding:20px;overflow-y:auto;max-height:60vh}.category-filter{display:flex;gap:10px;flex-wrap:wrap}.category-pill{padding:8px 16px;border-radius:24px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#ffffff0d,#ffffff05);color:var(--color-text-secondary, #999);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.category-pill:hover{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);color:var(--color-text, #fff);border-color:#fff3;transform:translateY(-1px)}.category-pill.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 4px 15px #6366f166}.template-search{position:relative;display:flex;align-items:center}.template-search .search-icon{position:absolute;left:14px;color:var(--color-text-muted, #666);pointer-events:none}.template-search input{width:100%;padding:12px 14px 12px 42px;background:linear-gradient(135deg,#0000004d,#0003);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--color-text, #fff);font-size:14px;transition:all .2s ease}.template-search input:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f126}.template-search input::placeholder{color:var(--color-text-muted, #666)}.template-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 550px){.template-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (max-width: 380px){.template-grid{grid-template-columns:repeat(2,1fr)}}.template-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 12px;background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);min-height:100px;position:relative;overflow:hidden}.template-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.15),transparent 70%);opacity:0;transition:opacity .3s ease}.template-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000040;border-color:#ffffff26;background:linear-gradient(145deg,#ffffff1a,#ffffff0a)}.template-card:hover:before{opacity:1}.template-card.selected{border-color:#6366f1;background:linear-gradient(145deg,#6366f126,#6366f10d);box-shadow:0 0 0 2px #6366f14d,0 8px 24px #6366f133}.template-card.selected:before{opacity:1}.template-icon-wrapper{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-radius:14px;color:#a5b4fc;transition:all .25s ease}.template-card:hover .template-icon-wrapper{background:linear-gradient(135deg,#6366f140,#8b5cf626);color:#c7d2fe;transform:scale(1.05)}.template-card.selected .template-icon-wrapper{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f166}.template-icon{transition:transform .2s ease}.template-name{font-size:12px;font-weight:600;text-align:center;color:var(--color-text-secondary, #aaa);line-height:1.3;transition:color .2s ease}.template-card:hover .template-name{color:var(--color-text, #fff)}.template-card.selected .template-name{color:#c7d2fe}.project-name-input{margin-top:4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.project-name-input label{display:block;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--color-text-secondary, #999)}.project-name-input .input-mobile{width:100%;padding:14px 16px;background:linear-gradient(135deg,#0000004d,#0003);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--color-text, #fff);font-size:15px;transition:all .2s ease}.project-name-input .input-mobile:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f126}.resize-handle{position:absolute;top:0;bottom:0;width:8px;cursor:col-resize;z-index:100;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.resize-handle:hover,.resize-handle:active{background:#8b5cf626}.resize-handle-left{right:-4px}.resize-handle-right{left:-4px}.resize-handle-bar{width:3px;height:48px;border-radius:3px;background:var(--color-border);opacity:.5;transition:all .15s ease}.resize-handle:hover .resize-handle-bar,.resize-handle:active .resize-handle-bar{background:var(--color-primary);opacity:1;height:64px}@media (min-width: 768px){.mobile-shell{display:flex;flex-direction:column;overflow:hidden}.panel-container{flex:1;position:relative;overflow:hidden}.panel-wrapper{display:flex;width:100%!important;height:100%;transform:none!important}.panel{position:relative;height:100%;border-right:1px solid var(--color-border);overflow:hidden;flex-shrink:0;width:auto!important}.panel-left,.panel-right{display:none}.panel-container[data-active-side=left] .panel-left{display:block;width:var(--left-panel-width, 25%)!important}.panel-container[data-active-side=left] .panel-center{flex:1;width:0!important;min-width:0}.panel-container[data-active-side=left] .panel-right,.panel-container[data-active-side=right] .panel-left{display:none}.panel-container[data-active-side=right] .panel-center{flex:1;width:0!important;min-width:0;order:1}.panel-container[data-active-side=right] .panel-right{display:block;width:var(--right-panel-width, 30%)!important;order:2}.panel-container[data-active-side=none] .panel-wrapper{display:block}.panel-container[data-active-side=none] .panel-center{width:100%!important;flex:none}.panel-container[data-active-side=none] .panel-left,.panel-container[data-active-side=none] .panel-right{display:none}.panel-indicator{display:none!important}.top-bar{padding-left:20px;padding-right:20px}}@media (min-width: 1024px){.panel-container[data-active-side=left] .panel-wrapper{grid-template-columns:var(--left-panel-width, 25%) calc(100% - var(--left-panel-width, 25%))}.panel-container[data-active-side=right] .panel-wrapper{grid-template-columns:calc(100% - var(--right-panel-width, 30%)) var(--right-panel-width, 30%)}}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;position:absolute;top:0;left:0;z-index:2}.avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);flex-shrink:0;position:relative}.user-dropdown-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--color-border);background:var(--color-bg-secondary);position:relative}.user-dropdown-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}:root{--color-bg: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-card: #1a1a24;--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-accent: #06b6d4;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #2a2a3a;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Playfair Display", Georgia, serif;--top-bar-height: 48px;--panel-indicator-height: 48px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}.beta-badge{display:inline-block;padding:2px 6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:4px;margin-left:6px;vertical-align:middle}.light{--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-card: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;min-height:100vh;min-height:100dvh;width:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.mobile-shell{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.top-bar{height:calc(var(--top-bar-height) + var(--safe-area-top));padding-top:var(--safe-area-top);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding-left:max(16px,var(--safe-area-left));padding-right:max(16px,var(--safe-area-right));flex-shrink:0;z-index:100}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:8px}.top-bar-title{font-size:1.125rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.top-bar-subtitle{font-size:1rem;font-weight:600;color:var(--color-text)}.panel-container{flex:1;position:relative;overflow:hidden}.top-bar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:12px}.panel-wrapper{display:flex;width:300%;height:100%;transition:transform .3s ease-out}.panel{width:33.333%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.panel-indicator{position:fixed;bottom:0;left:0;right:0;height:calc(var(--panel-indicator-height) + max(0px,var(--safe-area-bottom)));padding-bottom:max(8px,var(--safe-area-bottom));padding-top:8px;display:flex;align-items:flex-start;justify-content:center;gap:4px;background:var(--color-bg);z-index:100;box-sizing:border-box}.panel-dot-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:transparent;-webkit-tap-highlight-color:transparent;padding:0}.panel-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:all .2s ease;pointer-events:none}.panel-dot-wrapper.active .panel-dot{background:var(--color-primary);transform:scale(1.3)}.panel-dot-wrapper:active .panel-dot{background:var(--color-primary-light)}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);border-radius:12px;cursor:pointer;transition:background .2s ease;-webkit-tap-highlight-color:transparent}.icon-btn:active{background:var(--color-bg-card)}.icon-btn.active{color:var(--color-primary);background:#8b5cf61a}.icon-btn svg{width:24px;height:24px}.icon-btn.premium-locked{opacity:.5;cursor:not-allowed;position:relative}.icon-btn.premium-locked:hover,.icon-btn.premium-locked:active{background:transparent;color:var(--color-text)}.icon-btn .premium-lock-badge{position:absolute;bottom:6px;right:6px;color:var(--color-warning);background:var(--color-bg-secondary);border-radius:50%;padding:1px}.google-drive-btn{position:relative}.google-g-icon{font-family:Product Sans,Arial,sans-serif;font-size:18px;font-weight:700;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.google-g-large{font-family:Product Sans,Arial,sans-serif;font-size:32px;font-weight:700;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.drive-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.drive-modal{background:var(--color-bg-card);border-radius:20px;padding:28px 24px;max-width:340px;width:100%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.drive-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-secondary);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.drive-modal-close:hover{background:var(--color-bg);color:var(--color-text)}.drive-modal-header{text-align:center;margin-bottom:24px}.drive-modal-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--color-bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center}.drive-modal-header h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:var(--color-text)}.drive-modal-header p{font-size:.875rem;color:var(--color-text-muted)}.drive-modal-options{display:flex;flex-direction:column;gap:10px}.drive-option-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.drive-option-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.drive-option-btn.premium-locked{opacity:.6;cursor:not-allowed}.drive-option-btn.premium-locked:hover{background:var(--color-bg-secondary);border-color:var(--color-border)}.drive-option-btn .option-lock{margin-left:auto;color:var(--color-warning)}.drive-option-btn.login-btn{background:var(--color-primary);border-color:var(--color-primary);color:#fff;justify-content:center}.drive-option-btn.login-btn:hover{background:var(--color-primary-light)}.drive-premium-notice{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px;margin-top:8px}.drive-premium-notice>svg{color:var(--color-warning);flex-shrink:0}.drive-premium-notice div{flex:1}.drive-premium-notice strong{font-size:.8125rem;font-weight:600;color:var(--color-text)}.drive-premium-notice p{font-size:.75rem;color:var(--color-text-muted);margin:0}.drive-upgrade-btn{padding:8px 16px;background:var(--color-warning);color:#000;font-size:.75rem;font-weight:600;border-radius:8px;text-decoration:none;transition:all .2s ease}.drive-upgrade-btn:hover{background:#f59e0b;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--color-bg-card);border-radius:16px;width:100%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d;overflow:hidden}.import-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border)}.import-modal .modal-header h3{display:flex;align-items:center;gap:10px;font-size:1.125rem;font-weight:600;margin:0}.import-modal .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.import-modal .close-btn:hover{background:var(--color-bg);color:var(--color-text)}.import-folder-info{padding:0 20px;margin:12px 0;font-size:.875rem;color:var(--color-text-muted)}.import-options{display:flex;flex-direction:column;gap:12px;padding:20px}.import-option-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:16px;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.import-option-btn:hover:not(:disabled),.import-option-btn.drag-over{background:var(--color-bg);border-color:var(--color-primary)}.import-option-btn.drag-over{background:#8b5cf626;transform:scale(1.02)}.import-option-btn:disabled{opacity:.5;cursor:not-allowed}.import-option-btn svg{color:var(--color-primary)}.import-option-btn small{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.import-option-btn small.warning{color:var(--color-warning)}.import-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;color:var(--color-text-muted);font-size:.875rem}.import-loading .spin{animation:spin 1s linear infinite}.import-error{padding:12px 20px;margin:0 20px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--color-danger);font-size:.875rem}.screenplay-preview-overlay{z-index:10001}.screenplay-preview-modal{background:var(--color-bg);border-radius:16px;max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #00000080}.screenplay-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.screenplay-preview-title{display:flex;align-items:center;gap:10px;font-size:1.125rem;font-weight:600}.screenplay-preview-actions{display:flex;align-items:center;gap:12px}.screenplay-export-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.screenplay-export-btn:hover:not(:disabled){background:var(--color-primary-light)}.screenplay-export-btn:disabled{opacity:.6;cursor:not-allowed}.screenplay-stats{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--color-bg-secondary);font-size:.8125rem;color:var(--color-text-muted)}.screenplay-stats span{display:flex;align-items:center;gap:6px}.screenplay-page-wrapper{flex:1;overflow-y:auto;padding:24px;background:var(--color-bg-secondary)}.screenplay-page{max-width:640px;min-height:800px;margin:0 auto;padding:60px 90px;background:#fff;color:#000;font-family:Courier Prime,Courier New,Courier,monospace;font-size:12px;line-height:1.5;box-shadow:0 4px 20px #0003}.screenplay-title-block{text-align:center;margin-bottom:48px;padding-top:180px}.screenplay-main-title{font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:24px}.screenplay-by{font-size:12px;margin-bottom:8px}.screenplay-author{font-size:14px}.screenplay-content{font-size:12px}.screenplay-element{margin-bottom:12px}.screenplay-scene-heading{text-transform:uppercase;font-weight:700;margin-top:24px;margin-bottom:12px}.screenplay-action{margin-left:0;margin-right:0}.screenplay-character{text-transform:uppercase;margin-left:166px;margin-top:12px;margin-bottom:0}.screenplay-dialogue{margin-left:96px;margin-right:96px;margin-bottom:0}.screenplay-parenthetical{margin-left:136px;margin-right:136px;margin-bottom:0;font-style:italic}.screenplay-transition{text-align:right;text-transform:uppercase;margin-top:12px;margin-bottom:12px}.screenplay-shot{text-transform:uppercase;margin-top:12px}.screenplay-general{margin-left:0}.settings-header{position:relative;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.settings-header h1{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text)}.close-settings-btn{position:absolute;top:50%;right:20px;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);font-size:1.5rem;font-weight:300;cursor:pointer;transition:all .2s ease}.close-settings-btn:active{background:var(--color-bg);border-color:var(--color-primary);transform:translateY(-50%) scale(.94)}.modal-overlay-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-mobile{background:var(--color-bg);border-radius:20px;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header-mobile{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border)}.modal-header-mobile h2{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text)}.modal-header-mobile .close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);border-radius:50%;cursor:pointer;transition:all .2s ease}.modal-header-mobile .close-btn:active{background:var(--color-bg-secondary);transform:scale(.9)}.modal-body-mobile{flex:1;overflow-y:auto;padding:20px}.modal-footer-mobile{display:flex;gap:12px;padding:20px;border-top:1px solid var(--color-border)}.form-group-mobile{margin-bottom:20px}.form-group-mobile label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:8px}.input-mobile,.textarea-mobile{width:100%;padding:12px 16px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:1rem;font-family:inherit;transition:all .2s ease}.input-mobile:focus,.textarea-mobile:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg)}.textarea-mobile{resize:vertical;min-height:100px}.btn-cancel,.btn-save{flex:1;padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:var(--color-bg-card);color:var(--color-text)}.btn-cancel:active{background:var(--color-bg-secondary);transform:scale(.96)}.btn-save{background:var(--color-primary);color:#fff}.btn-save:active{background:var(--color-primary-light);transform:scale(.96)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.cover-image-container{display:flex;flex-direction:column;align-items:center}.cover-image-preview{position:relative;width:140px;aspect-ratio:2 / 3;border-radius:8px;overflow:hidden;border:2px solid var(--color-border)}.cover-remove-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:none;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.cover-remove-btn:active{transform:scale(.9)}.cover-image-upload{width:140px;aspect-ratio:2 / 3;border:2px dashed var(--color-border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;background:var(--color-bg-card)}.cover-image-upload:active{border-color:var(--color-primary);color:var(--color-primary);background:#8b5cf60d}.cover-image-upload span{font-size:.75rem;font-weight:500}.avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:0;color:transparent;overflow:hidden;position:relative}.avatar svg{width:18px;height:18px;color:#fff;position:relative;z-index:1}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:absolute;top:0;left:0;z-index:2}.avatar .user-avatar-img{font-size:0;color:transparent}.panel-content{padding:20px;padding-left:max(20px,var(--safe-area-left));padding-right:max(20px,var(--safe-area-right))}.context-full{padding:0;display:flex;flex-direction:column;height:100%}.binder-tree{display:flex;flex-direction:column;gap:4px}.binder-item{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-bg-card);border-radius:12px;border:none;color:var(--color-text);font-size:.9375rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.binder-item:active{background:var(--color-bg-secondary)}.binder-item.selected{background:#8b5cf626;border-left:3px solid var(--color-primary)}.binder-item svg{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0}.binder-item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-wrapper{height:100%;display:flex;flex-direction:column;position:relative}.doc-info-toggle{position:absolute;top:12px;right:12px;z-index:50;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0000001a}.doc-info-toggle:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.doc-info-toggle:active{transform:scale(.95)}.editor-content{flex:1;overflow-y:auto;padding:16px;-webkit-user-select:text;user-select:text}.editor-content .ProseMirror{outline:none;min-height:100%}.editor-content .ProseMirror p{margin:0 0 1em}.context-section{margin-bottom:24px}.context-section-title{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.75px;margin-bottom:16px}.context-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-card);border-radius:12px;margin-bottom:8px}.context-item-icon{width:40px;height:40px;border-radius:10px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.context-item-icon svg{width:20px;height:20px;color:var(--color-primary)}.context-item-content{flex:1;min-width:0}.context-item-title{font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-item-description{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-group{margin-bottom:24px}.settings-group-title{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.75px;margin-bottom:16px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-bg-card);border-radius:12px;margin-bottom:8px}.settings-row-label{font-size:.9375rem}.toggle{width:52px;height:32px;background:var(--color-border);border-radius:16px;position:relative;cursor:pointer;transition:background .2s ease}.toggle.active{background:var(--color-primary)}.toggle:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle.active:after{transform:translate(20px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state-icon{width:80px;height:80px;margin-bottom:20px;color:var(--color-text-muted);opacity:.5}.empty-state-title{font-size:1.25rem;font-weight:700;margin-bottom:12px}.empty-state-description{font-size:.9375rem;color:var(--color-text-muted);max-width:300px;line-height:1.6}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-small svg{color:var(--color-text-muted);opacity:.4;margin-bottom:12px}.empty-state-small p{font-size:1rem;font-weight:600;margin-bottom:4px;color:var(--color-text)}.empty-state-small span{font-size:.875rem;color:var(--color-text-muted)}.corkboard-canvas-container{position:relative;width:100%;height:100%;overflow:hidden;background:var(--color-bg)}.infinite-canvas-container{flex:1;position:relative;overflow:hidden;cursor:grab;background:var(--color-bg)}.infinite-canvas-container.panning{cursor:grabbing}.infinite-canvas-container.connecting{cursor:crosshair}.infinite-canvas{position:absolute;width:10000px;height:10000px;background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:24px 24px;transform-origin:0 0}.canvas-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 12px #0000004d;z-index:100}.canvas-controls button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;transition:all .15s ease}.canvas-controls button:hover{border-color:var(--color-primary);color:var(--color-primary)}.canvas-controls button:active{transform:scale(.95)}.canvas-controls .zoom-level{font-size:.8rem;font-weight:600;color:var(--color-text-muted);min-width:48px;text-align:center}.canvas-controls .cancel-connect{background:#ef444426;border-color:var(--color-danger);color:var(--color-danger);width:auto;padding:0 12px;gap:6px}@media (max-width: 768px) and (orientation: portrait){.canvas-controls{bottom:70px}}.canvas-card{position:absolute;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;transition:box-shadow .2s ease,transform .1s ease}.canvas-card:hover{z-index:10}.canvas-card.dragging{z-index:100;box-shadow:0 12px 40px #0006!important;transform:scale(1.02)}.canvas-card.connecting-from{box-shadow:0 0 0 3px var(--color-primary),0 8px 24px #8b5cf64d!important}.canvas-card .card-connect-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .15s ease;z-index:5}.canvas-card:hover .card-connect-btn{opacity:1}.canvas-card .card-connect-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.connections-layer{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.connection-group{pointer-events:auto;cursor:pointer}.connection-line{stroke:var(--color-primary);stroke-width:2;fill:none;transition:stroke-width .15s ease}.connection-group:hover .connection-line{stroke-width:4}.connection-line-preview{stroke:var(--color-primary);stroke-width:2;stroke-dasharray:8 4;fill:none;opacity:.6}.connection-label{fill:var(--color-text);font-size:12px;font-weight:600;text-shadow:0 0 4px var(--color-bg),0 0 8px var(--color-bg)}.connection-handle-bg{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1;opacity:.9}.connection-handle{fill:var(--color-primary);stroke:none;cursor:pointer;transition:r .15s ease}.connection-group:hover .connection-handle{r:8}.canvas-empty-state{position:absolute;display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:16px;text-align:center}.canvas-empty-state h3{margin:0;font-size:1.25rem;color:var(--color-text)}.connection-edit-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:24px;width:90%;max-width:320px;display:flex;flex-direction:column;gap:16px}.connection-edit-modal h3{margin:0;font-size:1.125rem;color:var(--color-text)}.connection-label-input{width:100%;padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem;outline:none}.connection-label-input:focus{border-color:var(--color-primary)}.connection-colors{display:flex;gap:8px;justify-content:center}.connection-colors .color-btn{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .15s ease}.connection-colors .color-btn:hover{transform:scale(1.1)}.connection-colors .color-btn.active{border-color:#fff;box-shadow:0 0 0 2px var(--color-bg),0 0 8px #0000004d}.connection-edit-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end}.connection-edit-modal .btn-danger{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ef444426;border:1px solid var(--color-danger);border-radius:8px;color:var(--color-danger);font-weight:600;cursor:pointer}.corkboard-premium{padding:16px;height:100%;overflow-y:auto;background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:24px 24px}.corkboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-bottom:80px}@media (min-width: 768px){.corkboard-grid{grid-template-columns:repeat(3,1fr)}}.premium-card{background:var(--color-bg-card);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:200px;cursor:pointer}.premium-card:active{transform:scale(.98);box-shadow:0 2px 4px -1px #0000000f}.premium-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);opacity:0;transition:opacity .2s ease}.premium-card:hover:before{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-title{font-size:1rem;font-weight:700;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);flex-shrink:0;margin-top:6px}.card-content-preview{flex:1;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;position:relative}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.card-meta{display:flex;align-items:center;gap:4px}.premium-card.empty{border-style:dashed;background:transparent;align-items:center;justify-content:center;opacity:.7}.premium-card.empty:hover{opacity:1;border-color:var(--color-primary);background:#8b5cf60d}.cork-card-entity{background:linear-gradient(135deg,#1e1e28cc,#14141ee6);border:2px solid var(--color-primary);border-radius:16px;box-shadow:0 0 15px #8b5cf626;height:220px;display:flex;flex-direction:column;padding:16px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.cork-card-entity:active{transform:scale(.98);box-shadow:0 0 10px #8b5cf61a}.entity-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.entity-icon-wrapper{width:32px;height:32px;border-radius:8px;background:#8b5cf633;display:flex;align-items:center;justify-content:center;color:var(--color-primary-light)}.entity-type-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--color-text-muted)}.entity-title{font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:8px;line-height:1.2}.entity-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cork-card-doc{background:#f8fafc;color:#1e293b;border-radius:4px;height:220px;padding:20px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;position:relative;transition:transform .2s ease}.cork-card-doc:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:4px 4px 0 0}.cork-card-doc:active{transform:rotate(1deg) scale(.98)}.cork-card-doc .doc-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#1e293b!important;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.doc-preview{font-family:Georgia,serif;font-size:.85rem;line-height:1.6;color:#475569;flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,black 60%,transparent 100%);mask-image:linear-gradient(180deg,black 60%,transparent 100%)}.doc-footer{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:8px;font-size:.75rem;color:#64748b;font-weight:500}.cork-card-ghost{border:2px dashed var(--color-text-muted);border-radius:16px;height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);background:#ffffff08;cursor:pointer;transition:all .2s ease}.cork-card-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:#8b5cf60d}.clipboard-list-mobile{display:flex;flex-direction:column;gap:8px}.clipboard-item-mobile{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:12px;display:flex;gap:12px;align-items:flex-start}.clipboard-item-mobile.starred{border-color:#f59e0b;background:#f59e0b0d}.clipboard-item-mobile .clip-content{flex:1;min-width:0;cursor:pointer}.clipboard-item-mobile .clip-preview{font-size:.875rem;color:var(--color-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.clipboard-item-mobile .clip-time{font-size:.75rem;color:var(--color-text-muted);margin-top:6px}.clipboard-item-mobile .clip-actions{display:flex;gap:4px;flex-shrink:0}.clipboard-item-mobile .clip-actions button{width:32px;height:32px;border-radius:8px;border:none;background:var(--color-bg-secondary);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.clipboard-item-mobile .clip-actions button:active{transform:scale(.92)}.clipboard-item-mobile .clip-actions .star-btn.active{color:#f59e0b}.clipboard-item-mobile .clip-actions button.danger:active{color:var(--color-danger)}.clip-footer{padding:12px;text-align:center;font-size:.75rem;color:var(--color-text-muted)}.comment-replies-mobile{margin-top:8px;padding-left:12px;border-left:2px solid var(--color-border)}.comment-reply-mobile{display:flex;gap:10px;padding:8px 0}.comment-reply-mobile:not(:last-child){border-bottom:1px solid var(--color-border)}.reply-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;flex-shrink:0}.reply-content{flex:1;min-width:0}.reply-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.reply-author{font-size:.8rem;font-weight:600;color:var(--color-text)}.reply-time{font-size:.7rem;color:var(--color-text-muted)}.reply-text{font-size:.8rem;color:var(--color-text);line-height:1.4;margin:0}.comment-reply-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border)}.reply-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s ease}.reply-trigger:active{background:var(--color-bg-secondary);color:var(--color-primary)}.reply-input-container{display:flex;flex-direction:column;gap:8px}.reply-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);font-size:.875rem;resize:none;font-family:inherit}.reply-input:focus{outline:none;border-color:var(--color-primary)}.reply-actions{display:flex;justify-content:flex-end;gap:8px}.reply-cancel{padding:8px 14px;border-radius:6px;border:none;background:var(--color-bg-secondary);color:var(--color-text-muted);font-size:.8rem;cursor:pointer}.reply-submit{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:none;background:var(--color-primary);color:#fff;font-size:.8rem;font-weight:500;cursor:pointer}.reply-submit:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop-mobile{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.modal-content-mobile{background:var(--color-bg-secondary);border-radius:16px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--color-border);box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.modal-header-mobile{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-header-mobile h2{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--color-text)}.modal-close-mobile{background:none;border:none;padding:8px;cursor:pointer;color:var(--color-text-muted);border-radius:8px;transition:all .2s}.modal-close-mobile:active{background:var(--color-bg-card)}.modal-body-mobile{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.modal-footer-mobile{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border)}.modal-footer-mobile .btn-cancel{flex:1;padding:14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.modal-footer-mobile .btn-save{flex:1;padding:14px;border-radius:10px;border:none;background:var(--color-primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.modal-footer-mobile .btn-save:active{transform:scale(.98)}.metadata-section{display:flex;flex-direction:column;gap:8px}.metadata-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--color-text-muted)}.metadata-input,.metadata-textarea,.metadata-select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:15px;font-family:inherit;transition:border-color .2s}.metadata-input:focus,.metadata-textarea:focus,.metadata-select:focus{outline:none;border-color:var(--color-primary)}.metadata-textarea{resize:vertical;min-height:80px}.metadata-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cover-image-container{width:100%;max-width:180px;margin:0 auto}.cover-image-preview{position:relative;aspect-ratio:2/3;border-radius:10px;overflow:hidden;border:2px solid var(--color-border)}.cover-image-preview img{width:100%;height:100%;object-fit:cover}.remove-cover-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.change-cover-btn{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:6px;border:none;background:#000000b3;color:#fff;font-size:12px;cursor:pointer}.cover-upload-placeholder{aspect-ratio:2/3;border:2px dashed var(--color-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s;padding:20px;text-align:center}.cover-upload-placeholder:active{border-color:var(--color-primary)}.cover-upload-placeholder span{font-size:13px}.premium-toggle-section{padding:16px;background:var(--color-bg-card);border-radius:10px;border:1px solid var(--color-border)}.premium-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.premium-toggle-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);flex:1}.toggle-switch{width:50px;height:28px;background:var(--color-border);border-radius:14px;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.toggle-switch.active{background:var(--color-primary)}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:left .2s ease;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-knob{left:25px}.settings-notice{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#8b5cf626,#06b6d41a);border-radius:10px;font-size:14px;color:var(--color-text);border:1px solid rgba(139,92,246,.3)}.settings-section{display:flex;flex-direction:column;gap:8px}.settings-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--color-text-muted)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-toggle-row.disabled{opacity:.6}.settings-toggle-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);flex:1}.settings-hint{font-size:12px;color:var(--color-text-muted);margin:0;line-height:1.4}.ai-provider-options{display:flex;flex-direction:column;gap:10px}.ai-provider-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;transition:all .2s}.ai-provider-option.selected{border-color:var(--color-primary);background:#8b5cf61a}.ai-provider-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;margin-top:2px;position:relative}.ai-provider-option.selected .ai-provider-radio{border-color:var(--color-primary)}.ai-provider-option.selected .ai-provider-radio:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.ai-provider-content{display:flex;flex-direction:column;gap:4px}.ai-provider-content strong{font-size:14px;color:var(--color-text)}.ai-provider-content span{font-size:12px;color:var(--color-text-muted)}.recommended{color:#22c55e!important;font-size:11px!important;font-weight:500}.models-list{margin-top:8px}.show-models-btn{padding:8px 14px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-primary);font-size:12px;cursor:pointer}.models-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.model-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:12px;cursor:pointer}.model-btn.selected{border-color:var(--color-primary);background:#8b5cf633;color:var(--color-primary)}.reset-prompt-btn{background:none;border:none;color:var(--color-primary);font-size:12px;cursor:pointer;margin-left:8px;text-decoration:underline}.btn-reset{display:flex;align-items:center;gap:6px;padding:12px 16px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:13px;cursor:pointer}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.ai-chat-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.ai-chat-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--color-text-muted);padding:40px}.ai-chat-disabled svg{opacity:.3;margin-bottom:16px}.ai-chat-disabled h3{margin:0 0 8px;color:var(--color-text)}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.ai-chat-title{display:flex;align-items:center;gap:8px;font-weight:600}.ai-chat-model{font-size:.75rem;padding:2px 8px;background:var(--color-bg-card);border-radius:10px;color:var(--color-text-muted)}.ai-chat-context{font-size:.875rem}.ai-chat-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:6px;border-radius:4px}.ai-chat-clear:active:not(:disabled){color:var(--color-danger);background:#ef44441a}.ai-chat-clear:disabled{opacity:.3;cursor:not-allowed}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;color:var(--color-text-muted);padding:20px}.ai-chat-empty svg{opacity:.4;margin-bottom:12px}.ai-chat-empty p{margin:0 0 4px}.ai-chat-hint{font-size:.85rem;opacity:.7}.ai-chat-message{display:flex;gap:10px;align-items:flex-start}.ai-chat-message.user{flex-direction:row-reverse}.ai-chat-message-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-message.user .ai-chat-message-icon{background:var(--color-primary);color:#fff}.ai-chat-message.assistant .ai-chat-message-icon{background:var(--color-bg-card);color:var(--color-text-muted)}.ai-chat-message-content{padding:10px 14px;border-radius:12px;max-width:80%;line-height:1.5;font-size:.9rem;white-space:pre-wrap}.ai-chat-message.user .ai-chat-message-content{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.ai-chat-message.assistant .ai-chat-message-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-bottom-left-radius:4px}.ai-chat-thinking{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-style:italic}.markdown-content{line-height:1.6}.markdown-content p{margin:.5em 0}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:1em 0 .5em;font-weight:600}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content ul,.markdown-content ol{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin:.25em 0}.markdown-content code{background:var(--color-bg-card);padding:.1em .4em;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:.85em}.markdown-content pre{background:var(--color-bg-card);padding:12px;border-radius:8px;overflow-x:auto;margin:.5em 0}.markdown-content pre code{background:transparent;padding:0}.markdown-content blockquote{border-left:3px solid var(--color-primary);padding-left:1em;margin:.5em 0;color:var(--color-text-muted);font-style:italic}.markdown-content strong{font-weight:600}.markdown-content a{color:var(--color-primary);text-decoration:none}.markdown-content a:active{text-decoration:underline}.ai-thinking-block{margin:8px 0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.ai-thinking-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;color:var(--color-text-muted);font-size:.8rem;font-style:italic;cursor:pointer;transition:all .2s ease}.ai-thinking-toggle:active{background:#8b5cf61a;color:var(--color-text)}.ai-thinking-content{padding:12px;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted);background:var(--color-bg-secondary)}.ai-markdown-message{white-space:normal}.ai-chat-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--color-danger);font-size:.85rem}.ai-chat-input-area{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.ai-chat-refs{width:100%;display:flex;align-items:center;gap:6px;padding:6px 10px;background:#8b5cf61a;border-radius:6px;font-size:.75rem;color:var(--color-primary)}.ai-chat-input-area textarea{flex:1;padding:10px 14px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem;resize:none;font-family:inherit}.ai-chat-input-area textarea:focus{outline:none;border-color:var(--color-primary)}.ai-chat-send{padding:10px 14px;background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.ai-chat-send:active:not(:disabled){background:var(--color-primary-light)}.ai-chat-send:disabled{opacity:.5;cursor:not-allowed}.ai-chat-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:.75rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.user-badge{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;align-self:flex-start}.user-badge.premium{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;box-shadow:0 2px 4px #8b5cf64d}.user-badge.standard{background:var(--color-bg-secondary);color:var(--color-text-muted);border:1px solid var(--color-border)}.user-dropdown-section.auth-section{padding:12px 16px;border-bottom:1px solid var(--color-border)}.auth-btn{width:100%;padding:10px 16px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.auth-btn.login-btn{background:var(--color-primary);color:#fff;border:none;box-shadow:0 2px 4px #8b5cf64d}.auth-btn.login-btn:active{transform:scale(.98);background:var(--color-primary-light)}.auth-btn.logout-btn{background:transparent;color:var(--color-danger);border:1px solid rgba(239,68,68,.3)}.auth-btn.logout-btn:active{background:#ef44440d}.user-menu-container{position:relative;z-index:9999}.user-menu-trigger{position:relative;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.user-progress-ring{position:absolute;top:0;left:0;transform:rotate(-90deg)}.user-menu-trigger .avatar{position:relative;z-index:1}.user-menu-trigger.goal-complete .avatar{box-shadow:0 0 12px #22c55e80}.streak-badge{position:absolute;bottom:0;right:0;display:flex;align-items:center;gap:2px;padding:2px 5px;background:linear-gradient(135deg,#f97316,#fb923c);border-radius:10px;font-size:10px;font-weight:700;color:#fff;box-shadow:0 2px 6px #f9731666;z-index:2}.streak-badge svg{animation:pulse-flame 1s ease-in-out infinite}@keyframes pulse-flame{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 40px #0000004d;z-index:1000;overflow:hidden;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.user-dropdown-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff}.user-dropdown-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.user-dropdown-name{font-size:14px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-email{font-size:12px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-close{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.user-dropdown-close:active{background:var(--color-bg)}.user-dropdown-section{padding:16px}.user-dropdown-section-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.user-dropdown-section-header svg{color:var(--color-primary)}.user-dropdown-section-header .toggle-switch{margin-left:auto}.toggle-switch.mini{width:40px;height:22px;border-radius:11px}.toggle-switch.mini .toggle-knob{width:16px;height:16px;top:3px;left:3px}.toggle-switch.mini.active .toggle-knob{left:21px}.goals-content{display:flex;flex-direction:column;gap:14px}.goal-today{text-align:center;padding:16px;background:linear-gradient(135deg,#8b5cf61a,#06b6d41a);border-radius:12px;border:1px solid rgba(139,92,246,.2)}.goal-today-numbers{display:flex;align-items:baseline;justify-content:center;gap:4px}.goal-today-current{font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.goal-today-separator{font-size:20px;color:var(--color-text-muted)}.goal-today-target{font-size:20px;font-weight:600;color:var(--color-text-muted)}.goal-today-label{font-size:12px;color:var(--color-text-muted);margin-top:4px;display:block}.goal-progress-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.goal-progress-fill{height:100%;border-radius:4px;transition:width .3s ease;background:var(--gradient-primary)}.goal-streaks{display:flex;align-items:center;justify-content:center;gap:0;padding:12px;background:var(--color-bg);border-radius:10px}.goal-streak-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.goal-streak-item svg{color:var(--color-text-muted)}.goal-streak-item .flame-icon{color:#f97316;animation:pulse-flame 1s ease-in-out infinite}.streak-number{font-size:24px;font-weight:700;color:var(--color-text)}.streak-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.goal-streak-divider{width:1px;height:40px;background:var(--color-border)}.goal-edit{display:flex;gap:8px}.goal-edit input{flex:1;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px}.goal-edit input:focus{outline:none;border-color:var(--color-primary)}.goal-save-btn{padding:10px 16px;background:var(--color-primary);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.goal-save-btn:active{background:var(--color-primary-light)}.goal-change-btn,.goal-enable-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:13px;cursor:pointer;transition:all .2s}.goal-change-btn:active,.goal-enable-btn:active{background:var(--color-bg-secondary);border-color:var(--color-primary)}.goal-enable-btn{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.goal-enable-btn:active{background:var(--color-primary-light)}.goals-disabled-hint{text-align:center;padding:16px}.goals-disabled-hint p{font-size:14px;color:var(--color-text-muted);margin-bottom:14px;line-height:1.5}.license-modal{max-width:420px}.license-welcome{text-align:center;padding:20px 0}.license-icon{color:var(--color-primary);margin-bottom:12px}.license-welcome h3{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 10px}.license-welcome p{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.5}.license-input-section{display:flex;flex-direction:column;gap:8px}.license-input{text-align:center;font-size:1.1rem!important;letter-spacing:2px;font-family:monospace}.license-error{color:var(--color-danger, #ef4444);font-size:13px;margin:4px 0 0;text-align:center}.license-benefits{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px}.license-benefits-title{font-size:13px;font-weight:600;color:var(--color-text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.license-benefits ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.license-benefits li{font-size:14px;color:var(--color-text);display:flex;align-items:center;gap:8px}.license-footer{justify-content:space-between}.btn-skip{flex:1;padding:14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.btn-skip:active{background:var(--color-bg-secondary)}.btn-skip:disabled{opacity:.5;cursor:not-allowed}.btn-activate{background:linear-gradient(135deg,var(--color-primary),var(--color-accent))!important;flex:1.5!important}.btn-activate:disabled{opacity:.5;cursor:not-allowed}.context-tabs-mobile{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.context-tabs-mobile::-webkit-scrollbar{display:none}.context-tab-mobile{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;background:var(--color-bg-card);color:var(--color-text-muted);border:1px solid transparent;font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease}.context-tab-mobile.active{background:#8b5cf626;color:var(--color-primary);border-color:var(--color-primary)}.context-tab-mobile:active{transform:scale(.96)}.context-tab-mobile svg{width:18px;height:18px}.context-tab-mobile.premium-locked{opacity:.5;cursor:not-allowed;position:relative}.context-tab-mobile.premium-locked:active{transform:none}.context-tab-mobile .premium-lock-badge{position:absolute;top:-2px;right:-2px;color:var(--color-warning, #f59e0b);background:var(--color-bg-card);border-radius:50%;padding:2px}.context-search{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.context-search input{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;color:var(--color-text);font-size:.875rem;outline:none}.context-search input::placeholder{color:var(--color-text-muted)}.context-search input:focus{border-color:var(--color-primary)}.context-search svg{color:var(--color-text-muted);flex-shrink:0}.entity-filter-dropdown{position:relative;flex-shrink:0}.entity-filter-btn{display:flex;align-items:center;gap:4px;padding:8px 10px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.entity-filter-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.entity-filter-btn.active{background:#8b5cf61a;border-color:var(--color-primary);color:var(--color-primary)}.entity-filter-btn svg.rotated{transform:rotate(180deg)}.entity-filter-menu{position:absolute;top:calc(100% + 8px);right:0;display:flex;gap:4px;padding:8px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0000004d;z-index:100}.entity-filter-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px solid transparent;border-radius:8px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.entity-filter-option:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.entity-filter-option.selected{background:#8b5cf626;border-color:var(--color-primary);color:var(--color-primary)}.context-content-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.context-section{padding:20px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{font-size:1rem;font-weight:700;color:var(--color-text);margin:0}.section-header .add-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.section-header .add-btn:active{transform:scale(.94);background:var(--color-primary-light)}.section-hint{font-size:.875rem;color:var(--color-text-muted);margin-bottom:12px}.section-badge{font-size:.75rem;font-weight:600;color:var(--color-primary);background:#8b5cf61a;padding:4px 10px;border-radius:12px}.entity-group-mobile{margin-bottom:24px}.entity-group-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;font-weight:600;color:var(--color-text)}.entity-group-header svg{color:var(--color-primary)}.entity-count{margin-left:auto;font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-card);padding:2px 8px;border-radius:10px}.entity-card{background:var(--color-bg-card);border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer;transition:background .2s ease}.entity-card:active{background:var(--color-bg-secondary)}.entity-card-header{display:flex;align-items:flex-start;gap:12px}.entity-avatar{width:40px;height:40px;border-radius:10px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;color:#fff;flex-shrink:0}.entity-info{flex:1;min-width:0}.entity-name{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:2px}.entity-desc{font-size:.8125rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-actions-mobile{display:flex;gap:4px;flex-shrink:0}.entity-actions-mobile button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:none;border-radius:8px;color:var(--color-text);cursor:pointer;transition:all .2s ease}.entity-actions-mobile button:active{transform:scale(.92)}.entity-actions-mobile button.danger{color:var(--color-danger)}.entity-expanded{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.entity-notes{font-size:.875rem;color:var(--color-text);line-height:1.5;margin-bottom:8px}.entity-tags-mobile{display:flex;flex-wrap:wrap;gap:6px}.entity-tag-mobile{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:4px 10px;border-radius:12px}.entity-tag-mobile svg{width:10px;height:10px}.notes-textarea-mobile{width:100%;min-height:200px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:12px;color:var(--color-text);font-size:.9375rem;font-family:var(--font-body);line-height:1.6;resize:vertical;outline:none}.notes-textarea-mobile::placeholder{color:var(--color-text-muted)}.notes-textarea-mobile:focus{border-color:var(--color-primary)}.comment-filter{display:flex;gap:8px}.comment-filter button{padding:6px 12px;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg-card);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.comment-filter button.active{color:var(--color-primary);background:#8b5cf61a;border-color:var(--color-primary)}.comments-list-mobile{display:flex;flex-direction:column;gap:12px}.comment-card{background:var(--color-bg-card);border-radius:12px;padding:12px;border-left:3px solid var(--color-primary)}.comment-card.resolved{border-left-color:var(--color-success);opacity:.7}.comment-quote{font-size:.8125rem;font-style:italic;color:var(--color-text-muted);margin-bottom:8px;padding-left:12px;border-left:2px solid var(--color-border)}.comment-author-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.comment-meta{flex:1;min-width:0}.comment-author-name{font-size:.875rem;font-weight:600;color:var(--color-text);display:block}.comment-time{font-size:.75rem;color:var(--color-text-muted)}.comment-text{font-size:.875rem;color:var(--color-text);line-height:1.5;margin:0}.comment-actions-mobile{display:flex;gap:4px}.comment-actions-mobile button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:none;border-radius:6px;color:var(--color-text);cursor:pointer;transition:all .2s ease}.comment-actions-mobile button:active{transform:scale(.92)}.comment-actions-mobile button.danger{color:var(--color-danger)}.snapshots-list-mobile{display:flex;flex-direction:column;gap:8px}.snapshot-card{display:flex;align-items:center;gap:12px;background:var(--color-bg-card);border-radius:12px;padding:12px}.snapshot-icon-mobile{width:36px;height:36px;border-radius:8px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.snapshot-info-mobile{flex:1;min-width:0}.snapshot-label{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:2px}.snapshot-meta-mobile{font-size:.75rem;color:var(--color-text-muted)}.snapshot-actions-mobile{display:flex;gap:4px}.snapshot-actions-mobile button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:none;border-radius:8px;color:var(--color-text);cursor:pointer;transition:all .2s ease}.snapshot-actions-mobile button:active{transform:scale(.92)}.snapshot-actions-mobile button.danger{color:var(--color-danger)}.bookmark-list-mobile{display:flex;flex-direction:column;gap:8px}.bookmark-card{display:flex;align-items:center;gap:12px;background:var(--color-bg-card);border-radius:12px;padding:12px}.bookmark-icon-filled{color:var(--color-warning);flex-shrink:0}.bookmark-title{flex:1;font-size:.9375rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:none;border-radius:8px;color:var(--color-danger);cursor:pointer;transition:all .2s ease}.bookmark-remove:active{transform:scale(.92)}.reference-docs-section{display:flex;flex-direction:column;height:100%}.doc-search-wrapper{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;margin-bottom:16px}.doc-search-wrapper svg{color:var(--color-text-muted);flex-shrink:0}.doc-search-input{flex:1;background:transparent;border:none;color:var(--color-text);font-size:.9rem;outline:none}.doc-search-input::placeholder{color:var(--color-text-muted)}.clear-search{background:var(--color-bg-secondary);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer}.doc-list-mobile{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto}.doc-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-card);border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.doc-list-item:hover{background:var(--color-bg-secondary);border-color:var(--color-border)}.doc-list-item:active{transform:scale(.98)}.doc-list-item.current{opacity:.5;cursor:not-allowed}.doc-list-item svg:first-child{color:var(--color-primary);flex-shrink:0}.doc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.doc-title{font-size:.9375rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-path{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-badge{font-size:.7rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:3px 8px;border-radius:10px}.doc-arrow{color:var(--color-text-muted);flex-shrink:0}.back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;margin-right:8px}.back-btn:active{transform:scale(.94)}.ref-doc-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-editor-container{flex:1;overflow-y:auto;background:var(--color-bg-card);border-radius:12px;padding:16px;margin-top:12px}.reference-content{font-size:.9375rem;line-height:1.7;color:var(--color-text)}.reference-content p{margin-bottom:1em}.reference-content h1,.reference-content h2,.reference-content h3{margin-top:1em;margin-bottom:.5em;font-weight:600;color:var(--color-text)}.reference-content h1{font-size:1.5rem}.reference-content h2{font-size:1.25rem}.reference-content h3{font-size:1.1rem}.reference-content blockquote{border-left:3px solid var(--color-primary);padding-left:1em;margin-left:0;color:var(--color-text-muted);font-style:italic}.reference-content ul,.reference-content ol{padding-left:1.5em;margin-bottom:1em}.reference-content li{margin-bottom:.25em}.context-tab-mobile.premium-locked{position:relative}.premium-lock-icon{color:var(--color-warning);margin-left:2px}.premium-locked-section{display:flex;align-items:center;justify-content:center;min-height:400px;padding:40px 20px}.premium-locked-content{text-align:center;max-width:320px}.premium-locked-content svg{color:var(--color-text-muted);margin-bottom:16px;opacity:.6}.premium-locked-content h3{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 12px}.premium-locked-content p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin:0 0 24px}.premium-upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-size:.9375rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #8b5cf64d}.premium-upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.premium-upgrade-btn:active{transform:scale(.96)}.corkboard-mobile{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;overflow-y:auto;height:100%}.cork-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;padding:12px;min-height:140px;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;display:flex;flex-direction:column}.cork-card:active{transform:scale(.97);box-shadow:0 4px 12px #00000026}.cork-card-title{font-size:.875rem;font-weight:700;color:#78350f;margin-bottom:8px;line-height:1.3}.cork-card-content{flex:1;font-size:.75rem;color:#92400e;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.cork-card-footer{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:.6875rem;color:#a16207;font-weight:600}.cards-view-mobile{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%}.doc-card{background:var(--color-bg-card);border-radius:12px;padding:16px;border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease}.doc-card:active{transform:scale(.98);background:var(--color-bg-secondary)}.doc-card.selected{border-color:var(--color-primary);background:#8b5cf60d}.doc-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.doc-card-icon{width:40px;height:40px;border-radius:10px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.doc-card-title{flex:1;font-size:1rem;font-weight:700;color:var(--color-text);line-height:1.3}.doc-card-synopsis{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.doc-card-footer{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--color-border)}.doc-card-stat{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-muted)}.doc-card-stat svg{flex-shrink:0}.teleprompter-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;color:#fff;z-index:9999;display:flex;flex-direction:column}.teleprompter-exit-always{position:fixed;top:max(16px,env(safe-area-inset-top));right:16px;z-index:10001;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.teleprompter-exit-always:hover,.teleprompter-exit-always:active{background:#ff3b30cc;border-color:#ff3b30cc;transform:scale(1.05)}.teleprompter-content{flex:1;overflow-y:auto;padding:0 5%;text-align:center;font-family:system-ui,-apple-system,sans-serif;font-weight:600;scrollbar-width:none;-webkit-overflow-scrolling:touch}.teleprompter-content::-webkit-scrollbar{display:none}.reading-marker{position:absolute;top:50%;left:5%;right:5%;transform:translateY(-50%);pointer-events:none;opacity:.2}.marker-line{height:2px;background:#ff06}.teleprompter-controls-mobile{position:fixed;bottom:0;left:0;right:0;background:#0a0a0afa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px 16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.15);z-index:100;padding-bottom:max(12px,env(safe-area-inset-bottom))}@media (max-width: 600px){.teleprompter-controls-mobile{padding:8px 12px;gap:8px}.tel-controls-top-row{gap:16px}.tel-btn-play{width:48px;height:48px}.tel-btn-secondary{width:36px;height:36px}.tel-controls-row{gap:6px}.tel-label{min-width:40px;font-size:.75rem}.tel-value{min-width:35px;font-size:.75rem}.tel-btn-adjust{width:28px;height:28px;font-size:1rem}.tel-btn-close{padding:8px 16px;font-size:.8125rem}}.tel-controls-top-row{display:flex;align-items:center;justify-content:center;gap:20px}.tel-btn-play{width:56px;height:56px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.tel-btn-play:active{transform:scale(.95)}.tel-controls-row{display:flex;align-items:center;gap:12px}.tel-label{font-size:.875rem;color:#fff9;min-width:50px;font-weight:500}.tel-value{font-size:.875rem;color:#fffc;min-width:45px;text-align:right;font-weight:600}.tel-slider{flex:1;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none}.tel-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer}.tel-btn-close{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:24px;border:none;background:#ff3b3033;color:#ff453a;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease}.tel-btn-close:active{transform:scale(.96);background:#ff3b304d}.teleprompter-content.spotlight-on:before,.teleprompter-content.spotlight-on:after{content:"";position:fixed;left:0;right:0;pointer-events:none;z-index:10}.teleprompter-content.spotlight-on:before{top:0;height:30vh;background:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.5) 70%,transparent 100%)}.teleprompter-content.spotlight-on:after{bottom:120px;height:25vh;background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.5) 70%,transparent 100%)}.tel-btn-secondary{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:#ffffff14;color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tel-btn-secondary:hover,.tel-btn-secondary:active{background:#ffffff26;border-color:#fff6;color:#fff;transform:scale(.95)}.tel-btn-secondary.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tel-btn-adjust{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fffc;font-size:1.25rem;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.tel-btn-adjust:hover,.tel-btn-adjust:active{background:#fff3;border-color:#fff6;transform:scale(.92)}.reading-marker{display:none}.tel-pip-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#ff3b3026;border:1px solid rgba(255,59,48,.3);border-radius:8px;color:#ff6b6b;font-size:.8125rem;animation:fadeInOut .3s ease}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.binder-panel-full{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.binder-quick-actions{display:flex;gap:8px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.quick-action-btn{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.quick-action-btn:active{transform:scale(.96);background:#8b5cf61a;border-color:var(--color-primary)}.quick-action-btn svg{flex-shrink:0}.binder-tree-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.binder-node{position:relative}.binder-item-mobile{display:flex;align-items:center;gap:6px;padding:10px 16px;min-height:44px;background:var(--color-bg);border-bottom:1px solid rgba(0,0,0,.02);border-left:3px solid transparent;color:var(--color-text);cursor:pointer;transition:background .15s ease;position:relative}.binder-item-mobile:active{background:var(--color-bg-secondary)}.binder-item-mobile.selected{background:#8b5cf614;border-left-color:var(--color-primary)}.drag-handle{display:flex;align-items:center;color:var(--color-text-muted);opacity:.3;cursor:grab;margin-right:-4px}.expand-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:4px;transition:all .15s ease;flex-shrink:0}.expand-btn:active{background:var(--color-bg-card)}.expand-placeholder{width:24px;height:24px;flex-shrink:0}.node-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.binder-item-mobile.folder .node-icon{color:#f59e0b}.binder-item-mobile.document .node-icon{color:#a78bfa}.binder-item-mobile.selected .node-icon{color:var(--color-primary)}.node-title{flex:1;font-size:.9375rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binder-item-mobile.selected .node-title{font-weight:600;color:var(--color-primary)}.edit-input{flex:1;padding:4px 8px;background:var(--color-bg-card);border:1px solid var(--color-primary);border-radius:6px;color:var(--color-text);font-size:.9375rem;font-weight:500;outline:none}.bookmark-indicator{color:var(--color-warning);flex-shrink:0;fill:currentColor}.more-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);border-radius:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.more-btn:active{background:var(--color-bg-card);color:var(--color-primary)}.context-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:998}.context-menu-mobile{position:fixed;min-width:200px;max-width:calc(100vw - 32px);overflow-y:auto;overflow-x:hidden;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 16px #0003;padding:8px;z-index:999;animation:menuSlideIn .15s ease}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.context-menu-mobile.open-upward{animation:menuSlideUp .15s ease}.context-menu-mobile button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--color-text);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease}.context-menu-mobile button:active{background:var(--color-bg-secondary)}.context-menu-mobile button.danger{color:var(--color-danger)}.context-menu-mobile .menu-divider{height:1px;background:var(--color-border);margin:6px 0}.binder-children{position:relative}.empty-folder{padding:8px 16px;font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.binder-stats{padding:8px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted);text-align:center;flex-shrink:0}.move-folder-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.move-folder-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.9375rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease}.move-folder-item:active{transform:scale(.98);background:#8b5cf61a;border-color:var(--color-primary)}.move-folder-item svg{color:#f59e0b;flex-shrink:0}.binder-node.dragging{opacity:.5}.binder-node.dragging .binder-item-mobile{background:var(--color-bg-secondary);border:1px dashed var(--color-primary)}.drag-handle:hover{opacity:1!important;color:var(--color-primary)}.binder-item-mobile:hover .drag-handle{opacity:.6}.binder-item-mobile[draggable=true]{cursor:grab}.binder-item-mobile[draggable=true]:active{cursor:grabbing}.drop-indicator{position:relative;height:2px;background:var(--color-primary);margin:0 16px;border-radius:1px;z-index:10;box-shadow:0 0 8px #8b5cf680;animation:dropPulse .8s infinite}@keyframes dropPulse{0%,to{opacity:1}50%{opacity:.6}}.drop-indicator:before,.drop-indicator:after{content:"";position:absolute;width:8px;height:8px;background:var(--color-primary);border-radius:50%;top:50%;transform:translateY(-50%)}.drop-indicator:before{left:-4px}.drop-indicator:after{right:-4px}.binder-item-mobile.drop-inside{background:#8b5cf626!important;border:1px solid var(--color-primary)!important;border-radius:8px}.binder-item-mobile.drop-inside .node-icon{color:var(--color-primary)!important;transform:scale(1.1);transition:transform .15s ease}@media (pointer: coarse){.drag-handle{padding:8px;margin:-8px -4px -8px -8px}}.root-drop-zone{padding:12px 16px;margin:8px 16px;border:2px dashed var(--color-border);border-radius:10px;text-align:center;color:var(--color-text-muted);font-size:.8rem;font-weight:500;transition:all .2s ease;background:transparent}.root-drop-zone:hover,.root-drop-zone.active{border-color:var(--color-primary);background:#8b5cf61a;color:var(--color-primary)}
