.note-editor{width:100%;height:calc(100vh - 56px - 1rem);max-height:calc(100dvh - 56px - 1rem);display:flex;flex-direction:column;overflow:visible;padding:0 1.5rem;box-sizing:border-box;animation:fade-in-up .3s var(--ease-out-smooth) both}.note-editor.note-editor-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:1000;padding:1rem;height:100vh;max-height:100dvh;overflow:auto}.editor-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;flex-shrink:0}.editor-header.fullscreen-bar{position:sticky;top:0;z-index:1001;background:var(--bg);padding:.5rem;border-bottom:1px solid var(--border)}.eh-back{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;padding:.35rem .5rem .35rem .25rem;border-radius:6px;transition:color .15s,background .15s;white-space:nowrap}.eh-back:hover{color:var(--text);background:var(--bg-subtle)}.eh-center{display:flex;background:var(--bg-subtle);border-radius:8px;padding:2px;gap:2px;margin-left:.25rem}.eh-mode{padding:.3rem .75rem;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.eh-mode:disabled{opacity:.35;cursor:not-allowed}.eh-mode-active{background:var(--card-bg);color:var(--text);box-shadow:0 1px 3px #0000001f}.eh-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.eh-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:background .15s,color .15s;position:relative}.eh-btn:hover{background:var(--bg-subtle);color:var(--text)}.eh-btn-on,.eh-btn-on:hover{color:var(--accent)}.eh-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;background:var(--danger);color:#fff;border-radius:7px;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.eh-sep{width:1px;height:18px;background:var(--border);margin:0 .25rem;flex-shrink:0}.eh-action{padding:.3rem .65rem;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.eh-action:disabled{opacity:.35;cursor:not-allowed}.eh-action-primary{background:var(--accent);color:#fff}.eh-action-primary:hover:not(:disabled){filter:brightness(1.1)}.eh-action-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.eh-action-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text)}.eh-action-warn{background:#eab308;color:#422006}.eh-action-warn:hover:not(:disabled){background:#ca8a04}.eh-action-success{background:var(--success);color:#fff}.eh-action-success:hover:not(:disabled){background:#15803d}.editor-style-row{padding:.25rem 0}.editor-style-select-wrap{display:inline-flex;align-items:center;gap:.35rem}.editor-style-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.editor-style-select{font-size:.8rem;padding:.3rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);min-width:10rem;max-width:18rem;cursor:pointer}.btn-secondary{background:var(--text);color:var(--bg);border:none}.btn-secondary:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.editor-content{flex:1 1 0;min-height:0;display:flex;gap:1rem;align-items:stretch;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.25rem 0 1rem}.editor-content.editor-content-full{display:block;padding:0;overflow-y:auto}.editor-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:transparent;border-radius:0;padding:0;border:1px solid var(--border);min-height:0}.editor-main.editor-main-full{width:100%;max-width:100%;padding:0;border:none;background:var(--bg)}.note-title-input{width:100%;padding:.5rem 0;font-size:1.35rem;font-weight:700;border:none;border-bottom:2px solid var(--border);border-radius:0;margin-bottom:.35rem;font-family:inherit;color:var(--text);letter-spacing:-.02em;background:transparent;transition:border-color .15s;flex-shrink:0}.note-title-input:focus{outline:none;border-bottom-color:var(--accent)}.note-title-input::placeholder{color:var(--text-placeholder)}.note-edit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-faint);margin-top:-.25rem;margin-bottom:.25rem;flex-shrink:0}.note-edit-meta .last-edited,.note-edit-meta .last-edited-at{display:inline}.note-edit-meta .last-edited-role{font-weight:500;color:var(--text-tertiary)}.note-readonly-hint{font-size:.82rem;color:var(--text-tertiary);background:var(--bg-subtle);padding:.5rem .75rem;border-radius:8px;margin:.25rem 0 .5rem;border-left:3px solid var(--accent);flex-shrink:0}.folder-select{margin-bottom:.75rem;display:flex;gap:.5rem;align-items:center;flex-shrink:0}.folder-select label{font-weight:500;color:var(--text-tertiary);font-size:.9rem}.folder-select select{padding:.5rem .6rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.9rem}.editor-mode-toggle{margin:.5rem 0 .75rem;flex-shrink:0}.raw-editor{width:100%;min-height:300px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.88rem;border:1px solid var(--input-border);border-radius:10px;padding:1rem;resize:vertical;background:var(--bg-surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.raw-editor:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.path-bar{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.path-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.path-toggle:hover{background:var(--bg-subtle);color:var(--text)}.path-toggle-chevron{transition:transform .2s ease}.path-toggle-open{transform:rotate(90deg)}.path-breadcrumb{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tax-panel{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;background:var(--bg);margin-bottom:.25rem;flex-shrink:0;animation:fade-in-up .2s ease both}.tax-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem .75rem}.tax-field{display:flex;flex-direction:column;gap:3px}.tax-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.tax-select{padding:.5rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-subtle);font-size:.9rem;color:var(--text);transition:border-color .15s}.tax-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.tax-select:disabled{opacity:.4;cursor:not-allowed}.tax-readonly{display:flex;flex-wrap:wrap;gap:.4rem}.tax-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.88rem;color:var(--text-secondary);background:var(--bg-subtle);padding:.3rem .6rem;border-radius:6px}.tax-chip-key{font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.path-display-input{flex:1 1 360px;min-width:220px;padding:.5rem .7rem;border:1px solid var(--input-border);border-radius:8px;background:var(--bg-surface);font-weight:500;color:var(--text-muted);font-size:.88rem}.editor-row{display:flex;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.select-group{display:none}.preview-pane{width:100%;min-height:0;flex:1 1 auto;border:1px solid var(--border);border-radius:8px;background:var(--card-bg)}.preview-wrapper{display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;min-height:0;width:100%;position:relative}.preview-wrapper.preview-wrapper-full{height:calc(100vh - 80px);margin:0;padding:0}.preview-pane.preview-pane-full{height:100%;min-height:100%;border-radius:0;border:none;width:100%}.selection-comment-bar{display:flex;align-items:center;gap:.6rem;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:.55rem .75rem;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);z-index:100;box-shadow:0 4px 24px #0000001a,0 1px 4px #0000000f;max-width:calc(100% - 2rem);animation:sel-bar-in .2s ease}@keyframes sel-bar-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.selection-bar-quote{display:flex;align-items:flex-start;gap:.35rem;flex:1;min-width:0}.selection-bar-icon{color:var(--accent, #3b82f6);flex-shrink:0;margin-top:.1rem}.selection-bar-text{font-size:.8rem;color:var(--text-muted);font-style:italic;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.selection-bar-actions{display:flex;gap:.3rem;flex-shrink:0}.selection-bar-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;font-family:inherit;font-size:.78rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.selection-bar-btn-primary{background:var(--accent, #3b82f6);color:#fff}.selection-bar-btn-primary:hover{background:var(--accent-hover, #2563eb)}.selection-bar-btn-ghost{background:var(--bg-subtle, #f1f5f9);color:var(--text-muted);padding:.35rem}.selection-bar-btn-ghost:hover{background:var(--border)}.note-context{display:none}.field-label{font-weight:500;color:var(--text-tertiary);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.select-input{padding:.5rem .65rem;border:1px solid var(--input-border);border-radius:8px;font-size:.88rem;background:var(--input-bg);color:var(--text);transition:border-color .15s,box-shadow .15s}.select-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.context-labels,.context-pill{display:none}.rag-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-surface, #fff);flex-shrink:0;gap:1rem}.rag-header-left{display:flex;flex-direction:column;gap:.1rem}.rag-header-title{font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.rag-header-subtitle{font-size:.75rem;color:var(--text-faint, #94a3b8)}.rag-header-actions{display:flex;gap:.5rem;align-items:center}.rag-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 1.25rem 1.5rem;background:var(--bg-subtle, #f8fafc)}.rag-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}@media (max-width: 900px){.rag-columns{grid-template-columns:1fr}}.rag-col{display:flex;flex-direction:column;gap:.75rem}.rag-card{background:var(--card-bg, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;overflow:hidden;transition:box-shadow .2s}.rag-card:hover{box-shadow:0 2px 12px #0000000a}.rag-card-header{display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;background:var(--bg-surface, #f9fafb);border-bottom:1px solid var(--border, #e5e7eb)}.rag-card-icon{font-size:.95rem;line-height:1}.rag-card-title{font-size:.82rem;font-weight:700;color:var(--text);letter-spacing:-.005em}.rag-card-body{padding:.75rem .9rem;display:flex;flex-direction:column;gap:.65rem}.rag-field{display:flex;flex-direction:column;gap:.2rem}.rag-field-row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:flex-end}.rag-field-row>.rag-field{flex:1 1 120px;min-width:0}.rag-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #6b7280)}.rag-select,.rag-input{padding:.45rem .6rem;border:1px solid var(--input-border, #d1d5db);border-radius:8px;font-size:.85rem;background:var(--input-bg, #fff);color:var(--text);transition:border-color .15s,box-shadow .15s;width:100%}.rag-select:focus,.rag-input:focus{outline:none;border-color:var(--accent, #3b82f6);box-shadow:0 0 0 3px var(--focus-ring, rgba(59,130,246,.15))}.rag-textarea{width:100%;border:1px solid var(--input-border, #d1d5db);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.85rem;resize:vertical;color:var(--text);background:var(--input-bg, #fff);transition:border-color .15s,box-shadow .15s}.rag-textarea:focus{outline:none;border-color:var(--accent, #3b82f6);box-shadow:0 0 0 3px var(--focus-ring, rgba(59,130,246,.15))}.rag-radio-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.15rem}.rag-radio{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;font-weight:500;color:var(--text-muted, #6b7280);cursor:pointer}.rag-radio input[type=radio]{accent-color:var(--accent, #3b82f6)}.rag-tags-grid{display:flex;flex-wrap:wrap;gap:.35rem}.rag-toggle-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--bg, #fff);font-size:.78rem;font-weight:500;color:var(--text-muted, #6b7280);cursor:pointer;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.rag-toggle-chip:has(input:checked){background:var(--accent-bg, #eff6ff);border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.rag-toggle-chip input[type=checkbox]{display:none}.rag-chip-label{text-transform:capitalize}.rag-footnote{font-size:.72rem;color:var(--text-faint, #94a3b8);line-height:1.4;margin:0}.rag-master-toggle{margin-left:auto;display:inline-flex;align-items:center;cursor:pointer}.rag-master-toggle input{display:none}.rag-toggle-pill{font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;border-radius:10px;background:var(--bg-muted, #e5e7eb);color:var(--text-faint, #94a3b8);transition:background .2s,color .2s}.rag-toggle-pill.rag-toggle-on{background:var(--accent, #3b82f6);color:#fff}.rag-level-badge{font-size:.75rem;color:var(--text-muted, #6b7280);padding:.3rem .6rem;background:var(--bg-subtle, #f1f5f9);border-radius:6px;width:fit-content}.rag-mode-selector{display:flex;gap:.4rem}.rag-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;background:var(--bg-surface, #f9fafb);color:var(--text-muted, #6b7280);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s ease}.rag-mode-btn:hover{border-color:var(--accent, #3b82f6);color:var(--text)}.rag-mode-btn.rag-mode-active{border-color:var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 8%,transparent);color:var(--accent, #3b82f6)}.rag-mode-icon{font-size:.85rem;line-height:1}.rag-mode-hint{font-size:.68rem;color:var(--text-faint, #94a3b8);line-height:1.35;margin-top:.15rem}.rag-pipeline{gap:.5rem!important}.rag-pipe-section{padding:.55rem .7rem;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--bg, #fff)}.rag-pipe-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #6b7280);margin-bottom:.35rem}.rag-switch{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.rag-switch input{display:none}.rag-switch-track{position:relative;width:28px;height:16px;background:var(--bg-muted, #d1d5db);border-radius:10px;flex-shrink:0;transition:background .2s}.rag-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.rag-switch input:checked+.rag-switch-track{background:var(--accent, #3b82f6)}.rag-switch input:checked+.rag-switch-track:after{transform:translate(12px)}.rag-switch-label{font-size:.78rem;font-weight:500;color:var(--text-muted, #6b7280)}.rag-switch-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.rag-card-advanced .rag-card-body{gap:.45rem}.rag-feature{border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:.5rem .65rem;background:var(--bg, #fff);transition:border-color .2s,background .2s}.rag-feature-on{border-color:var(--accent, #3b82f6);background:var(--accent-bg, #eff6ff)}.rag-feature-header{display:flex;align-items:center;gap:.5rem}.rag-feature-info{display:flex;flex-direction:column;gap:0;min-width:0}.rag-feature-name{font-size:.82rem;font-weight:650;color:var(--text);line-height:1.2}.rag-feature-desc{font-size:.7rem;color:var(--text-faint, #94a3b8);line-height:1.3}.rag-feature-body{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border, #e5e7eb)}.no-margin{margin:0}.generate-hint,.generate-progress{margin-top:-.1rem;flex-shrink:0}.ai-progress-tracker{background:var(--bg-secondary, #f8f9fb);border:1px solid var(--border, #e2e5ea);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;flex-shrink:0}.ai-progress-header{font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--text, #1a1a2e)}.ai-progress-stage{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary, #64748b)}.ai-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--green-text, #22c55e);flex-shrink:0;animation:ai-pulse 1s ease-in-out infinite}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.4}}.ai-progress-message{flex:1}.ai-progress-time{font-variant-numeric:tabular-nums;color:var(--text-tertiary, #94a3b8);font-size:.78rem}.ai-progress-duration{font-variant-numeric:tabular-nums;color:var(--green-text, #22c55e);font-size:.78rem;font-weight:500}.retry-generate-row{display:flex;justify-content:flex-start;margin-bottom:.4rem;flex-shrink:0}.preview-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.preview-modal{width:95vw;max-width:95vw;max-height:calc(100vh - 2rem);margin:auto 0;background:var(--modal-bg);border-radius:14px;border:1px solid var(--border);box-shadow:0 24px 48px #00000024;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;animation:modal-pop .35s var(--ease-out-spring) both}.preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-surface)}.preview-modal-header h3{margin:0;font-size:.95rem;font-weight:600}.preview-modal-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;padding:0}.preview-pane-modal{width:100%;height:100%;min-height:0;border:none}.fullscreen-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:var(--modal-bg);padding:0;display:flex;flex-direction:column}.fullscreen-panel-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--modal-bg);border:none;border-radius:0;overflow:hidden;box-shadow:none}.preview-popout-body{padding:0;overflow:hidden;flex:1 1 auto;min-height:0}.preview-pane-popout{display:block;width:100%;height:100%;min-height:0;border:none;border-radius:0}.rag-config-fullscreen .rag-header{position:sticky;top:0;z-index:2}@media (max-width: 768px){.fullscreen-panel{padding:0}}.version-history-body{display:block;overflow:auto;min-height:0}.version-history-body-list{padding:1.5rem}.version-history-body-diff{padding:0}.payload-preview-modal{width:min(900px,94vw);height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem)}.payload-preview-modal{width:min(900px,94vw);max-height:calc(100vh - 2rem)}.payload-preview-actions{display:flex;align-items:center;gap:.5rem}.preview-modal-body.payload-preview-body{flex-direction:column;padding:.75rem 1rem;overflow:auto;min-height:0;-webkit-overflow-scrolling:touch}.payload-preview-intro{margin:0 0 .75rem;font-size:.88rem;color:var(--text-muted);line-height:1.45}.payload-preview-body pre{margin:0;background:var(--code-bg);color:var(--code-text);padding:1rem;border-radius:10px;font-size:.8rem;line-height:1.5;overflow:auto}@media (max-width: 1024px){.editor-content{flex-direction:column}}@media (max-width: 768px){.editor-header{flex-wrap:wrap}.eh-center{order:3;width:100%;justify-content:center;margin-left:0;margin-top:.25rem}.eh-actions{flex-wrap:wrap}.tax-grid{grid-template-columns:1fr 1fr}}.vh-header{display:flex;align-items:center;justify-content:space-between}.vh-title{font-size:.95rem;font-weight:700;margin:0}.vh-header-actions{display:flex;gap:.4rem}.vh-list{display:flex;flex-direction:column;gap:.4rem}.vh-empty{text-align:center;color:var(--text-faint);padding:2.5rem 1rem;font-size:.88rem}.vh-item{display:flex;flex-direction:column;gap:.25rem;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.vh-item:hover{background:var(--accent-bg);border-color:var(--accent);box-shadow:0 2px 8px #0000000a}.vh-item-active{border-color:var(--accent);background:var(--accent-bg)}.vh-item-top{display:flex;align-items:center;gap:.5rem}.vh-item-num{font-weight:700;font-size:.88rem;color:var(--text);min-width:2rem}.vh-item-status{font-size:.68rem;padding:.12rem .4rem;border-radius:4px;font-weight:700;text-transform:capitalize;letter-spacing:.02em}.vh-item-date{font-size:.78rem;color:var(--text-faint);margin-left:auto}.vh-item-author{font-size:.76rem;color:var(--text-tertiary);padding-left:2rem}.vh-item-role{display:inline-block;margin-left:.3rem;font-size:.66rem;font-weight:600;padding:.08rem .3rem;border-radius:3px;background:var(--bg-subtle);color:var(--text-faint);text-transform:capitalize}.status-badge{font-size:.68rem;padding:.12rem .4rem;border-radius:4px;font-weight:700;text-transform:capitalize;letter-spacing:.02em}.status-pending{background:var(--status-blue-bg);color:var(--info)}.status-draft{background:var(--bg-subtle);color:var(--text-faint)}.status-intern_approved{background:var(--status-yellow-bg);color:var(--warning)}.status-tutor_approved{background:var(--status-green-bg);color:var(--success)}.status-changes_requested{background:var(--status-red-bg);color:var(--danger)}.vh-diff{display:flex;flex-direction:column;height:100%}.vh-tab-bar{display:flex;align-items:center;gap:0;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.vh-tab{font-size:.78rem;font-weight:600;padding:.55rem .85rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-faint);cursor:pointer;transition:color .15s,border-color .15s}.vh-tab:hover{color:var(--text)}.vh-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.vh-tab-legend{display:flex;gap:.75rem;margin-left:auto;font-size:.72rem;font-weight:600}.vh-legend-item{display:inline-flex;align-items:center;gap:.3rem}.vh-legend-item:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px}.vh-legend-removed:before{background:var(--diff-del-bg, #fecaca)}.vh-legend-added:before{background:var(--diff-ins-bg, #bbf7d0)}.vh-diff-content{flex:1;overflow-y:auto;padding:.5rem 0;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.82rem;line-height:1.7}.vh-diff-identical{text-align:center;color:var(--text-faint);padding:2.5rem 1rem;font-family:inherit;font-size:.88rem}.vh-diff-line{display:flex;padding:.1rem .75rem;white-space:pre-wrap;word-break:break-word}.vh-diff-gutter{width:1.5rem;flex-shrink:0;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--text-placeholder)}.vh-diff-text{flex:1;color:var(--text-muted)}.vh-diff-same{background:var(--bg)}.vh-diff-block{padding:.2rem .75rem .2rem 2.25rem;white-space:pre-wrap;word-break:break-word;background:var(--bg-surface);border-left:3px solid var(--accent);margin:.1rem 0}.vh-word{color:var(--text-muted)}.vh-word-removed{background:var(--diff-del-bg, #fecaca);color:var(--diff-del-text, #b91c1c);text-decoration:line-through;border-radius:2px;padding:0 1px}.vh-word-added{background:var(--diff-ins-bg, #bbf7d0);color:var(--diff-ins-text, #15803d);border-radius:2px;padding:0 1px}.vh-visual-content{font-family:inherit;font-size:.92rem;line-height:1.65;padding:1.25rem 1.5rem}.vh-visual-rendered{color:var(--text)}.vh-visual-del{background:var(--diff-del-bg, #fecaca);color:var(--diff-del-text, #b91c1c);text-decoration:line-through;border-radius:2px;padding:0 2px}.vh-visual-ins{background:var(--diff-ins-bg, #bbf7d0);color:var(--diff-ins-text, #15803d);text-decoration:none;border-radius:2px;padding:0 2px}.vh-side-by-side{display:flex;flex:1;min-height:0;overflow:hidden}.vh-side-panel{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.vh-side-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:.45rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.vh-side-html{flex:1;overflow-y:auto;padding:1rem 1.25rem;font-size:.88rem;line-height:1.6;color:var(--text)}.vh-side-divider{width:1px;background:var(--border);flex-shrink:0}.login-page{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse at 20% 50%,rgba(10,61,107,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(26,127,168,.07) 0%,transparent 50%),var(--bg-subtle);overflow:hidden}[data-theme=dark] .login-page{background:radial-gradient(ellipse at 20% 50%,rgba(26,127,168,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(10,61,107,.06) 0%,transparent 50%),var(--bg)}.login-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.75rem;animation:fade-in-up .6s var(--ease-out-smooth) both}.login-brand{text-align:center}.login-logo{height:52px;width:auto;margin:0 auto .4rem;display:block;animation:fade-in-up .5s var(--ease-out-smooth) .1s both}.login-brand p{font-size:.88rem;color:var(--text-faint);margin:0;animation:fade-in-up .5s var(--ease-out-smooth) .2s both}.login-card{width:100%;background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:2.25rem 2rem;display:flex;flex-direction:column;gap:1.15rem;box-shadow:0 12px 40px var(--card-shadow),0 0 0 1px #00000005;animation:pop-in .5s var(--ease-out-spring) .15s both;transition:box-shadow .3s var(--ease-out-smooth),transform .3s var(--ease-out-spring)}.login-card:focus-within{box-shadow:0 16px 48px var(--card-shadow),0 0 0 2px var(--focus-ring);transform:translateY(-2px)}.login-card h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:600}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-weight:500;color:var(--text-tertiary);font-size:.82rem}.login-card input{padding:.7rem .8rem;border-radius:10px;border:1px solid var(--input-border);font-size:.92rem;color:var(--text);background:var(--input-bg);transition:border-color .2s var(--ease-out-smooth),box-shadow .25s var(--ease-out-smooth),transform .15s var(--ease-out-spring)}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.login-error{background:var(--status-red-bg);color:var(--danger);padding:.6rem .75rem;border-radius:10px;border:1px solid var(--status-red-border);font-size:.85rem;animation:shake .4s var(--ease-out-spring)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.btn-signin{width:100%;padding:.75rem;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .2s var(--ease-out-smooth),transform .2s var(--ease-out-spring),box-shadow .25s var(--ease-out-smooth);margin-top:.25rem;position:relative;overflow:hidden}.btn-signin:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);background-size:200% 100%;animation:card-shine 3s ease-in-out infinite;pointer-events:none}.btn-signin:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0a3d6b4d}.btn-signin:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:none}.btn-signin:disabled{opacity:.4;cursor:not-allowed}.btn-signin:disabled:after{display:none}.App{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-login-layout{background:var(--bg-subtle);display:flex;align-items:center;justify-content:center}.app-header{background:color-mix(in srgb,var(--header-bg) 85%,transparent);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);color:var(--text);display:flex;align-items:center;padding:0 1.5rem;height:56px;gap:1.25rem;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--header-border);transition:background .3s,border-color .3s,box-shadow .3s;box-shadow:0 1px 3px #0000000a}.app-header-left{flex-shrink:0}.app-brand{text-decoration:none;display:flex;align-items:center;transition:transform .2s var(--ease-out-spring)}.app-brand:hover{transform:scale(1.03)}.app-brand:active{transform:scale(.98)}.app-brand-logo{height:32px;width:auto;display:block}.app-nav{flex:1;display:flex;align-items:center;gap:.25rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav-link{color:var(--text-tertiary);text-decoration:none;font-weight:500;font-size:.85rem;padding:.38rem .75rem;border-radius:6px;transition:color .2s var(--ease-out-smooth),background .2s var(--ease-out-smooth),transform .15s var(--ease-out-spring);white-space:nowrap;position:relative}.app-nav-link:after{content:"";position:absolute;bottom:-1px;left:50%;width:0;height:2px;background:var(--accent);border-radius:1px;transition:width .25s var(--ease-out-spring),left .25s var(--ease-out-spring)}.app-nav-link:hover{color:var(--text);background:var(--bg-subtle);transform:translateY(-1px)}.app-nav-link:hover:after{width:60%;left:20%}.app-nav-link.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.app-nav-link.active:after{width:70%;left:15%}.app-nav-link:active{transform:translateY(0) scale(.97)}.nav-group-trigger{font-family:inherit;cursor:pointer;border:none;background:none;display:flex;align-items:center;gap:.3rem}.nav-group-arrow{font-size:1.15rem;opacity:.55;transition:transform .2s var(--ease-out-smooth);line-height:1}.nav-group-arrow.open{transform:rotate(180deg)}.app-subnav{display:flex;align-items:center;gap:.25rem;padding:.4rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border);animation:subnav-in .2s var(--ease-out-smooth) both;position:sticky;top:56px;z-index:99}@keyframes subnav-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-subnav-link{color:var(--text-tertiary);text-decoration:none;font-weight:500;font-size:.82rem;padding:.32rem .7rem;border-radius:6px;transition:color .15s,background .15s;white-space:nowrap}.app-subnav-link:hover{color:var(--text);background:var(--bg-subtle)}.app-subnav-link.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.app-header-right{flex-shrink:0;display:flex;align-items:center;gap:.6rem}.app-user-info{display:flex;align-items:center;gap:.4rem}.app-user-name{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.app-user-role{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-bg);padding:.15rem .45rem;border-radius:4px;border:1px solid var(--accent-border)}.btn-logout,.btn-header-action{color:var(--text-muted);background:none;border:1px solid var(--border);padding:.32rem .75rem;border-radius:6px;transition:color .2s var(--ease-out-smooth),background .2s var(--ease-out-smooth),border-color .2s var(--ease-out-smooth),transform .2s var(--ease-out-smooth);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}.btn-logout:hover,.btn-header-action:hover{color:var(--text);background:var(--bg-subtle);border-color:var(--border-strong);transform:translateY(-1px)}.btn-logout:active,.btn-header-action:active{transform:translateY(0)}.btn-theme-toggle{color:var(--text-tertiary);background:none;border:1px solid var(--border);width:34px;height:34px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:color .2s var(--ease-out-smooth),background .2s var(--ease-out-smooth),border-color .2s var(--ease-out-smooth),transform .2s var(--ease-out-spring);flex-shrink:0;padding:0;line-height:1}.btn-theme-toggle:hover{color:var(--accent);background:var(--bg-subtle);border-color:var(--border-strong);transform:scale(1.05)}.btn-theme-toggle:active{transform:scale(.98)}.change-pw-form{display:flex;flex-direction:column;gap:.85rem}.change-pw-label{display:flex;flex-direction:column;gap:.3rem;font-weight:500;color:var(--text-secondary);font-size:.85rem}.change-pw-input{padding:.55rem .7rem;border:1px solid var(--input-border);border-radius:8px;font-size:.92rem;color:var(--text);background:var(--input-bg);transition:border-color .15s,box-shadow .15s}.change-pw-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.change-pw-error{background:var(--status-red-bg);color:var(--danger);padding:.5rem .7rem;border-radius:8px;border:1px solid var(--status-red-border);font-size:.85rem}.app-main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:1.5rem 2rem 2rem;animation:fade-in-up .4s var(--ease-out-smooth) both}.app-main:has(.note-editor){max-width:100%;padding:.5rem 0 0}.note-editor{animation:fade-in-up .3s var(--ease-out-smooth) both}.app-shell{width:100%;max-width:none;background:transparent;border-radius:0;border:none;padding:0}.toast-container{position:fixed;top:.75rem;right:.75rem;z-index:10000;display:flex;flex-direction:column;gap:.4rem;max-width:360px}.toast{padding:.7rem 1.1rem;border-radius:10px;font-size:.85rem;font-weight:500;box-shadow:0 8px 32px #00000026;animation:toast-in .4s var(--ease-out-spring) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;gap:.5rem}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-info{background:var(--bg-surface);color:var(--text);border:1px solid var(--border)}@keyframes toast-in{0%{opacity:0;transform:translate(12px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fade-in .25s var(--ease-out-smooth) both}.modal-dialog{background:var(--modal-bg);border-radius:14px;padding:1.75rem;min-width:340px;max-width:480px;border:1px solid var(--border);box-shadow:0 24px 48px #0000001f;animation:modal-pop .35s var(--ease-out-spring) both}@keyframes modal-pop{0%{opacity:0;transform:translateY(20px) scale(.92)}70%{transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{font-size:1.1rem;font-weight:700;margin-bottom:.6rem;color:var(--text)}.modal-message{color:var(--text-muted);margin-bottom:1rem;line-height:1.55;font-size:.9rem}.modal-prompt{margin-bottom:1rem}.modal-prompt label{display:block;font-weight:600;color:var(--text);margin-bottom:.35rem;font-size:.88rem}.modal-input{width:100%;padding:.55rem .7rem;border:1px solid var(--input-border);border-radius:8px;font-size:.92rem;color:var(--text);background:var(--input-bg);transition:border-color .2s var(--ease-out-smooth),box-shadow .25s var(--ease-out-smooth)}.modal-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-choose{margin-bottom:.5rem}.modal-choose-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.modal-choose-btn{flex:1;min-width:140px;animation:float-in .3s var(--ease-out-spring) both;transition:transform .2s var(--ease-out-spring),box-shadow .2s var(--ease-out-smooth)}.modal-choose-btn:nth-child(1){animation-delay:.05s}.modal-choose-btn:nth-child(2){animation-delay:.12s}.modal-choose-btn:nth-child(3){animation-delay:.19s}.modal-choose-btn:nth-child(n+4){animation-delay:.26s}.modal-choose-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #00000014}.modal-choose-btn:active{transform:translateY(0) scale(.98)}.modal-choose-btn--hl{color:var(--danger);background:var(--status-red-bg);border-color:var(--status-red-border)}.modal-choose-btn--hl:hover{background:var(--status-red-border);color:var(--danger)}.modal-choose-btn--sl{color:#c2410c;background:var(--status-orange-bg);border-color:var(--status-orange-border)}.modal-choose-btn--sl:hover{background:var(--status-orange-border);color:#c2410c}@media (max-width: 768px){.app-header{height:auto;flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem}.app-nav{order:3;width:100%;flex-wrap:wrap;gap:.25rem}.app-subnav{padding:.35rem 1rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.app-subnav::-webkit-scrollbar{display:none}.app-main{padding:1rem}}:focus-visible{outline:2px solid var(--accent, #4f6ef7);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent, #4f6ef7);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--bg: #ffffff;--bg-surface: #fafaf9;--bg-subtle: #f5f5f4;--bg-muted: #e7e5e4;--border: #e7e5e4;--border-strong: #d6d3d1;--text: #1c1917;--text-secondary: #44403c;--text-muted: #57534e;--text-tertiary: #78716c;--text-faint: #a8a29e;--text-placeholder: #d6d3d1;--accent: #1a7fa8;--accent-hover: #0a3d6b;--accent-bg: #eef6fb;--accent-border: #c7e2f0;--accent-text: #0a3d6b;--input-bg: #ffffff;--input-border: #e7e5e4;--focus-ring: rgba(26, 127, 168, .1);--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .06);--header-bg: #ffffff;--header-border: #e7e5e4;--backdrop: rgba(28, 25, 23, .45);--modal-bg: #ffffff;--code-bg: #1c1917;--code-text: #a8a29e;--success: #16a34a;--warning: #ca8a04;--danger: #ef4444;--info: #0284c7;--status-red-bg: #fef2f2;--status-red-border: #fecaca;--status-green-bg: #f0fdf4;--status-green-border:#bbf7d0;--status-yellow-bg: #fefce8;--status-yellow-border:#fef08a;--status-blue-bg: #f0f9ff;--status-blue-border:#bae6fd;--status-orange-bg: #fff7ed;--status-orange-border:#fed7aa;--status-amber-bg: #fef3c7;--status-amber-text: #92400e;--status-slate-bg: #f1f5f9;--status-slate-text: #475569;--status-purple-bg: #f3e8ff;--status-purple-text:#7c3aed;--green-text: #16a34a;--yellow-text: #ca8a04;--orange-text: #c2410c;--amber-text: #92400e;--red-text: #ef4444;--slate-text: #64748b;--diff-del-bg: #fecaca;--diff-del-text: #b91c1c;--diff-ins-bg: #bbf7d0;--diff-ins-text: #15803d;--bg-primary: #f8f9fa;--bg-secondary: #fff;--bg-tertiary: #f1f5f9;--bg-hover: #f1f5f9;--text-primary: #1e293b;--border-color: #e2e8f0;--accent-light: #eef2ff}[data-theme=dark]{--bg: #0c0a09;--bg-surface: #1c1917;--bg-subtle: #292524;--bg-muted: #44403c;--border: #292524;--border-strong: #44403c;--text: #e7e5e4;--text-secondary: #d6d3d1;--text-muted: #a8a29e;--text-tertiary: #78716c;--text-faint: #57534e;--text-placeholder: #57534e;--accent: #4da8cc;--accent-hover: #6dbde0;--accent-bg: rgba(26, 127, 168, .1);--accent-border: rgba(26, 127, 168, .22);--accent-text: #7ecae8;--input-bg: #1c1917;--input-border: #292524;--focus-ring: rgba(77, 168, 204, .18);--card-bg: #1c1917;--card-shadow: rgba(0, 0, 0, .35);--header-bg: #0c0a09;--header-border: #292524;--backdrop: rgba(0, 0, 0, .65);--modal-bg: #1c1917;--code-bg: #0c0a09;--code-text: #a8a29e;--status-red-bg: rgba(239, 68, 68, .1);--status-red-border: rgba(239, 68, 68, .25);--status-green-bg: rgba(22, 163, 74, .1);--status-green-border:rgba(22, 163, 74, .25);--status-yellow-bg: rgba(202, 138, 4, .1);--status-yellow-border:rgba(202, 138, 4, .25);--status-blue-bg: rgba(2, 132, 199, .1);--status-blue-border:rgba(2, 132, 199, .25);--status-orange-bg: rgba(249, 115, 22, .1);--status-orange-border:rgba(249, 115, 22, .25);--status-amber-bg: rgba(180, 130, 14, .12);--status-amber-text: #fbbf24;--status-slate-bg: rgba(148, 163, 184, .12);--status-slate-text: #94a3b8;--status-purple-bg: rgba(124, 58, 237, .12);--status-purple-text:#a78bfa;--green-text: #4ade80;--yellow-text: #fbbf24;--orange-text: #fb923c;--amber-text: #fbbf24;--red-text: #f87171;--slate-text: #94a3b8;--diff-del-bg: rgba(239, 68, 68, .15);--diff-del-text: #fca5a5;--diff-ins-bg: rgba(34, 197, 94, .15);--diff-ins-text: #86efac;--bg-primary: #1c1917;--bg-secondary: #292524;--bg-tertiary: #44403c;--bg-hover: #44403c;--text-primary: #e7e5e4;--border-color: #44403c;--accent-light: rgba(99, 102, 241, .12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px;color-scheme:light}[data-theme=dark]{color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);line-height:1.5;transition:background .2s,color .2s}code{font-family:SF Mono,Fira Code,Menlo,Monaco,Consolas,monospace}::selection{background:#b8dff0;color:#0a3d6b}[data-theme=dark] ::selection{background:#4da8cc59;color:#e7e5e4}input,select,textarea,button{font-family:inherit}:root{--ease-out-smooth: cubic-bezier(.33, 1, .68, 1);--ease-out-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--transition-fast: .15s;--transition-smooth: .25s;--transition-spring: .35s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.85) translateY(8px)}60%{opacity:1;transform:scale(1.02) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.92;transform:scale(1.02)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes status-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}@keyframes glow-ring{0%{box-shadow:0 0 0 0 var(--accent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes card-shine{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes subtle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes check-bounce{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.05s!important;animation-delay:0s!important;transition-duration:.05s!important}}
