.documents-page{min-height:100vh;background-color:#fafafa;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.documents-page.loading{display:flex;justify-content:center;align-items:center}.loading-spinner{text-align:center}.spinner{width:40px;height:40px;border:4px solid #e3f2fd;border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.documents-header{background:#fff;border-bottom:1px solid #e8eaed;padding:32px 0 16px}.header-content{max-width:1200px;margin:0 auto;padding:0 24px}.documents-header h1{font-size:20px;font-weight:400;color:#202124;margin:0 0 8px;letter-spacing:-.02em}.auth-notice{text-align:center;margin:0 0 24px;padding:12px 16px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-size:14px}.auth-icon{margin-right:8px}.inline-auth-btn{background:none;border:none;color:#1976d2;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;margin:0 2px}.inline-auth-btn:hover{color:#1565c0}.template-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-width:100%;margin-top:32px}.template-card{background:#fff;border:1px solid #e8eaed;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;height:240px;display:flex;flex-direction:column;position:relative;box-shadow:none}.template-card:hover{border-color:#dadce0;box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.template-card.blank{background:#fafbfc;border-style:dashed}.template-card.blank:hover{background:#f1f3f4}.template-preview{height:160px;position:relative;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px 16px 24px}.blank-icon{font-size:32px;color:#9aa0a6;font-weight:300;margin-bottom:8px;opacity:.7}.template-icon{font-size:32px;margin-bottom:12px;opacity:.8;filter:grayscale(.1)}.template-content{color:#3c4043;max-width:150px;margin-top:8px}.template-content p{font-size:12px;margin:0;opacity:.75;line-height:1.4;font-weight:400;color:#5f6368}.template-card h3{font-size:14px;font-weight:500;color:#202124;margin:12px 16px 16px;flex-shrink:0;letter-spacing:-.01em;text-align:center}.template-genre{font-size:10px;color:#9aa0a6;margin:0 16px 16px;display:block;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.template-card:hover .template-icon{transform:scale(1.02);transition:transform .15s ease}.template-card:focus{outline:2px solid #4285f4;outline-offset:1px}.template-preview:before,.template-preview:after{display:none}.documents-main{max-width:1200px;margin:0 auto;padding:24px}.documents-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.controls-left h2{font-size:16px;font-weight:400;color:#3c4043;margin:0 0 4px}.document-stats{font-size:14px;color:#5f6368}.controls-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.search-box{position:relative}.search-input{width:300px;padding:8px 12px;border:1px solid #dadce0;border-radius:8px;font-size:14px;background:#fff;outline:none;transition:border-color .2s ease}.search-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.sort-select{padding:8px 12px;border:1px solid #dadce0;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;outline:none}.view-controls{display:flex;gap:4px}.view-btn{width:36px;height:36px;border:1px solid #dadce0;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.view-btn:hover{background:#f8f9fa}.view-btn.active{background:#1976d2;color:#fff;border-color:#1976d2}.selection-bar{background:#e8f0fe;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#1565c0}.selection-bar button{padding:6px 12px;border:1px solid #1976d2;background:transparent;color:#1976d2;border-radius:4px;cursor:pointer;font-size:14px;margin-left:8px;transition:all .2s ease}.selection-bar button:hover{background:#1976d2;color:#fff}.delete-btn{background:#d32f2f!important;color:#fff!important;border-color:#d32f2f!important}.delete-btn:hover{background:#c62828!important}.documents-grid{display:grid;gap:16px}.documents-grid.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.documents-grid.list{grid-template-columns:1fr}.document-card{background:#fff;border:1px solid #dadce0;border-radius:8px;cursor:pointer;transition:all .2s ease;overflow:hidden;position:relative}.document-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.document-card.selected{border-color:#1976d2;background:#f3f8ff}.document-preview{height:160px;padding:16px;background:#f8f9fa;border-bottom:1px solid #e8eaed;overflow:hidden;position:relative}.documents-grid.list .document-preview{height:80px}.document-content{font-size:12px;line-height:1.5;color:#5f6368;font-family:Google Sans Mono,monospace;white-space:pre-wrap;overflow:hidden}.document-info{padding:12px 16px}.document-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.document-title{font-size:14px;font-weight:500;color:#3c4043;margin:0;cursor:pointer;flex:1;line-height:1.4}.document-title:hover{color:#1976d2;text-decoration:underline}.title-input{font-size:14px;font-weight:500;color:#3c4043;border:1px solid #1976d2;background:#fff;padding:4px 8px;border-radius:4px;outline:none;width:100%;margin-right:8px}.document-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.document-card:hover .document-actions{opacity:1}.action-btn{width:24px;height:24px;border:none;background:transparent;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .2s ease}.action-btn:hover{background:#f1f3f4}.document-meta{display:flex;justify-content:space-between;font-size:12px;color:#5f6368;flex-wrap:wrap;gap:8px}.documents-grid.list .document-card{display:flex;height:80px}.documents-grid.list .document-preview{width:200px;flex-shrink:0;border-bottom:none;border-right:1px solid #e8eaed}.documents-grid.list .document-info{flex:1;display:flex;flex-direction:column;justify-content:center}.empty-state{text-align:center;padding:64px 24px;color:#5f6368}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:20px;font-weight:400;margin:0 0 8px;color:#3c4043}.empty-state p{font-size:14px;line-height:1.5;max-width:400px;margin:0 auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal{background:#fff;border-radius:8px;padding:24px;max-width:400px;width:90%}.delete-modal h3{font-size:18px;font-weight:500;color:#3c4043;margin:0 0 16px}.delete-modal p{font-size:14px;color:#5f6368;line-height:1.5;margin:0 0 24px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.cancel-btn{border:1px solid #dadce0;background:#fff;color:#3c4043}.cancel-btn:hover{background:#f8f9fa}.modal-actions .delete-btn{border:1px solid #d32f2f;background:#d32f2f;color:#fff}.modal-actions .delete-btn:hover{background:#c62828}.error-message{position:fixed;bottom:24px;right:24px;background:#d32f2f;color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;max-width:400px;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.documents-controls{flex-direction:column;align-items:stretch}.controls-right{justify-content:space-between}.search-input{width:100%;max-width:300px}.template-gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.template-card{height:240px}.template-preview{height:160px}.documents-grid.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.documents-grid.list .document-card{flex-direction:column;height:auto}.documents-grid.list .document-preview{width:100%;height:120px;border-right:none;border-bottom:1px solid #e8eaed}}@media(max-width:480px){.documents-main{padding:16px}.header-content{padding:0 16px}.template-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.documents-grid{gap:12px}}.highlightable-editor-container{position:relative;width:100%;height:100%;display:flex;gap:20px;background:#fff!important}.editor-wrapper{flex:1;position:relative;background:#fff!important;border-radius:16px;box-shadow:0 4px 20px #0000000a,0 1px 3px #0000001a,inset 0 1px #ffffff80;overflow-y:auto;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:text!important}.editor-wrapper:hover{box-shadow:0 8px 32px #0000000f,0 2px 6px #0000001f,inset 0 1px #fff9,0 0 0 2px #2563eb1a!important}.highlightable-editor{min-height:400px;padding:24px 28px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;color:#1f2937!important;background:#fff!important;border:none;outline:none;-webkit-user-select:text;user-select:text;cursor:text;overflow-y:auto;-webkit-overflow-scrolling:touch}.highlightable-editor .ProseMirror{outline:none;border:none;background:#fff!important;font-family:inherit;font-size:inherit;line-height:inherit;color:#1f2937!important;caret-color:#2563eb!important}.highlightable-editor .ProseMirror:focus{caret-color:#2563eb!important}.highlightable-editor .ProseMirror{caret-color:#2563eb!important;user-select:text!important;cursor:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.highlightable-editor .ProseMirror:focus-within{caret-color:#2563eb!important}.highlightable-editor .ProseMirror:focus-visible{caret-color:#2563eb!important;outline:none!important}.highlightable-editor .ProseMirror{position:relative}.highlightable-editor .ProseMirror.is-empty:focus:after{content:"|";position:absolute;left:28px;top:24px;color:#2563eb;font-weight:400;animation:typewriterBlink 1s infinite;pointer-events:none;z-index:1000;font-size:inherit;line-height:inherit}@keyframes typewriterBlink{0%,40%{opacity:1}45%,90%{opacity:.4}95%,to{opacity:1}}@keyframes cursorBlink{0%,40%{opacity:1}45%,90%{opacity:.4}95%,to{opacity:1}}.highlightable-editor .ProseMirror.is-empty:before{content:"Start writing your masterpiece... Select text to get AI feedback.";color:#9ca3af!important;font-style:italic;pointer-events:none;position:absolute}.active-discussion-highlight{background:linear-gradient(135deg,#ffd70040,#ffc10733)!important;color:#d84315!important;border:2px solid #ff9800!important;border-radius:4px!important;padding:2px 4px!important;font-weight:400!important;font-style:normal!important;text-decoration:underline!important;text-decoration-color:#ff9800!important;box-shadow:0 0 8px #ff98004d!important;display:inline!important;position:relative!important;z-index:100!important;transition:all .2s ease!important}.active-discussion-highlight:hover{background:linear-gradient(135deg,#ffd70059,#ffc1074d)!important;box-shadow:0 0 12px #ff980066!important;transform:translateY(-1px)!important;font-weight:400!important}@keyframes activeDiscussionPulse{0%,to{box-shadow:0 0 0 2px #ff980033,0 2px 8px #ff980026}50%{box-shadow:0 0 0 4px #ff98004d,0 4px 12px #ff980040}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ProseMirror .active-discussion-highlight,.tiptap .active-discussion-highlight,.editor-content .active-discussion-highlight,.highlightable-editor .active-discussion-highlight{background:linear-gradient(135deg,#ffd70040,#ffc10733)!important;color:#d84315!important;border:2px solid #ff9800!important;font-weight:400!important;font-style:normal!important;text-decoration:underline!important;text-decoration-color:#ff9800!important;display:inline!important;z-index:100!important;box-shadow:0 0 8px #ff98004d!important}.theme-dark .active-discussion-highlight{background:linear-gradient(135deg,#6366f11f,#818cf829)!important;border-left:3px solid #6366f1!important;box-shadow:0 1px 3px #6366f126!important}.highlightable-editor mark[data-color]{padding:1px 2px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;display:inline;animation:highlightFadeIn .4s cubic-bezier(.4,0,.2,1);opacity:.8;border:1px solid transparent}.highlightable-editor mark.highlight-active-discussion,.highlightable-editor mark[data-color=active-discussion]{background:linear-gradient(135deg,#ffd70059,#ffc1074d);color:#d84315!important;border:2px solid #ff9800;border-radius:6px;padding:2px 4px;font-weight:700;box-shadow:0 0 0 2px #ff980040,0 2px 12px #ff980033,inset 0 1px #ffffff4d;animation:activeDiscussionPulse 2s ease-in-out infinite;position:relative;z-index:15;text-decoration:underline;text-decoration-color:#ff9800;text-decoration-style:wavy;text-decoration-thickness:2px;text-underline-offset:2px}.highlightable-editor mark.highlight-active-discussion:before,.highlightable-editor mark[data-color=active-discussion]:before{content:"🔥";position:absolute;top:-8px;right:-8px;font-size:12px;z-index:20;animation:bounce 1.5s ease-in-out infinite;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.highlightable-editor mark.highlight-active-discussion:hover,.highlightable-editor mark[data-color=active-discussion]:hover{background:linear-gradient(135deg,#ffd70073,#ffc10766);transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 3px #ff980059,0 6px 20px #ff98004d,inset 0 1px #fff6}.highlightable-editor mark.highlight-feedback-request{background:#dbeafe66;color:#1e40af;border:1px solid rgba(59,130,246,.3);box-shadow:0 1px 2px #3b82f60d}.highlightable-editor mark.highlight-feedback-request:hover{background:#bfdbfe99;transform:translateY(-.5px);box-shadow:0 2px 8px #3b82f626;opacity:1}.highlightable-editor mark.highlight-improvement{background:#ede9fe66;color:#7c3aed;border:1px solid rgba(139,92,246,.3);box-shadow:0 1px 2px #8b5cf60d}.highlightable-editor mark.highlight-improvement:hover{background:#ddd6fe99;transform:translateY(-.5px);box-shadow:0 2px 8px #8b5cf626;opacity:1}.highlightable-editor mark.highlight-question{background:#fed7aa66;color:#ea580c;border:1px solid rgba(249,115,22,.3);box-shadow:0 1px 2px #f973160d}.highlightable-editor mark.highlight-question:hover{background:#fdba7499;transform:translateY(-.5px);box-shadow:0 2px 8px #f9731626;opacity:1}@keyframes highlightFadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.highlight-tooltip{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:16px;box-shadow:0 12px 40px #00000026,0 4px 16px #0000001a,inset 0 1px #fff9;max-width:320px;animation:tooltipSlideIn .3s cubic-bezier(.4,0,.2,1);z-index:1000;pointer-events:auto;position:fixed;transform:translate(-50%)}.highlight-tooltip.tooltip-above{transform:translate(-50%) translateY(-100%);margin-top:-8px}.highlight-tooltip.tooltip-below{transform:translate(-50%) translateY(8px)}.highlight-tooltip.tooltip-left{transform:translate(-100%) translateY(-50%);margin-left:-8px}.highlight-tooltip.tooltip-right{transform:translate(8px) translateY(-50%)}.highlight-tooltip-content{display:flex;flex-direction:column;gap:12px}.highlight-tooltip-text{font-size:14px;font-weight:500;color:#374151;line-height:1.4;margin-bottom:4px}.highlight-tooltip-actions{display:flex;flex-wrap:wrap;gap:8px}.highlight-btn{padding:8px 12px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px;white-space:nowrap;position:relative;overflow:hidden}.highlight-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.highlight-btn:hover:before{left:100%}.highlight-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.highlight-btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.highlight-btn-secondary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.highlight-btn-secondary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.highlight-btn-tertiary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 4px 12px #f973164d}.highlight-btn-tertiary:hover{background:linear-gradient(135deg,#ea580c,#dc2626);transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}.highlight-btn-cancel{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280;box-shadow:0 2px 8px #0000001a;padding:8px 10px;min-width:auto}.highlight-btn-cancel:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#374151;transform:translateY(-1px)}.highlights-sidebar{width:300px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 20px #0000000a,0 1px 3px #0000001a;overflow:hidden;animation:sidebarSlideIn .4s cubic-bezier(.4,0,.2,1);position:sticky;top:20px;height:fit-content;max-height:600px;display:flex;flex-direction:column}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.highlights-header{padding:20px 24px 16px;border-bottom:1px solid rgba(226,232,240,.5);background:linear-gradient(135deg,#fafbfc,#f1f5f9);display:flex;align-items:center;justify-content:space-between}.highlights-header h3{margin:0;font-size:16px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}.highlights-count{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:600;min-width:24px;text-align:center}.highlights-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;max-height:400px}.highlight-item{padding:16px;border-radius:12px;border:1px solid;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.highlight-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.highlight-item:hover:before{width:8px}.highlight-item.highlight-feedback-request{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e9}.highlight-item.highlight-feedback-request:before{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.highlight-item.highlight-improvement{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7}.highlight-item.highlight-improvement:before{background:linear-gradient(135deg,#a855f7,#9333ea)}.highlight-item.highlight-question{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-color:#f97316}.highlight-item.highlight-question:before{background:linear-gradient(135deg,#f97316,#ea580c)}.highlight-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.highlight-item-text{font-size:14px;line-height:1.5;color:#374151;margin-bottom:8px;font-weight:500}.highlight-item-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.highlight-type{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:#fffc;color:#4b5563}.highlight-remove-btn{background:#ef44441a;color:#ef4444;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.highlight-remove-btn:hover{background:#ef444433;transform:scale(1.1)}.highlights-actions{padding:16px 24px;border-top:1px solid rgba(226,232,240,.5);background:linear-gradient(135deg,#fafbfc,#f1f5f9)}.clear-all-highlights-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.clear-all-highlights-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 6px 20px #ef44444d}@media(max-width:1024px){.highlightable-editor-container{flex-direction:column}.highlights-sidebar{width:100%;position:static;max-height:300px}}@media(max-width:640px){.highlight-tooltip{max-width:280px;padding:12px}.highlight-tooltip-actions{flex-direction:column}.highlight-btn{width:100%;justify-content:center}.highlightable-editor{padding:16px 20px;font-size:15px}.highlightable-editor .ProseMirror.is-empty:focus:after{left:20px;top:16px}}@keyframes tooltipSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.highlightable-editor-container *{caret-color:#2563eb!important}.ProseMirror,.ProseMirror *{caret-color:#2563eb!important;cursor:text!important}.highlightable-editor:focus,.highlightable-editor:focus-within,.highlightable-editor .ProseMirror:focus,.highlightable-editor .ProseMirror:focus-within{caret-color:#2563eb!important;border:2px solid rgba(37,99,235,.3)!important;box-shadow:0 0 0 3px #2563eb1a!important;outline:none!important}.highlightable-editor .ProseMirror p,.highlightable-editor .ProseMirror div{caret-color:#2563eb!important;cursor:text!important}.highlightable-editor .ProseMirror.is-empty{position:relative}.highlightable-editor .ProseMirror.is-empty:focus{background:#2563eb05!important}.voice-inconsistent,[data-voice-inconsistency=true]{text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:2px;position:relative;cursor:help}.voice-inconsistent[data-confidence-level=high],[data-voice-inconsistency=true][data-confidence-level=high]{text-decoration-color:#ef4444;background-color:#ef44441a}.voice-inconsistent[data-confidence-level=medium],[data-voice-inconsistency=true][data-confidence-level=medium]{text-decoration-color:#f59e0b;background-color:#f59e0b1a}.voice-inconsistent[data-confidence-level=low],[data-voice-inconsistency=true][data-confidence-level=low]{text-decoration-color:#10b981;background-color:#10b9811a}.voice-inconsistent:hover,[data-voice-inconsistency=true]:hover{background-color:#0000000d;text-decoration-thickness:3px;transition:all .2s ease}.voice-inconsistent:after,[data-voice-inconsistency=true]:after{content:attr(data-explanation);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease;max-width:300px;white-space:normal}.voice-inconsistent:hover:after,[data-voice-inconsistency=true]:hover:after{opacity:1}@keyframes voice-inconsistency-highlight{0%{background-color:#ef44444d;text-decoration-thickness:4px}to{background-color:#ef44441a;text-decoration-thickness:2px}}.voice-inconsistent.newly-applied,[data-voice-inconsistency=true].newly-applied{animation:voice-inconsistency-highlight 1s ease}.suggestions-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px!important;margin:8px 0;box-shadow:0 1px 4px #00000014;transition:all .3s ease}.suggestions-display:hover{box-shadow:0 2px 8px #0000001f}.suggestions-header{margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.suggestions-header h4{margin:0 0 3px;color:var(--text-primary);font-size:14px;font-weight:600}.original-text-preview{font-size:12px;color:var(--text-secondary);font-style:italic;background:var(--bg-tertiary);padding:2px 4px;border-radius:4px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestions-list{display:flex;flex-direction:column;gap:4px}.suggestion-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:6px!important;transition:all .3s ease;position:relative;overflow:hidden}.suggestion-item:hover{border-color:var(--accent-color);box-shadow:0 1px 4px #00000014;transform:translateY(-1px)}.suggestion-item.hovered{background:var(--bg-secondary)}.suggestion-item.accepted{border-color:#10b981;background:#10b9810d}.suggestion-item.accepted:after{content:"✓ Accepted";position:absolute;top:3px;right:3px;background:#10b981;color:#fff;padding:2px 4px;border-radius:3px;font-size:10px;font-weight:600}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.suggestion-meta{display:flex;align-items:center;gap:6px;flex:1}.suggestion-icon{font-size:14px}.suggestion-type{font-size:12px;font-weight:500;color:var(--text-primary)}.confidence-indicator{display:flex;align-items:center;gap:4px}.confidence-bar{width:30px;height:2px;background:var(--border-color);border-radius:1px;position:relative;overflow:hidden}.confidence-bar:after{content:"";position:absolute;top:0;left:0;height:100%;background:inherit;border-radius:inherit;transition:width .3s ease}.confidence-text{font-size:10px;color:var(--text-secondary);font-weight:500;min-width:25px}.accept-button{display:flex!important;align-items:center;gap:3px;padding:4px 8px!important;background:#14b8a6!important;color:#fff!important;border:1px solid #14b8a6!important;border-radius:4px;font-size:11px;font-weight:600!important;cursor:pointer;transition:all .3s ease;min-width:60px;justify-content:center;box-shadow:0 1px 2px #00000014;position:relative;z-index:10;opacity:1!important;visibility:visible!important}.accept-button:hover:not(:disabled){background:#0d9488!important;border-color:#0d9488!important;transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.accept-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.accept-button:disabled{opacity:.6!important;cursor:not-allowed;transform:none}.accept-button.accepting{background:#f59e0b!important;border-color:#f59e0b!important;cursor:wait}.accept-icon{font-size:10px;margin-right:2px}.accepting-spinner{width:10px;height:10px}.suggestion-content{margin-bottom:4px}.suggested-text{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;padding:4px 6px!important;font-size:13px;line-height:1.3;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.suggestion-explanation{font-size:11px;color:var(--text-secondary);margin-top:3px;padding:2px 4px;background:var(--bg-quaternary);border-radius:3px;display:flex;align-items:flex-start;gap:3px}.explanation-icon{font-size:10px;margin-top:1px;flex-shrink:0}.suggestion-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.text-comparison{display:flex;align-items:center;gap:3px}.comparison-label{font-size:9px}.length-change{padding:1px 3px;border-radius:2px;font-size:9px;font-weight:500}.length-change.longer{background:#22c55e1a;color:#059669}.length-change.shorter{background:#ef44441a;color:#dc2626}.length-change.same{background:#6b72801a;color:#6b7280}.suggestions-footer{margin-top:6px;padding-top:4px;border-top:1px solid var(--border-light)}.suggestions-hint{font-size:10px;color:var(--text-tertiary);text-align:center;font-style:italic}@media(max-width:768px){.suggestions-display{padding:3px!important;margin:6px 0}.suggestions-header{margin-bottom:4px;padding-bottom:3px}.suggestions-header h4{font-size:13px}.suggestion-item{padding:4px!important}.suggestion-header{margin-bottom:3px}.suggestion-meta{gap:4px}.accept-button{padding:3px 6px!important;font-size:10px;min-width:50px}.suggested-text{padding:3px 4px!important;font-size:12px;line-height:1.2}.confidence-indicator{gap:3px}.confidence-bar{width:25px;height:2px}.confidence-text{font-size:9px;min-width:20px}}@media(max-width:480px){.suggestions-display{padding:2px!important;margin:4px 0}.suggestion-item{padding:3px!important}.suggested-text{padding:2px 3px!important;font-size:11px;line-height:1.1}.accept-button{padding:2px 4px!important;font-size:9px;min-width:40px}.suggestion-explanation{font-size:10px;padding:1px 2px}}@media(max-width:768px)and (orientation:landscape){.suggestions-display{padding:2px!important;margin:4px 0}.suggestion-item{padding:3px!important}.suggested-text{padding:2px 3px!important;line-height:1.1}}@media(prefers-color-scheme:dark){.suggestions-display{box-shadow:0 1px 4px #0000004d}.suggestions-display:hover{box-shadow:0 2px 8px #0006}.suggestion-item:hover{box-shadow:0 1px 4px #0000004d}}.document-editor{height:100vh;display:flex;flex-direction:column;background:#fff;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.document-editor.loading,.document-editor.error{justify-content:center;align-items:center}.loading-content,.error-content{text-align:center;padding:48px}.loading-spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.error-content h2{color:#d32f2f;margin-bottom:16px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid #e8eaed;flex-shrink:0;min-height:64px}.header-left{display:flex;align-items:center;gap:16px;flex:1}.back-button{padding:8px 16px;background:transparent;border:1px solid #dadce0;border-radius:6px;cursor:pointer;font-size:14px;color:#3c4043;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}.back-button:hover{background:#f8f9fa;border-color:#1976d2;color:#1976d2}.document-info{flex:1;max-width:600px}.document-title-input{width:100%;padding:8px 12px;border:1px solid transparent;border-radius:6px;font-size:18px;font-weight:500;color:#3c4043;background:transparent;outline:none;transition:all .2s ease;margin-bottom:4px}.document-title-input:hover,.document-title-input:focus{background:#fff;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.save-status{display:flex;align-items:center;gap:12px;font-size:12px}.save-status .saving{color:#f57c00}.save-status .unsaved{color:#d32f2f}.save-status .saved{color:#2e7d32}.save-now-btn{padding:4px 8px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s ease}.save-now-btn:hover{background:#1565c0}.header-right{display:flex;align-items:center;gap:16px}.word-count{font-size:14px;color:#5f6368;padding:8px 12px;background:#f8f9fa;border-radius:6px;white-space:nowrap}.chat-toggle{padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;white-space:nowrap}.chat-toggle:hover{background:#1565c0}.chat-toggle.active{background:#d32f2f}.chat-toggle.active:hover{background:#c62828}.editor-main{flex:1;display:flex;overflow:hidden}.editor-main.full-width .editor-container{width:100%}.editor-main.with-chat .editor-container{width:50%;border-right:1px solid #e8eaed}.editor-container{flex:1;position:relative;overflow:auto}.chat-container{flex:1;background:#f8f9fa;border-left:1px solid #e8eaed;display:flex;flex-direction:column}@media(max-width:1024px){.editor-main.with-chat .editor-container{width:50%}.chat-container{flex:1}}@media(max-width:768px){.editor-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.header-left{flex-direction:column;align-items:stretch;gap:12px}.header-right{justify-content:space-between}.document-title-input{font-size:16px}.editor-main.with-chat{flex-direction:column}.editor-main.with-chat .editor-container,.chat-container{width:100%}}@media(max-width:480px){.editor-header{padding:12px}.back-button,.chat-toggle{padding:6px 12px;font-size:13px}.word-count{font-size:12px;padding:6px 8px}}.document-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:stretch;justify-content:stretch;padding:0;box-sizing:border-box}.document-manager{background:var(--bg-elevated);border-radius:0;box-shadow:none;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;border:none;position:relative}.document-manager-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-accent) 100%);flex-shrink:0}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.header-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.close-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-normal);font-size:var(--text-xl);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.header-stats{display:flex;gap:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm)}.stat-item{display:flex;align-items:center;gap:var(--space-2)}.navigation-tabs{display:flex;padding:0 var(--space-6);background:var(--bg-elevated);border-bottom:1px solid var(--border-light);flex-shrink:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.navigation-tabs::-webkit-scrollbar{display:none}.nav-tab{background:none;border:none;padding:var(--space-4) var(--space-5);cursor:pointer;transition:all var(--transition-normal);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);border-bottom:2px solid transparent;white-space:nowrap;min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.nav-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600);background:var(--bg-accent)}.nav-tab:hover:not(.active){color:var(--text-primary);background:var(--bg-secondary)}.search-controls-section{padding:var(--space-4) var(--space-6);background:var(--bg-elevated);border-bottom:1px solid var(--border-light);flex-shrink:0}.search-container{position:relative;margin-bottom:var(--space-4)}.search-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-normal);min-height:var(--input-height-md);box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #14b8a61a}.search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:var(--text-lg)}.clear-search-button{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-normal);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.clear-search-button:hover{color:var(--text-primary);background:var(--bg-secondary)}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.controls-left,.controls-right{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.control-button{background:var(--primary-600);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);min-width:var(--touch-target-min);min-height:var(--button-height-md);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.control-button:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.control-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-normal);min-height:var(--input-height-sm);min-width:120px}.control-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px #14b8a61a}.document-content{flex:1;overflow:hidden;background:var(--bg-primary);position:relative;display:flex;flex-direction:column;min-height:0}.content-scroll-container{height:100%;overflow-y:auto;padding:var(--space-2) var(--space-3);-webkit-overflow-scrolling:touch}.documents-view-container{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.app-map-section{background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-accent) 100%);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);flex-shrink:0}.app-map-section h3{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.app-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.map-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;transition:all var(--transition-normal);cursor:pointer;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.map-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.map-icon{font-size:var(--text-2xl);line-height:1}.map-stats{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.map-number{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.map-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.documents-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);flex:1;min-height:0;overflow:hidden}.recent-section,.all-documents-section{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;min-height:0}.recent-section h3,.all-documents-section h3{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.document-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.empty-state-small{padding:var(--space-4);text-align:center;color:var(--text-secondary);font-size:var(--text-sm);border:2px dashed var(--border-medium);border-radius:var(--radius-md);background:var(--bg-secondary)}.empty-state-small p{margin:0;line-height:1.5}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.recent-documents-full{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.recent-documents-full h3{margin:0 0 var(--space-4) 0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.document-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-3);background:transparent}.empty-state-large{grid-column:1 / -1;padding:var(--space-8);text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:2px dashed var(--border-medium);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty-state-large .empty-icon{font-size:3rem;opacity:.6}.empty-state-large h4{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.empty-state-large p{margin:0;font-size:var(--text-sm);line-height:1.5;max-width:300px}.document-item{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-3);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.document-item:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.document-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.document-preview{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.document-actions{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2);opacity:0;transition:opacity var(--transition-normal)}.action-button{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:var(--space-1);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs)}.action-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;padding:var(--space-6);border:1px solid var(--border-light)}.modal-header{margin-bottom:var(--space-4)}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.modal-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-4);transition:all var(--transition-normal);min-height:var(--input-height-md);box-sizing:border-box}.modal-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #14b8a61a}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.modal-button{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);min-height:var(--button-height-md);min-width:80px;display:flex;align-items:center;justify-content:center}.modal-button.primary{background:var(--primary-600);color:var(--text-inverse);border:none}.modal-button.primary:hover{background:var(--primary-700)}.modal-button.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-medium)}.modal-button.secondary:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top:3px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}.error-message{padding:var(--space-4);background:var(--error-50);border:1px solid var(--error-500);border-radius:var(--radius-lg);color:var(--error-600);margin:var(--space-4);text-align:center}.empty-state{text-align:center;padding:var(--space-8);color:var(--text-secondary)}.empty-state-icon{font-size:var(--text-4xl);margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--text-primary)}.empty-state-description{font-size:var(--text-base);line-height:1.6}@media(max-width:479px){.document-manager-overlay{padding:0}.document-manager{border-radius:0;max-height:100vh}.document-manager-header{padding:var(--space-3) var(--space-4)}.header-title{font-size:var(--text-xl)}.header-stats{flex-direction:column;gap:var(--space-2);align-items:flex-start}.navigation-tabs{padding:0 var(--space-3)}.nav-tab{padding:var(--space-3) var(--space-4);font-size:var(--text-xs)}.search-controls-section{padding:var(--space-3) var(--space-4)}.controls-row{flex-direction:column;align-items:stretch;gap:var(--space-3)}.controls-left,.controls-right{justify-content:center}.content-scroll-container{padding:var(--space-2) var(--space-3)}.app-map-grid{grid-template-columns:repeat(2,1fr)}.map-card{min-height:70px;padding:var(--space-2)}.map-number{font-size:var(--text-base)}.documents-content-grid{grid-template-columns:1fr;gap:var(--space-3)}.recent-section,.all-documents-section{padding:var(--space-3)}.documents-grid{grid-template-columns:1fr;gap:var(--space-3)}.document-title{font-size:var(--text-base)}.modal{max-width:100%;margin:var(--space-4);padding:var(--space-4)}.modal-actions{flex-direction:column}.modal-button{width:100%}}@media(min-width:480px)and (max-width:767px){.document-manager-overlay{padding:0}.document-manager{max-height:100vh}.document-manager-header{padding:var(--space-4) var(--space-5)}.header-stats{gap:var(--space-4)}.navigation-tabs{padding:0 var(--space-4)}.search-controls-section{padding:var(--space-4) var(--space-5)}.controls-row{flex-direction:column;align-items:stretch;gap:var(--space-3)}.content-scroll-container{padding:var(--space-3) var(--space-4)}.app-map-grid{grid-template-columns:repeat(4,1fr)}.documents-content-grid{grid-template-columns:1fr;gap:var(--space-4)}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.modal{margin:var(--space-4);padding:var(--space-5)}}@media(min-width:768px)and (max-width:1023px){.document-manager{max-width:100vw;max-height:100vh}.controls-row{align-items:center}.app-map-grid{grid-template-columns:repeat(4,1fr)}.documents-content-grid{grid-template-columns:1fr 1fr}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(min-width:1024px)and (max-width:1279px){.document-manager{max-width:100vw}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(min-width:1280px){.documents-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media(max-width:767px)and (orientation:landscape){.document-manager{max-height:100vh}.document-manager-header{padding:var(--space-3) var(--space-4)}.header-stats{flex-direction:row;gap:var(--space-4)}.search-controls-section{padding:var(--space-3) var(--space-4)}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}}@media(prefers-contrast:high){.document-item{border-color:var(--text-primary)}.document-item:hover{border-color:var(--primary-600);box-shadow:0 0 0 2px var(--primary-600)}.modal{border-color:var(--text-primary)}}@media(prefers-reduced-motion:reduce){.document-item,.nav-tab,.control-button,.modal-button,.loading-spinner{transition:none;animation:none}.document-item:hover,.control-button:hover{transform:none}}.document-item:focus-visible,.nav-tab:focus-visible,.control-button:focus-visible,.modal-button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media print{.document-manager-overlay{position:static;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.document-manager{max-width:none;max-height:none;box-shadow:none;border:1px solid #ccc}.document-manager-header,.navigation-tabs,.search-controls-section{display:none}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.document-actions{display:none}}.document-manager-header h2{margin:0;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:8px}.header-actions{display:flex;align-items:center;gap:16px}.total-stats{font-size:.875rem;opacity:.9}.header-buttons{display:flex;align-items:center;gap:12px}@media(max-width:768px){.header-buttons{gap:8px}}.document-nav{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0 32px}.document-nav button{background:none;border:none;padding:12px 16px;cursor:pointer;font-size:.875rem;font-weight:500;color:#64748b;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.document-nav button:hover{color:#334155;background:#6366f10d}.document-nav button.active{color:#6366f1;border-bottom-color:#6366f1;background:#6366f11a}.search-and-controls-section{padding:8px 16px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.search-controls-horizontal{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}.search-input-group{display:flex;align-items:center;gap:8px;flex:1;max-width:400px}.controls-horizontal{display:flex;align-items:center;gap:12px;flex-shrink:0}.control-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer;min-width:140px}.search-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;outline:none;transition:border-color .2s}.search-input:focus{border-color:#6366f1}.search-button,.clear-search-button{background:#6366f1;color:#fff;border:none;padding:12px 16px;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.search-button:hover{background:#5855eb}.clear-search-button{background:#ef4444;padding:12px}.clear-search-button:hover{background:#dc2626}.document-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid #e5e7eb;background:#fff}.controls-left,.controls-right{display:flex;gap:12px}.controls-left select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer}.create-button{background:#10b981;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.create-button:hover{background:#059669}.document-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.error-message{background:#fef2f2;color:#dc2626;padding:16px 32px;border-bottom:1px solid #fecaca;display:flex;align-items:center;gap:8px}.documents-grid{flex:1;overflow-y:auto;padding:24px 32px}.recent-section,.all-documents-section{margin-bottom:32px}.recent-section h3,.all-documents-section h3{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.document-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;background:#fff}.document-item:hover{border-color:#6366f1;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.document-icon{font-size:1.5rem;margin-right:16px}.document-info{flex:1;min-width:0}.document-title{font-weight:600;color:#111827;margin-bottom:4px;font-size:1rem}.document-meta{font-size:.75rem;color:#6b7280;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.series-badge,.folder-badge{background:#f3f4f6;color:#374151;padding:2px 8px;border-radius:12px;font-size:.625rem;font-weight:500}.series-badge{background:#ddd6fe;color:#5b21b6}.folder-badge{background:#fef3c7;color:#92400e}.document-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.document-item:hover .document-actions{opacity:1}.document-actions button{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s;white-space:nowrap}.document-actions button:hover{background:#e2e8f0;color:#334155}.delete-button{background:#fef2f2!important;border-color:#fecaca!important;color:#dc2626!important}.delete-button:hover{background:#fee2e2!important;border-color:#fca5a5!important}.folders-grid,.series-grid,.templates-grid{flex:1;overflow-y:auto;padding:24px 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.folder-item,.series-item,.template-item{display:flex;flex-direction:column;padding:20px;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;background:#fff;position:relative}.folder-item:hover,.series-item:hover{border-color:#6366f1;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.folder-icon,.series-icon,.template-icon{font-size:2rem;margin-bottom:12px}.folder-name,.series-name,.template-name{font-weight:600;color:#111827;margin-bottom:4px;font-size:1rem}.folder-meta,.series-meta{font-size:.75rem;color:#6b7280;margin-bottom:8px}.series-description,.template-preview{font-size:.875rem;color:#4b5563;line-height:1.4;margin-bottom:12px}.folder-actions,.series-actions,.template-actions{margin-top:auto}.template-actions button{background:#6366f1;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s;width:100%}.template-actions button:hover{background:#5855eb}.search-results{flex:1;overflow-y:auto;padding:24px 32px}.search-results h3{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:#111827}.search-result-item{padding:16px;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s}.search-result-item:hover{border-color:#6366f1;box-shadow:0 2px 4px #0000001a}.result-title{font-weight:600;color:#111827;margin-bottom:8px}.result-matches{display:flex;flex-direction:column;gap:4px}.result-match{font-size:.875rem;color:#6b7280;padding:4px 8px;background:#f9fafb;border-radius:4px}.analytics-view{flex:1;overflow-y:auto;padding:24px 32px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.stat-card h4{margin:0 0 12px;font-size:.875rem;font-weight:500;color:#6b7280}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin-bottom:4px}.stat-label{font-size:.75rem;color:#9ca3af;font-weight:500}.writing-insights{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.writing-insights h4{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:#111827}.writing-insights p{margin:8px 0;color:#4b5563}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.modal{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90vw;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal h3{margin:0 0 20px;font-size:1.25rem;font-weight:600;color:#111827}.modal input,.modal textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;margin-bottom:16px;outline:none;transition:border-color .2s;box-sizing:border-box}.modal input:focus,.modal textarea:focus{border-color:#6366f1}.modal textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions button:first-child{background:#6366f1;color:#fff;border:none}.modal-actions button:first-child:hover:not(:disabled){background:#5855eb}.modal-actions button:first-child:disabled{opacity:.5;cursor:not-allowed}.modal-actions button:last-child{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.modal-actions button:last-child:hover{background:#e2e8f0}.export-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.export-options button{padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s;text-align:left}.export-options button:hover{border-color:#6366f1;background:#6366f10d}.version-modal{max-width:600px}.versions-list{max-height:400px;overflow-y:auto;margin-bottom:20px}.version-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.version-info{flex:1}.version-number{font-weight:600;color:#111827;margin-bottom:4px}.version-date{font-size:.75rem;color:#6b7280;margin-bottom:2px}.version-words{font-size:.75rem;color:#6b7280;margin-bottom:4px}.version-summary{font-size:.875rem;color:#4b5563}.version-actions button{background:#6366f1;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .2s}.version-actions button:hover{background:#5855eb}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:100}.loading-spinner{font-size:1.125rem;color:#6366f1;animation:pulse 2s infinite}.loading{text-align:center;color:#6b7280;padding:20px}.auth-prompt{flex:1;display:flex;align-items:center;justify-content:center}.auth-prompt-content{text-align:center;padding:40px}.auth-prompt-content h3{margin:0 0 16px;font-size:1.5rem;font-weight:600;color:#111827}.auth-prompt-content p{margin:0;color:#6b7280;font-size:1rem}@media(max-width:768px){.document-manager{width:100vw;height:100vh}.document-manager-header{padding:16px 20px}.document-nav{padding:0 20px;overflow-x:auto}.search-section{padding:16px 20px}.document-controls{padding:12px 20px;flex-direction:column;gap:12px;align-items:stretch}.controls-left,.controls-right{justify-content:stretch}.controls-left select,.create-button{flex:1}.documents-grid{padding:16px 20px}.folders-grid,.series-grid,.templates-grid{padding:16px 20px;grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(2,1fr)}.export-options{grid-template-columns:1fr}.modal{padding:24px;margin:20px}.modal-actions{flex-direction:column}.document-actions{opacity:1;flex-direction:column;gap:4px}.document-actions button{font-size:.625rem;padding:4px 8px}}.app-map-view{flex:1;overflow-y:auto;padding:var(--space-4);background:var(--bg-primary);font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:.01em}.app-map-header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.app-map-header h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:-.02em;line-height:1.3}.app-map-header p{color:var(--text-secondary);font-size:var(--text-base);margin:0 0 var(--space-3) 0}.detailed-guide-link{margin-top:var(--space-3)}.guide-link{display:inline-flex;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;text-decoration:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border:1px solid var(--primary-600)}.guide-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);text-decoration:none;color:#fff}.guide-link:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.app-map-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4);max-width:1200px;margin:0 auto}.guide-section{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--transition-normal)}.guide-section:hover{border-color:var(--primary-300);box-shadow:var(--shadow-sm)}.guide-section h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0;display:flex;align-items:center;gap:var(--space-2);font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:-.01em;line-height:1.4}.guide-section ul{list-style:none;padding:0;margin:0}.guide-section li{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:.005em}.guide-section li:before{content:"→";position:absolute;left:0;color:var(--primary-500);font-weight:var(--font-medium)}.guide-section li:last-child{margin-bottom:0}.guide-section strong{color:var(--text-primary);font-weight:var(--font-medium)}@media(max-width:768px){.app-map-content{grid-template-columns:1fr;gap:var(--space-3)}.app-map-view{padding:var(--space-3)}}.select-field{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2378716c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:var(--space-12);transition:all var(--transition-normal);min-height:var(--input-height-md)}:root{--nav-bg: linear-gradient(135deg, var(--bg-elevated) 0%, var(--bg-secondary) 100%);--nav-border: var(--border-light);--nav-shadow: var(--shadow-sm);--brand-gradient: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 50%, var(--secondary-600) 100%);--brand-tagline-color: var(--text-tertiary);--button-gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);--button-gradient-hover: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);--button-secondary-bg: var(--bg-elevated);--button-secondary-hover: var(--bg-secondary);--chat-input-bg: var(--bg-elevated);--chat-input-border: var(--border-medium);--chat-input-focus: var(--primary-500);--chat-send-gradient: var(--button-gradient-primary);--bg-primary: #fdfcfb;--bg-secondary: linear-gradient(135deg, #fdfcfb 0%, #f7f6f4 100%);--bg-elevated: rgba(255, 255, 255, .95);--bg-glass: rgba(255, 255, 255, .97);--text-primary: #2d3748;--text-secondary: #4a5568;--text-muted: #718096;--text-light: #a0aec0;--accent-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-secondary: linear-gradient(135deg, #48bb78 0%, #38a169 100%);--accent-tertiary: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);--border-subtle: #eeebe6;--border-light: #e2e8f0;--border-medium: #cbd5e0;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .02);--shadow-soft: 0 2px 4px rgba(0, 0, 0, .02), 0 1px 3px rgba(0, 0, 0, .03);--shadow-elevated: 0 4px 6px rgba(0, 0, 0, .02), 0 1px 3px rgba(0, 0, 0, .03);--backdrop-blur: blur(10px);--backdrop-blur-subtle: blur(5px)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);background:linear-gradient(135deg,#fdfcfb,#f7f6f4);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}.app-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-primary)}.top-navigation{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-shadow:var(--nav-shadow);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1400px;margin:0 auto}.nav-brand{display:flex;align-items:center}.brand-link{text-decoration:none;display:flex;align-items:center;gap:.75rem;transition:all var(--transition-normal)}.brand-link:hover{transform:translateY(-1px)}.brand-text{font-size:1.875rem;font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.brand-tagline{font-size:.75rem;color:var(--brand-tagline-color);font-weight:500;margin-top:.125rem}.nav-actions{display:flex;align-items:center;gap:.75rem}.nav-action-button{padding:.75rem 1.5rem;border-radius:var(--radius-xl);font-weight:600;font-size:.875rem;text-decoration:none;transition:all var(--transition-normal);border:1.5px solid var(--border-medium);cursor:pointer;background:var(--bg-elevated);color:var(--gray-800)!important;display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;text-transform:none;letter-spacing:.01em;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(20,184,166,.1),transparent);transition:left .5s}.nav-action-button:hover{background:var(--primary-50);color:var(--gray-900)!important;transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-300)}.nav-action-button:hover:before{left:100%}.nav-action-button.active{background:var(--primary-600);color:#fff!important;border-color:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.nav-action-button.primary{background:var(--primary-600);color:#fff!important;border-color:var(--primary-600);box-shadow:var(--shadow-accent)}.nav-action-button.primary:hover{background:var(--primary-700);color:#fff!important;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-buttons{display:flex;gap:.5rem}.auth-buttons .nav-action-button{padding:.625rem 1.25rem;font-size:.875rem;color:var(--gray-800)!important}.auth-buttons .nav-action-button.primary{background:var(--primary-600);color:#fff!important;border-color:transparent}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-lg);transition:all var(--transition-normal)}.user-button:hover{background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-main{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);min-height:0}.writers-desk{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.writing-interface{flex:1;display:flex;min-height:0;background:var(--bg-primary)}.writing-interface.editor-only .editor-panel{width:100%}.writing-interface.with-chat .editor-panel{width:55%}.editor-panel{display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border-light);min-height:0;transition:all var(--transition-normal)}.editor-container{flex:1;padding:0;min-height:0;background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden}.chat-panel{width:45%;background:var(--bg-secondary);border-left:1px solid var(--border-light);display:flex;flex-direction:column;transition:all var(--transition-normal)}.chat-panel.open{display:flex}.chat-header{background:#fefefe!important;border-bottom:1px solid #e5e7eb!important;padding:1rem;box-shadow:0 1px 2px #0000000d}.chat-title h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937!important;display:flex;align-items:center;gap:.5rem}.chat-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.control-group{position:relative}.control-selector{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-normal);font-weight:500;color:var(--text-primary);box-shadow:var(--shadow-xs)}.control-selector:hover{background:var(--bg-secondary);border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.control-selector.active{border-color:var(--primary-500);background:var(--bg-accent);box-shadow:var(--shadow-accent)}.control-icon{margin-right:.5rem;color:var(--text-accent)}.control-label{flex:1;text-align:left;font-size:.875rem;color:var(--text-primary)}.control-arrow{transition:transform var(--transition-normal);color:var(--text-tertiary)}.control-selector.active .control-arrow{transform:rotate(180deg);color:var(--text-accent)}.control-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto;margin-top:.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dropdown-option{padding:.75rem 1rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border-lighter);font-size:.875rem;color:var(--gray-800)!important;background:var(--bg-elevated)!important;font-weight:500}.dropdown-option:hover{background:var(--primary-50)!important;color:var(--gray-900)!important;border-left:3px solid var(--primary-500);transform:translate(2px)}.dropdown-option.selected{background:var(--primary-100)!important;color:var(--gray-900)!important;font-weight:600;border-left:3px solid var(--primary-600)}.check-mark{margin-left:auto;color:var(--primary-500);font-weight:700}.chat-container{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg-primary)}.messages-container{flex:1;padding:var(--space-4) var(--space-2);overflow-y:auto;min-height:0;background:var(--bg-primary);width:100%}.chat-toggle-button{position:fixed;right:1.5rem;bottom:1.5rem;width:3.5rem;height:3.5rem;background:var(--button-gradient-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;font-size:1.25rem;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-toggle-button:hover{background:var(--button-gradient-hover);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-xl)}.chat-toggle-button.active{background:var(--secondary-500);transform:scale(.95)}.floating-ai-button-global{position:fixed;right:1.5rem;bottom:5.5rem;padding:.75rem 1.25rem;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-2xl);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);font-size:.875rem;font-weight:600;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.floating-ai-button-global:hover{background:var(--bg-accent);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--primary-500);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.nav-container{padding:.75rem 1rem;gap:.5rem}.nav-actions .nav-action-button:nth-child(1),.nav-actions .nav-action-button:nth-child(2){display:none!important}.nav-brand{flex:1}.nav-actions{display:flex!important;gap:.5rem;flex-shrink:0;align-items:center}.nav-action-button{padding:.5rem 1rem;font-size:.75rem;min-height:var(--touch-target-min);border-radius:var(--radius-lg);white-space:nowrap}.auth-buttons{display:flex!important;gap:.5rem;flex-shrink:0}.auth-buttons .nav-action-button{display:flex!important;padding:.625rem 1rem;font-size:.75rem;min-width:80px;justify-content:center;background:var(--bg-elevated);color:var(--gray-800)!important;border:1.5px solid var(--border-medium);transition:all var(--transition-normal)}.nav-action-button.secondary{background:var(--bg-elevated);color:var(--gray-700)!important;border:1px solid var(--border-medium)}.nav-action-button.secondary:hover{background:var(--bg-secondary);color:var(--gray-800)!important}.nav-action-button.primary{background:var(--primary-600);color:#fff!important;border:1px solid var(--primary-600)}.nav-action-button.primary:hover{background:var(--primary-700);color:#fff!important}.nav-user-button{padding:.625rem 1rem;background:var(--bg-elevated);color:var(--gray-800)!important;border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:.75rem;min-height:var(--touch-target-min)}.nav-user-button:hover{background:var(--bg-secondary);color:var(--gray-900)!important}.nav-user-avatar{width:20px;height:20px}.nav-user-name{font-size:.75rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}.writing-interface.with-chat{padding:0}.writing-interface.with-chat .editor-panel,.chat-panel{width:50%;padding:0;margin:0}.chat-panel.closed{display:none}.chat-controls{flex-direction:row;gap:.5rem}.control-selector{font-size:.8125rem;padding:.625rem .75rem}}@media(max-width:480px){.nav-container{padding:var(--space-2)}.nav-actions{flex-direction:column;width:100%;gap:var(--space-2)}.nav-action-button,.nav-user-button{width:100%;max-width:none;min-height:var(--touch-target-comfortable)}.suggested-questions-list{gap:var(--space-1)}.suggested-question-button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:1.4;min-height:var(--touch-target-sm)}.chat-controls{gap:.375rem}.control-selector{padding:.5rem .625rem;font-size:.75rem}}.theme-dark{--nav-bg: linear-gradient(135deg, var(--bg-elevated) 0%, var(--bg-secondary) 100%);--button-gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);--button-gradient-hover: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%)}.theme-dark .loading-spinner{border-color:var(--border-medium);border-top-color:var(--primary-400)}*{margin:0;padding:0}#root{width:100%;height:100vh;background:var(--bg-primary)}.app{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}@media(max-width:768px){.writing-interface.with-chat .editor-panel,.chat-panel{width:50%}}.suggested-questions{margin-top:1rem;padding:1rem;background:var(--bg-accent);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.suggested-questions-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-align:center}.suggested-questions-list{display:flex;flex-direction:column;gap:.5rem}.suggested-question-button{padding:.625rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-size:.8125rem;color:var(--gray-800)!important;transition:all var(--transition-normal);line-height:1.4;box-shadow:var(--shadow-xs)}.suggested-question-button:hover:not(:disabled){background:var(--primary-50);color:var(--gray-900)!important;border-color:var(--primary-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media(max-width:479px){.writing-interface.with-chat{flex-direction:column}.writing-interface.with-chat .editor-panel{width:100%;height:60%}.chat-panel{width:100%;height:40%;border-left:none;border-top:1px solid var(--border-light)}}.workspace-content{display:flex;flex-direction:row;flex:1;overflow:hidden;width:100%;height:100%}.workspace-content.with-chat{flex-direction:row}.workspace-content.editor-only{flex-direction:row;justify-content:center}.workspace-content .editor-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.workspace-content.with-chat .editor-section{flex:1;border-right:1px solid var(--border-light)}.workspace-content .chat-section{width:400px;min-width:300px;max-width:600px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary)}.workspace-content.editor-only .chat-section{display:none}@media(max-width:768px){.workspace-content.with-chat{flex-direction:column}.workspace-content.with-chat .editor-section{width:100%;height:60%;border-right:none;border-bottom:1px solid var(--border-light)}.workspace-content .chat-section{width:100%;height:40%;max-width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}:root{--breakpoint-xs: 320px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--space-xs: clamp(.25rem, .5vw, .375rem);--space-sm: clamp(.375rem, .75vw, .5rem);--space-1: clamp(.25rem, .5vw, .375rem);--space-2: clamp(.5rem, 1vw, .75rem);--space-3: clamp(.75rem, 1.5vw, 1rem);--space-4: clamp(1rem, 2vw, 1.25rem);--space-5: clamp(1.25rem, 2.5vw, 1.5rem);--space-6: clamp(1.5rem, 3vw, 2rem);--space-8: clamp(2rem, 4vw, 2.5rem);--space-10: clamp(2.5rem, 5vw, 3rem);--space-12: clamp(3rem, 6vw, 4rem);--space-16: clamp(4rem, 8vw, 5rem);--text-xs: clamp(.75rem, 1.5vw, .875rem);--text-sm: clamp(.875rem, 1.75vw, 1rem);--text-base: clamp(1rem, 2vw, 1.125rem);--text-lg: clamp(1.125rem, 2.25vw, 1.25rem);--text-xl: clamp(1.25rem, 2.5vw, 1.5rem);--text-2xl: clamp(1.5rem, 3vw, 1.875rem);--text-3xl: clamp(1.875rem, 3.75vw, 2.25rem);--text-4xl: clamp(2.25rem, 4.5vw, 3rem);--button-height-sm: clamp(2rem, 4vw, 2.25rem);--button-height-md: clamp(2.25rem, 4.5vw, 2.75rem);--button-height-lg: clamp(2.75rem, 5.5vw, 3rem);--input-height-sm: clamp(2rem, 4vw, 2.25rem);--input-height-md: clamp(2.5rem, 5vw, 2.75rem);--input-height-lg: clamp(2.75rem, 5.5vw, 3rem);--container-sm: min(100% - 2rem, 640px);--container-md: min(100% - 3rem, 768px);--container-lg: min(100% - 4rem, 1024px);--container-xl: min(100% - 6rem, 1280px);--container-2xl: min(100% - 8rem, 1536px);--primary-50: #f0fdfa;--primary-100: #ccfbf1;--primary-200: #99f6e4;--primary-300: #5eead4;--primary-400: #2dd4bf;--primary-500: #14b8a6;--primary-600: #0d9488;--primary-700: #0f766e;--primary-800: #115e59;--primary-900: #134e4a;--secondary-50: #fffbeb;--secondary-100: #fef3c7;--secondary-200: #fde68a;--secondary-300: #fcd34d;--secondary-400: #fbbf24;--secondary-500: #f59e0b;--secondary-600: #d97706;--secondary-700: #b45309;--secondary-800: #92400e;--secondary-900: #78350f;--gray-50: #fafaf9;--gray-100: #f5f5f4;--gray-200: #e7e5e4;--gray-300: #d6d3d1;--gray-400: #a8a29e;--gray-500: #78716c;--gray-600: #57534e;--gray-700: #44403c;--gray-800: #292524;--gray-900: #1c1917;--success-50: #f0fdf4;--success-500: #22c55e;--success-600: #16a34a;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--bg-primary: #fefefe !important;--bg-secondary: #ffffff !important;--bg-tertiary: var(--gray-200);--bg-elevated: #fefefe !important;--bg-accent: #f9fafb !important;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #1f2937 !important;--text-secondary: #374151 !important;--text-tertiary: var(--gray-500);--text-inverse: #ffffff;--text-accent: var(--primary-600);--text-muted: #6b7280 !important;--chat-bg-user: var(--primary-500);--chat-bg-ai: var(--bg-elevated);--chat-text-primary: var(--gray-900);--chat-text-secondary: var(--gray-700);--border-light: #e5e7eb !important;--border-medium: #d1d5db !important;--border-strong: #9ca3af !important;--border-accent: var(--primary-300);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-large: 56px}.theme-dark{--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--bg-tertiary: var(--gray-700);--bg-elevated: var(--gray-800);--bg-accent: var(--primary-900);--text-primary: var(--gray-100);--text-secondary: var(--gray-300);--text-tertiary: var(--gray-400);--text-inverse: var(--gray-900);--chat-bg-user: var(--primary-600);--chat-bg-ai: var(--gray-700);--chat-text-primary: var(--gray-100);--chat-text-secondary: var(--gray-300);--border-light: var(--gray-700);--border-medium: var(--gray-600);--border-strong: var(--gray-500);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .4)}.container-sm{max-width:var(--container-sm);margin:0 auto;padding:0 var(--space-4)}.container-md{max-width:var(--container-md);margin:0 auto;padding:0 var(--space-4)}.container-lg{max-width:var(--container-lg);margin:0 auto;padding:0 var(--space-6)}.container-xl{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-8)}.container-2xl{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--space-10)}button,input,select,textarea{color:var(--text-primary)!important}@media(prefers-contrast:high){:root{--text-primary: #000000;--text-secondary: #333333;--border-medium: #666666;--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3)}.theme-dark{--text-primary: #ffffff;--text-secondary: #cccccc;--border-medium: #999999}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.message-content,.user-message .message-content,.ai-message .message-content{color:#1f2937!important;line-height:1.6}.user-message .message-content{color:#fff!important}.ai-message .message-content{color:#1f2937!important;background:#fff!important}.chat-container,.messages-container,.chat-input-container{background:var(--bg-primary)}.chat-input-container input,.chat-input-container textarea{color:var(--text-primary)!important;background:var(--bg-elevated)!important;border-color:var(--border-medium)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.card{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.card-elevated{box-shadow:var(--shadow-md)}.button-primary{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);min-height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.button-primary:hover{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-normal);min-height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.button-secondary:hover{background:var(--bg-secondary);border-color:var(--border-strong)}.button-ghost{background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-normal);min-height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.button-ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.input-field{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-base);min-height:var(--input-height-md);transition:all var(--transition-normal)}.input-field:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #14b8a61a}.select-field{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2378716c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:var(--space-12);transition:all var(--transition-normal);min-height:var(--input-height-md)}.select-field:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #14b8a61a}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}@media(min-width:320px){.container{padding:0 var(--space-3)}}@media(min-width:480px){.container{padding:0 var(--space-4)}.button-primary,.button-secondary,.button-ghost{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}}@media(min-width:768px){.container{padding:0 var(--space-6)}.button-primary,.button-secondary,.button-ghost{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}}@media(min-width:1024px){.container{padding:0 var(--space-8)}}@media(min-width:1280px){.container{padding:0 var(--space-10)}}:root{--bg-primary: #fefefe !important;--bg-secondary: #ffffff !important;--bg-elevated: #fefefe !important;--bg-accent: #f9fafb !important;--text-primary: #1f2937 !important;--text-secondary: #374151 !important;--text-muted: #6b7280 !important;--border-light: #e5e7eb !important;--border-medium: #d1d5db !important;--border-strong: #9ca3af !important}.theme-dark{--bg-primary: #fefefe !important;--bg-secondary: #ffffff !important;--bg-elevated: #fefefe !important;--bg-accent: #f9fafb !important;--text-primary: #1f2937 !important;--text-secondary: #374151 !important;--text-muted: #6b7280 !important;--border-light: #e5e7eb !important;--border-medium: #d1d5db !important;--border-strong: #9ca3af !important}body,.app-main,.app-layout,.content-wrapper,.writing-interface,.editor-panel,.chat-panel,.chat-container,.chat-header,.chat-title,.editor-wrapper,.highlightable-editor{background:#fefefe!important;background-color:#fefefe!important;color:#1f2937!important}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:50;animation:authOverlayFadeIn .2s ease-out;padding:var(--space-4);box-sizing:border-box}@keyframes authOverlayFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:min(320px,calc(100vw - 2rem));min-width:280px;max-height:90vh;overflow-y:auto;animation:authModalSlideIn .3s ease-out;border:1px solid var(--border-light);margin:0 auto;position:relative;box-sizing:border-box}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:640px){.auth-modal{max-width:min(340px,calc(100vw - 2rem));min-width:300px}}@media(min-width:768px){.auth-modal{max-width:min(360px,calc(100vw - 2rem));min-width:320px}}@media(min-width:1024px){.auth-modal{max-width:min(380px,calc(100vw - 2rem));min-width:340px}}.auth-modal-header{position:relative;padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-lighter);background:linear-gradient(135deg,var(--gray-50) 0%,var(--bg-elevated) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.auth-modal-header h2{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;text-align:center;line-height:1.3}.auth-modal-close{position:absolute;top:var(--space-6);right:var(--space-6);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{background:var(--gray-100);color:var(--text-secondary);transform:scale(1.05)}.auth-modal-close:active{transform:scale(.95)}.auth-modal-content{padding:var(--space-6) var(--space-6) var(--space-6)}.auth-form{display:flex;flex-direction:column;gap:var(--space-6)}.auth-form-group{display:flex;flex-direction:column;gap:var(--space-3)}.auth-form-group-checkbox{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-1) 0}.auth-form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);line-height:1.4}.auth-form-optional{color:var(--text-tertiary);font-weight:var(--font-normal);font-size:var(--text-xs)}.auth-form-input{background:var(--bg-primary);border:1.5px solid var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);font-size:var(--text-lg);color:var(--text-primary);transition:all var(--transition-fast);outline:none;font-family:inherit;line-height:1.6;min-height:52px}.auth-form-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e914;background:var(--bg-elevated)}.auth-form-input:hover:not(:focus){border-color:var(--border-dark)}.auth-form-input.error{border-color:var(--error-500);background:var(--error-50)}.auth-form-input.error:focus{border-color:var(--error-600);box-shadow:0 0 0 3px #ef444414}.auth-form-input::placeholder{color:var(--text-tertiary)}.auth-password-toggle{position:absolute;right:var(--space-3);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.auth-password-toggle:hover{color:var(--text-secondary);background:var(--gray-100)}.auth-password-requirements{margin-top:var(--space-2);padding:var(--space-3);background:var(--gray-50);border:1px solid var(--border-lighter);border-radius:var(--radius-md)}.auth-password-requirements small{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.4}.auth-checkbox-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4;position:relative;padding:var(--space-2);margin:calc(-1 * var(--space-2));border-radius:var(--radius-md);transition:all var(--transition-fast)}.auth-checkbox-label:hover{background:var(--gray-50)}.auth-checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;cursor:pointer}.auth-checkbox-custom{position:relative;width:20px;height:20px;background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;cursor:pointer}.auth-checkbox-custom:after{content:"";position:absolute;top:3px;left:6px;width:6px;height:10px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity var(--transition-fast)}.auth-checkbox-label input[type=checkbox]:checked+.auth-checkbox-custom{background:var(--primary-600);border-color:var(--primary-600)}.auth-checkbox-label input[type=checkbox]:checked+.auth-checkbox-custom:after{opacity:1}.auth-checkbox-label:hover .auth-checkbox-custom{border-color:var(--primary-500)}.auth-checkbox-label input[type=checkbox]:focus+.auth-checkbox-custom{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e914}.auth-form-submit{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);color:var(--text-inverse);border:none;border-radius:var(--radius-lg);padding:var(--space-5) var(--space-8);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);margin-top:var(--space-4);position:relative;overflow:hidden;min-height:56px;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-form-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-form-submit:hover:before{left:100%}.auth-form-submit:hover{background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-800) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-form-submit:active{transform:translateY(0);box-shadow:var(--shadow-md)}.auth-form-submit:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.auth-form-submit:disabled:before{display:none}.auth-loading-spinner svg{animation:authSpinnerRotate 1s linear infinite}@keyframes authSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-error-banner{background:linear-gradient(135deg,var(--error-50) 0%,var(--error-100) 100%);border:1px solid var(--error-200);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--error-700);font-size:var(--text-sm);line-height:1.4;margin-bottom:var(--space-1)}.auth-error-banner svg{flex-shrink:0;color:var(--error-600)}.auth-form-error{color:var(--error-600);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.auth-divider{display:flex;align-items:center;margin:var(--space-6) 0 var(--space-4) 0;gap:var(--space-3)}.auth-divider-line{flex:1;height:1px;background:var(--border-lighter)}.auth-divider-text{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--font-medium);text-transform:lowercase;padding:0 var(--space-2)}.auth-guest-button{width:100%;background:linear-gradient(135deg,var(--gray-50) 0%,var(--bg-elevated) 100%);border:2px solid var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;min-height:56px;display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.auth-guest-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(14,165,233,.05),transparent);transition:left .6s}.auth-guest-button:hover:before{left:100%}.auth-guest-button:hover{background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg-elevated) 100%);border-color:var(--primary-300);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-guest-button:active{transform:translateY(0);box-shadow:var(--shadow-md)}.auth-guest-button:disabled{background:var(--gray-100);border-color:var(--border-light);cursor:not-allowed;transform:none;box-shadow:none}.auth-guest-button:disabled:before{display:none}.auth-guest-button svg{color:var(--primary-600);flex-shrink:0}.auth-guest-button:disabled svg{color:var(--text-tertiary)}.auth-guest-button-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);text-align:left}.auth-guest-button-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.2}.auth-guest-button-subtitle{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.3;font-weight:var(--font-normal)}.auth-guest-button:disabled .auth-guest-button-title,.auth-guest-button:disabled .auth-guest-button-subtitle{color:var(--text-tertiary)}.auth-mode-switch{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-lighter);text-align:center}.auth-mode-switch p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.auth-link-button{background:none;border:none;color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;text-decoration:none;transition:all var(--transition-fast);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.auth-link-button:hover{color:var(--primary-700);background:var(--primary-50);transform:translateY(-1px)}.auth-link-button:disabled{color:var(--text-tertiary);cursor:not-allowed;background:none;transform:none}@media(max-width:768px){.auth-modal-overlay{padding:var(--space-3)}.auth-modal{max-width:min(300px,calc(100vw - 1.5rem));min-width:260px;margin:0 auto}.auth-modal-header{padding:var(--space-5) var(--space-5) var(--space-3)}.auth-modal-header h2{font-size:var(--text-xl)}.auth-modal-content{padding:var(--space-5) var(--space-5) var(--space-5)}.auth-form{gap:var(--space-4)}.auth-form-input{padding:var(--space-4) var(--space-4);font-size:var(--text-base);min-height:48px}.auth-form-submit{padding:var(--space-4) var(--space-5);font-size:var(--text-base);min-height:52px}}@media(max-width:640px){.auth-modal-overlay{padding:var(--space-2)}.auth-modal{max-width:min(280px,calc(100vw - 1rem));min-width:240px;margin:0 auto}.auth-modal-header{padding:var(--space-4) var(--space-4) var(--space-3)}.auth-modal-header h2{font-size:var(--text-lg)}.auth-modal-content{padding:var(--space-4) var(--space-4) var(--space-4)}.auth-form{gap:var(--space-3)}.auth-form-input{padding:var(--space-3) var(--space-3);font-size:var(--text-base);min-height:44px}.auth-form-submit{padding:var(--space-3) var(--space-4);font-size:var(--text-base);min-height:48px}}@media(prefers-reduced-motion:reduce){.auth-modal-overlay,.auth-modal,.auth-form-input,.auth-form-submit,.auth-checkbox-custom,.auth-loading-spinner svg{animation:none;transition:none}.auth-form-submit:before{display:none}}.auth-form-input:focus-visible,.auth-form-submit:focus-visible,.auth-link-button:focus-visible,.auth-modal-close:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media(prefers-contrast:high){.auth-modal{border:2px solid var(--text-primary)}.auth-form-input,.auth-error-banner{border-width:2px}}.app-layout{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.top-navigation{display:none!important}.auth-float{position:fixed;top:var(--space-3);right:var(--space-3);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.auth-float>*{pointer-events:auto}.auth-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:0 4px 12px #3b82f640,0 2px 4px #0000001a;min-height:var(--touch-target-min);min-width:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.auth-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #3b82f659,0 3px 6px #00000026;background:linear-gradient(135deg,var(--primary-700),var(--primary-800))}.auth-button:active{transform:translateY(0) scale(.98);transition:all .1s ease}.auth-button:before{content:"👤";font-size:var(--text-sm);margin-right:var(--space-1)}.profile-button{background:linear-gradient(135deg,var(--success-600),var(--success-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);box-shadow:0 4px 12px #22c55e40,0 2px 4px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.profile-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #22c55e59,0 3px 6px #00000026}.profile-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:var(--bg-inverse);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold)}@media(max-width:480px){.auth-float{top:var(--space-2);right:var(--space-2)}.auth-button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.auth-button:before{margin-right:0}}@media(max-width:768px)and (orientation:landscape){.auth-float{top:var(--space-2);right:var(--space-2)}.auth-button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}}.nav-brand{display:flex;flex-direction:column;align-items:flex-start}.brand-text{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--primary-600);margin:0;letter-spacing:-.025em}.brand-tagline{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.nav-links{display:flex;justify-content:center;gap:var(--space-1);flex:1}.nav-link{display:flex;align-items:center;gap:var(--space-1);padding:4px 8px;color:var(--text-tertiary);text-decoration:none;border-radius:12px;transition:all var(--transition-fast);font-size:11px;font-weight:var(--font-normal);position:relative;border:1px solid transparent;line-height:1.2}.nav-link:hover{background:var(--bg-secondary);color:var(--text-secondary);border-color:transparent}.nav-link.active{background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-200);font-weight:var(--font-medium)}.nav-icon{font-size:10px}.nav-auth{display:flex;align-items:center;gap:var(--space-2)}.nav-auth-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2)}.loading-spinner{width:20px;height:20px;border:2px solid var(--border-light);border-top:2px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-auth-buttons{display:flex;align-items:center;gap:var(--space-2)}.nav-auth-button{padding:6px 12px;border-radius:6px;font-size:var(--text-xs);font-weight:var(--font-medium);transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.nav-auth-button.secondary{background:transparent;color:var(--text-secondary);border-color:var(--border-light)}.nav-auth-button.secondary:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.nav-auth-button.primary{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.nav-auth-button.primary:hover{background:var(--primary-600);border-color:var(--primary-600)}.nav-user-menu{position:relative}.nav-user-button{display:flex;align-items:center;gap:var(--space-2);padding:4px 8px;background:transparent;border:1px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary)}.nav-user-button:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.nav-user-avatar{width:24px;height:24px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-medium)}.nav-user-name{font-size:var(--text-xs);font-weight:var(--font-medium);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:var(--bg-elevated);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-light)}.user-profile-modal{background:var(--bg-elevated);border-radius:12px;box-shadow:var(--shadow-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-light)}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-light)}.auth-modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.auth-modal-close{background:transparent;border:none;cursor:pointer;padding:var(--space-1);border-radius:4px;color:var(--text-tertiary);transition:all var(--transition-fast)}.auth-modal-close:hover{color:var(--text-secondary);background:var(--bg-secondary)}.auth-modal-content,.profile-modal-content{padding:var(--space-6)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form-group{display:flex;flex-direction:column;gap:var(--space-1)}.auth-form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.auth-form-optional{font-weight:var(--font-normal);color:var(--text-tertiary)}.auth-form-input{padding:10px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-fast)}.auth-form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.auth-form-input.error{border-color:var(--error-500)}.auth-form-input.error:focus{border-color:var(--error-500);box-shadow:0 0 0 3px var(--error-100)}.auth-form-input:disabled{opacity:.6;cursor:not-allowed}.auth-password-container{position:relative;display:flex;align-items:center}.auth-password-toggle{position:absolute;right:8px;background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-tertiary);transition:color var(--transition-fast)}.auth-password-toggle:hover{color:var(--text-secondary)}.auth-password-requirements{margin-top:var(--space-1)}.auth-password-requirements small{color:var(--text-tertiary);font-size:var(--text-xs)}.auth-form-error{color:var(--error-600);font-size:var(--text-xs);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.auth-error-banner,.auth-success-banner{display:flex;align-items:center;gap:var(--space-2);padding:12px;border-radius:6px;font-size:var(--text-sm);margin-bottom:var(--space-4)}.auth-error-banner{background:var(--error-50);color:var(--error-700);border:1px solid var(--error-200)}.auth-success-banner{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200)}.auth-loading-spinner{display:flex;align-items:center;justify-content:center}.auth-loading-spinner svg{animation:spin 1s linear infinite}.auth-mode-switch{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.auth-mode-switch p{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.auth-link-button{background:transparent;border:none;color:var(--primary-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:underline;transition:color var(--transition-fast)}.auth-link-button:hover:not(:disabled){color:var(--primary-700)}.auth-link-button:disabled{opacity:.6;cursor:not-allowed}.user-info-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--space-6)}.user-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-bold)}.user-info-text h3{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.user-info-text p{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.user-info-text small{color:var(--text-tertiary);font-size:var(--text-xs)}.profile-tabs{display:flex;border-bottom:1px solid var(--border-light);margin-bottom:var(--space-6)}.profile-tab{background:transparent;border:none;padding:12px 16px;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);border-bottom:2px solid transparent;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.profile-tab:hover{color:var(--text-secondary)}.profile-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-500)}.profile-logout-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-light)}.profile-logout-button{width:100%;padding:12px 16px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:6px;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.profile-logout-button:hover:not(:disabled){background:var(--error-50);color:var(--error-600);border-color:var(--error-200)}.profile-logout-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.top-navigation{display:none!important}.app-layout{min-height:100vh;padding-top:0}.app-main{height:100vh;padding-top:0}.mobile-auth-float{position:fixed;top:var(--space-3);right:var(--space-3);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.mobile-auth-float>*{pointer-events:auto}.mobile-auth-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:0 4px 12px #3b82f640,0 2px 4px #0000001a;min-height:var(--touch-target-min);min-width:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-auth-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #3b82f659,0 3px 6px #00000026;background:linear-gradient(135deg,var(--primary-700),var(--primary-800))}.mobile-auth-button:active{transform:translateY(0) scale(.98);transition:all .1s ease}.mobile-auth-button:before{content:"👤";font-size:var(--text-sm);margin-right:var(--space-1)}.mobile-profile-button{background:linear-gradient(135deg,var(--success-600),var(--success-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);box-shadow:0 4px 12px #22c55e40,0 2px 4px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-profile-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #22c55e59,0 3px 6px #00000026}.mobile-profile-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:var(--bg-inverse);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold)}.auth-modal,.user-profile-modal{margin:var(--space-2);max-width:calc(100vw - var(--space-4));width:100%;max-height:calc(100vh - var(--space-4));overflow-y:auto}.auth-modal-overlay{z-index:300}}@media(max-width:480px){.mobile-auth-float{top:var(--space-2);right:var(--space-2)}.mobile-auth-button{padding:var(--space-2) var(--space-3);font-size:10px;gap:var(--space-1)}.mobile-auth-button:before{font-size:var(--text-xs);margin-right:0}}@media(max-width:768px)and (orientation:landscape){.mobile-auth-float{top:var(--space-2);right:var(--space-2)}.mobile-auth-button{padding:var(--space-1) var(--space-3);font-size:10px}}.chat-toggle-button{position:fixed;bottom:var(--space-4);right:var(--space-4);background:var(--primary-600);color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:100;min-height:var(--touch-target-min);min-width:auto}.chat-toggle-button:hover{background:var(--primary-700);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.chat-toggle-button.active{background:var(--error-600)}.chat-toggle-button.active:hover{background:var(--error-700)}@media(max-width:768px){.chat-toggle-button{bottom:var(--space-3);right:var(--space-3);padding:var(--space-3) var(--space-3);min-height:var(--touch-target-large);min-width:var(--touch-target-large);border-radius:var(--radius-full);font-size:var(--text-xs);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.chat-toggle-button span{display:none}.chat-toggle-button:before{content:"💬";font-size:var(--text-lg)}.chat-toggle-button.active:before{content:"✕";font-size:var(--text-base)}}@media(max-width:480px){.chat-toggle-button{bottom:var(--space-2);right:var(--space-2);min-height:56px;min-width:56px;padding:var(--space-3)}}@media(max-width:768px){.content-wrapper{padding:var(--space-2)}.writing-interface{gap:0;padding:0;height:calc(100vh - 140px)}.writing-interface.with-chat{flex-direction:row}.writing-interface.with-chat .editor-panel{width:50%;height:100%;border-radius:var(--radius-lg) 0 0 var(--radius-lg);border-right:1px solid var(--border-light)}.writing-interface.with-chat .chat-panel{width:50%;height:100%;border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-left:1px solid var(--border-light)}.editor-panel,.chat-panel{border-radius:var(--radius-lg)}}.app-main{flex:1;position:relative}.content-wrapper{max-width:1400px;margin:0 auto;padding:var(--space-6);width:100%;box-sizing:border-box}.writers-desk{max-width:none;position:relative;height:100vh;overflow:hidden}.controls-section{display:none}.error-alerts{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:200;max-width:600px}.controls-sidebar{position:fixed;top:50%;left:var(--space-4);transform:translateY(-50%);z-index:150;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2)}.writing-interface{position:relative;display:flex;gap:var(--space-4);height:100vh;transition:all var(--transition-normal);max-width:100%;overflow:hidden;padding:0}.writing-interface.editor-only{justify-content:center}.writing-interface.editor-only .editor-panel{width:100%;max-width:1000px;margin:0}.writing-interface.with-chat{justify-content:stretch}.writing-interface.with-chat .editor-panel{width:50%;flex-shrink:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.writing-interface.with-chat .chat-panel{width:50%;flex-shrink:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid var(--border-light)}.editor-panel,.chat-panel{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal);height:100%}.panel-header,.panel-title-section,.panel-title,.panel-subtitle{display:none}.editor-container{height:100%;overflow:hidden;border-radius:var(--radius-xl)}.chat-panel{display:block;opacity:1;pointer-events:all;transition:all var(--transition-normal)}.chat-panel.closed{display:none}.controls-container{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;max-width:none;overflow:visible;position:relative;display:flex;justify-content:flex-start;align-items:flex-start}.controls-left{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr) auto repeat(2,1fr);gap:var(--space-1);align-items:stretch;min-width:60px;width:60px}.controls-right{display:none}.dropdown-option{display:block;width:100%;padding:var(--space-3) var(--space-3);background:none;border:none;text-align:left;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--border-lighter)}.option-icon{font-size:var(--text-lg);flex-shrink:0}.option-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-indicator{color:var(--primary-600);font-weight:700;margin-left:auto;flex-shrink:0}.dropdown-option.selected .selected-indicator{opacity:1}.dropdown-option.selected .option-icon{color:var(--primary-600)}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background:var(--primary-50);color:var(--primary-700)}.dropdown-option.selected{background:var(--primary-100);color:var(--primary-800);font-weight:var(--font-semibold);position:relative}.dropdown-option.selected:after{content:"✓";position:absolute;right:var(--space-3);color:var(--primary-600);font-weight:700}.dropdown-option.selected:hover{background:var(--primary-150)}.controls-divider{height:1px;background:var(--border-light);margin:var(--space-1) 0;grid-column:1}.control-action-group{position:relative;width:100%}.writing-timer-clock,.start-writing-button,.writing-timer-float,.controls-grid,.control-label,.start-writing-section,.writing-hint{display:none}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;font-size:var(--text-sm);line-height:1.5}.alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-warning{background:#fffbeb;border-color:#fed7aa;color:#92400e}.alert-icon{flex-shrink:0;margin-top:2px}.chat-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb!important;background:#fefefe!important;position:relative;flex-shrink:0;flex-wrap:wrap;gap:.75rem}.chat-title{font-size:16px!important;font-weight:600!important;color:#1f2937!important;margin:0;flex-grow:1;min-width:200px}.chat-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;min-height:32px}.chat-controls .control-icon-group{width:auto;min-width:60px}.control-group{position:relative;display:inline-block}.control-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .2s;font-size:.875rem;color:#475569;min-width:100px;justify-content:space-between;box-shadow:0 1px 2px #0000000d}.control-selector:hover{background-color:#f8fafc}.control-selector.active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.control-icon{font-size:1rem}.control-label{display:block;font-weight:500;color:#0f172a;flex:1;text-align:left}.control-arrow{font-size:.75rem;transition:transform .2s}.control-selector.active .control-arrow{transform:rotate(180deg)}.header-info{display:flex;flex-direction:column;gap:var(--space-1)}.author-persona,.help-focus{font-size:var(--text-xs);color:var(--text-secondary)}.messages-container{flex:1;padding:var(--space-6) var(--space-3);overflow-y:auto;min-height:0;background:var(--bg-primary);width:100%}.highlighted-text-box{background:linear-gradient(135deg,var(--secondary-50) 0%,#fff9e6 100%)!important;border:2px solid var(--secondary-300)!important;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-lg),0 0 0 1px #fcd34d26,inset 0 1px #fffc;position:relative;animation:highlightSlideIn .6s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes highlightSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95);border-color:transparent}to{opacity:1;transform:translateY(0) scale(1);border-color:var(--secondary-300)}}.highlighted-text-box:before{content:"✨";position:absolute;top:var(--space-4);right:var(--space-5);font-size:var(--text-xl);opacity:.8;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.highlighted-title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--gray-900)!important;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.5px;opacity:.9}.highlighted-title:before{content:"🎯";font-size:var(--text-lg);animation:pulse 2s ease-in-out infinite}.highlighted-content{font-size:var(--text-base);color:var(--gray-900)!important;font-style:italic;font-weight:600!important;line-height:1.7;background:#fffffffa!important;padding:var(--space-5);border-radius:var(--radius-lg);border-left:4px solid var(--secondary-400);border-right:2px solid var(--secondary-300);box-shadow:inset 0 1px 3px #fcd34d1a,var(--shadow-sm);position:relative;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.highlighted-content:before{content:'"';position:absolute;top:-8px;left:8px;font-size:28px;color:var(--secondary-600)!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.highlighted-content:after{content:'"';position:absolute;bottom:-18px;right:8px;font-size:28px;color:var(--secondary-600)!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.highlighted-meta{font-size:var(--text-xs);color:var(--gray-700)!important;margin-bottom:var(--space-2);font-weight:600;text-align:right;opacity:.85}.highlight-status{margin-top:var(--space-4);padding:var(--space-4);background:#fcd34d14!important;border-radius:var(--radius-lg);border:1px solid var(--secondary-200)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.status-indicator{display:flex;align-items:center;gap:var(--space-2)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success-500)!important;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 0 2px #22c55e33}.status-dot.active{background:var(--secondary-500)!important;box-shadow:0 0 0 2px #f59e0b4d}.status-text{font-size:var(--text-xs);color:var(--gray-900)!important;font-weight:600!important;line-height:1.4}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.welcome-message{display:flex;flex-direction:column;align-items:stretch;padding:24px 16px;text-align:center;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px;margin:16px 0;width:100%}.welcome-avatar{width:48px;height:48px;background-color:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#fff;align-self:center}.welcome-content{width:100%}.welcome-content h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1f2937!important}.welcome-content p{margin:0 0 1.5rem;color:#374151!important;line-height:1.6;text-align:left}.conversation-starters{width:100%;text-align:left}.conversation-starters h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#1f2937!important}.starter-questions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;margin-top:12px}.starter-question-button{padding:8px 12px!important;background-color:#f9fafb!important;border:1px solid #d1d5db!important;border-radius:8px!important;color:#1f2937!important;font-size:12px!important;cursor:pointer;transition:all .15s ease;text-align:left;line-height:1.3!important;max-width:none!important;white-space:normal!important;overflow:visible!important;text-overflow:initial!important;display:block!important;box-shadow:0 1px 2px #0000000d!important}.starter-question-button:hover{background-color:#f0f9ff!important;border-color:#93c5fd!important;color:#1f2937!important;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a!important}.ai-message .message-content{background:#fff!important;border:1px solid #e5e7eb!important;margin-right:12px;box-shadow:0 1px 2px #0000000d;color:#1f2937!important}.ai-message .message-content,.ai-message .message-content *{color:#1f2937!important}.controls-container.expanded{width:280px}.expanded-dropdown{min-width:240px;max-width:280px}.dropdown-header{padding:.75rem 1rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-tertiary)!important;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light);background-color:var(--bg-secondary)}.dropdown-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-primary)!important}.option-icon{font-size:1rem;opacity:.7;min-width:16px}.option-text{flex:1;text-align:left;color:var(--text-primary)!important}.selected-indicator{font-size:.875rem;color:var(--success-500)!important;font-weight:600;min-width:16px}.dropdown-option.selected .selected-indicator{color:#fff!important}.dropdown-option.selected .option-icon{opacity:1}.message{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);align-items:flex-start;animation:messageSlideIn .3s ease-out;width:100%}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{flex-direction:row-reverse}.user-message .message-content{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);color:var(--text-inverse)!important;margin-left:var(--space-3);box-shadow:var(--shadow-md)}.ai-message .message-content{background:var(--bg-elevated);border:1px solid var(--border-light);margin-right:var(--space-3);box-shadow:var(--shadow-sm);color:var(--text-primary)!important}.message-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)!important;flex-shrink:0;box-shadow:var(--shadow-sm)}.user-message .message-avatar{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:var(--text-inverse)!important}.message-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.5;max-width:none;word-wrap:break-word;flex:1;min-width:0;color:var(--text-primary)!important}.message-content *{color:inherit!important}.user-message .message-content,.user-message .message-content *{color:var(--text-inverse)!important}.ai-message .message-content,.ai-message .message-content *{color:var(--text-primary)!important}.streaming .message-content{position:relative;color:var(--text-primary)!important}.typing-cursor{animation:cursor-blink 1.2s ease-in-out infinite;margin-left:2px;color:var(--primary-500)!important;will-change:opacity}@keyframes cursor-blink{0%,45%{opacity:1}50%,95%{opacity:.3}to{opacity:1}}.contextual-prompts{margin:var(--space-3) 0;padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.contextual-prompts-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--gray-800)!important;margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.contextual-prompts-list{display:flex;flex-direction:column;gap:var(--space-1)}.chat-error-box{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-4);animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.error-icon{font-size:var(--text-xl);flex-shrink:0;margin-top:2px;color:#dc2626!important}.error-content{flex:1}.error-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:#dc2626!important;margin-bottom:var(--space-2)}.error-message{font-size:var(--text-sm);color:#991b1b!important;line-height:1.5;margin-bottom:var(--space-4)}.test-connection-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff!important;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.test-connection-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-controls-simple{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.control-select-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.control-select-group label{font-size:14px;margin:0;color:var(--gray-800)!important;white-space:nowrap}.control-select{background:#fff!important;border:1px solid var(--border-medium)!important;border-radius:5px;padding:5px 8px;font-size:12px;min-width:100px;cursor:pointer;transition:all .2s ease;color:var(--gray-800)!important;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control-select option{background:#fff!important;color:var(--gray-800)!important;padding:8px 12px;font-weight:500;border:none!important}.control-select optgroup{background:#fff!important;color:var(--gray-800)!important}.control-select::-webkit-scrollbar{width:8px}.control-select::-webkit-scrollbar-track{background:var(--bg-secondary)}.control-select::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.control-select:hover{border-color:var(--primary-400)!important;background:#fff!important;color:var(--gray-900)!important}.control-select:focus{outline:none;border-color:var(--primary-600)!important;box-shadow:0 0 0 2px #14b8a633!important;background:#fff!important;color:var(--gray-900)!important}@media(max-width:768px){.chat-header{padding:.5rem .75rem;gap:.5rem;border-bottom:2px solid #e5e7eb!important;margin-bottom:var(--space-3);background:#fefefe!important;position:sticky;top:0;z-index:10}.chat-title{font-size:14px!important;font-weight:600!important;color:#1f2937!important}.chat-controls-simple{gap:.5rem;margin-bottom:var(--space-4)}.control-select-group{flex:1;min-width:0}.control-select-group label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;color:var(--text-secondary)}.control-select{font-size:11px;padding:5px 8px;min-width:100px;height:32px;border-radius:6px;border:1px solid var(--border-medium);background:var(--bg-primary)}.messages-container{padding:var(--space-3) var(--space-2);background:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:2px solid var(--border-light);border-bottom:none;margin:0;position:relative;min-height:200px}.messages-container:before{content:"💬 Conversation Space";display:block;text-align:center;font-size:12px;color:var(--text-muted);font-weight:500;padding:var(--space-2);margin-bottom:var(--space-3);background:var(--bg-accent);border-radius:var(--radius-md);border:1px dashed var(--border-light)}.welcome-message{margin:var(--space-2) 0;padding:var(--space-3) var(--space-2);background:linear-gradient(135deg,var(--primary-50),var(--secondary-50));border-radius:var(--radius-lg);border:1px solid var(--primary-200);box-shadow:var(--shadow-sm);width:100%;box-sizing:border-box}.starter-questions{gap:var(--space-3);margin-top:var(--space-4)}.chat-input-container{background:var(--bg-secondary);border:2px solid var(--border-light);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:0;padding:var(--space-2);position:relative}.chat-input-container:before{content:"";position:absolute;top:0;left:var(--space-2);right:var(--space-2);height:2px;background:linear-gradient(90deg,transparent,var(--primary-300),transparent)}.suggested-questions{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-accent);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.suggested-questions-title{font-size:12px;font-weight:600;margin-bottom:var(--space-2);text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.suggested-questions-list{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.suggested-question-button{padding:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;line-height:1.4;text-align:left;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-xs)}.suggested-question-button:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-sm)}}@media(max-width:480px){.chat-header{padding:.5rem;gap:.5rem;background:#fefefe!important;border-bottom:1px solid #e5e7eb!important}.chat-title{font-size:14px!important;font-weight:600!important;color:#1f2937!important}.chat-controls-simple{gap:6px;flex-direction:row}.control-select-group{max-width:45%;min-width:90px}.control-select-group label{font-size:10px;line-height:1}.control-select{padding:6px 4px;font-size:11px;border-radius:3px}}@media(max-width:767px)and (orientation:landscape){.chat-header{padding:.5rem .75rem;flex-direction:row;align-items:center}.chat-title{font-size:var(--text-base);min-width:120px;flex:0 0 auto}.chat-controls-simple{flex:1;gap:8px;justify-content:flex-end}.control-select-group{flex-direction:row;gap:4px;max-width:140px}.control-select-group label{font-size:11px;min-width:35px}.control-select{min-width:90px;font-size:11px;padding:4px 6px}}.unhighlight-button{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:6px 10px!important;font-size:var(--text-sm)!important;font-weight:var(--font-medium)!important;line-height:1.2!important;cursor:pointer!important;transition:all var(--transition-fast)!important;white-space:nowrap!important;box-shadow:0 2px 8px #ef444433!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;display:inline-flex!important;align-items:center!important;gap:4px!important;margin:2px!important}.unhighlight-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #ef44444d!important}.unhighlight-button:active{transform:translateY(0)!important;box-shadow:0 2px 6px #ef444440!important}.unhighlight-in-header{margin-left:auto!important;font-size:11px!important;padding:4px 8px!important}.unhighlight-in-chat{margin:8px 0!important;align-self:flex-start!important}.floating-ai-button{position:absolute!important;z-index:1000!important;white-space:nowrap!important;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:6px 10px!important;font-size:var(--text-sm)!important;font-weight:var(--font-medium)!important;line-height:1.2!important;cursor:pointer!important;transition:all var(--transition-fast)!important;box-shadow:var(--shadow-lg)!important;transform:none!important;animation:fadeInUp .2s ease-out!important}.floating-ai-button:hover{background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-800) 100%)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow-xl)!important}.floating-ai-button:active{transform:translateY(0)!important;box-shadow:var(--shadow-lg)!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.floating-ai-button-global{position:fixed!important;right:1.5rem!important;bottom:5.5rem!important;transform:none!important;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:6px 10px!important;font-size:var(--text-sm)!important;font-weight:var(--font-medium)!important;line-height:1.2!important;cursor:pointer!important;transition:all var(--transition-fast)!important;box-shadow:var(--shadow-lg)!important;z-index:40!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.floating-ai-button-global:hover{background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-800) 100%)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow-xl)!important}.contextual-prompt-button,.suggested-question-button,.starter-question-button{display:block!important;width:100%!important;text-align:left!important;cursor:pointer!important;position:relative!important;overflow:hidden!important;padding:8px 12px!important;margin:4px 0!important;border-radius:var(--radius-md)!important;background:#fffffff2!important;color:var(--gray-900)!important;border:1px solid var(--border-medium)!important;font-size:12px!important;font-weight:600!important;line-height:1.4!important;transition:all var(--transition-normal)!important;box-shadow:var(--shadow-xs)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;word-wrap:break-word!important;max-width:100%!important}.contextual-prompt-button:before,.suggested-question-button:before,.starter-question-button:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(20,184,166,.1),transparent)!important;transition:left .5s ease!important}.contextual-prompt-button:hover,.suggested-question-button:hover,.starter-question-button:hover{background:#f0fdfafa!important;color:var(--gray-900)!important;border-color:var(--primary-400)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-md)!important}.contextual-prompt-button:hover:before,.suggested-question-button:hover:before,.starter-question-button:hover:before{left:100%!important}.contextual-prompt-button:active,.suggested-question-button:active,.starter-question-button:active{transform:translateY(0)!important;box-shadow:var(--shadow-xs)!important}.highlighted-text-box .contextual-prompt-button,.highlighted-text-box .suggested-question-button,.highlighted-text-box .starter-question-button{background:#fffffffa!important;color:var(--gray-900)!important;border:2px solid var(--primary-200)!important;font-weight:700!important;box-shadow:var(--shadow-sm)!important}.highlighted-text-box .contextual-prompt-button:hover,.highlighted-text-box .suggested-question-button:hover,.highlighted-text-box .starter-question-button:hover{background:var(--primary-50)!important;color:var(--gray-900)!important;border-color:var(--primary-500)!important;box-shadow:var(--shadow-lg)!important}.document-title-bar,.document-title-bar.editing{background:#fff!important;border-bottom:1px solid #e5e7eb!important;color:#1f2937!important}.document-title-bar .document-title,.document-title-bar .title-input,.title-edit-form input,.title-input{background:#fff!important;color:#1f2937!important;border-color:#e5e7eb!important}.document-title-bar .document-title:hover{background:#f8fafc!important;color:#1f2937!important}.title-input:focus{background:#fff!important;color:#1f2937!important;border-color:#3b82f6!important}.save-status{color:#6b7280!important;background:#f8fafc!important}.save-status.saving{color:#3b82f6!important;background:#eff6ff!important}.save-status.unsaved{color:#f59e0b!important;background:#fef3c7!important}.save-status.saved{color:#10b981!important;background:#d1fae5!important}.editor-wrapper,.highlightable-editor-container,.editor-container,.editor-panel{background:#fff!important;color:#1f2937!important}.editor-wrapper *:not(.highlight):not(.active-discussion-highlight):not(mark):not(button),.highlightable-editor-container *:not(.highlight):not(.active-discussion-highlight):not(mark):not(button),.editor-container *:not(.highlight):not(.active-discussion-highlight):not(mark):not(button),.editor-panel *:not(.highlight):not(.active-discussion-highlight):not(mark):not(button){color:#1f2937!important}.editor-wrapper input,.editor-wrapper textarea,.highlightable-editor-container input,.highlightable-editor-container textarea,.editor-container input,.editor-container textarea{background:#fff!important;color:#1f2937!important;border-color:#e5e7eb!important}.editor-wrapper input:focus,.editor-wrapper textarea:focus,.highlightable-editor-container input:focus,.highlightable-editor-container textarea:focus,.editor-container input:focus,.editor-container textarea:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.mobile-auth-float{position:fixed;top:var(--space-3);right:var(--space-3);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.mobile-auth-float>*{pointer-events:auto}.mobile-auth-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:0 4px 12px #3b82f640,0 2px 4px #0000001a;min-height:var(--touch-target-min);min-width:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-auth-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #3b82f659,0 3px 6px #00000026;background:linear-gradient(135deg,var(--primary-700),var(--primary-800))}.mobile-auth-button:active{transform:translateY(0) scale(.98);transition:all .1s ease}.mobile-auth-button:before{content:"👤";font-size:var(--text-sm);margin-right:var(--space-1)}.mobile-profile-button{background:linear-gradient(135deg,var(--success-600),var(--success-700));color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);box-shadow:0 4px 12px #22c55e40,0 2px 4px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-profile-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #22c55e59,0 3px 6px #00000026}.mobile-profile-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:var(--bg-inverse);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold)}.auth-modal,.user-profile-modal{margin:var(--space-2);max-width:calc(100vw - var(--space-4));width:100%;max-height:calc(100vh - var(--space-4));overflow-y:auto}.auth-modal-overlay{z-index:300}.app-layout-mvp{height:100vh;background:#fefefe!important;position:relative;overflow:hidden}.app-main-mvp{height:100vh;background:#fefefe!important}.auth-float-mvp{position:fixed;top:20px;right:20px;z-index:1000;border-radius:8px}.auth-button-mvp{padding:8px 16px;background:#f8fafc!important;color:#4b5563!important;border:1px solid #e5e7eb!important;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.auth-button-mvp:hover{background:#f1f5f9!important;border-color:#d1d5db!important;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.profile-button-mvp{padding:0;background:none!important;border:none!important;cursor:pointer;transition:all .2s ease}.profile-button-mvp:hover{transform:translateY(-1px)}.profile-avatar-mvp{width:36px;height:36px;border-radius:8px;background:#3b82f6!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.profile-button-mvp:hover .profile-avatar-mvp{box-shadow:0 2px 6px #00000026}@media(max-width:768px){.auth-float-mvp{top:16px;right:16px}.auth-button-mvp{padding:6px 12px;font-size:13px}.profile-avatar-mvp{width:32px;height:32px;font-size:13px}}@media(max-width:480px){.auth-float-mvp{top:12px;right:12px}.auth-button-mvp{padding:5px 10px;font-size:12px}.profile-avatar-mvp{width:28px;height:28px;font-size:12px}}.ai-mode-select{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;font-weight:600!important;border:2px solid #5a67d8!important;box-shadow:0 2px 8px #667eea4d!important}.ai-mode-select:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)!important;border-color:#4c51bf!important;box-shadow:0 4px 12px #667eea66!important;transform:translateY(-1px)}.ai-mode-select:focus{background:linear-gradient(135deg,#5a67d8,#6b46c1)!important;border-color:#4c51bf!important;box-shadow:0 0 0 3px #667eea33,0 4px 12px #667eea66!important;outline:none!important}.ai-mode-select option{background:#fff!important;color:#2d3748!important;font-weight:400!important;padding:8px 12px!important}.control-select-group:has(.ai-mode-select){position:relative}.control-select-group:has(.ai-mode-select):before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;z-index:-1;opacity:.1}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem;background:var(--bg-color);border:2px solid var(--error-color, #dc3545);border-radius:8px;margin:1rem}.error-boundary-content{max-width:600px;text-align:center;color:var(--text-color)}.error-boundary-content h2{color:var(--error-color, #dc3545);margin-bottom:1rem;font-size:1.5rem}.error-boundary-content p{margin-bottom:1.5rem;line-height:1.6;opacity:.9}.error-details{margin:1.5rem 0;text-align:left;background:var(--bg-secondary, #f8f9fa);border-radius:4px;border:1px solid var(--border-color, #e0e0e0)}.error-details summary{padding:.75rem;cursor:pointer;font-weight:500;background:var(--bg-tertiary, #f1f3f4);border-radius:4px 4px 0 0}.error-details summary:hover{background:var(--bg-hover, #e8eaed)}.error-details pre{margin:0;padding:1rem;background:var(--code-bg, #f8f8f8);color:var(--code-color, #333);font-family:Courier New,monospace;font-size:.875rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-retry-button,.error-reload-button{margin:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.error-retry-button{background:var(--primary-color, #007bff);color:#fff}.error-retry-button:hover{background:var(--primary-hover, #0056b3);transform:translateY(-1px)}.error-reload-button{background:var(--secondary-color, #6c757d);color:#fff}.error-reload-button:hover{background:var(--secondary-hover, #545b62);transform:translateY(-1px)}[data-theme=dark] .error-boundary{background:var(--bg-color);border-color:var(--error-color, #dc3545)}[data-theme=dark] .error-details{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .error-details summary{background:var(--bg-tertiary)}[data-theme=dark] .error-details pre{background:var(--code-bg);color:var(--code-color)}.document-editor{background:linear-gradient(135deg,var(--gray-50) 0%,var(--primary-50) 25%,var(--gray-50) 75%,var(--primary-100) 100%);min-height:100vh;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.editor-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:var(--space-4);position:sticky;top:0;z-index:100}.back-button,.chat-toggle,.save-now-btn{background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-weight:var(--font-medium);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.back-button:hover,.chat-toggle:hover,.save-now-btn:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-toggle.active{background:var(--error-600)}.chat-toggle.active:hover{background:var(--error-700)}.document-title-input{background:transparent;border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);transition:all var(--transition-normal);width:100%}.document-title-input:focus{border-color:var(--primary-500);background:#ffffffe6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.save-status{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);margin-top:var(--space-2)}.save-status .saving{color:var(--warning-500);display:flex;align-items:center;gap:var(--space-2)}.save-status .saving:before{content:"⏳";animation:pulse 2s infinite}.save-status .saved{color:var(--success-600);display:flex;align-items:center;gap:var(--space-2)}.save-status .saved:before{content:"✅"}.save-status .unsaved{color:var(--error-600);display:flex;align-items:center;gap:var(--space-2)}.save-status .unsaved:before{content:"⚠️"}.word-count{background:var(--primary-100);color:var(--primary-800);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.word-count:before{content:"📝"}.editor-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-light);transition:all var(--transition-normal)}.editor-container:hover{box-shadow:var(--shadow-xl)}.chat-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--border-light);box-shadow:var(--shadow-lg)}.document-editor.loading{background:linear-gradient(45deg,var(--primary-50),var(--gray-50));display:flex;align-items:center;justify-content:center}.loading-content{text-align:center;padding:var(--space-16);background:#ffffffe6;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{width:40px;height:40px;border:4px solid var(--primary-200);border-top:4px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@media(max-width:768px){.editor-header{padding:var(--space-3)}.editor-container{margin:var(--space-3);border-radius:var(--radius-lg)}.document-title-input{font-size:var(--text-lg)}}.documents-page{background:linear-gradient(135deg,var(--gray-50) 0%,var(--primary-50) 50%,var(--gray-50) 100%);min-height:100vh}.document-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);cursor:pointer}.document-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-300)}.template-card{background:linear-gradient(135deg,#ffffffe6,#3b82f61a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--primary-200);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-normal);cursor:pointer}.template-card:hover{transform:scale(1.02);border-color:var(--primary-500);box-shadow:var(--shadow-xl)}.top-navigation{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000}.nav-action-button{background:transparent;border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);font-weight:var(--font-medium);transition:all var(--transition-normal);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.nav-action-button:hover{background:var(--primary-50);border-color:var(--primary-200);transform:translateY(-1px)}.nav-action-button.primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.nav-action-button.primary:hover{background:var(--primary-700);border-color:var(--primary-700)}.nav-action-button.active{background:var(--primary-100);border-color:var(--primary-300);color:var(--primary-800)}.document-themed{background:linear-gradient(135deg,var(--theme-bg-primary, var(--gray-50)) 0%,var(--theme-bg-secondary, var(--primary-50)) 100%)}*:focus{outline:2px solid var(--primary-500);outline-offset:2px}@media(prefers-contrast:high){.document-editor{background:var(--gray-50)}.editor-container,.chat-container{background:#fff;border:2px solid var(--gray-800)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;font-feature-settings:"liga" 1,"kern" 1}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform-style:preserve-3d;backface-visibility:hidden}.highlightable-editor,.ProseMirror,.modal-content,.chat-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;will-change:auto}.modal-overlay,.dropdown-content{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}:root{--bg-primary: #ffffff !important;--bg-secondary: #f8f9fa !important;--bg-tertiary: #e9ecef !important;--text-primary: #212529 !important;--text-secondary: #495057 !important;--text-muted: #6c757d !important;--border-primary: #dee2e6 !important;--border-secondary: #ced4da !important;--border-light: #f1f3f5 !important;--accent-blue: #3b82f6 !important;--accent-blue-hover: #2563eb !important;--editor-bg: #ffffff !important;--editor-content-bg: #ffffff !important;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -2px rgb(0 0 0 / .05);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--rounded-xl: .75rem}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #333333;--text-primary: #f8f9fa;--text-secondary: #ced4da;--text-muted: #9ca3af;--border-primary: #4b5563;--border-secondary: #6b7280;--border-light: #374151;--accent-blue: #3b82f6;--accent-blue-hover: #60a5fa;--editor-bg: #242424;--editor-content-bg: #1a1a1a}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff!important;color:#212529!important;line-height:1.5}#root,.App,.writing-workspace,.document-editor,.workspace-layout,.workspace-editor,.workspace-chat{background-color:#fff!important;color:#212529!important}h1,h2,h3,h4,h5,h6,p,div,span,input,textarea{color:#212529!important}.highlight,.active-discussion-highlight,mark,button,.button-primary,.button-secondary{color:inherit!important}.editor-container{display:flex;flex-direction:column;height:100%;border-radius:var(--rounded-xl);overflow:hidden;background-color:#fff!important;border:1px solid var(--border-primary)}.editor-header{padding:16px 20px;border-bottom:1px solid var(--border-primary);background-color:#fff!important;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.editor-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937!important}.selection-hint{margin:0;font-size:.875rem;color:#6b7280!important;font-style:italic}.grammar-checking{color:var(--accent-blue);font-weight:500}.editor-content,.highlightable-editor{width:100%;min-height:400px;padding:var(--space-6);background:#fff!important;border:1px solid var(--border-light);border-radius:var(--radius-lg);font-family:Georgia,Times New Roman,serif;font-size:var(--text-base);line-height:1.8;color:#1f2937!important;outline:none;resize:none;transition:all var(--transition-normal);box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.editor-content:focus,.highlightable-editor:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #14b8a61a}.ql-editor{padding:var(--space-6)!important;font-family:Georgia,Times New Roman,serif!important;font-size:var(--text-base)!important;line-height:1.8!important;color:#1f2937!important;background:#fff!important;min-height:400px!important;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.ql-container{border:1px solid var(--border-light)!important;border-radius:var(--radius-lg)!important;background:#fff!important;transition:all var(--transition-normal)}.ql-container.ql-focused{border-color:var(--primary-500)!important;box-shadow:0 0 0 3px #14b8a61a!important}.ql-toolbar{border:1px solid var(--border-light)!important;border-bottom:none!important;border-top-left-radius:var(--radius-lg)!important;border-top-right-radius:var(--radius-lg)!important;background:#f8fafc!important;padding:var(--space-3) var(--space-4)!important}.ql-toolbar .ql-formats{margin-right:var(--space-3)!important}.ql-toolbar button{padding:var(--space-2)!important;border-radius:var(--radius-sm)!important;transition:all var(--transition-fast)!important;color:var(--text-secondary)!important;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.ql-toolbar button:hover{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.ql-toolbar button.ql-active{background:var(--primary-100)!important;color:var(--primary-700)!important}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-light);border-bottom:none;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);flex-wrap:wrap;gap:var(--space-2)}.toolbar-group{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.toolbar-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:var(--text-sm);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.toolbar-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-button.active{background:var(--primary-100);color:var(--primary-700)}.toolbar-separator{width:1px;height:20px;background:var(--border-medium);margin:0 var(--space-2)}.highlight{background:#ffeb3b4d;border-radius:var(--radius-sm);padding:2px 0;position:relative;cursor:pointer;transition:all var(--transition-fast)}.highlight:hover{background:#ffeb3b80;box-shadow:0 0 0 1px #ffeb3bb3}.highlight.highlight-blue{background:#2196f333}.highlight.highlight-blue:hover{background:#2196f34d;box-shadow:0 0 0 1px #2196f380}.highlight.highlight-green{background:#4caf5033}.highlight.highlight-green:hover{background:#4caf504d;box-shadow:0 0 0 1px #4caf5080}.highlight.highlight-red{background:#f4433633}.highlight.highlight-red:hover{background:#f443364d;box-shadow:0 0 0 1px #f4433680}.highlight.highlight-purple{background:#9c27b033}.highlight.highlight-purple:hover{background:#9c27b04d;box-shadow:0 0 0 1px #9c27b080}.highlight-tooltip{position:absolute;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);z-index:1000;max-width:300px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.highlight-tooltip-content{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.highlight-tooltip-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.tooltip-button{background:var(--primary-600);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-normal);min-height:var(--touch-target-min)}.tooltip-button:hover{background:var(--primary-700)}.tooltip-button.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-medium)}.tooltip-button.secondary:hover{background:var(--bg-tertiary)}.document-title-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:#fff!important;border-bottom:1px solid var(--border-light);flex-wrap:wrap;gap:var(--space-3)}.document-title-input{background:#fff!important;border:none;font-size:var(--text-xl);font-weight:var(--font-semibold);color:#1f2937!important;outline:none;min-width:200px;flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-normal)}.document-title-input:focus{background:#f8fafc!important;box-shadow:0 0 0 2px var(--primary-200)}.document-title-input::placeholder{color:#9ca3af!important}.document-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap}.word-count,.save-status{display:flex;align-items:center;gap:var(--space-1)}.save-indicator{width:8px;height:8px;border-radius:50%;background:var(--success-500)}.save-indicator.saving{background:var(--warning-500);animation:pulse 2s infinite}.save-indicator.error{background:var(--error-500)}.document-help{background:linear-gradient(135deg,var(--bg-accent) 0%,rgba(20,184,166,.05) 100%);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin:var(--space-4) var(--space-6) 0;position:relative}.help-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.help-text{flex:1;min-width:200px}.help-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary-700);margin-bottom:var(--space-2)}.help-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.help-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.help-button{background:var(--primary-600);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-normal);min-height:var(--touch-target-min);white-space:nowrap}.help-button:hover{background:var(--primary-700)}.help-dismiss{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-normal);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.help-dismiss:hover{color:var(--text-primary);background:var(--bg-secondary)}@media(max-width:479px){.editor-content,.highlightable-editor{padding:var(--space-3);font-size:var(--text-sm);line-height:1.6;min-height:300px}.ql-editor{padding:var(--space-3)!important;font-size:var(--text-sm)!important;line-height:1.6!important;min-height:300px!important}.ql-toolbar{padding:var(--space-2) var(--space-3)!important;flex-wrap:wrap}.ql-toolbar .ql-formats{margin-right:var(--space-2)!important;margin-bottom:var(--space-1)!important}.editor-toolbar{padding:var(--space-2) var(--space-3);flex-direction:column;align-items:stretch}.toolbar-group{justify-content:center}.document-title-bar{padding:var(--space-3) var(--space-4);flex-direction:column;align-items:stretch}.document-title-input{font-size:var(--text-lg);min-width:unset;margin-bottom:var(--space-2)}.document-meta{justify-content:center;flex-wrap:wrap}.document-help{margin:var(--space-3) var(--space-3) 0;padding:var(--space-3) var(--space-4)}.help-content{flex-direction:column;align-items:stretch;text-align:center}.help-title{font-size:var(--text-base)}.help-actions{justify-content:center}.highlight-tooltip{max-width:250px;padding:var(--space-3)}.highlight-tooltip-actions{flex-direction:column}.tooltip-button{width:100%;justify-content:center}}@media(min-width:480px)and (max-width:767px){.editor-content,.highlightable-editor{padding:var(--space-4);font-size:var(--text-base);min-height:350px}.ql-editor{padding:var(--space-4)!important;min-height:350px!important}.editor-toolbar{flex-wrap:wrap;justify-content:center}.document-title-bar{flex-direction:column;align-items:stretch}.document-meta{justify-content:center}.document-help{margin:var(--space-4) var(--space-4) 0}.help-content{flex-direction:column;text-align:center}.help-actions{justify-content:center}}@media(min-width:768px)and (max-width:1023px){.editor-content,.highlightable-editor{padding:var(--space-5);min-height:400px}.ql-editor{padding:var(--space-5)!important;min-height:400px!important}.document-title-bar{padding:var(--space-4) var(--space-5)}.document-help{margin:var(--space-4) var(--space-5) 0}}@media(min-width:1024px)and (max-width:1279px){.editor-content,.highlightable-editor{padding:var(--space-6);min-height:450px}.ql-editor{padding:var(--space-6)!important;min-height:450px!important}}@media(min-width:1280px){.editor-content,.highlightable-editor{padding:var(--space-8);min-height:500px;max-width:800px;margin:0 auto}.ql-editor{padding:var(--space-8)!important;min-height:500px!important}.document-title-bar,.document-help{max-width:800px;margin-left:auto;margin-right:auto}}@media(max-width:767px)and (orientation:landscape){.editor-content,.highlightable-editor,.ql-editor{min-height:200px!important}.document-title-bar{padding:var(--space-2) var(--space-3)}.document-help{margin:var(--space-2) var(--space-3) 0;padding:var(--space-3)}.help-content{flex-direction:row;align-items:center}.help-title{font-size:var(--text-sm);margin-bottom:var(--space-1)}.help-description{font-size:var(--text-xs)}}.theme-dark .editor-content,.theme-dark .highlightable-editor{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-medium)}.theme-dark .ql-container{background:var(--bg-secondary)!important;border-color:var(--border-medium)!important}.theme-dark .ql-editor{background:var(--bg-secondary)!important;color:var(--text-primary)!important}.theme-dark .ql-toolbar{background:var(--bg-tertiary)!important;border-color:var(--border-medium)!important}.theme-dark .ql-toolbar button{color:var(--text-secondary)!important}.theme-dark .ql-toolbar button:hover{background:var(--bg-secondary)!important;color:var(--text-primary)!important}.theme-dark .ql-toolbar button.ql-active{background:var(--primary-900)!important;color:var(--primary-300)!important}.theme-dark .document-title-bar{background:var(--bg-secondary);border-color:var(--border-medium)}.theme-dark .document-title-input{color:var(--text-primary)}.theme-dark .document-title-input:focus{background:var(--bg-tertiary)}.theme-dark .document-help{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(20,184,166,.1) 100%);border-color:var(--primary-700)}.theme-dark .help-title{color:var(--primary-300)}.theme-dark .highlight-tooltip{background:var(--bg-tertiary);border-color:var(--border-strong)}@media(prefers-contrast:high){.editor-content,.highlightable-editor,.ql-container{border-color:var(--text-primary)!important}.highlight{border:1px solid currentColor}.document-help{border-color:var(--primary-600)}}@media(prefers-reduced-motion:reduce){.editor-content,.highlightable-editor,.ql-container,.toolbar-button,.help-button,.tooltip-button,.highlight,.save-indicator{transition:none;animation:none}}.editor-content:focus-visible,.highlightable-editor:focus-visible,.document-title-input:focus-visible,.toolbar-button:focus-visible,.help-button:focus-visible,.tooltip-button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media print{.editor-toolbar,.ql-toolbar,.document-help,.highlight-tooltip{display:none}.editor-content,.highlightable-editor,.ql-editor{background:#fff!important;color:#000!important;border:none!important;box-shadow:none!important;padding:0!important;font-size:12pt!important;line-height:1.5!important}.ql-container{border:none!important}.document-title-bar{background:#fff!important;border:none!important;padding:0 0 1em!important}.document-title-input{font-size:18pt!important;font-weight:700!important}.document-meta{display:none}.highlight{background:#ffff004d!important;box-shadow:none!important}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:root .editor-container,:root .editor-content,:root .highlightable-editor,:root .ql-editor,:root .ql-container,:root .document-title-bar,:root .document-title-input{background:#fff!important;color:#1f2937!important}:root .editor-container *,:root .editor-content *,:root .highlightable-editor *,:root .ql-editor *,:root .document-title-input{color:#1f2937!important}:root .highlight,:root .active-discussion-highlight,:root mark{color:inherit!important}.ProseMirror{background:#fff!important;color:#1f2937!important;outline:none;border:none}.ProseMirror p{color:#1f2937!important;margin:.5em 0}.ProseMirror.is-empty:before{color:#9ca3af!important;font-style:italic;pointer-events:none;position:absolute}.highlightable-editor-container,.editor-wrapper{background:#fff!important}.editor-wrapper{background:#fff!important;border-radius:16px;box-shadow:0 4px 20px #0000000a,0 1px 3px #0000001a,inset 0 1px #ffffff80}.recently-accepted-suggestion{text-decoration:underline;text-decoration-color:var(--accent-color);text-decoration-thickness:2px;text-underline-offset:2px;background:rgba(var(--accent-color-rgb),.1);padding:1px 2px;border-radius:2px;transition:all .3s ease;animation:suggestionAccepted 2s ease-out}@keyframes suggestionAccepted{0%{background:rgba(var(--accent-color-rgb),.3);text-decoration-thickness:3px}to{background:rgba(var(--accent-color-rgb),.1);text-decoration-thickness:2px}}.recently-accepted-suggestion.highlight-style{text-decoration:none;background:linear-gradient(120deg,transparent 0%,rgba(var(--accent-color-rgb),.2) 50%,transparent 100%);border-left:3px solid var(--accent-color);padding-left:4px;margin-left:-4px}.recently-accepted-suggestion.border-style{text-decoration:none;border:1px solid var(--accent-color);border-radius:4px;padding:2px 4px;margin:0 1px;background:rgba(var(--accent-color-rgb),.05)}.recently-accepted-suggestion.glow-style{text-decoration:underline;text-decoration-color:var(--accent-color);box-shadow:0 0 8px rgba(var(--accent-color-rgb),.3);background:rgba(var(--accent-color-rgb),.1);padding:1px 3px;border-radius:3px}.recently-accepted-suggestion.fade-out{animation:fadeOutSuggestion 3s ease-out forwards}@keyframes fadeOutSuggestion{0%{background:rgba(var(--accent-color-rgb),.1);text-decoration-thickness:2px}70%{background:rgba(var(--accent-color-rgb),.1);text-decoration-thickness:2px}to{background:transparent;text-decoration-thickness:1px;text-decoration-color:rgba(var(--accent-color-rgb),.3)}}.recently-accepted-suggestion:hover{background:rgba(var(--accent-color-rgb),.2);text-decoration-thickness:3px;cursor:pointer}.recently-accepted-suggestion[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;box-shadow:0 2px 8px #0003;border:1px solid var(--border-color);z-index:1000;pointer-events:none}@media(prefers-color-scheme:dark){.recently-accepted-suggestion{background:rgba(var(--accent-color-rgb),.15)}.recently-accepted-suggestion:hover{background:rgba(var(--accent-color-rgb),.25)}}.suggestions-display{padding:4px!important;margin:6px 0!important}.suggestion-item{padding:4px!important;margin-bottom:3px!important}.suggested-text{padding:3px 4px!important;line-height:1.2!important;font-size:13px!important}.suggestions-header{margin-bottom:4px!important;padding-bottom:3px!important}.suggestions-header h4{margin:0 0 2px!important;font-size:14px!important}.accept-button{padding:3px 6px!important;font-size:11px!important;min-width:50px!important;gap:2px!important}.suggestion-content,.suggestion-header{margin-bottom:3px!important}.suggestion-explanation{font-size:10px!important;margin-top:2px!important;padding:2px 3px!important}.suggestions-list{gap:3px!important}.confidence-bar{width:25px!important;height:2px!important}.confidence-text{font-size:9px!important;min-width:20px!important}.suggestions-footer{margin-top:4px!important;padding-top:3px!important}.suggestions-hint{font-size:9px!important}.original-text-preview{padding:2px 3px!important;font-size:11px!important}@media(max-width:768px){.suggestions-display{padding:2px!important;margin:4px 0!important}.suggestion-item{padding:2px!important}.suggested-text{padding:2px 3px!important;font-size:12px!important;line-height:1.1!important}.accept-button{padding:2px 4px!important;font-size:10px!important;min-width:40px!important}}@media(max-width:480px){.suggestions-display{padding:1px!important;margin:2px 0!important}.suggestion-item{padding:1px!important}.suggested-text{padding:1px 2px!important;font-size:11px!important;line-height:1!important}.accept-button{padding:1px 3px!important;font-size:9px!important;min-width:35px!important}}.ai-message .suggestions-display,.message-content .suggestions-display{padding:4px!important;margin:4px 0!important}.ai-message .suggestion-item,.message-content .suggestion-item{padding:4px!important}.ai-message .suggested-text,.message-content .suggested-text{padding:3px 4px!important}.message-content .suggestions-display{box-sizing:border-box!important}
