:root{--primary-color:#428bfd;--primary-hover:#5a9afd;--secondary-color:#f0f2f5;--secondary-hover:#d9d9d9;--bg-color:#f0f2f5;--surface-color:#fff;--text-color:#262626;--text-secondary:#8c8c8c;--placeholder-color:#999;--border-color:#d9d9d9;--header-bg:#fff}body.dark-mode{--primary-color:#428bfd;--primary-hover:#5a9afd;--secondary-color:#262626;--secondary-hover:#404040;--bg-color:#121212;--surface-color:#141414;--text-color:#fff;--text-secondary:#a6a6a6;--placeholder-color:#ccc;--border-color:#434343;--header-bg:#141414}body{background:var(--bg-color);color:var(--text-color)}#app-header{background:var(--header-bg);border-bottom:1px solid var(--border-color);z-index:1000;box-sizing:border-box;width:100%;padding:10px 20px;position:fixed;top:0;left:0}.hidden{display:none!important}#projectSelector{top-left:20px;display:inline-block;position:relative}.branding{text-align:center;z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.branding h1{color:var(--text-color);white-space:nowrap;margin:0;font-size:1.2rem;font-weight:600}.project-header{cursor:pointer;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;padding:8px 12px;font-weight:700;transition:background .2s}.project-dropdown{background:var(--surface-color);border:1px solid var(--border-color);z-index:1001;border-radius:4px;min-width:200px;max-height:300px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.project-dropdown li{cursor:pointer;border-bottom:1px solid var(--border-color);padding:10px 12px}.project-dropdown li:hover,.project-dropdown li#create-new-project:hover{background:var(--secondary-color)}.project-dropdown li:last-child{color:var(--primary-color);border-bottom:none;font-weight:700}body.dark-mode .sidebar{color:#f0f0f0;background-color:#2a2a2a!important;border-right-color:#404040!important}body.dark-mode .sidebar.active{background-color:#404040!important}body.dark-mode{--primary-color:#428bfd;--primary-hover:#5a9afd;--bg-color:#171717;--surface-color:#202124;--text-color:#e8eaed;--text-secondary:#9aa0a6;--border-color:#3c4043;--header-bg:#171717;color:#e8eaed;background:#171717}body.dark-mode .btn-primary{color:#202124;background:#428bfd;border:none}body.dark-mode .btn-primary:hover{background:#5a9afd}body.dark-mode .btn-secondary{color:#e8eaed;background:#3c4043;border:1px solid #5f6368}body.dark-mode .btn-secondary:hover{background:#5f6368}.modern-header{z-index:1100;box-sizing:border-box;background-color:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.header-left{align-items:center;min-width:200px;display:flex}.header-left .project-selector{margin-left:0;position:relative}.header-left .project-header{color:#e0e0e0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background-color:#2a2a2a;border:1px solid #444;border-radius:6px;padding:6px 14px;font-size:14px;font-weight:500;transition:background-color .2s}.header-left .project-header:hover{background-color:#3a3a3a;border-color:#555}body.dark-mode .header-left .project-header{color:#e0e0e0;background-color:#2a2a2a;border-color:#444}.header-left .project-dropdown{background-color:#1f1f1f;border:1px solid #444;box-shadow:0 4px 12px #0006}.header-left .dropdown-item{color:#e0e0e0}.header-left .dropdown-item:hover{background-color:#2a2a2a}.header-left .dropdown-item.create-new{color:#4da3ff;border-bottom:1px solid #333}body{margin:0;padding:0}.branding h1{color:#428bfd;margin:0;font-size:1.5rem;font-weight:600}.fancy-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-family:Segoe UI,sans-serif;font-weight:500;transition:all .2s;display:inline-flex}.fancy-btn .icon{font-size:1.1em}.fancy-btn.primary{color:#fff;background:linear-gradient(135deg,#428bfd 0%,#2e6fd1 100%);box-shadow:0 2px 4px #428bfd4d}.btn-secondary.fancy-btn{color:#323130;background-color:#f3f2f1;border:1px solid #8a8886}.btn-secondary.fancy-btn:hover{background-color:#edebe9;border-color:#323130}body.dark-mode #doc-title-input:focus{background:#303134}body.dark-mode .modern-toolbar{background:#2d2d30;border-bottom:1px solid #3c4043}body.dark-mode .toolbar-group{background:#3c4043;border:1px solid #5f6368}body.dark-mode .modern-toolbar button,body.dark-mode .modern-toolbar select{color:#e8eaed;background:0 0}body.dark-mode .modern-toolbar select{background:#3c4043}body.dark-mode .modern-toolbar select option{color:#e8eaed;background:#3c4043}body.dark-mode .modern-toolbar button:hover{background:#5f6368;border-color:#428bfd}body.dark-mode .modern-toolbar button.active{color:#202124;background:#428bfd}body.dark-mode .document-canvas{color:#e8eaed;background:#1e1e1e;border:1px solid #3c4043;box-shadow:0 8px 32px #0009}body.dark-mode .editor-footer{color:#9aa0a6;background:#202124;border-top:1px solid #3c4043}body.dark-mode .save-status{color:#9aa0a6}body.dark-mode .sidebar-document-editor{color:#e8eaed;background:#202124;border-right:1px solid #3c4043}body.dark-mode .sidebar-header{color:#e8eaed;border-bottom:1px solid #3c4043}body.dark-mode .tree-item{color:#bdc1c6;border-radius:6px;padding:8px 12px}body.dark-mode .tree-item.active{color:#202124;background:#428bfd;font-weight:600}body.dark-mode .tree-item .ext{color:#428bfd}.project-selector{margin-left:1rem;position:relative}.project-header{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background .2s}.project-header:hover{background:#0000000d}.project-dropdown{z-index:2000;background:#fff;border:1px solid #dadce0;border-radius:4px;min-width:200px;display:none;position:absolute;top:100%;left:0;box-shadow:0 2px 10px #0000001a}.project-dropdown.show{display:block}.dropdown-item{cursor:pointer;padding:.75rem 1rem;font-size:.9rem;transition:background .2s}.dropdown-item:hover{background:#f1f3f4}.dropdown-item.create-new{color:#1a73e8;border-bottom:1px solid #eee;font-weight:500}.project-list-container{max-height:300px;overflow-y:auto}body.dark-mode .project-header{color:#e8eaed;background:#2d2d2df2;border-color:#5f6368}body.dark-mode .project-header:hover{background:#3c4043}body.dark-mode .project-dropdown{background:#2d2d2d;border-color:#5f6368;box-shadow:0 8px 24px #00000080}body.dark-mode .dropdown-item:hover{background:#3c4043}body.dark-mode .project-item.active{color:#202124;background:#8ab4f8}.project-creating-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-creating-box{text-align:center;background:#fff;border-radius:8px;max-width:360px;padding:2rem 3rem;box-shadow:0 4px 24px #0003}.project-creating-box .loading-spinner{margin:0 auto 1rem}.project-creating-message{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.project-creating-hint{color:#666;margin:0;font-size:.85rem}body.dark-mode .project-creating-box{color:#e8eaed;background:#2d2d2d}body.dark-mode .project-creating-hint{color:#9aa0a6}body.dark-mode ::-webkit-scrollbar{width:12px}body.dark-mode ::-webkit-scrollbar-track{background:#202124}body.dark-mode ::-webkit-scrollbar-thumb{background:#5f6368;border-radius:6px}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#8ab4f8}#app-header h1,.branding h1,.project-header{color:#428bfd!important;font-family:Arial,sans-serif!important}.project-selector *,.project-dropdown *{font-family:Arial,sans-serif!important}.editor-footer{position:fixed!important;bottom:0!important;left:250px!important}.auth-container{background:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:var(--surface-color);border:1px solid var(--border-color);text-align:center;border-radius:12px;width:100%;max-width:450px;padding:3rem 2.5rem;box-shadow:0 4px 12px #0000001a}.auth-card .logo{width:80px;height:80px;margin:0 auto 1.5rem;display:block}.auth-card h1{color:var(--text-color);margin-bottom:.5rem;font-family:Arial,sans-serif;font-size:1.75rem;font-weight:600}.auth-card p{color:var(--text-secondary);margin-bottom:2rem;font-family:Arial,sans-serif;font-size:1rem;line-height:1.5}.auth-card .btn-primary{width:100%;margin-top:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:500}.loading-spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin:1.5rem auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}body.dark-mode .auth-container{background-color:var(--bg-color)}body.dark-mode .auth-card{background:var(--surface-color);border-color:var(--border-color);box-shadow:0 4px 12px #0000004d}body.dark-mode .auth-card h1{color:var(--text-color)}body.dark-mode .auth-card p{color:var(--text-secondary)}body.dark-mode .loading-spinner{border-color:var(--border-color);border-top-color:var(--primary-color)}@media (max-width:768px){.auth-card{margin:1rem;padding:1.5rem}}.dashboard-layout{min-height:100vh;padding-top:60px;display:flex}#dashboard-main-content.main-content{flex:1;width:calc(100% - 250px);max-width:100%;margin-top:0;margin-left:250px;padding:2rem;transition:margin-left .3s,width .3s;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;margin-bottom:2rem;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:grid}.dashboard-grid *{font-family:Arial,sans-serif}.dashboard-grid .card{width:100%;min-width:0}#dashboard-main-content{margin-top:0;padding:1.5rem;font-family:Arial,sans-serif}.main-content-grid{font-family:Arial,sans-serif}.card{background:var(--surface-color);border:1px solid var(--border-color);box-sizing:border-box;border-radius:10px;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 8px #0000000f}.card:hover{border-color:var(--primary-color,#428bfd);transform:translateY(-3px);box-shadow:0 6px 16px #0000001a}.stat-card{align-items:center;gap:1rem;display:flex}.stat-card>span{background:linear-gradient(135deg,#428bfd1a 0%,#428bfd0d 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.75rem;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.35rem;font-size:.8rem;font-weight:500;line-height:1.2}.stat-value{color:var(--text-color);font-size:1.75rem;font-weight:700;line-height:1}.stat-value.completed{color:#3f8600}.stat-value.active{color:#428bfd}.stat-value.pending{color:#d48806}.progress-bar{width:100%;margin-top:8px}.main-content-grid{grid-template-columns:2fr 1fr;gap:1rem;width:100%;max-width:none;margin-top:2rem;display:grid}.card h3,.section-header h3{color:var(--text-color);align-items:center;gap:.75rem;margin:0;font-size:1.1rem;font-weight:600;display:flex}.section-header h3:before{content:"";background:var(--primary-color,#428bfd);border-radius:2px;width:4px;height:1.25rem;display:block}.section-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.section-header h3{margin:0}.activity-list{margin:0;padding:0;list-style:none}.activity-item{border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:background .2s;display:flex;position:relative}.activity-item:hover{background:var(--bg-color);box-shadow:inset 3px 0 0 var(--primary-color,#428bfd)}.activity-item:last-child{border-bottom:none}.activity-title{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;font-size:.95rem;font-weight:600;overflow:hidden}.activity-title:hover{color:var(--primary-color,#428bfd)}.activity-meta{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;line-height:1.4;display:flex}.activity-meta:before{content:"";background:var(--text-secondary);opacity:.5;border-radius:50%;width:4px;height:4px;display:inline-block}.status-badges{flex-shrink:0;gap:8px;margin-left:1rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.3px;color:#525252;background:linear-gradient(135deg,#e8e8e8 0%,#d4d4d4 100%);border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}body.dark-mode .status-badge{color:#d4d4d4;background:linear-gradient(135deg,#404040 0%,#333 100%)}.status-completed{color:#135200;background:linear-gradient(135deg,#d9f7be 0%,#b7eb8f 100%)}.status-processing{color:#003a8c;background:linear-gradient(135deg,#bae7ff 0%,#91d5ff 100%)}.status-failed{color:#a8071a;background:linear-gradient(135deg,#ffd8bf 0%,#ffccc7 100%)}.status-default{color:#ad4e00;background:linear-gradient(135deg,#ffe7ba 0%,#ffd591 100%)}.status-success{color:#135200;background:linear-gradient(135deg,#d9f7be 0%,#b7eb8f 100%)}.status-saved{color:#003a8c;background:linear-gradient(135deg,#bae7ff 0%,#91d5ff 100%)}.dashboard-main-content{flex:1;margin-top:0;padding:1.5rem;overflow:auto}body.dark-mode .dashboard-grid{background-color:var(--bg-color)}body.dark-mode .stat-card{background:var(--surface-color)}body.dark-mode .stat-card>span{background:linear-gradient(135deg,#428bfd33 0%,#428bfd1a 100%)}body.dark-mode .stat-value.pending{color:#faad14}body.dark-mode .stat-label{color:var(--text-secondary)}body.dark-mode .stat-value{color:var(--text-color)}body.dark-mode .stat-value.completed{color:#52c41a}body.dark-mode .stat-value.active{color:#428bfd}body.dark-mode .main-content-grid{background:var(--bg-color)}body.dark-mode .section-header{color:var(--text-color)}body.dark-mode .activity-list{background:var(--bg-color)}body.dark-mode .activity-item{border-bottom-color:var(--border-color);background:var(--surface-color)}body.dark-mode .activity-title{color:var(--text-color)}body.dark-mode .activity-meta{color:var(--text-secondary)}body.dark-mode .status-badge{color:var(--text-color)}body.dark-mode .status-completed{color:#135200;background:#b7eb8f}body.dark-mode .status-processing{color:#003a8c;background:#91d5ff}body.dark-mode .status-failed{color:#a8071a;background:#ffccc7}body.dark-mode .status-default{color:#ad4e00;background:#ffd591}body.dark-mode .dashboard-main-content{background:var(--bg-color)}.wiki-grid-container,.wiki-grid-container *{font-family:Arial,Helvetica,sans-serif}.wiki-grid-container{max-width:1600px;margin-top:70px;margin-left:auto;margin-right:auto;padding:1.5rem 2rem}.wiki-grid-header{border-bottom:2px solid var(--accent-color,#4a9eff);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.wiki-grid-title-row{align-items:center;gap:1rem;display:flex}.wiki-grid-back-btn{background:var(--surface-color);border:1px solid var(--accent-color,#4a9eff);color:var(--accent-color,#4a9eff);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:500;transition:all .2s}.wiki-grid-back-btn:hover{background:var(--accent-color,#4a9eff);color:#fff}.wiki-grid-header h2{color:var(--text-color);margin:0;font-size:1.75rem;font-weight:600}.wiki-grid-controls{align-items:center;gap:1rem;display:flex}.wiki-grid-search,.wiki-grid-filter{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);border-radius:6px;padding:.6rem 1rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.wiki-grid-search:focus,.wiki-grid-filter:focus{border-color:var(--accent-color,#4a9eff);outline:none;box-shadow:0 0 0 3px #4a9eff26}.wiki-grid-search{min-width:280px}.wiki-grid-search::placeholder{color:var(--text-secondary,#888)}.wiki-grid-filter{cursor:pointer;min-width:150px}.wiki-grid-sections{flex-direction:column;gap:2.5rem;display:flex}.wiki-grid-section{animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.wiki-grid-section-title{color:var(--text-color);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.75rem;margin:0 0 1.25rem;font-size:1.1rem;font-weight:600;display:flex}.wiki-grid-section-title:before{content:"";background:var(--accent-color,#4a9eff);border-radius:2px;width:4px;height:1.25rem;display:block}.entity-count{color:var(--text-secondary);text-transform:none;letter-spacing:normal;background:var(--surface-color);border-radius:12px;padding:.2rem .6rem;font-size:.85rem;font-weight:400}.wiki-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem;width:100%;display:grid}.wiki-grid-card{background:var(--surface-color);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.wiki-grid-card:hover{border-color:var(--accent-color,#4a9eff);transform:translateY(-6px);box-shadow:0 8px 24px #0003}.wiki-card-image{aspect-ratio:1;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.wiki-card-image.has-image{background:0 0}.wiki-card-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s}.wiki-card-img.loaded{opacity:1}.wiki-card-placeholder{color:#fffffff2;text-transform:uppercase;text-shadow:0 2px 4px #0003;justify-content:center;align-items:center;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif;font-size:2.5rem;font-weight:700;display:flex}.wiki-card-info{background:var(--surface-color);border-top:1px solid var(--border-color);padding:.85rem .75rem}.wiki-card-name{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.3rem;font-size:.9rem;font-weight:600;line-height:1.3;overflow:hidden}.wiki-card-type{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:.75rem}.wiki-grid-empty{text-align:center;color:var(--text-secondary);background:var(--surface-color);border:2px dashed var(--border-color);border-radius:10px;padding:4rem 2rem;font-size:1rem}.wiki-grid-empty:before{content:"📂";opacity:.5;margin-bottom:1rem;font-size:3rem;display:block}body.dark-mode .wiki-grid-header h2,body.dark-mode .wiki-grid-section-title{color:var(--text-color)}body.dark-mode .wiki-grid-card{background:var(--surface-color);border-color:var(--border-color)}body.dark-mode .wiki-grid-card:hover{border-color:var(--primary-color,#428bfd)}body.dark-mode .wiki-card-info{background:var(--surface-color)}body.dark-mode .wiki-card-name{color:var(--text-color)}body.dark-mode .wiki-card-type{color:var(--text-secondary)}body.dark-mode .wiki-grid-search,body.dark-mode .wiki-grid-filter{background:var(--surface-color);border-color:var(--border-color);color:var(--text-color)}@media (max-width:768px){.wiki-grid-header{flex-direction:column;align-items:stretch;gap:1rem}.wiki-grid-controls{flex-direction:column}.wiki-grid-search,.wiki-grid-filter{width:100%}.wiki-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.wiki-card-name{font-size:.85rem}.wiki-card-type{font-size:.7rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem;padding:.5rem}#dashboard-main-content{padding:.5rem}.main-content-grid{grid-template-columns:1fr;gap:1rem}.activity-item{padding:.75rem}}.modern-header{z-index:99;color:#428bfd;background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0000000d}.editor-container{height:calc(100vh - 60px);margin-top:0;padding-top:60px;display:flex;overflow:hidden}.main-editor{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.editor-content-scrollable{background:#f0f2f5;flex:1;padding-bottom:20px;overflow-y:auto}#doc-title-input{color:#202124;background:0 0;border:none;border-radius:4px;min-width:300px;padding:8px 12px;font-size:22px;font-weight:500}#doc-title-input:focus{background:#f0f0f0;outline:none}.modern-toolbar{background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 24px;display:flex}.toolbar-group{background:#fff;border:1px solid #dadce0;border-radius:6px;gap:4px;padding:4px;display:flex}.modern-toolbar button,.modern-toolbar select{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:6px 10px;font-size:14px}.modern-toolbar button:hover{background:#e8f0fe;border-color:#428bfd}.modern-toolbar button.active{color:#fff;background:#428bfd;border-color:#024}.modern-toolbar button.active svg,.modern-toolbar button.active i{fill:#fff;color:#fff}.editor-footer{color:#666;background:#f8f9fa;border-top:1px solid #ddd;justify-content:space-between;align-items:center;padding:4px 10px;font-family:Arial,sans-serif;font-size:.8rem;display:flex}#save-status{transition:color .3s}.document-canvas{background:#fff;border-radius:8px;outline:none;width:8.5in;min-height:11in;margin:40px auto;padding:1in;font-family:Arial,sans-serif;font-size:11pt;line-height:1.15;box-shadow:0 4px 20px #0000001a}.document-canvas p{margin:0}body.dark-mode .document-canvas{color:#e8eaed;background:#2d2d2d}body.dark-mode .document-canvas *{color:inherit}body.dark-mode .document-canvas span[style*="color: black"],body.dark-mode .document-canvas span[style*="color: #000000"],body.dark-mode .document-canvas p[style*="color: black"],body.dark-mode .document-canvas p[style*="color: #000000"]{color:#e8eaed!important}body.dark-mode .modern-toolbar,body.dark-mode .editor-footer{background:#1f1f1f;border-color:#3c4043}body.dark-mode .modern-toolbar button:hover{background:#3c4043}body.dark-mode .modern-header{color:#e8eaed;background:#202124;border-bottom:1px solid #3c4043}body.dark-mode #doc-title-input{color:#fff;background:0 0}body.dark-mode .editor-container,body.dark-mode .editor-content-scrollable{background:#202124}.editor-container{background:var(--bg-color);padding-top:60px}@media (max-width:768px){.modern-header{padding:8px 12px}#doc-title-input{flex:1;min-width:0;font-size:18px}.modern-toolbar{gap:4px;padding:6px 10px}.toolbar-group{padding:2px}.document-canvas{border-radius:0;width:100%;min-height:auto;margin:16px auto;padding:.5in}.editor-container{padding-top:50px}.editor-footer{padding:4px 8px;font-size:.75rem}}@media (max-width:480px){.modern-header{padding:6px 8px}#doc-title-input{padding:6px 8px;font-size:16px}.modern-toolbar{gap:2px;padding:4px 6px}.modern-toolbar button,.modern-toolbar select{min-width:44px;min-height:44px;padding:6px 8px;font-size:13px}.document-canvas{padding:.3in;font-size:10pt}.editor-footer{flex-wrap:wrap;gap:4px}}.sidebar-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex;position:relative}.sidebar-header #padlock-toggle-editor{text-align:center;flex:1}.tree-view{margin:0;padding:0;list-style:none}.tree-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin:.1rem 0;padding:.25rem;transition:background .2s;display:block;overflow:hidden}.tree-item:hover{background:var(--secondary-color);background-color:#428bfd1a}.tree-item.current-file{background:var(--primary-color);color:#fff}.tree-children{margin:.25rem 0;padding-left:1rem}.tree-folder>.tree-item:hover+.tree-children{display:block}.tree-folder .tree-children.hidden{display:none}.tree-loading,.tree-error{text-align:center;color:var(--text-secondary);padding:.5rem}#padlock-toggle{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1rem;transition:background .2s}#padlock-toggle:hover{background:var(--secondary-color)}#padlock-toggle.locked{color:#fff;background:#ff4d4f}.nav-list{margin:0;padding:0;list-style:none}.nav-item{margin-bottom:.5rem}.nav-link{color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{background:var(--secondary-color)}.logout-btn{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.logout-btn:hover{background:var(--secondary-color)}.main-content{margin-left:250px;transition:margin-left .3s}.sidebar-dashboard.collapsed~.main-content{margin-left:60px}.main-content{flex:1;margin-top:70px;margin-left:250px;padding:2rem;transition:margin-left .3s;overflow:auto}body.dark-mode .tree-item:hover{background:var(--secondary-hover)}body.dark-mode .tree-item.current-file{background:var(--primary-color);color:#fff}body.dark-mode .nav-link:hover,body.dark-mode .logout-btn:hover{background:var(--secondary-hover)}body.dark-mode .sidebar-header{background:var(--surface-color)}body.dark-mode #padlock-toggle:hover{background:var(--secondary-hover)}body.dark-mode #padlock-toggle.locked{color:#fff;background:#ff4d4f}body.dark-mode .main-content,body.dark-mode .explorer-layout .main-panel{background:var(--bg-color)}@media (max-width:768px){.main-content,.editor-with-sidebar,.explorer-layout .main-panel{margin-left:0}.explorer-layout{flex-direction:column}.explorer-layout .sidebar{width:100%;height:auto;margin-bottom:1rem;position:relative;top:0}.explorer-layout .main-panel{margin-left:0;padding-top:0}}@media (max-width:480px){.tree-item{padding:.5rem;font-size:.9rem}}.sidebar-dashboard{background:var(--surface-color);border-right:1px solid var(--border-color);z-index:900;box-sizing:border-box;width:250px;height:calc(100vh - 52px);padding:1.5rem 1rem;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:width .3s;position:fixed;top:52px;left:0;overflow-y:auto;box-shadow:2px 0 5px #0000000d}.project-dropdown{z-index:1100!important}.sidebar-dashboard .nav-icon{text-align:center;width:24px;margin-right:1rem;font-size:1.2em;display:inline-block}.sidebar-dashboard.collapsed{width:70px;padding:1.5rem .5rem}.sidebar-dashboard.collapsed .nav-link span:not(.nav-icon){display:none}.sidebar-dashboard.collapsed .nav-link{justify-content:center;padding:.75rem}.sidebar-dashboard.collapsed .nav-icon{margin-right:0}.sidebar-dashboard button{cursor:pointer;text-align:left;width:100%;color:var(--text-color);background:0 0;border:none;border-radius:8px;align-items:center;margin-bottom:.25rem;padding:.875rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.sidebar-dashboard button:hover,.sidebar-dashboard .nav-link:hover{background:var(--secondary-color);color:var(--primary-color);transform:translate(4px)}body.dark-mode .sidebar-dashboard{background:var(--bg-color);border-color:var(--border-color)}@media (max-width:768px){.sidebar-dashboard{z-index:auto;width:100%;height:auto;position:relative;top:0;left:0}.sidebar-dashboard.collapsed{width:100%}}@media (max-width:480px){.sidebar-dashboard{padding:.5rem}}.sidebar-document-editor{background:var(--surface-color);border-right:1px solid var(--border-color);z-index:900;box-sizing:border-box;flex-shrink:0;width:250px;height:100%;padding:1rem;transition:width .3s;position:relative;overflow:hidden}.sidebar-document-editor .tree-view{width:100%;margin:0;padding:0;list-style:none}.sidebar-document-editor .tree-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;text-align:left;border-radius:4px;width:100%;margin:.1rem 0;padding:.25rem;transition:background .2s;display:block;overflow:hidden}.sidebar-document-editor .tree-children{margin:.25rem 0;padding-left:1rem}.sidebar-document-editor .tree-header{border-bottom:1px solid var(--border-color);margin-bottom:.5rem;padding-bottom:.25rem}.sidebar-document-editor .tree-header .tree-item{margin-bottom:.25rem;font-weight:700}.sidebar-document-editor .documents-header{text-align:center;order:1;align-self:stretch;width:100%;margin-bottom:.25rem}.sidebar-document-editor .sidebar-header{flex-direction:column;align-items:flex-end;gap:0;width:100%;margin-bottom:1rem;padding:0}.sidebar-document-editor button{cursor:pointer;background:0 0;border:none;border-radius:4px;width:auto;padding:.25rem;font-size:.9rem;transition:background .2s}.sidebar-document-editor button:hover{background:var(--secondary-color)}.sidebar-document-editor .sidebar-dashboard-btn{background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color);justify-content:center;width:100%;padding:8px;font-size:.95rem}.sidebar-document-editor .sidebar-dashboard-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.sidebar-document-editor .tree-folder,.sidebar-document-editor .tree-file{width:100%;margin:0;padding:0;display:block}.sidebar-document-editor .tree-item{padding-left:.5rem;position:relative}.sidebar-document-editor #documents-tree-editor{width:100%;margin:0;padding:0}.sidebar-document-editor #documents-tree-editor .tree-folder.tree-header{border-bottom:1px solid var(--border-color);margin-bottom:.5rem;padding:0}.sidebar-document-editor #documents-tree-editor .tree-folder.tree-header .tree-item{color:var(--text-color);text-align:left;align-items:center;width:100%;margin:0;padding:.5rem 0;font-weight:700;display:flex}.sidebar-document-editor #documents-files-list{margin:0;padding:0;list-style:none}.sidebar-document-editor #documents-files-list li{border-bottom:none;margin:0;padding:.25rem 0}.sidebar-document-editor #documents-files-list li:last-child{border-bottom:none}.sidebar-document-editor .tree-item{font-size:.9rem;line-height:1.4;font-family:var(--font-family,Arial, sans-serif);text-rendering:optimizelegibility}.sidebar-document-editor #documents-files-list li{margin:0;padding:0}.sidebar-document-editor.collapsed{width:0;padding:0;overflow:hidden}.sidebar-document-editor.collapsed #padlock-toggle-editor,.sidebar-document-editor.collapsed .documents-header,.sidebar-document-editor.collapsed .tree-view{display:none}.floating-toggle{background:var(--surface-color);border:1px solid var(--border-color);z-index:101;cursor:pointer;border-radius:0 0 4px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2em;transition:all .3s;display:none;position:fixed;top:170px;left:0}.floating-toggle.expanded,.sidebar-document-editor:not(.collapsed)~.floating-toggle{display:none}.sidebar-document-editor.collapsed~.floating-toggle{display:flex}.sidebar-document-editor .sidebar-header{flex-direction:column;align-items:flex-end;gap:0}.sidebar-document-editor .documents-header{text-align:center;order:1;align-self:stretch;margin-bottom:.25rem}.sidebar-document-editor .sidebar-header>button{order:2;margin-top:0;margin-left:0}.documents-sidebar{overflow:visible}.documents-sidebar.collapsed .documents-header,.documents-sidebar.collapsed #documents-tree{display:none}.documents-sidebar.collapsed #toggle-sidebar,.documents-sidebar.collapsed #padlock-toggle{visibility:visible;display:inline-block}.documents-sidebar.collapsed .tree-item{padding:.25rem 5px;font-size:.9em}.documents-sidebar.collapsed .tree-item span{text-overflow:ellipsis;max-width:40px;display:inline-block;overflow:hidden}body.dark-mode .sidebar-document-editor,body.dark-mode .documents-sidebar{background:var(--bg-color);border-color:var(--border-color)}body.dark-mode .floating-toggle{background:var(--surface-color);border-color:var(--border-color)}@media (max-width:768px){.sidebar-document-editor,.documents-sidebar{z-index:auto;width:100%;height:auto;position:relative;top:0;left:0}.documents-header h2{font-size:1.5rem;margin-left:0!important}.sidebar-document-editor.collapsed,.documents-sidebar.collapsed{width:100%}.floating-toggle{display:none}}@media (max-width:480px){.sidebar-document-editor,.documents-sidebar{padding:.5rem}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{background:#fff;border-radius:8px;width:90%;max-width:400px;padding:20px;box-shadow:0 4px 6px #0000001a}.modal-input{border:1px solid #ccc;border-radius:4px;width:100%;margin:10px 0;padding:8px}.modal-actions{text-align:right}.modal-content{background:var(--surface-color);color:var(--text-color)}.consent-modal{display:none}.share-options{margin:1.5rem 0}.share-option{border:2px solid var(--border-color);cursor:pointer;border-radius:4px;margin-bottom:8px;padding:12px;transition:all .2s;display:block}.share-option:hover{background-color:var(--secondary-color);border-color:var(--primary-color)}.share-option input[type=radio]{margin-right:8px}.share-option span{color:var(--text-color);font-size:14px}.share-option input[type=radio]:checked+span{font-weight:700}.share-link-container{align-items:stretch;gap:8px;margin:1rem 0;display:flex}.share-link-input{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);border-radius:4px;flex:1;padding:8px;font-family:monospace;font-size:14px}.share-link-input:focus{outline:2px solid var(--primary-color);outline-offset:1px}.share-note{color:var(--text-secondary);margin:.5rem 0;font-size:13px;font-style:italic}body.dark-mode .modal-overlay{background:#000000b3}body.dark-mode .modal{background:var(--surface-color);color:var(--text-color);box-shadow:0 4px 6px #0000004d}body.dark-mode .modal-input{background:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .share-option{border-color:var(--border-color)}body.dark-mode .share-option:hover{background-color:var(--secondary-hover)}body.dark-mode .share-link-input{background:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .share-note{color:var(--text-secondary)}body.dark-mode .modal-content{background:var(--surface-color);color:var(--text-color)}@media (max-width:768px){.modal{width:95%;margin:1rem;padding:15px}.share-link-container{flex-direction:column}.share-link-input{font-size:12px}#app-header{flex-direction:column;padding:.5rem}.branding{order:3;margin:.5rem 0}#projectSelector{text-align:center;order:2;width:100%}}@media (max-width:480px){.modal-input{font-size:16px}.share-option{padding:10px}}.setup-loader{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.setup-content{background:var(--surface-color);text-align:center;border-radius:12px;width:90%;max-width:500px;padding:3rem 2.5rem;box-shadow:0 8px 32px #0000004d}.setup-content.simple{max-width:450px}.setup-content h2{color:var(--text-color);margin:0 0 1rem;font-size:1.75rem;font-weight:600}.setup-content p{color:var(--text-secondary);margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.setup-steps{text-align:left;margin-top:2rem}.setup-step{background:var(--bg-color);border-radius:6px;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .3s;display:flex}.setup-step.pending{opacity:.6}.setup-step.in-progress{background:var(--primary-color);color:#fff;opacity:.9}.setup-step.completed{opacity:1;background:var(--secondary-color)}.step-checkbox{min-width:24px;margin-right:.75rem;font-size:1.2rem}.step-text{flex:1;font-size:.95rem}.spinner-container{justify-content:center;align-items:center;margin:2rem 0;display:flex}.setup-content .loading-spinner{border:5px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.progress-container{margin:2rem 0 1rem}.progress-bar{background:var(--border-color);border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary-color) 0%, #5a9afd 100%);border-radius:4px;width:0%;height:100%;transition:width .5s ease-out}.progress-text{text-align:center;color:var(--primary-color);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.progress-message{text-align:center;color:var(--text-secondary);min-height:1.5rem;font-size:.95rem;font-style:italic}#progress-text{color:var(--text-secondary);margin-top:.5rem;font-size:14px}.progress-0{width:0%}.progress-10{width:10%}.progress-20{width:20%}.progress-30{width:30%}.progress-40{width:40%}.progress-50{width:50%}.progress-60{width:60%}.progress-70{width:70%}.progress-80{width:80%}.progress-90{width:90%}.progress-100{width:100%}body.dark-mode .setup-loader{background:#000000b3}body.dark-mode .setup-content{background:var(--surface-color);color:var(--text-color)}body.dark-mode .progress-bar{background:var(--border-color)}body.dark-mode .progress-fill{background:linear-gradient(to right, #4caf50 var(--progress), #4caf50 var(--progress))}@media (max-width:768px){.setup-content{margin:1rem;padding:20px}}@media (max-width:480px){.setup-content h2{font-size:1.2rem}}#ai-assist-container{z-index:1000;font-family:Inter,sans-serif;position:fixed;bottom:20px;right:20px}.context-file-list .spinner,.context-file-list .loading-spinner{color:#666;justify-content:center;align-items:center;padding:12px;font-size:12px;display:flex}.context-file-list .spinner:before{content:"";border:2px solid #e0e0e0;border-top-color:var(--primary-color,#428bfd);border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.8s linear infinite copilot-spin}.context-file-list .spinner:after{content:"Loading files..."}@keyframes copilot-spin{to{transform:rotate(360deg)}}.ai-assist-toggle{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #667eea66,0 2px 8px #0000001a}.ai-assist-toggle:before{content:"";border-radius:inherit;background:linear-gradient(135deg,#fff3 0%,#0000 100%);width:100%;height:100%;position:absolute}.ai-assist-toggle:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 8px 24px #667eea80,0 4px 12px #00000026}.ai-assist-toggle:active{transform:translateY(0)scale(.98)}.ai-assist-toggle.active{animation:2s ease-in-out infinite copilot-pulse}@keyframes copilot-pulse{0%,to{box-shadow:0 4px 16px #667eea66}50%{box-shadow:0 4px 24px #667eea99}}.ai-assist-window{resize:both;background:#fff;border:1px solid #00000014;border-radius:16px;flex-direction:column;width:380px;min-width:320px;height:600px;min-height:400px;max-height:calc(100vh - 100px);display:flex;overflow:hidden;box-shadow:0 12px 40px #00000026,0 4px 12px #0000001a}.ai-assist-window.hidden{display:none}.ai-assist-header{background:var(--primary-color,#428bfd);color:#fff;justify-content:space-between;align-items:center;padding:10px 15px;font-weight:700;display:flex}.ai-assist-header-left{flex-direction:column;gap:2px;display:flex}.ai-assist-header-left>span:first-child{font-size:14px}.ai-assist-project-indicator{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;font-weight:400;overflow:hidden}.ai-assist-header-right{align-items:center;gap:8px;display:flex}.ai-assist-save-indicator{opacity:.9;background:#fff3;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:400}.ai-assist-controls button{color:#fff;cursor:pointer;background:0 0;border:none;margin-left:10px;font-size:16px}.ai-assist-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-assist-messages{background:#f9f9f9;flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow-y:auto}.message{word-wrap:break-word;border-radius:8px;max-width:85%;padding:8px 12px;font-size:14px;line-height:1.4}.message.user{background:var(--primary-color,#428bfd);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.message.system{color:#888;background:0 0;align-self:center;font-size:12px;font-style:italic}.context-header{color:#555;z-index:1;background:linear-gradient(#f8f9fa,#f0f0f0);border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.context-header button{cursor:pointer;color:#666;background:0 0;border:none;font-size:14px;transition:color .2s}.context-header button:hover{color:var(--primary-color,#428bfd)}.context-file-list{flex:1;max-height:80px;padding:6px 8px;overflow-y:auto}.file-item{align-items:center;padding:4px;font-size:12px;display:flex}.file-item:hover{background:#f5f5f5}.file-item input{margin-right:8px}.file-item label{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;overflow:hidden}.ai-assist-input-area{background:#fff;border-top:1px solid #eee;align-items:flex-end;gap:10px;padding:10px;display:flex}#copilot-input{resize:none;border:1px solid #ddd;border-radius:20px;outline:none;flex:1;height:36px;padding:8px 12px;font-family:inherit}#copilot-input:focus{border-color:var(--primary-color,#428bfd)}#copilot-send{background:var(--primary-color,#428bfd);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:0 15px;font-weight:700}#copilot-send:hover{background:#3370cc}body.dark-mode .ai-assist-window{background:#2d2d2d;border-color:#444}body.dark-mode .ai-assist-messages{background:#1e1e1e}body.dark-mode .message.copilot{color:#eee;background:#333;border-color:#444}body.dark-mode .ai-assist-context,body.dark-mode .ai-assist-input-area{background:#2d2d2d;border-color:#444}body.dark-mode .context-header{color:#aaa;background:#333}body.dark-mode #copilot-input{color:#fff;background:#333;border-color:#555}body.dark-mode .file-item:hover{background:#383838}.quick-prompts{background:#f8f9fa;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex}.quick-prompt-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #d0d0d0;border-radius:12px;padding:4px 10px;font-size:11px;transition:all .2s}.quick-prompt-btn:hover{background:var(--primary-color,#428bfd);color:#fff;border-color:var(--primary-color,#428bfd)}body.dark-mode .quick-prompts{background:#2a2a2a;border-color:#444}body.dark-mode .quick-prompt-btn{color:#ccc;background:#333;border-color:#555}body.dark-mode .quick-prompt-btn:hover{background:var(--primary-color,#428bfd);color:#fff}.lore-tabs{border-top:1px solid #e8e8e8;margin-top:8px;padding-top:8px}.tab-checkboxes{flex-wrap:wrap;gap:6px;padding:6px 0;display:flex}.tab-checkbox{cursor:pointer;background:#f0f0f0;border-radius:8px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;transition:background .2s;display:flex}.tab-checkbox:hover{background:#e0e0e0}.tab-checkbox input{cursor:pointer;margin:0}body.dark-mode .lore-tabs{border-color:#444}body.dark-mode .tab-checkbox{color:#ccc;background:#3a3a3a}body.dark-mode .tab-checkbox:hover{background:#4a4a4a}.ai-assist-history-panel{background:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-assist-history-panel.hidden{display:none}.history-header{background:#f5f5f5;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.history-header button{cursor:pointer;color:#666;background:0 0;border:none;font-size:14px}.history-header button:hover{color:#333}.history-list{flex:1;padding:8px;overflow-y:auto}.history-item{cursor:pointer;background:#f9f9f9;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;transition:all .2s;display:flex}.history-item:hover{border-color:var(--primary-color,#428bfd);background:#f0f5ff}.history-name{color:#333;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;font-weight:500;overflow:hidden}.history-date{color:#888;font-size:10px}body.dark-mode .ai-assist-history-panel{background:#2d2d2d}body.dark-mode .history-header{color:#ddd;background:#333;border-color:#444}body.dark-mode .history-header button{color:#aaa}body.dark-mode .history-item{color:#ddd;background:#383838}body.dark-mode .history-item:hover{background:#404050}body.dark-mode .history-name{color:#eee}.entity-highlight{cursor:pointer;background:#428bfd1a;border-radius:3px;padding:1px 4px;position:relative}.entity-highlight:hover{background:#428bfd40}.entity-actions{z-index:10;background:#fff;border:1px solid #ddd;border-radius:6px;gap:4px;padding:4px;display:none;position:absolute;bottom:100%;left:0;box-shadow:0 2px 8px #00000026}.entity-highlight:hover .entity-actions{display:flex}.entity-action-btn{cursor:pointer;background:#f0f0f0;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.entity-action-btn:hover{background:var(--primary-color,#428bfd);color:#fff}body.dark-mode .entity-highlight{background:#428bfd33}body.dark-mode .entity-actions{background:#333;border-color:#555}body.dark-mode .entity-action-btn{color:#ddd;background:#444}.ai-assist-body-modern{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-assist-messages-large{scrollbar-width:thin;background:#f9f9f9;flex-direction:column;flex:1;gap:10px;min-height:200px;padding:16px;display:flex;overflow-y:auto}body.dark-mode .ai-assist-messages-large{scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.ai-assist-messages-large .message:first-child{margin-top:auto}.ai-assist-bottom-panel{background:#fafafa;border-top:1px solid #e0e0e0;transition:max-height .3s,padding .3s;overflow:hidden}.ai-assist-bottom-panel.expanded{max-height:280px;padding-bottom:8px}.ai-assist-bottom-panel.collapsed{overflow:hidden;max-height:36px!important}.ai-assist-bottom-panel.collapsed .bottom-panel-content{opacity:0;visibility:hidden;display:none}.ai-assist-bottom-panel.expanded .bottom-panel-content{opacity:1;visibility:visible;transition:opacity .2s .1s}body.dark-mode .ai-assist-bottom-panel{background:#252525;border-top-color:#444}.bottom-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#666;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.bottom-panel-header:hover{background:#00000008}body.dark-mode .bottom-panel-header{color:#aaa}body.dark-mode .bottom-panel-header:hover{background:#ffffff08}.panel-toggle-icon{font-size:10px;transition:transform .3s}.panel-toggle-label{text-align:center;flex:1}.bottom-panel-content{max-height:240px;padding:0 12px;overflow-y:auto}.ai-readonly-toggle-container{background:#28a7451a;border:1px solid #28a7454d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;transition:all .2s;display:flex}.ai-readonly-toggle-container.active{background:#ffc10726;border-color:#ffc10766}body.dark-mode .ai-readonly-toggle-container{background:#28a74533;border-color:#28a74566}body.dark-mode .ai-readonly-toggle-container.active{background:#ffc10733;border-color:#ffc10780}.ai-readonly-toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.ai-readonly-toggle input[type=checkbox]{appearance:none;cursor:pointer;background:#ccc;border-radius:10px;width:40px;height:20px;transition:background .2s;position:relative}.ai-readonly-toggle input[type=checkbox]:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.ai-readonly-toggle input[type=checkbox]:checked{background:#ffc107}.ai-readonly-toggle input[type=checkbox]:checked:before{transform:translate(20px)}.toggle-icon{font-size:16px}.toggle-label{color:#333;font-weight:500}body.dark-mode .toggle-label{color:#eee}.toggle-hint{color:#888;width:100%;margin-top:2px;font-size:11px}body.dark-mode .toggle-hint{color:#999}.bottom-panel-content .context-section{margin-bottom:12px}.bottom-panel-content .context-section .context-header{background:0 0;border-bottom:none}body.dark-mode .bottom-panel-content .context-header{color:#aaa}.quick-prompts-section .quick-prompts{flex-wrap:wrap;padding:0}body.dark-mode #ai-assist-input{color:#fff!important;background:#333!important;border-color:#555!important}body.dark-mode #ai-assist-input::placeholder{color:#888!important}body.dark-mode .ai-assist-input-area{background:#2d2d2d;border-top-color:#444}body.dark-mode #ai-assist-send{background:var(--primary-color,#428bfd);color:#fff}.ai-tool-confirmation-modal{z-index:100000;opacity:0;background:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.ai-tool-confirmation-modal.visible{opacity:1}.ai-tool-confirmation-content{background:#fff;border-radius:12px;width:400px;max-width:90vw;transition:transform .2s;overflow:hidden;transform:scale(.95);box-shadow:0 8px 32px #0000004d}.ai-tool-confirmation-modal.visible .ai-tool-confirmation-content{transform:scale(1)}body.dark-mode .ai-tool-confirmation-content{background:#2a2a2a}.ai-tool-confirmation-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);align-items:center;gap:10px;padding:16px 20px;display:flex}.ai-tool-icon{font-size:24px}.ai-tool-confirmation-header h3{margin:0;font-size:16px;font-weight:600}.ai-tool-confirmation-body{padding:20px}.ai-tool-description{color:#333;margin:0 0 16px;font-size:14px}body.dark-mode .ai-tool-description{color:#ddd}.ai-tool-details{background:#f5f5f5;border-radius:8px;margin-bottom:16px;padding:12px}body.dark-mode .ai-tool-details{background:#333}.ai-tool-detail-row{gap:8px;margin-bottom:8px;display:flex}.ai-tool-detail-row:last-child{margin-bottom:0}.detail-label{color:#666;min-width:60px;font-size:12px;font-weight:600}.detail-value{color:#333;font-size:13px}.detail-value.highlight{color:var(--primary-color,#428bfd);font-weight:500}.detail-list{margin:0;padding-left:16px;font-size:12px}.ai-tool-warning{color:#856404;background:#ffc1071a;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}body.dark-mode .ai-tool-warning{color:#ffc107;background:#ffc10733}.ai-tool-warning-destructive{color:#721c24;background:#dc35451a}body.dark-mode .ai-tool-warning-destructive{color:#f5c6cb;background:#dc354533}.ai-tool-confirmation-actions{background:#fafafa;border-top:1px solid #eee;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}body.dark-mode .ai-tool-confirmation-actions{background:#222;border-top-color:#333}.ai-tool-confirmation-actions .btn-cancel{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;display:flex}body.dark-mode .ai-tool-confirmation-actions .btn-cancel{color:#ddd;background:#333;border-color:#555}.ai-tool-confirmation-actions .btn-approve{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 20px;font-size:13px;font-weight:500;display:flex}.ai-tool-confirmation-actions .btn-approve:hover{background:#218838}.ai-tool-confirmation-actions .btn-approve:disabled{opacity:.7;cursor:wait}.ai-readonly-toast{color:#fff;z-index:100001;opacity:0;background:#333;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;transition:all .3s;display:flex;position:fixed;bottom:100px;right:30px;transform:translateY(20px);box-shadow:0 4px 16px #0000004d}.ai-readonly-toast.visible{opacity:1;transform:translateY(0)}.toast-icon{font-size:18px}.toast-message{font-size:13px}.toast-action{background:var(--primary-color,#428bfd);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px}.toast-action:hover{opacity:.9}.ai-thinking-spinner{vertical-align:middle;border:2px solid #8b5cf64d;border-top-color:#8b5cf6;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:1s linear infinite ai-thinking-spin;display:inline-block}@keyframes ai-thinking-spin{to{transform:rotate(360deg)}}[data-theme=dark] .btn-refresh svg,[data-theme=dark] .refresh-icon,[data-theme=dark] .sync-icon,[data-theme=dark] .context-header button svg{filter:invert()}[data-theme=dark] #ai-refresh-models{color:var(--text-color,#fff)}@media (max-width:768px){#ai-assist-container{bottom:10px;right:10px}.ai-assist-window{border-radius:12px;width:calc(100vw - 20px);min-width:0;height:calc(100vh - 80px);max-height:calc(100vh - 80px)}.ai-assist-messages,.ai-assist-messages-large{padding:10px}.message{max-width:90%;padding:8px 10px;font-size:14px}.ai-assist-input-area{gap:8px;padding:8px}#copilot-input,#ai-assist-input{min-height:44px;padding:10px 12px}#copilot-send,#ai-assist-send{min-width:44px;min-height:44px;padding:0 12px}.ai-tool-confirmation-content{width:95vw}.ai-tool-confirmation-actions{flex-wrap:wrap}.ai-tool-confirmation-actions .btn-cancel,.ai-tool-confirmation-actions .btn-approve{flex:1;justify-content:center;min-height:44px}.quick-prompt-btn{min-height:44px;padding:8px 12px;font-size:12px}.ai-readonly-toast{bottom:80px;left:10px;right:10px}}.warning-banner{color:#000;z-index:1000;background:#ffeb3b;width:100%;padding:10px;position:fixed;top:0}body.dark-mode .warning-banner{color:#000;background:gold}.mfa-warning-banner{color:#5d4037;box-sizing:border-box;z-index:900;background:#fff8e1;border-bottom:2px solid #f9a825;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.6rem 1.25rem;font-size:.9rem;display:flex}body.dark-mode .mfa-warning-banner{color:#ffe082;background:#3e2c00;border-bottom-color:#f9a825}.mfa-banner-text{flex:1}.mfa-banner-link{color:#1565c0;font-weight:600;text-decoration:underline}body.dark-mode .mfa-banner-link{color:#90caf9}.mfa-banner-dismiss{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:.2rem .4rem;font-size:1rem}.mfa-banner-dismiss:hover{background:#00000014}.offline-warning-banner{color:#664d03;box-sizing:border-box;z-index:950;background:#fff3cd;border-bottom:2px solid #ff9800;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:flex;position:sticky;top:0}body.dark-mode .offline-warning-banner{color:#ffcc80;background:#3d2e00;border-bottom-color:#ff9800}@media (max-width:768px){.warning-banner,.offline-warning-banner{width:100%;margin-top:1rem;position:relative}.mfa-warning-banner{flex-direction:column;align-items:flex-start}}.overlay{z-index:10;background:#fff;border:1px solid #000;max-width:300px;padding:10px;position:absolute;box-shadow:0 2px 4px #0000001a}.diff-container{position:relative}.add{background:#90ee90}.del{background:#f08080}.highlight-issue{cursor:pointer;background:#ff0}.explanation-overlay{z-index:10;background:#fff;border:1px solid #ccc;max-width:300px;padding:10px;display:none;position:absolute;box-shadow:0 2px 10px #0000001a}.file-list{margin:0;padding:0;list-style:none}.file-row{border-bottom:1px solid var(--border-color);display:flex}.sync-status{border-radius:4px;margin-top:8px;padding:8px;font-size:14px}.sync-status.success{color:#135200;background:#b7eb8f}.sync-status.error{color:#a8071a;background:#ffccc7}.sync-status.warning{color:#ad4e00;background:#ffd591}body.dark-mode .sync-status.success{color:#135200;background:#b7eb8f}body.dark-mode .sync-status.error{color:#a8071a;background:#ffccc7}body.dark-mode .sync-status.warning{color:#ad4e00;background:#ffd591}body.dark-mode .overlay,body.dark-mode .explanation-overlay{background:var(--surface-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .add{color:#fff;background:#4a7c4a}body.dark-mode .del{color:#fff;background:#7c4a4a}body.dark-mode .highlight-issue{color:#fff;background:#663}@media (max-width:768px){.file-row{flex-direction:column}.overlay,.explanation-overlay{max-width:90vw}.sync-status{padding:6px;font-size:13px}.diff-container{font-size:13px;overflow-x:auto}}.spreadsheet-editor-layout{height:calc(100vh - 80px);margin-top:70px;display:flex;overflow:hidden;font-family:Arial,sans-serif!important}.editor-main{flex-direction:column;flex:1;padding:0 10px;display:flex;overflow:hidden}.editor-toolbar{z-index:20;background:#fff;border-bottom:1px solid #ddd;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;margin-bottom:10px;padding:12px 18px;display:flex;position:relative;font-family:Arial,sans-serif!important}.file-info{align-items:center;gap:10px;margin-left:8px;display:flex}.file-name-input{color:#333;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:16px;font-weight:500;font-family:Arial,sans-serif!important}.file-name-input.editing{background:#fff;border-color:#428bfd;outline:none}.file-extension{color:#666;font-size:1.1rem;display:none}.toolbar-actions{align-items:center;gap:8px;display:flex}.spreadsheet-container{background:#f0f0f0;border:1px solid #ddd;border-radius:0 0 6px 6px;flex:1;padding-right:40px;position:relative;overflow:auto}.excel-grid{border-collapse:collapse;table-layout:fixed;width:auto;min-width:100%;margin-bottom:0;font-size:15px;font-family:Arial,sans-serif!important}.excel-grid tr{height:auto!important}.excel-grid td,.excel-grid th{vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ddd;height:auto;min-height:32px;padding:8px 10px;font-size:15px;position:relative;overflow:hidden;text-align:left!important;font-family:Arial,sans-serif!important}.excel-grid tr:first-child td,.excel-grid tr:first-child th{width:100px;max-width:none;text-align:left!important;direction:ltr!important}.excel-grid th{color:#333;text-align:left;background:#f8f9fa;padding:8px 10px;font-weight:600}.excel-grid td{color:#333;background:#fff}.excel-grid td:focus,.excel-grid th:focus{outline-offset:-2px;z-index:1000;text-align:left;background:#f8f9ff;outline:2px solid #428bfd;position:relative;overflow:visible;box-shadow:0 4px 8px #0000001a}.excel-grid td[contenteditable=true]:focus,.excel-grid th[contenteditable=true]:focus{background:#f8f9ff}.frozen-header th{box-shadow:0 1px #357abd;color:#fff!important;z-index:30!important;background:#428bfd!important;border-color:#357abd!important;position:sticky!important;top:0!important}.frozen-row{position:relative}.frozen-row th,.frozen-row td{box-shadow:0 1px #357abd;color:#fff!important;z-index:30!important;background:#428bfd!important;border-color:#357abd!important;position:sticky!important;top:0!important}.sidebar-spreadsheet{background:#f8f9fa;border-right:1px solid #e0e0e0;flex-direction:column;width:250px;transition:width .3s;display:flex}.file-tree ul,.tree-root,.tree-children{margin:0;padding:0;list-style:none!important}.tree-children{padding-left:1rem!important}.tree-folder .folder-label,.tree-file .file-label{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex;overflow:hidden}.tree-folder .folder-label:hover,.tree-file .file-label:hover{background:#eef2ff}.tree-file.active .file-label{color:#428bfd;background:#e0e7ff;font-weight:500}.tree-folder.expanded>.tree-children{display:block}.sidebar-spreadsheet.collapsed{display:none!important}.sidebar-footer{border-top:1px solid #eee;padding:1rem}.btn-sidebar-action{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem;display:flex}.sheet-tabs-container{background:#fff;border-top:1px solid #ddd;align-items:center;margin:0 10px;padding:8px 10px;display:flex}.sheet-tabs{gap:2px;display:flex;overflow-x:auto}.sheet-tab{cursor:pointer;color:#333;background:#f1f3f4;border:1px solid #0000;border-bottom:none;border-radius:4px 4px 0 0;margin-top:3px;padding:6px 12px;font-size:13px;font-family:Arial,sans-serif!important}.sheet-tab.active{color:#428bfd;z-index:2;background:#fff;border-color:#ddd #ddd #fff;border-bottom-style:solid;border-bottom-width:2px;margin-bottom:-1px;font-weight:700}.add-sheet-btn{color:#428bfd;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;font-size:18px;font-weight:700;display:flex}.add-sheet-btn:hover{background:#f1f3f4;border-radius:50%}.add-row-btn-floating{color:#428bfd;cursor:pointer;z-index:5;background:#f1f3f4;border:none;border-top:1px solid #e0e0e0;border-radius:0 0 4px 4px;justify-content:center;align-items:center;height:28px;font-size:18px;font-weight:700;transition:background .2s;display:flex;position:absolute;left:0}.resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:100;pointer-events:auto;float:none;background:0 0;width:8px;height:100%;display:block;position:absolute;top:0;right:-2px}.resizer:hover,.resizer.resizing{background:#428bfd80}.add-col-btn-floating{color:#428bfd;cursor:pointer;z-index:50;background:#f1f3f4;border:none;border-left:1px solid #e0e0e0;border-radius:0 0 4px;justify-content:center;align-items:center;width:30px;font-size:18px;font-weight:700;transition:background .2s;display:flex;position:absolute;top:0}.add-row-btn-floating:hover,.add-col-btn-floating:hover{background:#e0e0e0}.spreadsheet-status-bar{color:#666;background:#f8f9fa;border-top:1px solid #ddd;justify-content:flex-end;margin:0 10px;padding:4px 10px;font-size:.8rem;display:flex}.status-indicator{align-items:center;gap:5px;display:flex}.status-indicator:before{content:"";background:#ccc;border-radius:50%;width:8px;height:8px;display:inline-block}.status-indicator.ready:before{background:#28a745}.status-indicator.saving:before{background:#ffc107}.status-indicator.saved:before{background:#28a745}.status-indicator.unsaved:before{background:#dc3545}.loading-spreadsheet,.error-tree,.empty-tree{color:#666;justify-content:center;align-items:center;height:100%;font-style:italic;display:flex}.empty-state,.error-message{color:#666;text-align:center;justify-content:center;align-items:center;height:150px;padding:30px;font-size:15px;font-style:italic;display:flex}.error-message{color:#dc3545;font-style:normal}.tab-rename-input{border:1px solid #428bfd;outline:none;width:80px;padding:2px 4px;font-size:13px;font-family:Arial,sans-serif!important}body.dark-mode .spreadsheet-editor-layout{color:#e0e0e0;background:#1a1a2e}body.dark-mode .editor-toolbar{background:#252540;border-bottom-color:#3a3a50}body.dark-mode .file-name-input{color:#e0e0e0}body.dark-mode .file-name-input.editing{color:#fff;background:#1a1a2e;border-color:#4a90e2}body.dark-mode .spreadsheet-container{background:#16213e;border-color:#3a3a50}body.dark-mode .excel-grid th{color:#c0c0d0;background:#252540;border-color:#3a3a50}body.dark-mode .excel-grid td{color:#e0e0e0;background:#1a1a2e;border-color:#3a3a50}body.dark-mode .excel-grid td:focus,body.dark-mode .excel-grid th:focus{background:#2a2a4a;outline-color:#4a90e2;box-shadow:0 4px 8px #0000004d}body.dark-mode .sidebar-spreadsheet{background:#202035;border-right-color:#3a3a50}body.dark-mode .tree-folder .folder-label:hover,body.dark-mode .tree-file .file-label:hover{background:#2a2a4a}body.dark-mode .tree-file.active .file-label{color:#4a90e2;background:#3a3a50}body.dark-mode .sheet-tabs-container{background:#252540;border-top-color:#3a3a50}body.dark-mode .sheet-tab{color:#8a8a8a;background:#1a1a2e;border-color:#0000}body.dark-mode .sheet-tab.active{color:#4a90e2;background:#252540;border-color:#3a3a50 #3a3a50 #252540}body.dark-mode .add-sheet-btn:hover{background:#3a3a50}body.dark-mode .add-row-btn-floating,body.dark-mode .add-col-btn-floating{color:#4a90e2;background:#252540;border-color:#3a3a50}body.dark-mode .add-row-btn-floating:hover,body.dark-mode .add-col-btn-floating:hover{background:#3a3a50}body.dark-mode .spreadsheet-status-bar{color:#8a8a8a;background:#252540;border-top-color:#3a3a50}body.dark-mode .btn-sidebar-action{color:#e0e0e0;background:#2a2a4a;border-color:#3a3a50}body.dark-mode .btn-sidebar-action:hover{background:#3a3a50}.excel-grid td.id-column,.excel-grid th.id-column{-webkit-user-select:none;user-select:none;font-weight:500;color:#495057!important;cursor:not-allowed!important;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)!important;border-right:2px solid #dee2e6!important}.excel-grid tr:first-child td.id-column:before,.excel-grid tr:first-child th.id-column:before{content:"🔒 ";opacity:.7;font-size:10px}.excel-grid td.id-column:focus,.excel-grid th.id-column:focus{outline-offset:-1px;box-shadow:none!important;background:linear-gradient(135deg,#f0f0f0 0%,#e0e0e0 100%)!important;outline:1px dashed #adb5bd!important}.excel-grid td.id-column:hover:after,.excel-grid th.id-column:hover:after{content:"ID is locked";color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;background:#333;border-radius:4px;padding:4px 8px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}body.dark-mode .excel-grid td.id-column,body.dark-mode .excel-grid th.id-column{color:#8a8a8a!important;background:linear-gradient(135deg,#2a2a4a 0%,#1f1f3a 100%)!important;border-right:2px solid #3a3a50!important}body.dark-mode .excel-grid td.id-column:focus,body.dark-mode .excel-grid th.id-column:focus{background:linear-gradient(135deg,#252540 0%,#1a1a30 100%)!important;outline:1px dashed #5a5a70!important}.generator-layout{min-height:100vh;padding-top:60px;display:flex}.generator-main-content{flex:1;width:calc(100% - 250px);max-width:100%;margin-left:250px;padding:1.5rem;transition:margin-left .3s,width .3s;overflow-y:auto}.generator-container{max-width:1400px;margin:0 auto}.generator-header{margin-bottom:1.5rem}.generator-header h1{color:var(--text-color);margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.generator-header p{color:var(--text-secondary);margin:0}.entity-tabs{border-bottom:2px solid var(--border-color);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.entity-tab{border:2px solid var(--border-color);background:var(--surface-color);color:var(--text-color);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.entity-tab:hover{border-color:var(--primary-color);background:var(--bg-color)}.entity-tab.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.entity-tab .tab-icon{font-size:1.25rem}.generator-form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.form-column{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.form-column-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.form-column-header h3{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.required-badge{color:#fff;background:#ff4d4f;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-color);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group label .required{color:#ff4d4f;margin-left:.25rem}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{border:1px solid var(--border-color);width:100%;color:var(--text-color);background:var(--bg-color);box-sizing:border-box;border-radius:6px;padding:.625rem .75rem;font-family:Arial,sans-serif;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #428bfd26}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer}.appearance-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.appearance-section-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.appearance-section-header h3{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.appearance-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.appearance-grid .full-width{grid-column:1/-1}.relationship-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.relationship-section-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.relationship-section-header h3{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.relationship-entry{background:var(--bg-color);border-radius:6px;grid-template-columns:1fr 150px 2fr auto;align-items:start;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:grid}.relationship-entry:last-child{margin-bottom:0}.relationship-entry .btn-remove{color:#ff4d4f;cursor:pointer;background:0 0;border:1px solid #ff4d4f;border-radius:4px;padding:.5rem;font-size:.875rem}.relationship-entry .btn-remove:hover{color:#fff;background:#ff4d4f}.add-relationship-btn{border:2px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;transition:all .2s;display:flex}.add-relationship-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.generate-button-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;justify-content:center;padding:1.5rem;display:flex}.btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#428bfd 0%,#2563eb 100%);border:none;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 3rem;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #428bfd59}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 16px #428bfd73}.btn-generate:active{transform:translateY(0)}.btn-generate:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-generate .generate-icon{font-size:1.25rem}.no-entity-message{text-align:center;color:var(--text-secondary);background:var(--surface-color);border:2px dashed var(--border-color);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.no-entity-message .icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.no-entity-message h3{color:var(--text-color);margin:0 0 .5rem;font-weight:600}.no-entity-message p{max-width:300px;margin:0}body.dark-mode .entity-tab{background:var(--surface-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .entity-tab:hover{border-color:var(--primary-color);background:var(--bg-color)}body.dark-mode .entity-tab.active{background:var(--primary-color);color:#fff}body.dark-mode .form-column,body.dark-mode .appearance-section,body.dark-mode .relationship-section,body.dark-mode .generate-button-container{background:var(--surface-color);border-color:var(--border-color)}body.dark-mode .form-group input,body.dark-mode .form-group select,body.dark-mode .form-group textarea{background:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .relationship-entry{background:var(--bg-color)}@media (max-width:1024px){.generator-form-grid{grid-template-columns:1fr}.appearance-grid{grid-template-columns:repeat(2,1fr)}.relationship-entry{grid-template-columns:1fr 1fr;gap:.5rem}.relationship-entry>:nth-child(3){grid-column:1/-1}.relationship-entry>:nth-child(4){grid-column:1/-1;justify-self:end}}@media (max-width:768px){.generator-main-content{width:100%;margin-left:0;padding:1rem}.entity-tabs{gap:.375rem}.entity-tab{flex:45%;padding:.5rem .75rem;font-size:.85rem}.entity-tab .tab-icon{font-size:1rem}.appearance-grid,.relationship-entry{grid-template-columns:1fr}.relationship-entry>:nth-child(4){justify-self:start;width:100%}.btn-generate{justify-content:center;width:100%;padding:1rem}}.generation-success{text-align:center;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:2rem;display:flex}.generation-success .icon{margin-bottom:1rem;font-size:3rem}.generation-success h3{color:#389e0d;margin:0 0 .5rem}.generation-success p{color:#52c41a;margin:0 0 1rem}body.dark-mode .generation-success{background:#52c41a1a;border-color:#52c41a4d}.generation-error{text-align:center;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:2rem;display:flex}.generation-error .icon{margin-bottom:1rem;font-size:3rem}.generation-error h3{color:#cf1322;margin:0 0 .5rem}.generation-error p{color:#ff4d4f;margin:0}body.dark-mode .generation-error{background:#ff4d4f1a;border-color:#ff4d4f4d}.generate-button-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;justify-content:center;gap:1rem;padding:1.5rem;display:flex}.btn-edit-existing{background:var(--bg-color);color:var(--text-color);border:2px solid var(--border-color);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.btn-edit-existing:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-cancel-edit{color:#ff4d4f;cursor:pointer;background:0 0;border:2px solid #ff4d4f;border-radius:8px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.btn-cancel-edit:hover{color:#fff;background:#ff4d4f}.entity-selector-modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.entity-selector-modal{background:var(--surface-color);border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:70vh;display:flex;position:relative;box-shadow:0 8px 32px #0000004d}.entity-selector-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1rem}.entity-selector-close:hover{background:var(--bg-color);color:var(--text-color)}.entity-selector-content{padding:1.5rem;overflow-y:auto}.entity-selector-content.loading{justify-content:center;align-items:center;min-height:200px;display:flex}.entity-selector-header h3{color:var(--text-color);margin:0 0 1rem;font-size:1.25rem;font-weight:600}.entity-selector-search{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem}.entity-selector-search:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #428bfd26}.entity-selector-list{max-height:40vh;overflow-y:auto}.entity-selector-item{cursor:pointer;border:1px solid var(--border-color);border-radius:6px;margin-bottom:.5rem;padding:.875rem 1rem;transition:all .15s}.entity-selector-item:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.entity-selector-item:hover .entity-selector-subtitle{color:#fffc}.entity-selector-name{font-size:1rem;font-weight:500}.entity-selector-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem}.empty-message,.loading-spinner{text-align:center;color:var(--text-secondary);padding:2rem}.loading-spinner:before{content:"";border:3px solid var(--border-color);border-top-color:var(--primary-color);vertical-align:middle;border-radius:50%;width:24px;height:24px;margin-right:.75rem;animation:.8s linear infinite spin;display:inline-block}body.dark-mode .entity-selector-modal{background:var(--surface-color)}body.dark-mode .entity-selector-item{background:var(--bg-color);border-color:var(--border-color)}body.dark-mode .entity-selector-item:hover{background:var(--primary-color);border-color:var(--primary-color)}.detailed-stats-tab{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;transition:all .3s}.detailed-stats-tab.collapsed .detailed-stats-content,.detailed-stats-tab.collapsed .detailed-stats-toolbar{display:none!important}.detailed-stats-header{border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.detailed-stats-title{align-items:center;gap:.5rem;display:flex}.detailed-stats-icon{font-size:1.25rem}.detailed-stats-title h3{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.detailed-stats-tooltip{color:var(--text-secondary);cursor:help;opacity:.7;font-size:.875rem}.detailed-stats-controls{gap:.5rem;display:flex}.btn-toggle-detailed-stats{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:4px;padding:.25rem .5rem;transition:all .2s}.btn-toggle-detailed-stats:hover{background:var(--bg-color);border-color:var(--primary-color)}.detailed-stats-toolbar{background:var(--bg-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.keep-open-checkbox{color:var(--text-color);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.keep-open-checkbox input[type=checkbox]{cursor:pointer}.btn-padlock-toggle,.btn-edit-labels{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:all .2s}.btn-padlock-toggle:hover,.btn-edit-labels:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.detailed-stats-content{padding:1.25rem}.detailed-stats-group{margin-bottom:1.5rem}.detailed-stats-group:last-child{margin-bottom:0}.detailed-stats-group-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.detailed-stats-group-header h4{color:var(--text-color);margin:0;font-size:1rem;font-weight:600}.btn-add-custom-field{border:1px solid var(--border-color);cursor:pointer;width:24px;height:24px;color:var(--text-color);background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.btn-add-custom-field:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.detailed-stats-group-fields{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.detailed-stats-field{flex-direction:column;gap:.375rem;display:flex}.detailed-stats-label{color:var(--text-color);cursor:default;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.detailed-stats-label.editable-label{cursor:pointer}.detailed-stats-label.editable-label:hover{color:var(--primary-color)}.detailed-stats-label.editable-label.editing{outline:1px dashed var(--primary-color);outline-offset:2px;padding:0 2px}.field-lock-icon{opacity:.7;font-size:.75rem}.detailed-stats-field input[type=text],.detailed-stats-field input[type=number],.detailed-stats-field select,.detailed-stats-field textarea{border:1px solid var(--border-color);width:100%;color:var(--text-color);background:var(--bg-color);box-sizing:border-box;border-radius:4px;padding:.5rem .625rem;font-family:Arial,sans-serif;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.detailed-stats-field input[type=text]:focus,.detailed-stats-field input[type=number]:focus,.detailed-stats-field select:focus,.detailed-stats-field textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #428bfd26}.detailed-stats-field input:disabled,.detailed-stats-field select:disabled,.detailed-stats-field textarea:disabled{opacity:.6;cursor:not-allowed}.detailed-stats-field textarea{resize:vertical;min-height:60px}body.dark-mode .detailed-stats-tab{background:var(--surface-color);border-color:var(--border-color)}body.dark-mode .detailed-stats-header{border-color:var(--border-color)}body.dark-mode .detailed-stats-toolbar{background:var(--bg-color);border-color:var(--border-color)}body.dark-mode .detailed-stats-group-header{border-color:var(--border-color)}body.dark-mode .detailed-stats-field input,body.dark-mode .detailed-stats-field select,body.dark-mode .detailed-stats-field textarea{background:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}@media (max-width:768px){.detailed-stats-group-fields{grid-template-columns:1fr}.detailed-stats-toolbar{flex-direction:column;align-items:stretch}.btn-padlock-toggle,.btn-edit-labels{width:100%}}.landing-page{color:#fff;background:linear-gradient(135deg,#0a0a1a 0%,#1a1a3e 50%,#0a1a2a 100%);min-height:100vh;font-family:Arial,sans-serif;overflow-x:hidden}.landing-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:90vh;padding:2rem;display:flex;position:relative}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#428bfd26 0%,#0000 50%),radial-gradient(circle at 70% 60%,#8a2be21a 0%,#0000 50%);position:absolute;inset:0}.landing-logo{filter:drop-shadow(0 0 20px #428bfd80);width:80px;height:80px;margin-bottom:1.5rem}.landing-title{background:linear-gradient(135deg,#fff 0%,#428bfd 50%,#8a2be2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:700}.landing-tagline{color:#fffc;max-width:600px;margin-bottom:2rem;font-size:1.5rem}.hero-screenshot-placeholder{color:#ffffff80;background:#ffffff05;border:2px dashed #ffffff4d;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:800px;height:400px;margin:2rem auto;font-size:1.2rem;display:flex}.video-placeholder-section{text-align:center;padding:2rem}.video-placeholder{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:50px;align-items:center;gap:1rem;padding:1.5rem 3rem;transition:all .3s;display:inline-flex}.video-placeholder:hover{background:#ffffff1a;border-color:#ffffff4d;transform:scale(1.02)}.video-play-icon{color:#428bfd;font-size:2rem}.video-text{color:#ffffffe6;font-size:1.2rem;font-weight:600}.cta-note{color:#fff9;text-align:center;max-width:400px;margin-top:1.5rem;font-size:.9rem}.feature-media-placeholder{color:#fff6;background:#ffffff05;border:1px dashed #fff3;border-radius:8px;margin-top:.75rem;padding:1rem;font-size:.85rem}.landing-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.cta-button{cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.cta-button.primary{color:#fff;background:linear-gradient(135deg,#428bfd 0%,#2d6fd3 100%);box-shadow:0 4px 20px #428bfd66}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #428bfd99}.cta-button.secondary{color:#fff;background:#ffffff1a;border:1px solid #ffffff4d}.cta-button.secondary:hover{background:#fff3;border-color:#ffffff80}.cta-button svg{width:24px;height:24px}.landing-usecases{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section-title{text-align:center;color:#fff;margin-bottom:1rem;font-size:2.5rem}.section-subtitle{text-align:center;color:#ffffffb3;max-width:600px;margin-bottom:4rem;margin-left:auto;margin-right:auto;font-size:1.2rem}.usecases-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.usecase-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:2.5rem;transition:all .3s;position:relative;overflow:hidden}.usecase-card:before{content:"";background:linear-gradient(90deg, var(--card-accent,#428bfd), transparent);height:4px;position:absolute;top:0;left:0;right:0}.usecase-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-5px)}.usecase-card.writers{--card-accent:#428bfd}.usecase-card.ttrpg{--card-accent:#9b59b6}.usecase-card.screenwriters{--card-accent:#e74c3c}.usecase-icon{margin-bottom:1.5rem;font-size:3rem}.usecase-title{color:#fff;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.usecase-description{color:#ffffffb3;margin-bottom:1.5rem;line-height:1.6}.usecase-features{margin:0;padding:0;list-style:none}.usecase-features li{color:#fffc;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.95rem;display:flex}.usecase-features li:before{content:"✓";color:#428bfd;font-weight:700}.landing-features{background:#0000004d;padding:6rem 2rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.feature-item{text-align:center;padding:2rem}.feature-icon{margin-bottom:1rem;font-size:2.5rem}.feature-title{color:#fff;margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.feature-desc{color:#fff9;font-size:.95rem}.landing-privacy{text-align:center;background:linear-gradient(135deg,#428bfd1a 0%,#8a2be21a 100%);border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;padding:4rem 2rem}.privacy-title{color:#fff;margin-bottom:1rem;font-size:1.8rem}.privacy-desc{color:#ffffffb3;max-width:600px;margin:0 auto 2rem;line-height:1.6}.privacy-badges{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.privacy-badge{color:#fffc;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.privacy-badge:before{content:"🔒"}.landing-final-cta{text-align:center;padding:6rem 2rem}.final-cta-title{color:#fff;margin-bottom:1rem;font-size:2.5rem}.final-cta-desc{color:#ffffffb3;margin-bottom:2rem;font-size:1.1rem}.landing-footer{text-align:center;color:#ffffff80;border-top:1px solid #ffffff1a;padding:2rem;font-size:.9rem}@media (max-width:768px){.landing-title{font-size:2.5rem}.landing-tagline{font-size:1.2rem}.section-title{font-size:2rem}.usecases-grid{grid-template-columns:1fr}.landing-cta{flex-direction:column;align-items:center}.cta-button{justify-content:center;width:100%;max-width:300px}}.ms-icon{width:20px;height:20px}.theme-toggle{z-index:1000;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:all .3s;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 15px #0003}.theme-toggle:hover{background:#fff3;transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.theme-toggle:active{transform:scale(.95)}body:not(.dark-mode) .landing-page{color:#1a202c;background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 50%,#f7fafc 100%)}body:not(.dark-mode) .landing-hero:before{background:radial-gradient(circle at 30% 40%,#428bfd1a 0%,#0000 50%),radial-gradient(circle at 70% 60%,#8a2be214 0%,#0000 50%)}body:not(.dark-mode) .landing-title{background:linear-gradient(135deg,#1a202c 0%,#428bfd 50%,#8a2be2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body:not(.dark-mode) .landing-tagline{color:#1a202ccc}body:not(.dark-mode) .section-title{color:#1a202c}body:not(.dark-mode) .section-subtitle{color:#1a202cb3}body:not(.dark-mode) .usecase-card{background:#fffc;border:1px solid #0000001a;box-shadow:0 4px 20px #00000014}body:not(.dark-mode) .usecase-card:hover{background:#fffffff2;border-color:#00000026;box-shadow:0 8px 30px #0000001f}body:not(.dark-mode) .usecase-title{color:#1a202c}body:not(.dark-mode) .usecase-description{color:#1a202cb3}body:not(.dark-mode) .usecase-features li{color:#1a202ccc}body:not(.dark-mode) .landing-features{background:#00000008}body:not(.dark-mode) .feature-title{color:#1a202c}body:not(.dark-mode) .feature-desc{color:#1a202c99}body:not(.dark-mode) .landing-privacy{background:linear-gradient(135deg,#428bfd14 0%,#8a2be214 100%);border-top:1px solid #0000001a;border-bottom:1px solid #0000001a}body:not(.dark-mode) .privacy-title{color:#1a202c}body:not(.dark-mode) .privacy-desc{color:#1a202cb3}body:not(.dark-mode) .privacy-badge{color:#1a202ccc}body:not(.dark-mode) .final-cta-title{color:#1a202c}body:not(.dark-mode) .final-cta-desc{color:#1a202cb3}body:not(.dark-mode) .cta-button.secondary{color:#1a202c;background:#0000000d;border:1px solid #0003}body:not(.dark-mode) .cta-button.secondary:hover{background:#0000001a;border-color:#0000004d}body:not(.dark-mode) .landing-footer{color:#1a202c80;border-top:1px solid #0000001a}body:not(.dark-mode) .theme-toggle{background:#0000000d;border:1px solid #0000001a;box-shadow:0 4px 15px #0000001a}body:not(.dark-mode) .theme-toggle:hover{background:#0000001a;box-shadow:0 6px 20px #00000026}body:not(.dark-mode) .alpha-banner{box-shadow:0 2px 10px #0000001a}body:not(.dark-mode) .hero-screenshot-placeholder{color:#1a202c80;background:#00000005;border-color:#0003}body:not(.dark-mode) .video-placeholder{background:#00000008;border-color:#0000001a}body:not(.dark-mode) .video-placeholder:hover{background:#0000000f;border-color:#0003}body:not(.dark-mode) .video-text{color:#1a202ce6}body:not(.dark-mode) .cta-note{color:#1a202c99}body:not(.dark-mode) .feature-media-placeholder{color:#1a202c66;background:#00000005;border-color:#00000026}.hero-carousel{-webkit-user-select:none;user-select:none;cursor:grab;border-radius:16px;width:100%;max-width:1000px;margin:2rem auto;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.landing-explanation{color:#ffffffd9;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;max-width:700px;margin:0 auto 2rem;padding:1.25rem 1.5rem;font-size:1.05rem;line-height:1.6}.landing-explanation strong{color:#428bfd}.landing-explanation em{color:#fffffff2;font-style:italic}body:not(.dark-mode) .landing-explanation{color:#1a202cd9;background:#fffc;border:1px solid #0000001a}body:not(.dark-mode) .landing-explanation em{color:#1a202cf2}.hero-carousel:active{cursor:grabbing}.carousel-track{will-change:transform;transition:transform .4s;display:flex}.carousel-slide{min-width:100%;position:relative}.carousel-slide img{pointer-events:none;width:100%;height:auto;display:block}.slide-label{color:#fff;text-align:center;background:linear-gradient(#0000,#000000b3);padding:1rem;font-size:1.1rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.slide-hint{text-align:center;color:#fff9;opacity:0;pointer-events:none;font-size:.85rem;transition:opacity .3s;position:absolute;bottom:3rem;left:0;right:0}.carousel-slide:hover .slide-hint{opacity:1}.carousel-slide{cursor:pointer}.carousel-btn{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-btn:hover{background:#428bfdcc;transform:translateY(-50%)scale(1.1)}.carousel-btn.prev{left:1rem}.carousel-btn.next{right:1rem}.carousel-dots{z-index:10;gap:.5rem;display:flex;position:absolute;bottom:4rem;left:50%;transform:translate(-50%)}.carousel-dot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:12px;height:12px;transition:all .2s}.carousel-dot:hover{background:#ffffffb3}.carousel-dot.active{background:#428bfd;transform:scale(1.2)}@media (max-width:768px){.carousel-btn{width:36px;height:36px;font-size:1.5rem}.carousel-btn.prev{left:.5rem}.carousel-btn.next{right:.5rem}.slide-label{padding:.75rem;font-size:.9rem}.carousel-dots{bottom:3rem}}body:not(.dark-mode) .carousel-btn{color:#1a202c;background:#fffc;box-shadow:0 2px 10px #0000001a}body:not(.dark-mode) .carousel-btn:hover{color:#fff;background:#428bfd}body:not(.dark-mode) .carousel-dot{background:#0000004d}body:not(.dark-mode) .carousel-dot:hover{background:#00000080}.landing-gallery{max-width:1400px;margin:0 auto;padding:6rem 2rem}body:not(.dark-mode) .hero-screenshot:hover{box-shadow:0 30px 80px #428bfd33}.lightbox{z-index:10000;opacity:0;visibility:hidden;background:#000000f2;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;visibility:visible}.lightbox-image{object-fit:contain;border-radius:12px;max-width:90%;max-height:80%;box-shadow:0 20px 60px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:2.5rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-nav.prev{left:2rem}.lightbox-nav.next{right:2rem}.lightbox-caption{color:#fff;text-align:center;background:#000000b3;border-radius:50px;padding:.75rem 2rem;font-size:1.2rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.storyline-layout{background:var(--bg-primary,#1a1a2e);min-height:calc(100vh - 60px);margin-top:60px;display:flex}.storyline-layout .sidebar-dashboard{background:var(--bg-secondary,#16213e);border-right:1px solid var(--border-color,#2d3748);flex-direction:column;flex-shrink:0;width:240px;padding:1rem 0;display:flex;height:auto!important;position:relative!important;top:auto!important;left:auto!important}.storyline-layout .sidebar-nav{flex-direction:column;gap:.25rem;padding:0 .75rem;display:flex}.storyline-layout .sidebar-item{color:var(--text-primary,#e2e8f0);border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .75rem;text-decoration:none;transition:all .2s;display:flex}.storyline-layout .sidebar-item:hover{background:var(--bg-hover,#2d3748)}.storyline-layout .sidebar-item.active{background:var(--accent-color,#5b7ba5);color:#fff}.storyline-layout .sidebar-icon{font-size:1.1rem}.storyline-layout .storyline-legend-section{margin-top:auto;padding:1rem}.storyline-layout .storyline-legend-section h4{text-transform:uppercase;color:var(--text-secondary,#a0aec0);letter-spacing:.05em;margin-top:0;margin-bottom:.75rem;font-size:.75rem}.storyline-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.storyline-container{background:var(--bg-primary,#1a1a2e);height:100%;color:var(--text-primary,#e2e8f0);flex-direction:column;display:flex}.storyline-header{border-bottom:1px solid var(--border-color,#2d3748);background:var(--bg-secondary,#16213e);flex-shrink:0;align-items:center;gap:1rem;min-height:56px;padding:1rem 1.5rem;display:flex}.storyline-header h1{margin:0;font-size:1.5rem;font-weight:600}.storyline-project-name{color:var(--text-secondary,#a0aec0);font-size:.9rem}.storyline-toolbar{align-items:center;gap:.5rem;margin-left:auto;display:flex}.storyline-btn{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);color:var(--text-primary,#e2e8f0);cursor:pointer;border-radius:6px;padding:.5rem .75rem;transition:all .2s}.storyline-btn:hover{background:var(--bg-hover,#2d3748)}.storyline-btn-primary{background:var(--accent-color,#5b7ba5);border-color:var(--accent-color,#5b7ba5)}.storyline-btn-primary:hover{background:var(--accent-hover,#4a6a94)}.storyline-divider{background:var(--border-color,#2d3748);width:1px;height:24px;margin:0 .5rem}.storyline-main{flex:1;position:relative;overflow:hidden}.storyline-canvas-wrapper{width:100%;height:100%;position:relative}#storyline-canvas{width:100%;height:100%;display:block}#storyline-overlay{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.storyline-tooltip{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);z-index:1000;pointer-events:none;border-radius:8px;max-width:300px;padding:.75rem 1rem;position:fixed;box-shadow:0 4px 12px #0000004d}.storyline-tooltip.hidden{display:none}.tooltip-title{color:var(--text-primary,#e2e8f0);margin-bottom:.5rem;font-weight:600}.tooltip-content{color:var(--text-secondary,#a0aec0);font-size:.85rem;line-height:1.4}.tooltip-content strong{color:var(--accent-color,#5b7ba5)}.storyline-context-menu{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);z-index:1001;border-radius:8px;min-width:180px;padding:.5rem 0;position:fixed;box-shadow:0 4px 12px #0000004d}.storyline-context-menu.hidden{display:none}.context-menu-item{cursor:pointer;padding:.5rem 1rem;transition:background .2s}.context-menu-item-danger{color:#e53e3e}.context-menu-item-danger:hover{background:#e53e3e26}.context-menu-item-warning{color:#dd6b20}.context-menu-item-warning:hover{background:#dd6b2026}.context-menu-divider{background:var(--border-color,#2d3748);height:1px;margin:.5rem 0}.storyline-alert{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);z-index:1000;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.storyline-alert.hidden{display:none}.storyline-alert-warning{background:#d69e2e1a;border-color:#d69e2e}.storyline-alert-error{background:#e53e3e1a;border-color:#e53e3e}.storyline-prompt-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.storyline-prompt{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);text-align:center;border-radius:12px;min-width:320px;padding:1.5rem}.storyline-prompt h3{margin-top:0;margin-bottom:1.5rem}.storyline-prompt-options{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.storyline-prompt-btn{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);color:var(--text-primary,#e2e8f0);cursor:pointer;text-align:left;border-radius:8px;padding:.75rem 1rem;transition:all .2s}.storyline-prompt-btn:hover{background:var(--bg-hover,#2d3748)}.storyline-prompt-btn-danger{border-color:#e53e3e80}.storyline-prompt-btn-danger:hover{background:#e53e3e26}.storyline-prompt-cancel{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;padding:.5rem}.storyline-picker-overlay{z-index:10100;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.storyline-picker{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);border-radius:12px;flex-direction:column;width:450px;max-height:80vh;display:flex}.picker-header{border-bottom:1px solid var(--border-color,#2d3748);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.picker-header h3{margin:0}.picker-close{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.picker-tabs{border-bottom:1px solid var(--border-color,#2d3748);display:flex}.picker-tab{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;flex:1;padding:.75rem;transition:all .2s}.picker-tab.active{color:var(--accent-color,#5b7ba5);border-bottom:2px solid var(--accent-color,#5b7ba5)}.picker-content{flex:1;overflow:hidden}.picker-panel{height:100%;padding:1rem}.picker-panel.hidden{display:none}.picker-search input{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);width:100%;color:var(--text-primary,#e2e8f0);border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem}.picker-list{max-height:300px;overflow-y:auto}.picker-item{cursor:pointer;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background .2s;display:flex}.picker-item:hover{background:var(--bg-hover,#2d3748)}.picker-loading,.picker-empty,.picker-error{text-align:center;color:var(--text-secondary,#a0aec0);padding:2rem}.picker-form{flex-direction:column;gap:.75rem;display:flex}.picker-form label{color:var(--text-secondary,#a0aec0);font-size:.9rem}.picker-form input{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);color:var(--text-primary,#e2e8f0);border-radius:6px;padding:.5rem .75rem}.picker-form input.error{border-color:#e53e3e}.picker-create-btn{background:var(--accent-color,#5b7ba5);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.75rem}.storyline-branch-hint{background:var(--bg-secondary,#16213e);border:1px solid var(--accent-color,#5b7ba5);pointer-events:auto;z-index:100;border-radius:8px;padding:.75rem;position:absolute}.branch-hint-text{color:var(--accent-color,#5b7ba5);margin-bottom:.5rem;font-size:.85rem}.branch-hint-arrows{gap:.5rem;display:flex}.branch-btn{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);color:var(--text-primary,#e2e8f0);cursor:pointer;border-radius:4px;padding:.5rem .75rem}.branch-btn:hover{background:var(--bg-hover,#2d3748)}.sidebar-storyline{padding:1rem}.sidebar-section{margin-bottom:1.5rem}.sidebar-section h3{text-transform:uppercase;color:var(--text-secondary,#a0aec0);margin-bottom:.75rem;font-size:.85rem}.sidebar-nav{margin:0;padding:0;list-style:none}.sidebar-nav li{margin-bottom:.25rem}.sidebar-nav a{color:var(--text-primary,#e2e8f0);border-radius:6px;padding:.5rem .75rem;text-decoration:none;transition:background .2s;display:block}.sidebar-nav a:hover{background:var(--bg-hover,#2d3748)}.sidebar-nav .active a{background:var(--accent-color,#5b7ba5);color:#fff}.sidebar-info-text{color:var(--text-secondary,#a0aec0);font-size:.85rem}.path-indicator{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.path-dot{border-radius:50%;width:12px;height:12px}.path-dot.canon{background:#5b7ba5}.path-dot.alternative{background:#68855c}.path-warning{background:#d69e2e26;border:1px solid #d69e2e;border-radius:6px;padding:.75rem}.path-warning span{color:#d69e2e;font-weight:600}.path-warning p{color:var(--text-secondary,#a0aec0);margin:.25rem 0 0;font-size:.8rem}.storyline-legend{flex-direction:column;gap:.5rem;display:flex}.legend-item{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.legend-color{border-radius:4px;width:16px;height:16px}.alert-badge{color:#fff;background:#e53e3e;border-radius:10px;margin-left:.25rem;padding:.1rem .4rem;font-size:.7rem}.storyline-no-project,.storyline-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.storyline-no-project h2,.storyline-error h2{margin-bottom:.5rem}.storyline-no-project p,.storyline-error p{color:var(--text-secondary,#a0aec0);margin-bottom:1.5rem}.storyline-no-project button,.storyline-error button{background:var(--accent-color,#5b7ba5);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem}.tooltip-hint{color:var(--text-secondary,#a0aec0);border-top:1px solid var(--border-color,#2d3748);margin-top:.5rem;padding-top:.5rem;font-size:.75rem;font-style:italic}.storyline-tooltip:has(.tooltip-hint:only-child){max-width:250px;padding:.5rem .75rem}.storyline-tooltip:has(.tooltip-hint:only-child) .tooltip-hint{color:var(--text-primary,#e2e8f0);border-top:none;margin-top:0;padding-top:0;font-size:.8rem;font-style:normal}.context-menu-header{color:var(--text-secondary,#a0aec0);padding:.4rem 1rem;font-size:.85rem}.context-menu-header small{opacity:.9}#storyline-canvas.linking{cursor:crosshair}#storyline-canvas.can-drop{cursor:copy}[data-theme=light] .storyline-container,body:not(.dark-theme) .storyline-container{--bg-primary:#f5f5f0;--bg-secondary:#fff;--bg-tertiary:#f0f0eb;--bg-hover:#e5e5e0;--text-primary:#2d3748;--text-secondary:#718096;--border-color:#e2e8f0;--accent-color:#5b7ba5}.layer-legend{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color,#2d3748);z-index:100;background:#16213ef2;border-radius:10px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 12px #0000004d}.layer-legend-title{text-transform:uppercase;color:var(--text-secondary,#a0aec0);letter-spacing:.05em;padding:.25rem .5rem;font-size:.7rem}.layer-legend-item{color:var(--text-primary,#e2e8f0);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.layer-legend-item:hover{background:var(--bg-hover,#2d3748)}.layer-legend-item.active{background:var(--accent-color,#5b7ba5);color:#fff;border-color:var(--accent-color,#5b7ba5)}.layer-icon{font-size:1rem}.entity-filter-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color,#2d3748);z-index:100;color:#e2e8f0;background:#16213ef2;border-radius:10px;min-width:200px;padding:.75rem;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 12px #0000004d}.entity-filter-panel.hidden{display:none}.filter-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.filter-close-btn{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.filter-close-btn:hover{color:var(--text-primary,#e2e8f0)}.filter-search input{background:var(--bg-tertiary,#1a1a2e);border:1px solid var(--border-color,#2d3748);width:100%;color:var(--text-primary,#e2e8f0);border-radius:6px;margin-bottom:.75rem;padding:.4rem .6rem;font-size:.85rem}.filter-search input::placeholder{color:var(--text-secondary,#a0aec0)}.filter-categories{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.filter-category{cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.filter-category input[type=checkbox]{accent-color:var(--accent-color,#5b7ba5)}.filter-label{color:var(--text-primary,#e2e8f0)}.filter-actions{gap:.5rem;display:flex}.filter-action-btn{background:var(--bg-tertiary,#1a1a2e);border:1px solid var(--border-color,#2d3748);color:var(--text-secondary,#a0aec0);cursor:pointer;border-radius:4px;flex:1;padding:.4rem;font-size:.75rem;transition:all .2s}.filter-action-btn:hover{background:var(--bg-hover,#2d3748);color:var(--text-primary,#e2e8f0)}.update-notification-modal{z-index:2000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.update-notification-modal.hidden{display:none}.update-modal-content{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);border-radius:12px;min-width:400px;max-width:500px;padding:1.5rem}.update-modal-content h3{margin:0 0 1rem}.update-modal-content p{color:var(--text-secondary,#a0aec0);margin-bottom:1rem}.update-diff{background:var(--bg-tertiary,#1a1a2e);border:1px solid var(--border-color,#2d3748);border-radius:8px;max-height:200px;margin-bottom:1rem;padding:1rem;font-size:.85rem;overflow-y:auto}.update-diff-added{color:#68d391}.update-diff-added:before{content:"+ "}.update-diff-removed{color:#fc8181}.update-diff-removed:before{content:"- "}.update-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.update-btn{border:1px solid var(--border-color,#2d3748);background:var(--bg-tertiary,#1a1a2e);color:var(--text-primary,#e2e8f0);cursor:pointer;border-radius:6px;padding:.6rem 1rem;transition:all .2s}.update-btn:hover{background:var(--bg-hover,#2d3748)}.update-btn-primary{background:var(--accent-color,#5b7ba5);border-color:var(--accent-color,#5b7ba5)}.update-btn-primary:hover{background:var(--accent-hover,#4a6a94)}.entity-badge{border-radius:4px;margin-bottom:.25rem;margin-right:.25rem;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.entity-badge.heuristic{color:#fff;background:#5b7ba5}.entity-badge.human{color:#fff;background:#68855c}[data-theme=light] .layer-legend,body:not(.dark-mode):not(.dark-theme) .layer-legend,[data-theme=light] .entity-filter-panel,body:not(.dark-mode):not(.dark-theme) .entity-filter-panel{color:#1a202c;background:#fffffff2;border-color:#e2e8f0}[data-theme=light] .filter-label,body:not(.dark-mode):not(.dark-theme) .filter-label{color:#1a202c}[data-theme=light] .filter-search input,body:not(.dark-mode):not(.dark-theme) .filter-search input{color:#1a202c;background:#f7fafc;border-color:#e2e8f0}[data-theme=light] .filter-action-btn,body:not(.dark-mode):not(.dark-theme) .filter-action-btn{color:#4a5568;background:#f7fafc;border-color:#e2e8f0}[data-theme=light] .update-modal-content,body:not(.dark-mode):not(.dark-theme) .update-modal-content{color:#1a202c;background:#fff}.storyline-entity-popup{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);z-index:10000;border-radius:12px;min-width:320px;max-width:420px;animation:.2s ease-out entityPopupFadeIn;position:fixed;box-shadow:0 8px 24px #00000080}@keyframes entityPopupFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.storyline-entity-popup .entity-popup-header{border-bottom:1px solid var(--border-color,#2d3748);align-items:center;gap:.75rem;padding:1rem;display:flex}.storyline-entity-popup .entity-popup-icon{flex-shrink:0;font-size:1.5rem}.storyline-entity-popup .entity-popup-name{color:var(--text-primary,#e2e8f0);flex:1;font-size:1rem;font-weight:600}.storyline-entity-popup .entity-popup-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#a0aec0);background:var(--bg-tertiary,#2d3748);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.storyline-entity-popup .entity-popup-close{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.storyline-entity-popup .entity-popup-close:hover{background:var(--bg-hover,#2d3748);color:var(--text-primary,#e2e8f0)}.storyline-entity-popup .entity-popup-section{border-bottom:1px solid var(--border-color,#2d3748);padding:1rem}.storyline-entity-popup .entity-popup-section:last-of-type{border-bottom:none}.storyline-entity-popup .entity-popup-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#a0aec0);margin-bottom:.5rem;font-size:.75rem}.storyline-entity-popup .entity-popup-stat-changes{margin:0;padding:0;list-style:none}.storyline-entity-popup .entity-popup-stat-changes li{background:var(--bg-tertiary,#2d3748);color:var(--text-primary,#e2e8f0);border-radius:6px;margin-bottom:.25rem;padding:.5rem .75rem;font-size:.875rem}.storyline-entity-popup .entity-popup-stat-changes li:last-child{margin-bottom:0}.storyline-entity-popup .entity-popup-footer{border-top:1px solid var(--border-color,#2d3748);padding:1rem}.storyline-entity-popup .entity-popup-wiki-btn{background:var(--accent-color,#5b7ba5);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.storyline-entity-popup .entity-popup-wiki-btn:hover{background:var(--accent-hover,#4a6a94);transform:translateY(-1px)}.storyline-entity-popup .entity-popup-wiki-btn:active{transform:translateY(0)}.context-menu-item-type{color:var(--text-secondary,#a0aec0);margin-left:auto;font-size:.75rem}.context-menu-item-sub{padding-left:2.5rem;font-size:.875rem}[data-theme=light] .storyline-entity-popup,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 24px #00000026}[data-theme=light] .storyline-entity-popup .entity-popup-name,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup .entity-popup-name{color:#1a202c}[data-theme=light] .storyline-entity-popup .entity-popup-type,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup .entity-popup-type{color:#4a5568;background:#f7fafc}[data-theme=light] .storyline-entity-popup .entity-popup-stat-changes li,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup .entity-popup-stat-changes li{color:#1a202c;background:#f7fafc}[data-theme=light] .storyline-entity-popup .entity-popup-wiki-btn,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup .entity-popup-wiki-btn{background:#5b7ba5}[data-theme=light] .storyline-entity-popup .entity-popup-wiki-btn:hover,body:not(.dark-mode):not(.dark-theme) .storyline-entity-popup .entity-popup-wiki-btn:hover{background:#4a6a94}[data-theme=light] .context-menu-item-type,body:not(.dark-mode):not(.dark-theme) .context-menu-item-type{color:#718096}.storyline-btn-warning{color:#1a1a2e!important;background:#f6ad55!important}.storyline-btn-warning:hover{background:#ed8936!important}.violation-indicator{font-size:1rem}.violation-badge{color:#fff;background:#e53e3e;border-radius:10px;margin-left:.25rem;padding:.125rem .4rem;font-size:.75rem}.violation-badge.hidden{display:none}.violations-panel{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2d3748);z-index:1000;border-radius:8px;width:350px;max-height:400px;position:absolute;top:60px;right:20px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.violations-panel.hidden{display:none}.violations-header{background:var(--bg-hover,#2d3748);border-bottom:1px solid var(--border-color,#2d3748);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.violations-title{color:var(--text-primary,#e2e8f0);font-weight:600}.violations-close-btn{color:var(--text-secondary,#a0aec0);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem}.violations-list{max-height:280px;padding:.75rem;overflow-y:auto}.violations-empty{color:var(--text-secondary,#a0aec0);text-align:center;padding:1rem;font-style:italic}.violation-item{background:var(--bg-primary,#1a1a2e);border:1px solid var(--border-color,#2d3748);border-left:3px solid #e53e3e;border-radius:4px;margin-bottom:.5rem;padding:.75rem}.violation-item:last-child{margin-bottom:0}.violation-entity{color:var(--text-primary,#e2e8f0);margin-bottom:.25rem;font-weight:600}.violation-message{color:var(--text-secondary,#a0aec0);font-size:.875rem;line-height:1.4}.violation-chapter{color:#f6ad55;margin-top:.25rem;font-size:.75rem}.violations-footer{border-top:1px solid var(--border-color,#2d3748);justify-content:flex-end;padding:.75rem 1rem;display:flex}.violations-action-btn{background:var(--accent-color,#6b8afd);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem}.violations-action-btn:hover{background:#5b7eed}[data-theme=light] .violations-panel,body:not(.dark-mode):not(.dark-theme) .violations-panel{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #0000001a}[data-theme=light] .violations-header,body:not(.dark-mode):not(.dark-theme) .violations-header,[data-theme=light] .violation-item,body:not(.dark-mode):not(.dark-theme) .violation-item{background:#f7fafc;border-color:#e2e8f0}.suggestion-dropdown{z-index:10000;background:var(--surface-color,#fff);border:1px solid var(--border-color,#e0e0e0);border-radius:8px;min-width:200px;max-width:400px;max-height:250px;font-family:Arial,sans-serif;font-size:.9rem;display:none;position:fixed;overflow-y:auto;box-shadow:0 4px 20px #00000026}body.dark-mode .suggestion-dropdown{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #6464964d;box-shadow:0 4px 20px #0006}.suggestion-item{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}.suggestion-item:hover,.suggestion-item.selected{background:var(--hover-bg,#428bfd1a)}body.dark-mode .suggestion-item:hover,body.dark-mode .suggestion-item.selected{background:#6464b433}.suggestion-item:not(:last-child){border-bottom:1px solid var(--border-color,#eee)}body.dark-mode .suggestion-item:not(:last-child){border-bottom:1px solid #64649633}.suggestion-name{color:var(--text-color,#333);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}body.dark-mode .suggestion-name{color:#fff}.suggestion-type{background:var(--primary-color,#428bfd);color:#fff;border-radius:4px;flex-shrink:0;margin-left:10px;padding:2px 8px;font-size:.75rem}body.dark-mode .suggestion-type{background:#428bfd99}.suggestion-dropdown::-webkit-scrollbar{width:6px}.suggestion-dropdown::-webkit-scrollbar-track{background:0 0}.suggestion-dropdown::-webkit-scrollbar-thumb{background:var(--border-color,#ccc);border-radius:3px}.suggestion-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-secondary,#999)}.suggestion-dropdown--visible{display:block}.wiki-page,.wiki-page *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}.wiki-page{max-width:1400px;color:var(--text-color,#e0e0e0);margin:70px auto 0;padding:0 1.5rem 1.5rem}.wiki-header{border-bottom:1px solid var(--border-color,#3a3a3a);margin-bottom:1.5rem;padding-bottom:1rem}.wiki-nav-row{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0;display:flex}.wiki-nav-buttons{flex-shrink:0;gap:.75rem;display:flex}.wiki-btn-nav{background:var(--surface-color,#2a2a2a);border:1px solid var(--accent-color,#4a9eff);color:var(--accent-color,#4a9eff);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.wiki-btn-nav:hover{background:var(--accent-color,#4a9eff);color:#fff;border-color:var(--accent-color,#4a9eff)}.wiki-breadcrumbs{color:var(--text-secondary,#888);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.breadcrumb-item{color:var(--accent-color,#4a9eff);cursor:pointer}.breadcrumb-item:hover{text-decoration:underline}.breadcrumb-item.active{color:var(--text-color,#e0e0e0);cursor:default}.breadcrumb-item.active:hover{text-decoration:none}.breadcrumb-separator{color:var(--text-secondary,#666)}.wiki-title-section{flex-direction:column;gap:.25rem;display:flex}.wiki-title{color:var(--text-color,#e0e0e0);align-items:center;gap:.5rem;margin:0;font-size:1.75rem;font-weight:600;display:flex}.wiki-icon{font-size:1.5rem}.wiki-subtitle{color:var(--text-secondary,#888);margin:0;font-size:1rem;font-style:italic}.wiki-actions{gap:.5rem;margin-top:1rem;display:flex}.wiki-content{grid-template-columns:1fr 320px;align-items:start;gap:2rem;display:grid}.wiki-main{min-width:0}.wiki-sidebar{position:sticky;top:1rem}.wiki-infobox{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.wiki-infobox-header{background:linear-gradient(135deg, var(--accent-color,#4a9eff) 0%, #2d7dd2 100%);text-align:center;padding:.75rem 1rem}.wiki-infobox-title{color:#fff;margin:0;font-size:1.1rem;font-weight:600}.wiki-infobox-portrait{aspect-ratio:3/4;background:var(--bg-color,#121212);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.wiki-infobox-portrait img{object-fit:cover;width:100%;height:100%}.wiki-infobox-portrait-placeholder{color:var(--text-secondary,#666);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.wiki-infobox-portrait-placeholder .portrait-icon{opacity:.5;font-size:4rem}.wiki-infobox-portrait-placeholder .portrait-text{font-size:.85rem}.wiki-infobox-content{padding:0}.wiki-infobox-row{border-bottom:1px solid var(--border-color,#3a3a3a);display:flex}.wiki-infobox-row:last-child{border-bottom:none}.wiki-infobox-label{color:var(--text-secondary,#aaa);background:#ffffff08;flex:0 0 100px;padding:.5rem .75rem;font-size:.85rem;font-weight:500}.wiki-infobox-value{color:var(--text-color,#e0e0e0);word-break:break-word;flex:1;padding:.5rem .75rem;font-size:.9rem}.wiki-section{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.wiki-section-header{border-bottom:1px solid var(--border-color,#3a3a3a);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.wiki-section-header h2{color:var(--text-color,#e0e0e0);flex:1;margin:0;font-size:1.1rem;font-weight:600}.wiki-section-actions{align-items:center;gap:.5rem;display:flex}.wiki-section-content{color:var(--text-color,#e0e0e0);font-size:.95rem;line-height:1.7}.wiki-summary-text{padding:.5rem 0}.wiki-summary-text p{margin:0 0 .75rem}.wiki-summary-text p:last-child{margin-bottom:0}.wiki-field-grid{flex-direction:column;gap:.5rem;display:flex}.wiki-field-row{border-bottom:1px solid #ffffff0d;padding:.5rem 0;display:flex}.wiki-field-row:last-child{border-bottom:none}.wiki-field-label{color:var(--text-secondary,#aaa);flex:0 0 140px;font-size:.9rem;font-weight:500}.wiki-field-value{color:var(--text-color,#e0e0e0);flex:1;font-size:.9rem}.wiki-stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.wiki-stat-group{background:#ffffff05;border-radius:6px;padding:1rem}.wiki-stat-group-title{color:var(--accent-color,#4a9eff);border-bottom:1px solid var(--border-color,#3a3a3a);margin:0 0 .75rem;padding-bottom:.5rem;font-size:.95rem;font-weight:600}.wiki-stat-list{flex-direction:column;gap:.4rem;display:flex}.wiki-stat-row{font-size:.9rem;display:flex}.wiki-stat-label{color:var(--text-secondary,#aaa);flex:0 0 140px}.wiki-stat-value{color:var(--text-color,#e0e0e0);flex:1}.wiki-timeline-list,.wiki-doc-list,.wiki-history-list{margin:0;padding:0;list-style:none}.wiki-timeline-item,.wiki-doc-item{border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.wiki-timeline-item:last-child,.wiki-doc-item:last-child{border-bottom:none}.wiki-timeline-date{color:var(--accent-color,#4a9eff);flex:0 0 100px;font-size:.85rem;font-weight:500}.wiki-timeline-content{flex:1}.wiki-timeline-title{color:var(--text-color,#e0e0e0);margin:0 0 .25rem;font-size:.95rem;font-weight:500}.wiki-timeline-desc{color:var(--text-secondary,#aaa);margin:0;font-size:.85rem}.wiki-doc-icon{font-size:1.1rem}.wiki-doc-name{color:var(--text-color,#e0e0e0);flex:1}.wiki-doc-count{color:var(--text-secondary,#888);background:#ffffff1a;border-radius:10px;padding:.15rem .5rem;font-size:.8rem}.wiki-history-chapter{margin-bottom:1rem}.wiki-history-chapter:last-child{margin-bottom:0}.wiki-history-chapter-title{color:var(--accent-color,#4a9eff);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.wiki-history-entry{gap:1rem;padding:.4rem 0;font-size:.85rem;display:flex}.wiki-history-time{color:var(--text-secondary,#888);flex:0 0 80px}.wiki-history-changes{color:var(--text-color,#e0e0e0);flex:1}.wiki-sidebar-section{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:8px;margin-bottom:1rem;padding:1rem}.wiki-sidebar-section h3{color:var(--text-color,#e0e0e0);border-bottom:1px solid var(--border-color,#3a3a3a);margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.wiki-relationship-panel{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:8px;margin-bottom:1rem;padding:1rem}.wiki-rel-title{color:var(--text-color,#e0e0e0);border-bottom:1px solid var(--border-color,#3a3a3a);margin:0 0 .75rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.wiki-rel-item{color:var(--text-color,#e0e0e0);flex-wrap:wrap;align-items:baseline;gap:6px;padding:4px 0;font-size:.85rem;display:flex}.wiki-rel-icon{flex-shrink:0}.wiki-rel-label{color:var(--text-muted,#888);flex-shrink:0;font-weight:600}.wiki-rel-link{color:#4361ee;cursor:pointer;text-decoration:none}.wiki-rel-link:hover{text-decoration:underline}body.dark-mode .wiki-rel-link{color:#89b4fa}.wiki-image-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.wiki-image-item{aspect-ratio:1;cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.wiki-image-thumb{object-fit:cover;width:100%;height:100%}.wiki-image-cover{border:2px solid var(--accent-color,#4a9eff)}.wiki-image-cover-badge{background:var(--accent-color,#4a9eff);color:#fff;border-radius:3px;padding:.15rem .4rem;font-size:.7rem;position:absolute;top:4px;left:4px}.wiki-image-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex;position:absolute;bottom:4px;right:4px}.wiki-image-item:hover .wiki-image-actions{opacity:1}.wiki-image-action{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:3px;padding:.3rem .4rem;font-size:.8rem}.wiki-image-action:hover{background:#000000e6}.wiki-image-delete:hover{background:var(--error-color,#f44336)}.wiki-image-upload-area{border:2px dashed var(--border-color,#3a3a3a);text-align:center;cursor:pointer;border-radius:8px;margin-top:1rem;padding:1.5rem 1rem;transition:all .2s}.wiki-image-upload-area:hover,.wiki-image-upload-area.wiki-drop-active{border-color:var(--accent-color,#4a9eff);background:#4a9eff0d}.wiki-drop-active{background:#4a9eff1a;border-style:solid}.wiki-image-input-hidden{display:none}.wiki-upload-content{flex-direction:column;align-items:center;gap:.5rem;display:flex}.wiki-upload-icon{opacity:.7;font-size:2rem}.wiki-upload-text{color:var(--text-color,#e0e0e0);margin:0;font-size:.9rem}.wiki-upload-subtext{color:var(--text-secondary,#888);margin:0;font-size:.8rem}.wiki-upload-btn{background:var(--accent-color,#4a9eff);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem}.wiki-upload-btn:hover{background:var(--accent-hover,#3a8eef)}.wiki-upload-hint{color:var(--text-secondary,#666);margin:.25rem 0 0;font-size:.75rem}.wiki-empty-state{color:var(--text-secondary,#666);margin:.5rem 0;font-size:.9rem;font-style:italic}.wiki-btn{background:var(--surface-color,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);color:var(--text-color,#e0e0e0);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;transition:all .2s;display:inline-flex}.wiki-btn:hover,.wiki-btn-primary{background:var(--accent-color,#4a9eff);border-color:var(--accent-color,#4a9eff);color:#fff}.wiki-btn-primary:hover{background:#3d8ae0;border-color:#3d8ae0}.wiki-btn-full{justify-content:center;width:100%;margin-bottom:.5rem}.wiki-btn-danger{color:#fff;background:#dc3545;border-color:#dc3545}.wiki-btn-danger:hover{background:#c82333;border-color:#bd2130}.wiki-quick-actions-divider{border:none;border-top:1px solid var(--border-color,#e0e0e0);margin:.5rem 0}.wiki-btn-full:last-child{margin-bottom:0}.wiki-btn-icon{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35rem;font-size:1rem;transition:all .2s}.wiki-btn-icon:hover{color:var(--text-color,#e0e0e0);background:#ffffff1a}.wiki-upload-btn{opacity:.6;cursor:not-allowed;justify-content:center;width:100%}.wiki-upload-btn:hover{background:var(--surface-color,#2a2a2a);border-color:var(--border-color,#3a3a3a);color:var(--text-color,#e0e0e0)}.wiki-badge{background:var(--accent-color,#4a9eff);color:#fff;border-radius:10px;margin-left:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.wiki-badge-human{background:var(--success-color,#4caf50)}.wiki-quick-actions{flex-direction:column;display:flex}.wiki-editable{cursor:text;border-radius:4px;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:background .2s}.wiki-editable:hover{background:#4a9eff1a}.wiki-locked{opacity:.8}.wiki-loading{min-height:300px;color:var(--text-secondary,#888);flex-direction:column;justify-content:center;align-items:center;display:flex}.wiki-loading .loading-spinner{border:3px solid var(--border-color,#3a3a3a);border-top-color:var(--accent-color,#4a9eff);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.wiki-error{text-align:center;color:var(--text-secondary,#888);margin-top:70px;padding:3rem}.wiki-error h2{color:var(--error-color,#f44336);margin-bottom:1rem}.wiki-error-hint{color:var(--text-secondary,#888);margin:1rem 0;font-size:.9rem;font-style:italic}.wiki-error-actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.wiki-error-actions .btn{cursor:pointer;border-radius:6px;padding:.6rem 1.5rem}.wiki-error-actions .btn-primary{background:var(--accent-color,#4a9eff);color:#fff;border:none}.wiki-error-actions .btn-primary:hover{background:var(--accent-hover,#3a8eef)}@media (max-width:900px){.wiki-content{grid-template-columns:1fr}.wiki-sidebar{order:-1;position:static}.wiki-infobox{max-width:400px;margin:0 auto 1.5rem}}@media (max-width:600px){.wiki-page{margin-top:60px;padding:1rem}.wiki-title{font-size:1.4rem}.wiki-actions{flex-wrap:wrap}.wiki-stats-grid{grid-template-columns:1fr}.wiki-field-row,.wiki-stat-row{flex-direction:column;gap:.25rem}.wiki-field-label,.wiki-stat-label{flex:none}}.wiki-editable-field{cursor:pointer;border-radius:4px;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:background .15s}.wiki-editable-field:hover{background:#4a9eff1a}.wiki-editable-field:hover:after{content:" ✏️";opacity:.6;font-size:.75em}.wiki-editing{margin:-.5rem;padding:.5rem;background:#4a9eff26!important}.wiki-editing:after{content:none!important}.wiki-inline-editor{background:var(--bg-color,#121212);border:1px solid var(--accent-color,#4a9eff);width:100%;color:var(--text-color,#e0e0e0);border-radius:4px;outline:none;padding:.5rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem}.wiki-inline-editor:focus{box-shadow:0 0 0 2px #4a9eff4d}.wiki-inline-textarea{resize:vertical;min-height:100px}.wiki-edit-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.wiki-edit-save,.wiki-edit-cancel{cursor:pointer;border-radius:4px;padding:.35rem .75rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;transition:all .15s}.wiki-edit-save{background:var(--accent-color,#4a9eff);border:1px solid var(--accent-color,#4a9eff);color:#fff}.wiki-edit-save:hover{background:#3d8ae0}.wiki-edit-cancel{border:1px solid var(--border-color,#3a3a3a);color:var(--text-secondary,#888);background:0 0}.wiki-edit-cancel:hover{color:var(--text-color,#e0e0e0);background:#ffffff1a}.wiki-edit-modal{z-index:10000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.wiki-edit-modal.hidden{display:none}.wiki-edit-modal-content{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:12px;width:100%;max-width:500px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 20px 60px #00000080}.wiki-edit-modal-header{border-bottom:1px solid var(--border-color,#3a3a3a);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.wiki-edit-modal-header h3{color:var(--text-color,#e0e0e0);margin:0;font-size:1.1rem;font-weight:600}.wiki-edit-modal-close{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.wiki-edit-modal-close:hover{color:var(--text-color,#e0e0e0)}.wiki-edit-modal-body{padding:1.25rem}.wiki-edit-modal-field{color:var(--text-color,#e0e0e0);margin:0 0 1rem;font-size:.95rem}.wiki-edit-modal-field strong{color:var(--accent-color,#4a9eff)}.wiki-edit-diff{align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.wiki-edit-diff-old,.wiki-edit-diff-new{background:var(--bg-color,#121212);border-radius:6px;flex:1;min-height:60px;padding:.75rem}.wiki-edit-diff-old{border-left:3px solid #f44336}.wiki-edit-diff-new{border-left:3px solid #4caf50}.wiki-edit-diff .diff-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.wiki-edit-diff-old .diff-label{color:#f44336}.wiki-edit-diff-new .diff-label{color:#4caf50}.wiki-edit-diff .diff-value{color:var(--text-color,#e0e0e0);word-break:break-word;white-space:pre-wrap;font-size:.9rem}.wiki-edit-diff-arrow{color:var(--text-secondary,#666);align-items:center;font-size:1.25rem;display:flex}.wiki-edit-modal-note{color:var(--text-secondary,#888);margin:0;font-size:.85rem;font-style:italic}.wiki-edit-modal-footer{border-top:1px solid var(--border-color,#3a3a3a);justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.wiki-toast{background:var(--surface-color,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);color:var(--text-color,#e0e0e0);opacity:0;z-index:10001;border-radius:8px;padding:.75rem 1.25rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;transition:all .3s;position:fixed;bottom:2rem;right:2rem;transform:translateY(100px);box-shadow:0 4px 20px #0006}.wiki-toast-show{opacity:1;transform:translateY(0)}.wiki-toast-success{border-left:4px solid #4caf50}.wiki-toast-error{border-left:4px solid #f44336}.wiki-toast-info{border-left:4px solid var(--accent-color,#4a9eff)}.wiki-export-card-btn{margin-top:.25rem}.wiki-export-card-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.wiki-export-hint{color:var(--text-secondary,#888);margin:.25rem 0 0;font-size:.75rem;font-style:italic;line-height:1.3}body.dark-mode .wiki-export-hint{color:#777}body.dark-mode .wiki-export-card-btn--disabled{opacity:.4}.wiki-btn-copy-prompt{border:1px solid var(--border-color,#3a3a3a);background:var(--bg-secondary,#2a2a2a);color:var(--text-color,#e0e0e0);cursor:pointer;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;transition:background .2s,border-color .2s}.wiki-btn-copy-prompt:hover{background:var(--bg-hover,#3a3a3a);border-color:var(--accent-color,#4fc3f7)}body:not(.dark-mode) .wiki-btn-copy-prompt{color:#333;background:#f5f5f5;border-color:#ccc}body:not(.dark-mode) .wiki-btn-copy-prompt:hover{background:#e8e8e8;border-color:#999}.settings-container{max-width:800px;margin:80px auto 0;padding:2rem;font-family:Arial,sans-serif}.settings-header{border-bottom:1px solid var(--border-color);align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.settings-header h2{color:var(--primary-color,#428bfd);margin:0;font-size:1.5rem;font-weight:600}.settings-header .btn{margin-right:1rem}.sync-status{color:var(--text-secondary);margin-left:auto;font-size:.9rem}.settings-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1.5rem;padding:1.75rem;transition:box-shadow .2s;box-shadow:0 2px 8px #0000000f}.settings-card:hover{box-shadow:0 4px 12px #0000001a}.settings-card h3{border-bottom:1px solid var(--border-color);color:var(--text-color);align-items:center;gap:.5rem;margin:0 0 1.25rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600;display:flex}.setting-item{margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{color:var(--text-color);margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.settings-card select,.settings-card input[type=text],.settings-card input[type=password],.settings-card input[type=email],.settings-card input[type=number]{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:6px;padding:.65rem .75rem;font-family:Arial,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.settings-card select:focus,.settings-card input:focus{border-color:var(--primary-color,#428bfd);outline:none;box-shadow:0 0 0 3px #428bfd26}.settings-card select:hover,.settings-card input:hover{border-color:var(--primary-color,#428bfd)}.settings-card input[type=range]{background:var(--border-color);-webkit-appearance:none;border-radius:3px;outline:none;width:100%;height:6px}.settings-card input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-color,#428bfd);cursor:pointer;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 4px #0003}.settings-card input[type=range]::-moz-range-thumb{background:var(--primary-color,#428bfd);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 4px #0003}.settings-card input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color,#428bfd);margin-right:.5rem}.settings-card .btn,.settings-card button{cursor:pointer;border-radius:6px;padding:.6rem 1.25rem;font-family:Arial,sans-serif;font-size:.9rem;font-weight:500;transition:all .2s}.settings-card .btn-primary,.settings-card button.primary{color:#fff;background:linear-gradient(135deg,#428bfd 0%,#2e6fd1 100%);border:none}.settings-card .btn-primary:hover,.settings-card button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #428bfd66}.settings-card .btn-secondary,.settings-card button.secondary{background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.settings-card .btn-secondary:hover,.settings-card button.secondary:hover{background:var(--bg-color);border-color:var(--primary-color,#428bfd)}#license-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none}#license-card h3{color:#fff;border-bottom-color:#fff3}#license-tier-badge{background:#fff3;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:600}#license-key-input{color:#fff;background:#ffffff26;border-color:#ffffff4d;font-family:monospace}#license-key-input::placeholder{color:#fff9}#license-activate-btn{color:#667eea;background:#fff;border:none;font-weight:600}#license-activate-btn:hover{box-shadow:0 4px 12px #ffffff4d}body.dark-mode .settings-card{background:var(--surface-color);border-color:var(--border-color)}body.dark-mode .settings-card:hover{box-shadow:0 4px 16px #0000004d}body.dark-mode .settings-card h3{border-bottom-color:var(--border-color)}body.dark-mode .settings-card select,body.dark-mode .settings-card input[type=text],body.dark-mode .settings-card input[type=password],body.dark-mode .settings-card input[type=email],body.dark-mode .settings-card input[type=number]{background:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .settings-card input[type=range]{background:var(--border-color)}body.dark-mode #license-card{background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%)}.settings-tip-item{border-bottom:1px solid var(--border-color);padding:.75rem 0}.settings-tip-item:last-child{border-bottom:none;padding-bottom:0}.settings-tip-title{color:var(--text-color);margin-bottom:.25rem;font-weight:600}.settings-tip-body{color:var(--text-secondary,#666);margin:0;font-size:.9rem;line-height:1.5}.settings-tip-link{color:var(--primary-color,#428bfd);font-weight:500;text-decoration:none}.settings-tip-link:hover{text-decoration:underline}@media (max-width:768px){.settings-container{margin:70px 1rem 0;padding:1rem}.settings-header{flex-wrap:wrap;gap:.5rem}.settings-header h2{font-size:1.25rem}.settings-card{padding:1.25rem}}@media (max-width:480px){.settings-container{margin:60px .5rem 0;padding:.75rem}.settings-header h2{font-size:1.1rem}.settings-card{border-radius:8px;padding:1rem}.settings-card h3{font-size:1rem}.setting-item label{font-size:.9rem}.settings-card select,.settings-card input[type=text],.settings-card input[type=password],.settings-card input[type=email],.settings-card input[type=number]{width:100%;min-height:44px;padding:.6rem;font-size:16px}.settings-card .btn,.settings-card button{width:100%;min-height:44px;padding:.6rem 1rem}.settings-card input[type=checkbox]{width:22px;height:22px}#license-key-input{font-size:14px}}.maps-layout{height:calc(100vh - var(--header-height,60px));margin-top:var(--header-height,60px);background:var(--bg-primary,#1a1a2e);display:flex}.maps-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.maps-header{background:var(--bg-secondary,#16213e);border-bottom:1px solid var(--border-color,#2a2a4a);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.maps-header-left{align-items:center;gap:16px;display:flex}.maps-header h1{color:var(--text-primary,#e0e0e0);align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:600;display:flex}.maps-icon{font-size:1.5rem}.maps-project-name{color:var(--text-secondary,#a0a0a0);font-size:.9rem}.maps-toolbar{align-items:center;gap:8px;display:flex}.maps-btn{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);color:var(--text-primary,#e0e0e0);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:.9rem;transition:all .2s}.maps-btn:hover{background:var(--bg-hover,#2a2a5a);border-color:var(--accent-color,#4a9eff)}.maps-btn-primary{background:var(--accent-color,#4a9eff);border-color:var(--accent-color,#4a9eff)}.maps-btn-primary:hover{background:var(--accent-hover,#3d8fe6)}.maps-btn-lock.locked{background:var(--error-color,#e53e3e);border-color:var(--error-color,#e53e3e)}.maps-divider{background:var(--border-color,#2a2a4a);width:1px;height:24px;margin:0 4px}.maps-main{flex:1;position:relative;overflow:hidden}.maps-canvas-wrapper{position:absolute;inset:0}.maps-canvas{width:100%;height:100%;position:absolute;top:0;left:0}#maps-canvas-base{z-index:1}#maps-canvas-pins{z-index:2}#maps-canvas-drawing{z-index:3}#maps-overlay{z-index:4;pointer-events:none;position:absolute;inset:0}.maps-list-section{flex-direction:column;max-height:200px;display:flex}.maps-list{flex:1;margin-bottom:8px;overflow-y:auto}.maps-list-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s;display:flex}.maps-list-item:hover{background:var(--bg-hover,#2a2a5a)}.maps-list-item.active{background:var(--accent-color-dim,#4a9eff33);border-left:3px solid var(--accent-color,#4a9eff)}.maps-list-icon{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;display:flex}.maps-list-thumb{object-fit:cover;border:1px solid var(--border-color,#2a2a4a);border-radius:4px;flex-shrink:0;width:32px;height:32px}.maps-list-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden;color:var(--text-primary,#e0e0e0)!important}.maps-list-id{color:var(--text-secondary,#a0a0a0);opacity:.7;background:var(--bg-tertiary,#1e1e3f);border-radius:3px;flex-shrink:0;padding:2px 4px;font-family:monospace;font-size:.7rem}.maps-list-delete{width:20px;height:20px;color:var(--text-secondary,#a0a0a0);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:all .2s;display:flex}.maps-list-item:hover .maps-list-delete{opacity:1}.maps-list-delete:hover{background:var(--error-color,#e53e3e);color:#fff}.maps-empty{color:var(--text-secondary,#a0a0a0);text-align:center;padding:12px;font-style:italic}.maps-btn-new{justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.maps-pins-section{border-top:1px solid var(--border-color,#2a2a4a);padding-top:12px}.pin-theme-selector{margin-bottom:8px}.pin-theme-selector select{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);width:100%;color:var(--text-primary,#e0e0e0);border-radius:4px;padding:6px 8px}.pin-palette{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.pin-palette-item{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);cursor:grab;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.pin-palette-item:hover{background:var(--bg-hover,#2a2a5a);border-color:var(--accent-color,#4a9eff);transform:scale(1.1)}.pin-palette-item:active{cursor:grabbing}.pin-icon{font-size:1.25rem}.maps-btn-upload{width:100%;font-size:.85rem}.drawing-tools-panel{background:var(--bg-secondary,#16213e);border:2px solid var(--accent-color,#4a9eff);z-index:100;border-radius:8px;flex-direction:column;gap:8px;padding:12px 8px;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 4px 12px #0006}.drawing-tools-title{color:var(--text-secondary,#a0a0a0);text-align:center;border-bottom:1px solid var(--border-color,#2a2a4a);padding-bottom:8px;font-size:.75rem}.drawing-tool-btn{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);cursor:pointer;width:36px;height:36px;color:var(--text-primary,#e0e0e0);border-radius:4px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.drawing-tool-btn span{color:var(--text-primary,#e0e0e0)}.drawing-tool-btn .tool-icon{color:#fff;text-shadow:0 0 1px #ffffff80;font-weight:700}.drawing-tool-btn:hover,.drawing-tool-btn.active{background:var(--accent-color-dim,#4a9eff33);border-color:var(--accent-color,#4a9eff)}.drawing-color-picker{border-top:1px solid var(--border-color,#2a2a4a);margin-top:8px;padding-top:8px}.drawing-color-picker input[type=color]{cursor:pointer;border:none;border-radius:4px;width:36px;height:36px;padding:0}.maps-tooltip{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2a2a4a);color:var(--text-primary,#e0e0e0);z-index:1000;pointer-events:none;border-radius:4px;padding:8px 12px;font-size:.85rem;position:fixed;box-shadow:0 4px 12px #0000004d}.maps-tooltip.hidden{display:none}.maps-context-menu{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2a2a4a);z-index:1000;border-radius:8px;min-width:180px;padding:8px 0;position:fixed;box-shadow:0 4px 20px #0006}.maps-context-menu.hidden{display:none}.context-menu-item{cursor:pointer;align-items:center;gap:10px;padding:10px 16px;transition:background .2s;display:flex}.context-menu-item:hover{background:var(--bg-hover,#2a2a5a)}.maps-dialog{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.maps-dialog.hidden{display:none}.maps-dialog-content{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2a2a4a);border-radius:12px;min-width:350px;max-width:450px;padding:24px}.maps-dialog-content h3{color:var(--text-primary,#e0e0e0);margin:0 0 20px}.maps-dialog-content .form-group{margin-bottom:16px}.maps-dialog-content .form-group label{color:var(--text-secondary,#a0a0a0);margin-bottom:6px;font-size:.9rem;display:block}.maps-dialog-content .form-group input[type=text],.maps-dialog-content .form-group input[type=file]{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);width:100%;color:var(--text-primary,#e0e0e0);border-radius:6px;padding:10px 12px;font-size:.95rem}.maps-dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.maps-save-status{opacity:0;pointer-events:none;white-space:nowrap;align-items:center;gap:5px;min-width:76px;font-size:.8rem;transition:opacity .4s;display:inline-flex}.maps-save-status[data-status=saving]{opacity:1;color:var(--text-secondary,#a0a0a0)}.maps-save-status[data-status=saved]{opacity:1;color:#48bb78}.maps-save-status[data-status=error]{opacity:1;color:var(--error-color,#e53e3e)}.maps-save-status[data-status=saving]:before{content:"";border:2px solid #a0a0a04d;border-top-color:#a0a0a0;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite maps-spin;display:inline-block}.maps-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}@keyframes maps-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.maps-btn-loading{pointer-events:none;padding-left:30px;position:relative}.maps-btn-loading:before{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:13px;height:13px;margin-top:-6px;animation:.7s linear infinite maps-spin;position:absolute;top:50%;left:10px}.export-options{flex-direction:column;gap:12px;margin:16px 0;display:flex}.export-option{cursor:pointer;align-items:center;gap:10px;display:flex}.export-option input[type=checkbox]{width:18px;height:18px}.maps-no-project,.maps-error{text-align:center;height:100%;color:var(--text-secondary,#a0a0a0);flex-direction:column;justify-content:center;align-items:center;display:flex}.maps-no-project h2,.maps-error h2{color:var(--text-primary,#e0e0e0);margin-bottom:12px}.maps-no-project button,.maps-error button{background:var(--accent-color,#4a9eff);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:20px;padding:10px 24px;font-size:1rem}.location-list{border:1px solid var(--border-color,#2a2a4a);border-radius:6px;max-height:300px;margin-top:8px;overflow-y:auto}.location-item{cursor:pointer;border-bottom:1px solid var(--border-color,#2a2a4a);justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.location-item:last-child{border-bottom:none}.location-item:hover{background:var(--bg-hover,#2a2a5a)}.location-name{color:var(--text-primary,#e0e0e0)}.location-id{color:var(--text-secondary,#a0a0a0);font-family:monospace;font-size:.75rem}.location-empty,.location-error{text-align:center;color:var(--text-secondary,#a0a0a0);padding:24px;font-style:italic}.location-error{color:var(--error-color,#e53e3e)}.loading{text-align:center;color:var(--text-secondary,#a0a0a0);padding:24px}.map-notepad{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2a2a4a);pointer-events:auto;z-index:100;border-radius:8px;flex-direction:column;min-width:150px;min-height:100px;display:flex;position:absolute;box-shadow:0 4px 20px #0006}.map-notepad-header{background:var(--bg-tertiary,#1e1e3f);cursor:move;-webkit-user-select:none;user-select:none;border-radius:8px 8px 0 0;align-items:center;padding:6px 8px;display:flex}.map-notepad-drag-handle{color:var(--text-secondary,#a0a0a0);letter-spacing:-1px;flex:1;font-size:.8rem}.map-notepad-minimize,.map-notepad-delete{width:20px;height:20px;color:var(--text-secondary,#a0a0a0);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:all .2s;display:flex}.map-notepad-minimize:hover{background:var(--bg-hover,#2a2a5a);color:var(--text-primary,#e0e0e0)}.map-notepad-delete:hover{background:var(--error-color,#e53e3e);color:#fff}.map-notepad-content{width:100%;color:var(--text-primary,#e0e0e0);resize:none;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;background:0 0;border:none;outline:none;flex:1;padding:12px;font-family:Arial,sans-serif;font-size:.9rem;line-height:1.4;overflow:hidden auto}.map-notepad-content::placeholder{color:var(--text-secondary,#a0a0a0)}.map-notepad-resize{cursor:se-resize;background:linear-gradient(135deg, transparent 50%, var(--border-color,#2a2a4a) 50%);border-radius:0 0 8px;width:16px;height:16px;position:absolute;bottom:0;right:0}.map-notepad-resize:hover{background:linear-gradient(135deg, transparent 50%, var(--accent-color,#4a9eff) 50%)}.custom-icon{position:relative}.custom-icon-img{object-fit:contain;width:24px;height:24px}.pin-palette-item.custom-icon:after{content:"";background:var(--accent-color,#4a9eff);border-radius:50%;width:8px;height:8px;position:absolute;bottom:2px;right:2px}.icon-trash{background:var(--bg-tertiary,#1e1e3f);border:2px dashed var(--border-color,#2a2a4a);width:100%;height:36px;color:var(--text-secondary,#a0a0a0);cursor:default;border-radius:6px;justify-content:center;align-items:center;margin-top:8px;font-size:1.1rem;transition:all .2s;display:flex}.icon-trash:hover{border-color:var(--text-secondary,#a0a0a0)}.icon-trash.drag-over{border-color:var(--error-color,#e53e3e);background:#e53e3e33;border-style:solid;transform:scale(1.05)}.icon-trash.drag-over span{transform:scale(1.2)}body:not(.dark-mode) .maps-layout{background:var(--bg-primary-light,#f5f5f0)}body:not(.dark-mode) .maps-header,body:not(.dark-mode) .maps-dialog-content,body:not(.dark-mode) .drawing-tools-panel{background:var(--bg-secondary-light,#fff)}body:not(.dark-mode) .maps-btn,body:not(.dark-mode) .pin-theme-selector select,body:not(.dark-mode) .pin-palette-item,body:not(.dark-mode) .drawing-tool-btn,body:not(.dark-mode) .form-group input{background:var(--bg-tertiary-light,#f0f0f0);color:var(--text-primary-light,#2d3748)}body:not(.dark-mode) .drawing-tool-btn .tool-icon{color:#2d3748;text-shadow:none}body:not(.dark-mode) .location-list{border-color:var(--border-color-light,#e0e0e0)}body:not(.dark-mode) .location-item{border-bottom-color:var(--border-color-light,#e0e0e0)}body:not(.dark-mode) .location-name{color:var(--text-primary-light,#2d3748)}body:not(.dark-mode) .maps-context-menu,body:not(.dark-mode) .maps-tooltip{background:var(--bg-secondary-light,#fff);border-color:var(--border-color-light,#e0e0e0)}body:not(.dark-mode) .map-notepad{background:var(--bg-secondary-light,#fff);border-color:var(--border-color-light,#e0e0e0);box-shadow:0 4px 20px #00000026}body:not(.dark-mode) .map-notepad-header{background:var(--bg-tertiary-light,#f5f5f5)}body:not(.dark-mode) .map-notepad-content{color:var(--text-primary-light,#2d3748)}@media (max-width:768px){.maps-layout{flex-direction:column}.maps-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.maps-header-left{flex:1;min-width:0}.maps-toolbar{flex-wrap:wrap;justify-content:flex-start;width:100%}.maps-btn{min-width:44px;min-height:44px;padding:8px 12px}.maps-dialog-content{min-width:0;max-width:95vw;margin:0 8px;padding:16px}.drawing-tools-panel{padding:8px 6px;top:8px;right:8px}.drawing-tool-btn{min-width:44px;min-height:44px}.pin-palette{grid-template-columns:repeat(4,1fr)}.pin-palette-item{min-width:44px;min-height:44px}.context-menu-item{min-height:44px;padding:12px 16px}}.sticky-notepad-container{pointer-events:none;z-index:500;position:fixed;inset:0}.notepad-windows{position:absolute;inset:0}.notepad-window{background:var(--bg-secondary,#16213e);border:1px solid var(--border-color,#2a2a4a);pointer-events:auto;border-radius:8px;flex-direction:column;min-width:200px;min-height:150px;transition:box-shadow .2s;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 32px #0006}.notepad-window.focused{border-color:var(--accent-color,#4a9eff);box-shadow:0 12px 48px #0009}.notepad-header{background:var(--bg-tertiary,#1e1e3f);border-bottom:1px solid var(--border-color,#2a2a4a);cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.notepad-title{color:var(--text-primary,#e0e0e0);white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:8px;font-size:.9rem;font-weight:500;overflow:hidden}.notepad-controls{gap:4px;display:flex}.notepad-btn{width:24px;height:24px;color:var(--text-secondary,#a0a0a0);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.notepad-btn:hover{background:var(--bg-hover,#2a2a5a);color:var(--text-primary,#e0e0e0)}.notepad-close:hover{background:var(--error-color,#e53e3e);color:#fff}.notepad-body{flex:1;display:flex;overflow:hidden}.notepad-content{background:var(--bg-primary,#1a1a2e);resize:none;width:100%;color:var(--text-primary,#e0e0e0);box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;border:none;flex:1;padding:12px;font-family:Segoe UI,Arial,sans-serif;font-size:.9rem;line-height:1.5;overflow:hidden auto}.notepad-content:focus{outline:none}.notepad-content::selection{background:#4a9eff4d}.notepad-content:focus::selection{background:#4a9eff4d}.notepad-content::placeholder{color:var(--text-secondary,#a0a0a0);opacity:.6}.notepad-resize-handle{cursor:se-resize;background:linear-gradient(135deg, transparent 50%, var(--border-color,#2a2a4a) 50%, var(--border-color,#2a2a4a) 60%, transparent 60%, transparent 70%, var(--border-color,#2a2a4a) 70%);width:16px;height:16px;position:absolute;bottom:0;right:0}.notepad-status{background:var(--bg-tertiary,#1e1e3f);border-top:1px solid var(--border-color,#2a2a4a);-webkit-user-select:none;user-select:none;pointer-events:none;padding:6px 12px;font-size:.75rem;font-weight:400}.notepad-status .status-unsaved{color:#fbbf24;background:0 0!important}.notepad-status .status-saved{color:#22c55e;background:0 0!important}.notepad-status::selection{color:inherit!important;background:0 0!important}.notepad-status ::selection{color:inherit!important;background:0 0!important}.notepad-status::highlight{color:inherit!important;background:0 0!important}.notepad-status ::highlight{color:inherit!important;background:0 0!important}.notepad-status mark{background:0 0!important;text-decoration:none!important}.notepad-status ::spelling-error{background:0 0!important;text-decoration:none!important}.notepad-status ::grammar-error{background:0 0!important;text-decoration:none!important}.notepad-tray{pointer-events:auto;z-index:1000;position:fixed;bottom:20px;left:270px}.notepad-tray:not(.has-notes){display:none}.notepad-badge{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#4a9eff 0%,#2563eb 100%);border:2px solid #60a5fa;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;transition:all .2s;display:flex;box-shadow:0 4px 12px #4a9eff66}.notepad-badge:hover{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);transform:translateY(-2px);box-shadow:0 6px 20px #4a9eff80}.notepad-badge:active{transform:translateY(0)}.notepad-badge-icon{font-size:1.1rem}.notepad-badge-count{color:#fff;background:#fff3;border-radius:6px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:.9rem;font-weight:600;display:flex}.notepad-badge-label{color:#fff;font-size:.85rem;font-weight:500}.notepad-dropdown{background:var(--bg-secondary,#1e293b);border:1px solid var(--border-color,#334155);border-radius:8px;min-width:200px;max-width:280px;animation:.15s ease-out dropdown-slide;display:none;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 8px 24px #0006}.notepad-tray.dropdown-open .notepad-dropdown{display:block}@keyframes dropdown-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notepad-dropdown-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary,#94a3b8);background:var(--bg-tertiary,#0f172a);border-bottom:1px solid var(--border-color,#334155);padding:10px 12px;font-size:.75rem;font-weight:600}.notepad-dropdown-list{max-height:240px;overflow-y:auto}.notepad-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border-color,#334155);align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.notepad-dropdown-item:last-child{border-bottom:none}.notepad-dropdown-item:hover{background:var(--bg-hover,#334155)}.notepad-dropdown-item-icon{opacity:.8;font-size:1rem}.notepad-dropdown-item-name{color:var(--text-primary,#e2e8f0);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;overflow:hidden}.notepad-dropdown-list::-webkit-scrollbar{width:6px}.notepad-dropdown-list::-webkit-scrollbar-track{background:0 0}.notepad-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-color,#334155);border-radius:3px}.notepad-dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary,#64748b)}body:not(.dark-mode) .notepad-window{background:var(--bg-secondary-light,#fff);border-color:var(--border-color-light,#ddd)}body:not(.dark-mode) .notepad-header,body:not(.dark-mode) .notepad-status{background:var(--bg-tertiary-light,#f0f0f0)}body:not(.dark-mode) .notepad-content{background:var(--bg-primary-light,#f5f5f0);color:var(--text-primary-light,#2d3748)}body:not(.dark-mode) .notepad-dropdown{background:#fff;border-color:#e2e8f0}body:not(.dark-mode) .notepad-dropdown-header{color:#64748b;background:#f8fafc}body:not(.dark-mode) .notepad-dropdown-item{border-color:#e2e8f0}body:not(.dark-mode) .notepad-dropdown-item:hover{background:#f1f5f9}body:not(.dark-mode) .notepad-dropdown-item-name{color:#1e293b}body:not(.dark-mode) .notepad-window.focused{border-color:var(--accent-color,#4a9eff)}@keyframes notepad-open{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.notepad-window{animation:.2s ease-out notepad-open}.setup-font{font-family:Arial,sans-serif}.sidebar-header-layout{justify-content:space-between;align-items:center;padding:5px 10px;font-family:Arial,sans-serif;display:flex}.sidebar-header-title{font-weight:700}.sidebar-collapse-btn{cursor:pointer;color:#fff;background:#428bfd;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.2rem;display:flex}.sidebar-nav-section{border-bottom:1px solid var(--border-color,#eee);padding:10px}.sidebar-dashboard-btn{cursor:pointer;color:#333;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px;font-size:14px;display:flex}.tree-view-list{padding-left:10px;list-style:none}.active-indicator{color:#fff;background:#428bfd;border-radius:2px;margin-left:5px;padding:0 4px;font-size:.8em}.retry-btn-inline{cursor:pointer;margin-left:5px;padding:2px 5px;font-size:.8em}.sidebar-header-layout-gap{justify-content:space-between;align-items:center;gap:12px;padding:5px 10px;font-family:Arial,sans-serif;display:flex}.sidebar-header-title-truncate{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.sidebar-footer-section{padding:10px}.floating-toggle-btn{color:#fff;z-index:100;background:#428bfd;border:none;border-radius:0 4px 4px 0;padding:10px 5px;position:absolute;top:80px;left:0}.tree-root-list{margin:0;padding:0;list-style:none}.tree-folder-item,.tree-file-item{list-style:none}.tree-children-list{padding-left:20px;list-style:none}.confirm-message{margin:0 0 20px;font-size:15px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-cancel-btn{border:1px solid var(--border-color,#ccc);color:var(--text-color,#333);cursor:pointer;background:0 0;border-radius:4px;padding:8px 16px;font-size:14px}.confirm-ok-btn{background:var(--primary-color,#007bff);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.prompt-message{margin:0 0 15px;font-size:15px;line-height:1.5}.prompt-input-field{border:1px solid var(--border-color,#ccc);background:var(--bg-color,white);width:100%;color:var(--text-color,#333);box-sizing:border-box;border-radius:4px;margin-bottom:15px;padding:10px;font-size:14px}.upgrade-emoji{margin-bottom:16px;font-size:48px}.upgrade-title{margin:0 0 12px;font-size:22px;font-weight:600}.upgrade-description{opacity:.9;margin:0 0 20px;font-size:15px}.upgrade-description-secondary{opacity:.85;margin:0 0 24px;font-size:14px}.upgrade-buttons{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:12px;display:flex}.upgrade-btn-primary{color:#667eea;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .1s;display:inline-block}.upgrade-btn-outline{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .1s;display:inline-block}.upgrade-later-container{margin-bottom:16px}.upgrade-later-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;padding:10px 20px;font-size:13px}.upgrade-footer{opacity:.7;margin:20px 0 0;font-size:12px}.upgrade-activate-link{color:#fff;text-decoration:underline}.consistency-typing{color:gray}.consistency-ok{color:green}.consistency-warn{color:orange;cursor:pointer}.consistency-error{color:red}.issue-btn-sm{padding:2px 8px;font-size:.8em}.issue-list-item{background:#ff00000d;border-left:3px solid red;margin-bottom:12px;padding:10px}.issue-list-item.issue-resolved{opacity:.5;border-left-color:green}.issue-list-item.issue-ignored{opacity:.5;border-left-color:#999}.issue-status-green{color:green}.issue-status-gray{color:#666}.issue-expected{color:#666;margin-top:4px;font-size:.85em}.issue-status-label{margin-top:4px;font-size:.8em}.issue-actions-row{gap:8px;margin-top:8px;display:flex}.issue-confidence{vertical-align:middle;letter-spacing:.03em;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.relationship-section{border-top:1px solid #333;margin-top:20px;padding-top:15px}.relationship-header{color:#f59e0b;margin-bottom:10px}.no-list-style{padding:0;list-style:none}.relationship-item{background:#f59e0b1a;border-left:3px solid #f59e0b;margin-bottom:8px;padding:8px}.relationship-message{color:#666;font-size:.85em}.mismatch-modal-content{max-width:600px;max-height:80vh;font-family:Arial,sans-serif;overflow-y:auto}.mismatch-modal-actions{text-align:right;margin-top:20px}.qp-error-message{color:#666}.qp-empty-message{color:#888;font-size:12px}.qp-item-layout{background:#fff;border:1px solid #e0e0e0;border-radius:4px;align-items:stretch;gap:8px;padding:8px;display:flex}.qp-item-fields{flex-direction:column;flex:1;gap:4px;display:flex}.qp-input{border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700}.qp-input-prompt{color:#555;border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-size:11px}.qp-delete-btn{cursor:pointer;color:#721c24;background:#f8d7da;border:none;border-radius:4px;padding:4px 8px;font-size:14px}.file-extension-hidden{display:none}.toolbar-select-heading{width:110px}.toolbar-select-line-height{width:60px;margin-left:4px}.color-picker-group{flex-direction:column;align-items:center;margin:0 2px;display:flex}.color-picker-input{width:30px;height:20px;padding:0}.color-picker-label{font-size:8px}.editor-canvas-default{font-family:Times New Roman,serif;font-size:12pt}.loading-spinner-text{text-align:center;color:#666;padding:20px}.consistency-status-bar{align-items:center;gap:5px;margin-left:15px;display:flex}.content-load-error{color:red}.timeline-page-layout{background:var(--bg-color,#f0f2f5);min-height:100vh;color:var(--text-color,#262626);flex-direction:row;padding-top:60px;display:flex}.timeline-sidebar-nav{background:var(--surface-color,#fff);border-right:1px solid var(--border-color,#d9d9d9);flex-direction:column;flex-shrink:0;width:250px;min-width:250px;height:calc(100vh - 60px);display:flex;overflow-y:auto}.timeline-sidebar-top{border-bottom:1px solid var(--border-color,#d9d9d9);padding:16px}.timeline-dashboard-btn{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:14px;display:flex}.timeline-nav-list{flex:1;margin:0;padding:0;list-style:none}.timeline-nav-link{border-left:3px solid #0000;align-items:center;gap:10px;padding:14px 20px;text-decoration:none;display:flex}.timeline-nav-link.active{color:var(--primary-color,#428bfd);border-left-color:var(--primary-color,#428bfd);background:#428bfd1a}.timeline-nav-link:not(.active){color:var(--text-color,#262626)}.timeline-sidebar-footer{color:var(--text-secondary,#8c8c8c);text-align:center;border-top:1px solid var(--border-color,#d9d9d9);padding:16px;font-size:.8em}.timeline-main-area{flex-direction:column;flex:1;min-width:0;height:calc(100vh - 60px);display:flex;overflow:hidden}.timeline-header-bar{border-bottom:1px solid var(--border-color,#d9d9d9);background:var(--surface-color,#fff);flex-shrink:0;align-items:center;gap:16px;padding:12px 24px;display:flex}.timeline-header-title{color:var(--text-color,#262626);flex:1;margin:0;font-size:1.5rem}.timeline-badges-row{gap:8px;display:flex}.badge-conflict-style{color:#c33;background:#fee;border-radius:12px;padding:4px 12px;font-size:.85rem}.badge-modified-style{color:#a80;background:#ffe;border-radius:12px;padding:4px 12px;font-size:.85rem}.timeline-content-layout{flex-direction:row;flex:1;display:flex;overflow:hidden}.timeline-filters-panel{border-right:1px solid var(--border-color,#d9d9d9);background:var(--surface-color,#fff);flex-shrink:0;width:200px;min-width:200px;padding:16px;overflow-y:auto}.timeline-main-content{background:var(--bg-color,#f0f2f5);flex:1;min-width:0;padding:16px;overflow-y:auto}.timeline-detail-panel{border-left:1px solid var(--border-color,#d9d9d9);background:var(--surface-color,#fff);flex-shrink:0;width:300px;min-width:300px;padding:16px;overflow-y:auto}.timeline-detail-placeholder{text-align:center;color:var(--text-secondary,#8c8c8c);padding:40px 20px}.timeline-filter-label{color:var(--text-color,#262626)}.timeline-filter-select,.timeline-filter-input{background:var(--surface-color,#fff);color:var(--text-color,#262626);border:1px solid var(--border-color,#d9d9d9)}.timeline-filter-checkbox-label{color:var(--text-color,#262626);cursor:pointer;align-items:center;gap:8px;display:flex}.timeline-filter-checkbox{cursor:pointer}.stat-change-card-inner{background:var(--surface-color,#fff);cursor:pointer;border-radius:6px;margin:8px 0;padding:12px;transition:all .2s;box-shadow:0 1px 3px #0000001a}.stat-card-layout{align-items:flex-start;gap:10px;display:flex}.stat-icon-large{flex-shrink:0;font-size:1.5em}.stat-card-body{flex:1;min-width:0}.stat-card-header{justify-content:space-between;align-items:start;gap:8px;margin-bottom:6px;display:flex}.stat-card-title{color:var(--text-color,#262626);font-weight:600}.stat-confidence-label{flex-shrink:0;font-size:.75em}.stat-entity-name{color:var(--text-secondary,#8c8c8c);margin-bottom:4px;font-size:.9em}.stat-field-display{color:var(--text-color,#262626);margin-bottom:4px;font-family:monospace;font-size:.95em}.stat-meta-info{color:var(--text-secondary,#8c8c8c);font-size:.85em}.context-conflicts-box{background:#ef44441a;border-left:3px solid #ef4444;border-radius:4px;margin-top:10px;padding:8px}.conflict-warning-label{color:#fca5a5}.conflict-warning-detail{color:#999;margin-top:4px;font-size:12px}.detection-context-box{background:#428bfd1a;border-left:3px solid #428bfd;border-radius:6px;margin:12px 0;padding:12px}.detection-label{color:#888;text-transform:uppercase;margin-bottom:6px;font-size:11px}.detection-description{color:var(--text-color,#262626);font-size:13px}.health-score-section{background:linear-gradient(135deg,#1e1e32cc,#141428e6);border-radius:12px;align-items:center;gap:20px;margin-bottom:20px;padding:15px;display:flex}.health-score-ring{border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.health-score-inner{background:#1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:20px;font-weight:700;display:flex}.health-score-title{color:#fff;font-size:16px;font-weight:700}.health-score-value{font-size:14px}.health-score-breakdown{color:#888;margin-top:4px;font-size:11px}.health-score-perfect{color:#22c55e;font-size:11px}.timeline-violations-box{background:#ef44441a;border-left:3px solid #ef4444;border-radius:4px;margin-top:15px;padding:12px}.timeline-violations-header{color:#ef4444;margin:0 0 10px;font-size:14px}.violations-list{margin:0;padding:0;list-style:none}.violation-item{background:#0003;border-radius:4px;margin-bottom:8px;padding:8px}.violation-entity{color:#fca5a5}.violation-connector{color:#888}.violation-state{color:#f87171}.violation-detail{color:#999;margin-top:4px;font-size:12px}.relationship-violations-box{background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:4px;margin-top:15px;padding:12px}.relationship-violations-header{color:#f59e0b;margin:0 0 10px;font-size:14px}.relationship-entity{color:#fcd34d}.logic-conflict-badge{margin-left:5px}.scan-progress-bar{width:0%}.ai-content-preview{border:1px solid var(--border-color,#ddd);background:var(--bg-secondary,#f9f9f9);white-space:pre-wrap;word-wrap:break-word;resize:vertical;border-radius:4px;max-height:clamp(150px,30vh,400px);padding:10px;font-family:inherit;font-size:.9em;overflow-y:auto}.license-sync-container{text-align:center;margin-top:12px}.license-sync-text{color:#fffc;margin-bottom:8px;font-size:.85rem}.license-sync-bar-bg{background:#fff3;border-radius:8px;height:8px;overflow:hidden}.license-sync-bar-fill{background:linear-gradient(90deg,#27ae60,#2ecc71);width:0%;height:100%;transition:width 3.5s ease-out}.stat-modal-content{background:var(--surface-color,white);color:var(--text-color,#333);border-radius:8px;width:90%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.stat-modal-title{margin:0 0 16px;font-size:18px}.stat-modal-desc{opacity:.8;margin:0 0 20px;font-size:14px}.stat-form-group{margin-bottom:16px}.stat-form-group-last{margin-bottom:20px}.stat-form-label{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.stat-required{color:#dc3545}.stat-form-input{border:1px solid var(--border-color,#ccc);box-sizing:border-box;border-radius:4px;width:100%;padding:10px}.stat-form-input-readonly{border:1px solid var(--border-color,#ccc);background:var(--bg-color,#f5f5f5);box-sizing:border-box;border-radius:4px;width:100%;padding:10px}.stat-form-select{border:1px solid var(--border-color,#ccc);box-sizing:border-box;border-radius:4px;width:100%;padding:10px}.stat-form-hint{opacity:.7;margin-top:4px;font-size:12px;display:block}.stat-form-textarea{border:1px solid var(--border-color,#ccc);resize:vertical;box-sizing:border-box;border-radius:4px;width:100%;padding:10px;font-family:inherit}.stat-modal-actions{justify-content:flex-end;gap:12px;display:flex}.stat-cancel-btn{border:1px solid var(--border-color,#ccc);color:var(--text-color,#333);cursor:pointer;background:0 0;border-radius:4px;padding:10px 20px;font-size:14px}.stat-submit-btn{background:var(--primary-color,#007bff);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px}.entity-modal-content{max-width:400px}.entity-modal-input{width:100%;margin-bottom:10px;padding:8px}.entity-modal-select{width:100%;margin-bottom:20px;padding:8px}.entity-modal-actions{text-align:right}.stat-badge-name{margin-bottom:4px;font-weight:700}.stat-badge-detail{color:var(--text-secondary,#888);font-size:.9em}.legend-color-start{background:#4a5568}.legend-color-chapter{background:#5b7ba5}.legend-color-end{background:#4a5568}.legend-color-alternative{background:#8b7355}.landing-footer-dev{opacity:.7;margin-top:.5rem;font-size:.8rem}.toolbar-action-group{border-right:1px solid #ddd;gap:5px;margin-right:10px;padding-right:10px;display:flex}.ai-save-indicator-hidden,.maps-file-input-hidden,.portrait-placeholder-hidden{display:none}.sidebar-nav-section-border{border-bottom:1px solid var(--border-color,#eee);padding:10px}.sidebar-nav-list-reset{margin:0;padding:0;list-style:none}.sidebar-footer-branding{color:#aaa;text-align:center;padding:20px;font-family:Arial,sans-serif;font-size:.8em}.floating-toggle-editor-btn{color:#fff;background:#428bfd;border:none;border-radius:0 4px 4px 0;padding:10px 5px}.nav-badge-hidden{display:none}.editor-table-default{border-collapse:collapse;width:100%}.editor-img-responsive{max-width:100%;height:auto}.analytics-widget-container{background:var(--surface-color);color:var(--text-color);border-radius:12px;padding:20px}.analytics-widget-title{margin:0 0 12px}.analytics-widget-title-full{justify-content:space-between;align-items:center;margin:0 0 16px;display:flex}.analytics-widget-count{color:#888;font-size:.7em;font-weight:400}.analytics-empty-text{color:#888;margin:0}.analytics-mention-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:6px 0;display:flex}.analytics-mention-type{color:#888;font-size:.8em}.analytics-mention-count{color:var(--primary-color);font-weight:700}.analytics-no-data{color:#888;margin:8px 0}.analytics-forgotten-tag{color:#e74c3c;background:#ff00001a;border-radius:12px;margin:4px;padding:4px 8px;font-size:.85em;display:inline-block}.analytics-all-mentioned{color:#888;font-size:.9em}.analytics-section{margin-bottom:20px}.analytics-section-title{color:#888;margin:0 0 8px;font-size:.9em}.analytics-forgotten-wrap{flex-wrap:wrap;gap:4px;display:flex}.analytics-type-bar-row{align-items:center;margin:4px 0;display:flex}.analytics-type-label{text-transform:capitalize;width:80px;font-size:.8em}.analytics-type-bar-bg{background:#333;border-radius:4px;flex:1;height:12px;overflow:hidden}.analytics-type-bar-count{text-align:right;color:#888;width:40px;font-size:.8em}.analytics-type-bar-fill{background:#888;height:100%}.analytics-type-bar-fill[data-type=character]{background:#3498db}.analytics-type-bar-fill[data-type=location]{background:#27ae60}.analytics-type-bar-fill[data-type=faction]{background:#9b59b6}.analytics-type-bar-fill[data-type=event]{background:#e67e22}.analytics-type-bar-fill[data-type=politics]{background:#e74c3c}.analytics-type-bar-fill[data-type=unknown]{background:#95a5a6}.analytics-issue-row{justify-content:space-between;padding:4px 0;display:flex}.analytics-issue-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analytics-issue-count{color:#e74c3c;font-weight:700}.health-widget-container{color:#fff;background:#1a1a2e;border-radius:12px;padding:20px;font-family:system-ui}.health-widget-top{align-items:center;gap:20px;margin-bottom:15px;display:flex}.health-widget-ring{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.health-widget-inner{background:#1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;font-weight:700;display:flex}.health-widget-label{font-size:24px;font-weight:700}.health-breakdown-row{border-bottom:1px solid #333;justify-content:space-between;padding:4px 0;display:flex}.health-breakdown-section{opacity:.8;font-size:14px}.health-perfect-message{text-align:center;color:#22c55e}.health-score-display{font-size:18px}.kg-legend-dot{border-radius:50%;width:14px;height:14px}.kg-node-type-badge{border-radius:6px;margin-bottom:12px;padding:8px 12px;display:inline-block}.kg-node-type-text{text-transform:uppercase;letter-spacing:1px;font-size:.8em}.kg-detail-field{margin-bottom:12px}.kg-detail-value-long{margin:0;line-height:1.5}.kg-vector-info{background:#4a90e21a;border:1px solid #4a90e233;border-radius:8px;margin-top:15px;padding:10px}.kg-vector-label{color:#4a90e2;text-transform:uppercase;letter-spacing:.5px;font-size:.75em}.kg-vector-desc{color:var(--text-secondary,#8a8aaa);margin:6px 0 0;font-size:.85em}.kg-doc-link{cursor:pointer;background:#28a7451a;border:1px solid #28a74533;border-radius:8px;padding:10px;transition:all .2s}.kg-doc-link:hover{background:#28a74533}.kg-doc-link-layout{align-items:center;gap:8px;display:flex}.kg-doc-link-icon{font-size:1.2em}.kg-doc-link-name{color:var(--text-color,#e0e0f0);font-size:.9em;font-weight:500}.kg-doc-link-meta{color:var(--text-secondary,#6a6a8a);font-size:.8em}.kg-no-doc-ref{color:var(--text-secondary,#6a6a8a);margin:0;font-size:.85em}.kg-mention-count{background:#f0ad4e1a;border-radius:6px;margin-top:10px;padding:8px 10px}.kg-mention-text{color:#f0ad4e;font-size:.85em}.settings-page-container{max-width:800px;margin:80px auto 0;padding:2rem;font-family:Arial,sans-serif}.settings-page-header{border-bottom:1px solid #e0e0e0;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.settings-back-btn{margin-right:1rem}.settings-title{color:var(--primary-color);margin:0}.settings-sync-status{color:#666;margin-left:auto;font-size:.9rem}.settings-card-default{background:var(--surface-color);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.settings-card-heading{border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:1.5rem;padding-bottom:.5rem}.setting-item-default{margin-bottom:1.5rem}.setting-item-flex{align-items:center;margin-bottom:1.5rem;display:flex}.setting-item-flex-between{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.setting-item-flex-start{align-items:flex-start;margin-bottom:1.5rem;display:flex}.setting-label-block{margin-bottom:.5rem;font-weight:700;display:block}.setting-label-normal{font-weight:400}.setting-label-normal-block{font-weight:400;display:block}.setting-select-full,.setting-input-full{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:4px;padding:.5rem}.setting-textarea-full{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);resize:vertical;border-radius:4px;padding:.75rem;font-family:inherit}.setting-hint{color:#666;margin-top:4px;font-size:.8rem;display:block}.setting-hint-inline{color:#666;font-size:.8rem}.setting-hint-block{color:#666;margin-bottom:.5rem;font-size:.8rem;display:block}.setting-checkbox{width:18px;height:18px;margin-right:.75rem}.setting-checkbox-top{width:18px;height:18px;margin-top:2px;margin-right:.75rem}.setting-range-full{width:100%}.setting-range-labels{color:#666;justify-content:space-between;font-size:.8rem;display:flex}.license-card-gradient{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #00000026}.license-header-row{align-items:center;gap:12px;margin-bottom:1rem;display:flex}.license-icon{font-size:1.5rem}.license-title{color:#fff;margin:0}.license-badge{background:#fff3;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:700}.license-desc{opacity:.9;margin:0 0 1rem;font-size:.95rem}.license-input-row{gap:8px;margin-bottom:1rem;display:flex}.license-key-input{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;flex:1;padding:.75rem;font-family:monospace}.license-activate-btn{color:#667eea;cursor:pointer;background:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:700}.license-error{color:#fcc;font-size:.85rem;display:none}.license-buy-options{opacity:.85;margin-top:4px;font-size:.85rem}.license-buy-label{margin-bottom:6px;display:block}.license-buy-links{gap:12px;display:flex}.license-buy-link{color:#fff;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .15s}.license-buy-link:hover{opacity:.85}.license-buy-lifetime{background:#fff3}.license-buy-membership{background:#ffffff1f}.license-pro-section-hidden{display:none}.license-pro-row{align-items:center;gap:12px;margin-bottom:1rem;display:flex}.license-pro-check{font-size:1.2rem}.license-pro-email{font-weight:700}.license-pro-key{opacity:.8;font-family:monospace;font-size:.85rem}.license-remove-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:8px 16px;font-size:.85rem}.heuristics-toggle-btn{border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-weight:700;transition:all .2s}.settings-subsection-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:1.5rem;margin-bottom:1rem;font-size:.9rem}.settings-info-box{background:#0078d41a;border-left:4px solid #0078d4;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.settings-info-title{color:#0078d4;margin:0 0 .5rem;font-weight:700}.settings-info-text{color:#555;margin:0;font-size:.9rem}.settings-usage-box{background:#00000008;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.settings-usage-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.settings-usage-label{font-weight:700}.settings-usage-value{color:#666;font-size:.9rem}.settings-usage-bar-bg{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden}.settings-usage-bar-fill{background:var(--primary-color);width:0%;height:100%;transition:width .3s}.settings-usage-count{color:#888;margin-top:4px;font-size:.75rem;display:block}.settings-actions-row{align-items:center;gap:1rem;display:flex}.settings-clear-cache-btn{color:#dc3545;cursor:pointer;background:0 0;border:1px solid #dc3545;border-radius:4px;padding:8px 16px;font-weight:700}.settings-clear-hint{color:#666;font-size:.8rem}.settings-feedback-desc{color:#666;margin:0 0 1rem;font-size:.9rem}.settings-feedback-email-hint{color:#888;font-size:.8rem}.settings-feedback-honeypot{display:none}.settings-feedback-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:700}.settings-feedback-status{font-size:.9rem}.settings-ai-setup-box{background:#0078d41a;border-left:4px solid #0078d4;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.settings-ai-setup-title{color:#0078d4;margin:0 0 .5rem;font-weight:700}.settings-ai-setup-list{color:#555;margin:0 0 .5rem;padding-left:1.25rem;font-size:.9rem}.settings-ai-setup-link{color:#0078d4;font-weight:700}.settings-ai-setup-hint{color:#888;margin:0;font-size:.8rem}.settings-api-key-row{gap:8px;display:flex}.settings-api-key-input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);border-radius:4px;flex:1;padding:.5rem}.settings-api-test-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem}.settings-connection-status{color:#666;margin-top:4px;font-size:.8rem;display:block}.settings-endpoint-hidden{margin-bottom:1.5rem;display:none}.settings-model-row{gap:8px;display:flex}.settings-model-select{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);border-radius:4px;flex:1;padding:.5rem}.settings-refresh-models-btn{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);cursor:pointer;border-radius:4px;padding:.5rem}.settings-save-ai-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:700}.settings-advanced-card{background:var(--surface-color);border-radius:8px;margin-bottom:2rem;padding:0;box-shadow:0 2px 8px #0000000d}.settings-advanced-summary{cursor:pointer;align-items:center;gap:8px;padding:1rem 2rem;font-weight:700;list-style:none;display:flex}.settings-advanced-hint{color:#888;font-size:.8rem;font-weight:400}.settings-advanced-body{padding:0 2rem 2rem}.settings-rules-display{border:1px solid var(--border-color);background:#f5f5f5;border-radius:4px;max-height:200px;padding:1rem;font-size:12px;overflow:auto}.settings-reset-rules-btn{color:#dc3545;cursor:pointer;background:0 0;border:1px solid #dc3545;border-radius:4px;margin-top:.5rem;padding:8px 16px;font-weight:700}.settings-prompts-editor{border:1px solid var(--border-color);background:#f9f9f9;border-radius:4px;padding:1rem}.settings-prompts-list{flex-direction:column;gap:8px;margin-bottom:1rem;display:flex}.settings-prompts-actions{gap:8px;display:flex}.settings-add-prompt-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px}.settings-token-hint{color:#666;font-size:.8rem}.settings-model-hint{color:#888;font-size:.75rem}.setting-item-last{margin-bottom:1rem}.settings-confidence-label{margin-bottom:.5rem;font-weight:400;display:block}.heuristics-status-bar{z-index:1000;opacity:0;background:var(--color-surface,#374151);color:var(--color-on-surface,#fff);border-radius:8px;padding:10px 16px;font-size:13px;transition:opacity .3s,transform .3s;position:fixed;bottom:20px;right:20px;transform:translateY(10px);box-shadow:0 2px 8px #00000026}.heuristics-status-bar--visible{opacity:1;transform:translateY(0)}.heuristics-status-bar--success{background:var(--color-success,#4ade80);color:var(--color-on-success,#fff)}.heuristics-status-bar--error{background:var(--color-error,#f87171);color:var(--color-on-error,#fff)}.ai-tool-confirm-card{background:#428bfd1a;border:1px solid #428bfd;border-radius:5px;margin:10px 0;padding:10px}.ai-tool-confirm-btn{color:#fff;cursor:pointer;background:#428bfd;border:none;border-radius:3px;margin-top:5px;padding:5px 10px}.ai-tool-confirm-container{text-align:right;margin-top:10px}.ai-tool-confirm-accept-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:3px;padding:5px 10px;font-size:12px}.generator-fullscreen-modal,.dialog-overlay{z-index:10001;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.dialog-overlay--dark{background:#000000b3}.confirm-dialog-modal{background:var(--surface-color,white);color:var(--text-color,#333);border-radius:8px;width:90%;max-width:360px;padding:20px 24px;animation:.15s ease-out modalFadeIn;box-shadow:0 4px 20px #0000004d}.prompt-dialog-modal{background:var(--surface-color,white);color:var(--text-color,#333);border-radius:8px;width:90%;max-width:400px;padding:20px 24px;animation:.15s ease-out modalFadeIn;box-shadow:0 4px 20px #0000004d}.upgrade-dialog-modal{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;width:90%;max-width:480px;padding:28px 32px;animation:.2s ease-out modalFadeIn;box-shadow:0 8px 32px #0006}.notification-toast{color:#fff;z-index:10000;word-wrap:break-word;opacity:0;border-radius:4px;max-width:300px;padding:12px 20px;transition:opacity .3s,transform .3s;position:fixed;top:20px;right:20px;transform:translate(100%);box-shadow:0 2px 10px #0003}.notification-toast--success{background:#28a745}.status-success{color:#28a745}.status-error{color:#dc3545}.status-warning{color:#ffc107}.status-muted{color:#666}.status-success-dark{color:#155724}.status-error-dark{color:#721c24}.toggle-btn--enabled{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.toggle-btn--disabled{color:var(--text-color);border-color:var(--border-color);background-color:#0000}.license-card--pro{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%)}.license-card--free{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.license-badge--pro{background:#2ecc714d}.license-badge--free{background:#fff3}.modal-visible{display:block!important}.flex-visible{display:flex!important}.toast--visible{opacity:1;transform:translate(0)}.notification-toast--undo{align-items:center;gap:12px;display:flex}.notification-toast__message{flex:1}.notification-toast__undo-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #ffffffb3;border-radius:4px;padding:4px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.notification-toast__undo-btn:hover{background:#fff3;border-color:#fff}body.dark-mode .notification-toast__undo-btn{border-color:#ffffff80}body.dark-mode .notification-toast__undo-btn:hover{background:#ffffff26;border-color:#fffc}.btn--disabled-look{opacity:.5;cursor:not-allowed}.subscription-toggle--loading{opacity:.7;cursor:not-allowed}.subscription-toggle--ready{opacity:1}.subscription-alert{color:#856404;background:#fff3cd;border-radius:4px;padding:10px;display:block}.subscription-alert--hidden,.subscription-loading--hidden{display:none}.project-selector{font-family:Arial,sans-serif}.project-inline-edit-input{color:#fff;font-family:Arial,sans-serif;font-size:inherit;background-color:#2d2d2d;border:1px solid #555;border-radius:4px;padding:2px 6px}.freeze-btn--active{color:#fff;background:#428bfd;border-color:#428bfd}.freeze-icon--active{filter:grayscale()brightness(500%)}.frozen-header .frozen-row th,.frozen-header .frozen-row td{color:#fff;z-index:30;background:#428bfd;border-color:#357abd;position:sticky;top:0}.spreadsheet-container--scrollable{overflow:auto}.body--overflow-hidden{overflow:hidden}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-text{cursor:text}.suggestion-edit-textarea{width:100%;height:300px;display:block}.feedback-status--success{color:#27ae60}.feedback-status--error{color:#e74c3c}.suggestion-overlay-positioned{top:100%;left:0}.position--fixed{position:fixed}.transition--none{transition:none!important}.transition--slide{transition:transform .4s}.notepad--background{z-index:100}.notepad--foreground{z-index:101}.cell--relative{position:relative}.spreadsheet-table--sized{table-layout:fixed;width:auto;min-width:100%}.cell--text-left{text-align:left}.license-sync-bar-fill--complete{width:100%}.dashboard-main--sidebar-collapsed{margin-left:60px}.dashboard-main--sidebar-expanded{margin-left:250px}body.dark-mode .issue-confidence-high{color:#fca5a5;background:#450a0a}body.dark-mode .issue-confidence-medium{color:#fcd34d;background:#451a03}body.dark-mode .issue-confidence-low{color:#93c5fd;background:#1e3a5f}.display-none{display:none!important}.mismatch-filter-tabs{border-bottom:1px solid #333;gap:4px;margin-bottom:12px;padding-bottom:8px;display:flex}.mismatch-filter-tab{cursor:pointer;color:#ccc;background:0 0;border:1px solid #555;border-radius:4px 4px 0 0;padding:4px 12px;font-size:.85em}.mismatch-filter-tab:hover{background:#ffffff0d}.mismatch-filter-tab.active{color:#60a5fa;background:#3b82f626;border-color:#3b82f6}.mismatch-filter-tab .tab-count{opacity:.7;margin-left:4px;font-size:.8em}body.dark-mode .mismatch-filter-tab{color:#ccc;border-color:#555}body.dark-mode .mismatch-filter-tab.active{color:#93c5fd;background:#3b82f633}.issue-whitelist-btn{cursor:pointer;color:#888;background:0 0;border:1px solid #888;border-radius:3px;padding:2px 8px;font-size:.75em}.issue-whitelist-btn:hover{color:#f59e0b;border-color:#f59e0b}.manage-whitelist-btn{cursor:pointer;color:#999;background:0 0;border:1px solid #666;border-radius:3px;margin-right:auto;padding:4px 10px;font-size:.8em}.manage-whitelist-btn:hover{color:#f59e0b;border-color:#f59e0b}.wiki-grid-saved-searches{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.wiki-grid-save-btn{cursor:pointer;color:#999;background:0 0;border:1px solid #666;border-radius:3px;padding:3px 10px;font-size:.8em}.wiki-grid-save-btn:hover{color:#3b82f6;border-color:#3b82f6}.wiki-grid-saved-chip{cursor:pointer;color:#93c5fd;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.8em;display:inline-flex}.wiki-grid-saved-chip:hover{background:#3b82f633}.wiki-grid-saved-chip-delete{opacity:.5;cursor:pointer;margin-left:2px;font-size:.7em}.wiki-grid-saved-chip-delete:hover{opacity:1;color:#f87171}.command-palette-overlay{-webkit-backdrop-filter:blur(4px);z-index:10000;background:#00000080;justify-content:center;align-items:flex-start;width:100%;height:100%;padding-top:15vh;display:flex;position:fixed;top:0;left:0}.command-palette-overlay.cp-hidden{display:none}.command-palette-container{background:#fff;border-radius:12px;width:90%;max-width:600px;animation:.15s ease-out cp-slide-in;overflow:hidden;box-shadow:0 16px 48px #0003,0 4px 12px #0000001a}@keyframes cp-slide-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.command-palette-input-wrap{border-bottom:1px solid #eee}.command-palette-input{color:#1a1a2e;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;padding:16px 20px;font-size:16px}.command-palette-input::placeholder{color:#999}.command-palette-results{scrollbar-width:thin;max-height:400px;overflow-y:auto}.command-palette-results::-webkit-scrollbar{width:6px}.command-palette-results::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.command-palette-results::-webkit-scrollbar-track{background:0 0}.cp-category-header{text-transform:uppercase;letter-spacing:.05em;color:#888;-webkit-user-select:none;user-select:none;padding:8px 20px 4px;font-size:11px;font-weight:600}.command-palette-item{cursor:pointer;align-items:center;gap:12px;padding:10px 20px;transition:background-color .1s;display:flex}.command-palette-item:hover,.command-palette-item.cp-selected{background:#f0f4ff}.cp-icon{text-align:center;flex-shrink:0;width:24px;font-size:16px}.cp-label-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.cp-label{color:#1a1a2e;font-size:14px}.cp-snippet{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.cp-category{color:#888;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:12px}.cp-empty-state{text-align:center;color:#999;padding:24px 20px;font-size:14px}.command-palette-footer{color:#999;-webkit-user-select:none;user-select:none;border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.cp-footer-right{align-items:center;gap:8px;display:flex}.command-palette-footer kbd{color:#555;background:#eee;border:1px solid #ddd;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:11px;box-shadow:0 1px #ccc}body.dark-mode .command-palette-overlay{background:#000000b3}body.dark-mode .command-palette-container{color:#cdd6f4;background:#1e1e2e;box-shadow:0 16px 48px #00000080,0 4px 12px #0000004d}body.dark-mode .command-palette-input-wrap{border-bottom-color:#313244}body.dark-mode .command-palette-input{color:#cdd6f4;background:#1e1e2e}body.dark-mode .command-palette-input::placeholder{color:#6c7086}body.dark-mode .command-palette-results::-webkit-scrollbar-thumb{background:#45475a}body.dark-mode .cp-category-header{color:#6c7086}body.dark-mode .command-palette-item:hover,body.dark-mode .command-palette-item.cp-selected{background:#313244}body.dark-mode .cp-label{color:#cdd6f4}body.dark-mode .cp-snippet,body.dark-mode .cp-category,body.dark-mode .cp-empty-state{color:#6c7086}body.dark-mode .command-palette-footer{color:#6c7086;border-top-color:#313244}body.dark-mode .command-palette-footer kbd{color:#a6adc8;background:#313244;border-color:#45475a;box-shadow:0 1px #181825}@media (max-width:640px){.command-palette-overlay{padding-top:10vh}.command-palette-container{border-radius:8px;width:95%}.command-palette-input{padding:14px 16px;font-size:16px}.command-palette-results{max-height:300px}.command-palette-item{padding:10px 16px}.command-palette-footer{flex-direction:column;gap:4px;padding:6px 12px}.cp-footer-right{flex-wrap:wrap;justify-content:center}}.random-generator-page{max-width:1200px;margin:0 auto;padding:84px 24px 24px}.rg-header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.rg-header h1{margin:0;font-size:24px}.rg-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:13px;transition:background .15s,border-color .15s}.rg-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.rg-project-name{color:#6b7280;font-size:14px}.rg-layout{grid-template-columns:280px 1fr;gap:24px;display:grid}.rg-main{min-width:0}.rg-sidebar{background:#f8f9fa;border-radius:8px;align-self:flex-start;padding:20px}.rg-section-title{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px}.rg-type-selector{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.rg-type-btn{cursor:pointer;text-align:left;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 16px;font-size:14px;transition:background .15s,border-color .15s}.rg-type-btn:hover{background:#f0f4ff;border-color:#4361ee}.rg-type-btn.active{color:#fff;background:#4361ee;border-color:#4361ee}.rg-options{margin-top:20px}.rg-option-group{margin-bottom:16px}.rg-option-group label{color:#6b7280;margin-bottom:4px;font-size:13px;display:block}.rg-option-group select,.rg-option-group input,.rg-option-group textarea{box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px}.rg-option-group textarea{resize:vertical;min-height:60px}.rg-description-hint{color:#4361ee;min-height:16px;margin-top:4px;font-size:11px;display:block}.rg-generate-btn{color:#fff;cursor:pointer;background:#4361ee;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.rg-generate-btn:hover{background:#3651d4}.rg-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.rg-results-label{color:#6b7280;font-size:14px}.rg-toolbar-actions{align-items:center;gap:8px;display:flex}.rg-copy-all-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .15s}.rg-copy-all-btn:hover{background:#f0f4ff}.rg-copy-all-btn:disabled{opacity:.5;cursor:not-allowed}.rg-batch-create-btn{color:#fff;cursor:pointer;background:#4361ee;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s}.rg-batch-create-btn:hover{background:#3651d4}.rg-batch-create-btn:disabled{opacity:.6;cursor:not-allowed}.rg-batch-create-btn.hidden{display:none}.rg-batch-create-btn.btn-secondary{background:#22c55e;border:1px solid #22c55e}.rg-batch-create-btn.rg-batch-partial{background:#f97316;border:1px solid #f97316}.rg-results{gap:16px;display:grid}.rg-result-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .15s;box-shadow:0 1px 3px #00000014}.rg-result-card:hover{box-shadow:0 2px 8px #0000001a}.rg-result-card h3{margin:0 0 8px;font-size:16px}.rg-npc-card{border-left:3px solid #4361ee}.rg-result-detail{color:#374151;margin:4px 0;font-size:14px}.rg-detail-label{color:#6b7280;font-weight:500}.rg-hook-text{color:#374151;margin:8px 0;font-size:14px;line-height:1.5}.rg-quest-type{color:#374151;background:#f3f4f6;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.rg-quest-type-fetch{color:#1e40af;background:#dbeafe}.rg-quest-type-escort{color:#065f46;background:#d1fae5}.rg-quest-type-mystery{color:#5b21b6;background:#ede9fe}.rg-quest-type-combat{color:#b91c1c;background:#fef2f2}.rg-quest-type-diplomacy{color:#92400e;background:#fef3c7}.rg-quest-description{color:#374151;margin:8px 0 0;font-size:14px;line-height:1.5}.rg-result-card.rg-copied{border-color:#22c55e;transition:border-color .15s,box-shadow .15s;box-shadow:0 0 0 2px #22c55e40}.rg-result-card.rg-copied .rg-result-actions [data-action=copy]{color:#fff;background:#22c55e;border-color:#22c55e}.rg-copy-all-btn.rg-copied-all{color:#fff!important;background:#22c55e!important;border-color:#22c55e!important}.rg-npc-section{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;margin-top:14px;padding:12px}.rg-npc-section-title{text-transform:uppercase;letter-spacing:1px;color:#6b7280;border-bottom:2px solid #e5e7eb;margin-bottom:10px;padding-bottom:6px;font-size:11px;font-weight:700}.rg-npc-section .rg-result-detail{border-bottom:1px solid #f0f1f3;padding:3px 0}.rg-npc-section .rg-result-detail:last-of-type{border-bottom:none}.rg-npc-stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;display:grid}.rg-stat{text-align:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:8px 4px}.rg-stat-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.rg-stat-value{color:#374151;font-size:20px;font-weight:700;display:block}.rg-npc-vitals{justify-content:center;gap:8px;margin-top:10px;display:flex}.rg-vital{text-align:center;border:1px solid #0000;border-radius:14px;min-width:64px;padding:5px 12px;font-size:12px;font-weight:700}.rg-vital-hp{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.rg-vital-sta{color:#92400e;background:#fef3c7;border-color:#fde68a}.rg-vital-mp{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.rg-npc-section .rg-stats-job{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:13px}.rg-checkbox-label{cursor:pointer;color:#374151;align-items:center;gap:8px;font-size:14px;display:flex}.rg-checkbox-label input[type=checkbox]{width:auto;margin:0}.rg-monster-card{border-left:3px solid #ef4444}.rg-monster-card.rg-monster-human{border-left-color:#f97316}.rg-monster-card.rg-monster-worldBoss{border-left-color:#7c3aed}.rg-creature-badge{border-radius:12px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.rg-creature-human{color:#c2410c;background:#fff7ed}.rg-creature-monster{color:#b91c1c;background:#fef2f2}.rg-creature-worldBoss{color:#6d28d9;background:#f5f3ff}.rg-power-bar{vertical-align:middle;gap:3px;display:inline-flex}.rg-power-pip{background:#e5e7eb;border-radius:2px;width:10px;height:10px;display:inline-block}.rg-power-pip.active{background:#ef4444}.rg-power-pip:nth-child(-n+3).active{background:#22c55e}.rg-power-pip:nth-child(n+4):nth-child(-n+6).active{background:#eab308}.rg-power-pip:nth-child(n+7):nth-child(-n+8).active{background:#f97316}.rg-power-pip:nth-child(n+9).active{background:#ef4444}.rg-power-hints{color:#9ca3af;justify-content:space-between;margin-top:2px;font-size:11px;display:flex}.rg-result-actions{gap:8px;margin-top:12px;display:flex}.rg-empty-state{text-align:center;color:#9ca3af;padding:48px 24px}.rg-empty-state p{margin:8px 0}.rg-history{border-top:1px solid #eee;margin-top:24px;padding-top:16px}.rg-history-toggle{cursor:pointer;color:#374151;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:14px;font-weight:600;display:flex}.rg-history-toggle:hover{color:#4361ee}.rg-history-arrow{font-size:12px;transition:transform .2s}.rg-history-content{margin-top:12px}.rg-history-content.hidden{display:none}.rg-history-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rg-history-count{color:#6b7280;font-size:13px}.rg-clear-history-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-size:12px;transition:background .15s}.rg-clear-history-btn:hover{color:#b91c1c;background:#fef2f2;border-color:#ef4444}.rg-history-list{flex-direction:column;gap:4px;display:flex}.rg-history-empty{color:#9ca3af;font-size:13px;font-style:italic}.rg-history-entry{cursor:default;border-bottom:1px solid #f0f0f0;border-radius:4px;padding:10px 12px;transition:background .1s}.rg-history-entry:hover{background:#f8f9fa}.rg-history-entry:last-child{border-bottom:none}.rg-history-entry-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.rg-history-type{color:#374151;font-size:13px;font-weight:600}.rg-history-meta{color:#9ca3af;font-size:12px}.rg-history-summary{color:#6b7280;margin-top:4px;font-size:13px;line-height:1.3}body.dark-mode .random-generator-page,body.dark-mode .rg-header h1{color:#cdd6f4}body.dark-mode .rg-back-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rg-back-btn:hover{background:#45475a;border-color:#6c7086}body.dark-mode .rg-project-name{color:#6c7086}body.dark-mode .rg-sidebar{background:#1e1e2e}body.dark-mode .rg-section-title{color:#6c7086}body.dark-mode .rg-type-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rg-type-btn:hover{background:#45475a;border-color:#4361ee}body.dark-mode .rg-type-btn.active{color:#fff;background:#4361ee}body.dark-mode .rg-option-group label{color:#6c7086}body.dark-mode .rg-option-group select,body.dark-mode .rg-option-group input,body.dark-mode .rg-option-group textarea{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rg-description-hint{color:#89b4fa}body.dark-mode .rg-toolbar{border-color:#313244}body.dark-mode .rg-results-label{color:#6c7086}body.dark-mode .rg-copy-all-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rg-copy-all-btn:hover{background:#45475a}body.dark-mode .rg-batch-create-btn{background:#4361ee}body.dark-mode .rg-batch-create-btn:hover{background:#3651d4}body.dark-mode .rg-batch-create-btn.btn-secondary{color:#1e1e2e;background:#a6e3a1;border-color:#a6e3a1}body.dark-mode .rg-batch-create-btn.rg-batch-partial{color:#1e1e2e;background:#fab387;border-color:#fab387}body.dark-mode .rg-result-card{background:#1e1e2e;border-color:#313244;box-shadow:0 1px 3px #0003}body.dark-mode .rg-result-card h3{color:#cdd6f4}body.dark-mode .rg-npc-card{border-left-color:#4361ee}body.dark-mode .rg-result-detail{color:#bac2de}body.dark-mode .rg-detail-label{color:#6c7086}body.dark-mode .rg-hook-text{color:#bac2de}body.dark-mode .rg-quest-type{color:#cdd6f4;background:#313244}body.dark-mode .rg-quest-description{color:#bac2de}body.dark-mode .rg-empty-state{color:#6c7086}body.dark-mode .rg-npc-section{background:#1e1e2e;border-color:#45475a}body.dark-mode .rg-npc-section-title{color:#6c7086;border-color:#45475a}body.dark-mode .rg-npc-section .rg-result-detail{border-color:#313244}body.dark-mode .rg-stat{background:#313244;border-color:#45475a}body.dark-mode .rg-stat-label{color:#6c7086}body.dark-mode .rg-stat-value{color:#cdd6f4}body.dark-mode .rg-vital-hp{color:#f38ba8;background:#45272a;border-color:#5c3338}body.dark-mode .rg-vital-sta{color:#f9e2af;background:#3d3520;border-color:#52472b}body.dark-mode .rg-vital-mp{color:#89b4fa;background:#1e2d4d;border-color:#2a3d62}body.dark-mode .rg-npc-section .rg-stats-job{background:#313244;border-color:#45475a}body.dark-mode .rg-checkbox-label{color:#cdd6f4}body.dark-mode .rg-result-card.rg-copied{border-color:#a6e3a1;box-shadow:0 0 0 2px #a6e3a133}body.dark-mode .rg-monster-card{border-left-color:#f38ba8}body.dark-mode .rg-monster-card.rg-monster-human{border-left-color:#fab387}body.dark-mode .rg-monster-card.rg-monster-worldBoss{border-left-color:#cba6f7}body.dark-mode .rg-creature-human{color:#fab387;background:#3d2e1e}body.dark-mode .rg-creature-monster{color:#f38ba8;background:#45272a}body.dark-mode .rg-creature-worldBoss{color:#cba6f7;background:#2e2340}body.dark-mode .rg-power-pip{background:#45475a}body.dark-mode .rg-power-hints{color:#6c7086}body.dark-mode .rg-history{border-color:#313244}body.dark-mode .rg-history-toggle{color:#cdd6f4}body.dark-mode .rg-history-toggle:hover{color:#4361ee}body.dark-mode .rg-history-toolbar{border-color:#313244}body.dark-mode .rg-history-count{color:#6c7086}body.dark-mode .rg-clear-history-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rg-clear-history-btn:hover{color:#ef4444;background:#45475a;border-color:#ef4444}body.dark-mode .rg-history-entry{border-color:#313244}body.dark-mode .rg-history-entry:hover{background:#313244}body.dark-mode .rg-history-type{color:#cdd6f4}body.dark-mode .rg-history-meta,body.dark-mode .rg-history-summary,body.dark-mode .rg-history-empty{color:#6c7086}@media (max-width:768px){.random-generator-page{padding:16px}.rg-layout{grid-template-columns:1fr}.rg-header{flex-direction:column;gap:4px}.rg-history-entry-header{flex-direction:column;align-items:flex-start;gap:2px}}.import-wizard-page{max-width:900px;margin:0 auto;padding:84px 24px 24px}.iw-header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.iw-header h1{margin:0;font-size:24px}.iw-header p{color:#6b7280;width:100%;margin:0 0 24px}.iw-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:13px;transition:background .15s,border-color .15s}.iw-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.iw-step-indicator{justify-content:center;gap:0;margin-bottom:32px;display:flex}.iw-step{text-align:center;color:#999;border-bottom:3px solid #ddd;flex:1;padding:12px;transition:color .2s,border-color .2s;position:relative}.iw-step.active{color:#333;border-color:#4361ee;font-weight:600}.iw-step.complete{color:#10b981;border-color:#10b981}.iw-step-number{color:#fff;background:#ddd;border-radius:50%;width:24px;height:24px;margin-right:8px;font-size:12px;font-weight:700;line-height:24px;display:inline-block}.iw-step.active .iw-step-number{background:#4361ee}.iw-step.complete .iw-step-number{background:#10b981}.iw-step-label{font-size:13px}.iw-step-upload h2,.iw-step-mapping h2,.iw-step-preview h2{margin:0 0 8px;font-size:18px}.iw-step-desc{color:#6b7280;margin:0 0 16px;font-size:14px}.iw-source-options{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.iw-source-option{cursor:pointer;border:1px solid #ddd;border-radius:8px;padding:10px 16px;font-size:14px;transition:border-color .15s,background .15s}.iw-source-option:hover{border-color:#4361ee}.iw-source-option.selected{background:#eff6ff;border-color:#4361ee}.iw-source-option input[type=radio]{margin-right:6px}.iw-drop-zone{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:12px;padding:48px;transition:border-color .2s,background .2s}.iw-drop-zone:hover{background:#4361ee08;border-color:#4361ee}.iw-drop-zone.drag-over{background:#4361ee0d;border-color:#4361ee}.iw-drop-icon{color:#9ca3af;margin-bottom:12px}.iw-drop-text{color:#374151;margin:0 0 4px;font-size:16px}.iw-drop-subtext{color:#9ca3af;margin:0 0 8px;font-size:14px}.iw-drop-format{color:#9ca3af;margin:0;font-size:12px}.iw-file-name{color:#10b981;margin:12px 0 0;font-size:14px}.iw-parse-status{margin-top:16px}.iw-parse-loading{color:#6b7280}.iw-parse-success{color:#10b981}.iw-parse-error{color:#ef4444}.iw-type-selector{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.iw-type-selector label{font-weight:500}.iw-select{background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:14px}.iw-mapping-table{border-collapse:collapse;width:100%}.iw-mapping-table th{text-align:left;color:#6b7280;text-transform:uppercase;border-bottom:2px solid #e0e0e0;padding:10px;font-size:13px}.iw-mapping-table td{border-bottom:1px solid #eee;padding:10px}.iw-source-field{font-weight:500}.iw-mapping-select{width:100%}.iw-preview-summary{margin-bottom:16px;font-size:15px}.iw-preview-table-wrapper{overflow-x:auto}.iw-preview-table{border-collapse:collapse;width:100%;font-size:13px}.iw-preview-table th{text-align:left;text-transform:capitalize;color:#6b7280;border-bottom:2px solid #e0e0e0;padding:8px 10px}.iw-preview-table td{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #eee;max-width:200px;padding:8px 10px;overflow:hidden}.iw-progress-container{text-align:center;padding:24px}.iw-progress-info{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.iw-progress-bar{background:#eee;border-radius:4px;height:8px;overflow:hidden}.iw-progress-fill{background:#4361ee;border-radius:4px;height:100%;transition:width .3s}.iw-progress-current{color:#6b7280;margin:8px 0 16px;font-size:13px}.iw-results{text-align:center;padding:32px}.iw-results-count{color:#10b981;margin:8px 0;font-size:48px;font-weight:700}.iw-results-label{color:#6b7280;font-size:16px}.iw-results-stats{justify-content:center;gap:16px;margin-top:16px;font-size:14px;display:flex}.iw-stat-success{color:#10b981}.iw-stat-failed{color:#ef4444}.iw-stat-divider{color:#ddd}.iw-results-partial .iw-results-count{color:#f59e0b}.iw-results-failed .iw-results-count{color:#ef4444}.iw-error-list{text-align:left;background:#fef2f2;border-radius:8px;margin-top:24px;padding:16px}.iw-error-list h3{color:#b91c1c;margin:0 0 8px;font-size:14px}.iw-error-list ul{margin:0;padding:0 0 0 20px}.iw-error-list li{color:#7f1d1d;margin:4px 0;font-size:13px}.iw-nav-buttons{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.iw-btn{cursor:pointer;border:1px solid #ddd;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s}.iw-btn:disabled{opacity:.5;cursor:not-allowed}.iw-btn-primary{color:#fff;background:#4361ee;border-color:#4361ee}.iw-btn-primary:hover:not(:disabled){background:#3651d4}.iw-btn-secondary{background:#fff}.iw-btn-secondary:hover{background:#f8f9fa}.iw-btn-danger{color:#fff;background:#ef4444;border-color:#ef4444}.iw-btn-small{padding:6px 12px;font-size:13px}body.dark-mode .iw-header h1{color:#cdd6f4}body.dark-mode .iw-header p{color:#6c7086}body.dark-mode .iw-back-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .iw-back-btn:hover{background:#45475a;border-color:#6c7086}body.dark-mode .iw-step{color:#6c7086;border-color:#313244}body.dark-mode .iw-step.active{color:#cdd6f4}body.dark-mode .iw-step-number{background:#313244}body.dark-mode .iw-source-option{color:#cdd6f4;border-color:#45475a}body.dark-mode .iw-source-option.selected{background:#4361ee26}body.dark-mode .iw-drop-zone{border-color:#45475a}body.dark-mode .iw-drop-zone:hover{border-color:#4361ee}body.dark-mode .iw-drop-text{color:#cdd6f4}body.dark-mode .iw-select{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .iw-mapping-table th{color:#6c7086;border-color:#313244}body.dark-mode .iw-mapping-table td,body.dark-mode .iw-preview-table th{border-color:#313244}body.dark-mode .iw-preview-table td{color:#bac2de;border-color:#313244}body.dark-mode .iw-progress-bar{background:#313244}body.dark-mode .iw-btn-secondary{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .iw-error-list{background:#ef44441a}@media (max-width:768px){.iw-source-options{flex-direction:column}.iw-type-selector{flex-direction:column;align-items:stretch}}.arcs-page{max-width:1200px;margin:0 auto;padding:84px 24px 24px}.arcs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.arcs-header-left{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.arcs-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:13px;transition:background .15s,border-color .15s}.arcs-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.arcs-title{margin:0;font-size:24px}.arcs-project-name{color:#6b7280;font-size:14px}.arcs-view-toggle{border-radius:8px;gap:0;display:flex;overflow:hidden}.arcs-view-btn{cursor:pointer;background:#fff;border:1px solid #ddd;padding:8px 20px;font-size:14px;transition:background .15s,border-color .15s}.arcs-view-btn:first-child{border-radius:8px 0 0 8px}.arcs-view-btn:last-child{border-radius:0 8px 8px 0}.arcs-view-btn.active{color:#fff;background:#4361ee;border-color:#4361ee}.arcs-stats-bar{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.arcs-stat{text-align:center;background:#f8f9fa;border-radius:8px;min-width:100px;padding:12px 16px}.arcs-stat-value{font-size:24px;font-weight:700;display:block}.arcs-stat-label{color:#6b7280;font-size:12px}.arcs-stat-violations.has-violations .arcs-stat-value{color:#ef4444}.arcs-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.arcs-filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 10px;font-size:13px}.arcs-add-btn{color:#fff;cursor:pointer;background:#4361ee;border:none;border-radius:6px;margin-left:auto;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s}.arcs-add-btn:hover{background:#3651d4}.arcs-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;display:grid}.arc-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:box-shadow .15s,border-color .15s}.arc-card:hover{border-color:#4361ee;box-shadow:0 2px 8px #00000014}.arc-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.arc-card-title{margin:0;font-size:16px;font-weight:600}.arc-entity-name{color:#6b7280;margin:4px 0 12px;font-size:13px}.arc-entity-type{color:#9ca3af;font-size:12px}.arc-card-actions{align-items:center;gap:4px;display:flex}.arc-action-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;transition:background .15s,color .15s}.arc-action-btn:hover{color:#4361ee;background:#f0f4ff}.arc-action-btn-edit{color:#4361ee;background:#fff;border:1px solid #4361ee;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.arc-action-btn-edit:hover{color:#fff;background:#4361ee}.arc-action-btn-danger:hover{color:#ef4444;background:#fef2f2}.arc-action-btn-resolve:hover{color:#065f46;background:#d1fae5}.arc-card-footer{border-top:1px solid #f0f0f0;margin-top:12px;padding-top:8px}.arc-phase-add-btn{cursor:pointer;color:#6b7280;background:0 0;border:1px dashed #ddd;border-radius:4px;padding:4px 12px;font-size:12px;transition:border-color .15s,color .15s}.arc-phase-add-btn:hover{color:#4361ee;border-color:#4361ee}.arc-phase-timeline{align-items:center;gap:0;margin:16px 0;padding:8px 0;display:flex}.arc-phase-timeline.arc-phase-empty{color:#9ca3af;justify-content:center;font-size:13px;font-style:italic}.arc-phase-item{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.arc-phase-dot{cursor:pointer;background:#ddd;border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:background .15s,transform .15s;position:relative}.arc-phase-dot:hover{transform:scale(1.25)}.arc-phase-dot.complete{background:#10b981}.arc-phase-label{color:#9ca3af;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-size:10px;overflow:hidden}.arc-phase-doc-badge{text-align:center;margin-top:1px;font-size:11px;line-height:1}.arc-phase-traits{color:#6b7280;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:10px;overflow:hidden}.arc-phase-line{background:#ddd;flex:1;min-width:16px;height:2px}.arc-phase-line.complete{background:#10b981}.thread-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:box-shadow .15s,border-color .15s}.thread-card:hover{border-color:#4361ee;box-shadow:0 2px 8px #00000014}.thread-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.thread-card-title{margin:0;font-size:16px;font-weight:600}.thread-badges{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.thread-card-actions{align-items:center;gap:4px;display:flex}.thread-type-badge{border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.thread-type-badge.chekhov{color:#92400e;background:#fef3c7}.thread-type-badge.subplot{color:#1e40af;background:#dbeafe}.thread-type-badge.promise{color:#065f46;background:#d1fae5}.thread-type-badge.mystery{color:#5b21b6;background:#ede9fe}.thread-priority-badge{border-radius:12px;padding:2px 8px;font-size:11px;display:inline-block}.thread-priority-badge.priority-major{color:#b91c1c;background:#fef2f2}.thread-priority-badge.priority-minor{color:#6b7280;background:#f3f4f6}.thread-setup-excerpt{color:#6b7280;margin:8px 0;font-size:13px;line-height:1.4}.thread-payoff{color:#374151;margin:8px 0;font-size:13px;line-height:1.4}.thread-payoff strong{color:#6b7280;font-weight:500}.thread-doc-badges{gap:6px;margin:6px 0 2px;display:flex}.thread-doc-badge{color:#4361ee;background:#eff6ff;border:1px solid #dbeafe;border-radius:3px;padding:2px 6px;font-size:11px}.thread-deadline{color:#9ca3af;margin:4px 0;font-size:12px}.thread-linked-entities{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.thread-linked-entity{color:#4361ee;cursor:pointer;background:#f0f4ff;border-radius:4px;padding:2px 8px;font-size:12px;transition:background .15s;display:inline-block}.thread-linked-entity:hover{background:#dbeafe}.thread-tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.thread-tag{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:11px;display:inline-block}.status-badge{border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.status-badge-in_progress{color:#1e40af;background:#dbeafe}.status-badge-open{color:#92400e;background:#fef3c7}.status-badge-completed,.status-badge-resolved{color:#065f46;background:#d1fae5}.status-badge-abandoned{color:#6b7280;background:#f3f4f6}.violation-badge{color:#6b7280;background:#f3f4f6;border-radius:4px;margin-top:8px;padding:4px 8px;font-size:12px;display:inline-block}.violation-badge.violation-error{color:#b91c1c;background:#fef2f2}.violation-badge.violation-warning{color:#92400e;background:#fef3c7}.violation-badge.violation-info{color:#1e40af;background:#dbeafe}.arcs-empty{text-align:center;color:#9ca3af;padding:48px}.arcs-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.arcs-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.arcs-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.arcs-modal-header h2{margin:0;font-size:18px}.arcs-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:20px;transition:background .15s,color .15s}.arcs-modal-close:hover{color:#374151;background:#f3f4f6}.arcs-modal-form{padding:16px 24px 24px}.arcs-form-label{color:#374151;margin-bottom:16px;font-size:13px;font-weight:500;display:block}.arcs-form-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;margin-top:4px;padding:8px 12px;font-size:14px;display:block}.arcs-form-textarea{box-sizing:border-box;resize:vertical;border:1px solid #ddd;border-radius:6px;width:100%;min-height:60px;margin-top:4px;padding:8px 12px;font-family:inherit;font-size:14px;display:block}.arcs-form-row{gap:12px;display:flex}.arcs-form-half{flex:1;min-width:0}.arcs-form-fieldset{border:1px solid #e0e0e0;border-radius:6px;margin:0 0 16px;padding:12px 16px}.arcs-form-fieldset legend{color:#374151;padding:0 4px;font-size:13px;font-weight:600}.arcs-modal-footer{border-top:1px solid #eee;justify-content:flex-end;gap:8px;margin-top:8px;padding:16px 0 0;display:flex}.arcs-cancel-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .15s}.arcs-cancel-btn:hover{background:#f3f4f6}.arcs-save-btn{cursor:pointer;color:#fff;background:#4361ee;border:1px solid #4361ee;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.arcs-save-btn:hover{background:#3651d4}.arcs-save-btn.saving{pointer-events:none;opacity:.8;cursor:wait}.arcs-save-btn.saving:before{content:"";vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.6s linear infinite arcs-spin;display:inline-block}@keyframes arcs-spin{to{transform:rotate(360deg)}}.arcs-detail-body{max-height:60vh;padding:16px 20px;overflow-y:auto}.arcs-detail-meta{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;padding-bottom:12px;display:flex}.arcs-detail-field{color:#374151;font-size:14px}.arcs-detail-field strong{color:#111827}.arcs-detail-section-title{color:#374151;margin:16px 0 8px;font-size:15px;font-weight:600}.arcs-detail-phases{flex-direction:column;gap:10px;display:flex}.arcs-detail-phase{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.arcs-detail-phase-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.arcs-detail-desc{color:#4b5563;margin:4px 0 0;font-size:13px;line-height:1.5}.arcs-detail-empty{color:#9ca3af;margin:4px 0 0;font-size:13px;font-style:italic}.arcs-detail-ref{color:#6b7280;background:#f3f4f6;border-radius:3px;padding:2px 6px;font-size:12px}.arcs-detail-traits{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.arcs-detail-section{margin-bottom:12px}.arcs-detail-excerpt{color:#4b5563;border-left:3px solid #d1d5db;margin:8px 0;padding:8px 12px;font-size:13px;font-style:italic}.arcs-detail-ref-link{cursor:pointer;color:#4361ee;border:1px solid #4361ee}.arcs-detail-ref-link:hover{color:#fff;background:#4361ee}.arcs-detail-doc-indicator{margin-left:4px;font-size:14px}.arcs-detail-notes{color:#374151;margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6}.arcs-detail-notes li{margin-bottom:2px}.arcs-phase-doc-row{align-items:center;gap:6px;margin-top:4px;display:flex}.arcs-phase-doc-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px dashed #9ca3af;border-radius:4px;padding:4px 10px;font-size:12px;transition:border-color .15s,color .15s}.arcs-phase-doc-btn:hover{color:#4361ee;border-color:#4361ee}.arcs-phase-doc-btn.has-doc{color:#4361ee;background:#eff6ff;border-style:solid;border-color:#4361ee}.arcs-phase-doc-change{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:14px}.arcs-phase-doc-change:hover{color:#4361ee;background:#f0f4ff}.arcs-phase-doc-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:14px}.arcs-phase-doc-clear:hover{color:#ef4444;background:#fef2f2}.arcs-phase-notes{font-size:12px;line-height:1.5}.arcs-modal-phases{margin-top:16px}.arcs-modal-phases-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.arcs-modal-phases-header h3{margin:0;font-size:15px}.arcs-phase-row{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:8px;padding:12px}.arcs-phase-row-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.arcs-phase-order{color:#4361ee;text-align:center;min-width:20px;font-size:14px;font-weight:700}.arcs-phase-label-select{flex:1}.arcs-phase-remove{flex-shrink:0}.arcs-phase-row .arcs-form-input,.arcs-phase-row .arcs-form-textarea{margin-bottom:6px}body.dark-mode .arcs-page{color:#cdd6f4}body.dark-mode .arcs-back-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .arcs-back-btn:hover{background:#45475a;border-color:#6c7086}body.dark-mode .arcs-title{color:#cdd6f4}body.dark-mode .arcs-project-name{color:#6c7086}body.dark-mode .arcs-view-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .arcs-view-btn.active{color:#fff;background:#4361ee}body.dark-mode .arcs-stat{background:#1e1e2e}body.dark-mode .arcs-stat-value{color:#cdd6f4}body.dark-mode .arcs-stat-label{color:#6c7086}body.dark-mode .arcs-filter-select{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .arcs-add-btn{background:#4361ee}body.dark-mode .arc-card{background:#1e1e2e;border-color:#313244}body.dark-mode .arc-card-title{color:#cdd6f4}body.dark-mode .arc-entity-name,body.dark-mode .arc-entity-type,body.dark-mode .arc-action-btn{color:#6c7086}body.dark-mode .arc-action-btn:hover{color:#4361ee;background:#313244}body.dark-mode .arc-action-btn-danger:hover{color:#ef4444;background:#313244}body.dark-mode .arc-action-btn-resolve:hover{color:#10b981;background:#313244}body.dark-mode .arc-card-footer{border-color:#313244}body.dark-mode .arc-phase-add-btn{color:#6c7086;border-color:#45475a}body.dark-mode .arc-phase-add-btn:hover{color:#4361ee;border-color:#4361ee}body.dark-mode .arc-phase-dot{background:#45475a}body.dark-mode .arc-phase-dot.complete{background:#10b981}body.dark-mode .arc-phase-label,body.dark-mode .arc-phase-traits{color:#6c7086}body.dark-mode .arc-phase-line{background:#45475a}body.dark-mode .arc-phase-line.complete{background:#10b981}body.dark-mode .arc-phase-timeline.arc-phase-empty{color:#6c7086}body.dark-mode .thread-card{background:#1e1e2e;border-color:#313244}body.dark-mode .thread-card-title{color:#cdd6f4}body.dark-mode .thread-setup-excerpt{color:#6c7086}body.dark-mode .thread-payoff{color:#bac2de}body.dark-mode .thread-payoff strong{color:#6c7086}body.dark-mode .thread-doc-badge{color:#89b4fa;background:#89b4fa1a;border-color:#89b4fa33}body.dark-mode .thread-deadline{color:#6c7086}body.dark-mode .thread-linked-entity{color:#89b4fa;background:#313244}body.dark-mode .thread-linked-entity:hover{background:#45475a}body.dark-mode .thread-tag{color:#6c7086;background:#313244}body.dark-mode .status-badge-in_progress{color:#89b4fa;background:#1e40af33}body.dark-mode .status-badge-open{color:#f9e2af;background:#92400e33}body.dark-mode .status-badge-completed,body.dark-mode .status-badge-resolved{color:#a6e3a1;background:#065f4633}body.dark-mode .status-badge-abandoned{color:#6c7086;background:#6b728026}body.dark-mode .violation-badge.violation-error{color:#f38ba8;background:#b91c1c26}body.dark-mode .violation-badge.violation-warning{color:#f9e2af;background:#92400e26}body.dark-mode .violation-badge.violation-info{color:#89b4fa;background:#1e40af26}body.dark-mode .thread-priority-badge.priority-major{color:#f38ba8;background:#b91c1c26}body.dark-mode .thread-priority-badge.priority-minor{color:#6c7086;background:#6b728026}body.dark-mode .arcs-empty{color:#6c7086}body.dark-mode .arcs-modal{background:#1e1e2e}body.dark-mode .arcs-modal-header h2{color:#cdd6f4}body.dark-mode .arcs-modal-close{color:#6c7086}body.dark-mode .arcs-modal-close:hover{color:#cdd6f4;background:#313244}body.dark-mode .arcs-form-label{color:#bac2de}body.dark-mode .arcs-form-input,body.dark-mode .arcs-form-textarea{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .arcs-form-fieldset{border-color:#45475a}body.dark-mode .arcs-form-fieldset legend{color:#bac2de}body.dark-mode .arcs-modal-footer{border-color:#313244}body.dark-mode .arcs-cancel-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .arcs-cancel-btn:hover{background:#45475a}body.dark-mode .arcs-save-btn{background:#4361ee;border-color:#4361ee}body.dark-mode .arcs-save-btn:hover{background:#3651d4}body.dark-mode .arcs-modal-phases-header h3{color:#cdd6f4}body.dark-mode .arcs-phase-row{background:#313244;border-color:#45475a}body.dark-mode .arcs-phase-order{color:#89b4fa}body.dark-mode .arc-action-btn-edit{color:#89b4fa;background:0 0;border-color:#4361ee}body.dark-mode .arc-action-btn-edit:hover{color:#fff;background:#4361ee}body.dark-mode .arc-card:hover,body.dark-mode .thread-card:hover{border-color:#4361ee}body.dark-mode .arcs-detail-meta{border-color:#313244}body.dark-mode .arcs-detail-field{color:#bac2de}body.dark-mode .arcs-detail-field strong,body.dark-mode .arcs-detail-section-title{color:#cdd6f4}body.dark-mode .arcs-detail-phase{background:#313244;border-color:#45475a}body.dark-mode .arcs-detail-desc{color:#bac2de}body.dark-mode .arcs-detail-empty{color:#6c7086}body.dark-mode .arcs-detail-ref{color:#bac2de;background:#45475a}body.dark-mode .arcs-detail-excerpt{color:#bac2de;border-color:#45475a}body.dark-mode .arcs-detail-ref-link{color:#89b4fa;border-color:#89b4fa}body.dark-mode .arcs-detail-ref-link:hover{color:#fff;background:#4361ee}body.dark-mode .arcs-detail-notes{color:#bac2de}body.dark-mode .arcs-phase-doc-btn{color:#6c7086;background:#313244;border-color:#45475a}body.dark-mode .arcs-phase-doc-btn:hover{color:#89b4fa;border-color:#89b4fa}body.dark-mode .arcs-phase-doc-btn.has-doc{color:#89b4fa;background:#89b4fa1a;border-color:#89b4fa}body.dark-mode .arcs-phase-doc-change:hover{color:#89b4fa;background:#313244}body.dark-mode .arcs-phase-doc-clear:hover{color:#f38ba8;background:#f38ba826}@media (max-width:768px){.arcs-page{padding:76px 16px 16px}.arcs-grid{grid-template-columns:1fr}.arcs-header{flex-direction:column;align-items:stretch}.arcs-header-left{flex-direction:column;gap:4px}.arcs-view-toggle{align-self:flex-start}.arcs-stats-bar{flex-direction:column;gap:8px}.arcs-stat{min-width:unset}.arcs-filter-bar{flex-direction:column;align-items:stretch}.arcs-add-btn{margin-left:0}.arcs-form-row{flex-direction:column;gap:0}.arcs-modal{width:95%}.arc-phase-timeline{overflow-x:auto}}.cal-page{max-width:1200px;margin:0 auto;padding:84px 24px 24px}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.cal-header-left{align-items:baseline;gap:12px;display:flex}.cal-title{margin:0;font-size:24px;font-weight:700}.cal-project-name{color:#6b7280;font-size:14px}.cal-view-toggle{border-radius:8px;gap:0;display:flex;overflow:hidden}.cal-view-btn{cursor:pointer;color:#1a1a2e;background:#fff;border:1px solid #ddd;padding:8px 20px;font-size:14px;transition:background .15s,color .15s}.cal-view-btn:first-child{border-radius:8px 0 0 8px}.cal-view-btn:last-child{border-radius:0 8px 8px 0}.cal-view-btn:hover{background:#f0f4ff}.cal-view-btn.active{color:#fff;background:#4361ee;border-color:#4361ee}.cal-content{min-height:200px}.cal-empty{text-align:center;color:#9ca3af;padding:48px 24px;font-size:15px}.cal-grid-view{flex-direction:column;gap:16px;display:flex}.cal-nav-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.cal-nav-btn{cursor:pointer;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 14px;font-size:14px;transition:background .15s}.cal-nav-btn:hover{background:#f0f4ff}.cal-nav-title{flex-direction:column;align-items:center;gap:2px;display:flex}.cal-month-name{font-size:20px;font-weight:600}.cal-year-label{color:#6b7280;font-size:13px}.cal-current-date-bar{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.cal-current-date-label{color:#6b7280;flex:1;font-size:14px}.cal-btn-small{color:#4361ee;cursor:pointer;background:#fff;border:1px solid #4361ee;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .15s}.cal-btn-small:hover{background:#eff6ff}.cal-btn-primary{color:#fff;cursor:pointer;background:#4361ee;border:1px solid #4361ee;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.cal-btn-primary:hover{background:#3651d4}.cal-btn-icon{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;transition:background .15s;display:inline-flex}.cal-btn-icon:hover{color:#4361ee;background:#f0f4ff}.cal-btn-danger{color:#ef4444;border-color:#ef4444}.cal-btn-danger:hover{color:#dc2626;background:#fef2f2}.cal-grid{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.cal-weekday-row{background:#f8f9fa;grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday-header{text-align:center;color:#6b7280;background:#f8f9fa;padding:8px;font-size:13px;font-weight:600}.cal-days-grid{background:#e0e0e0;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-day-cell{cursor:pointer;background:#fff;min-height:80px;padding:6px 8px;transition:background .15s;position:relative}.cal-day-cell:hover{background:#f0f4ff}.cal-day-cell.today{outline-offset:-2px;background:#eff6ff;outline:2px solid #4361ee}.cal-day-cell.selected{background:#dbeafe}.cal-day-cell.cal-day-empty{cursor:default;background:#f8f9fa}.cal-day-cell.cal-day-empty:hover{background:#f8f9fa}.cal-day-number{color:#1a1a2e;font-size:14px;font-weight:500}.cal-moon-icon{opacity:.6;font-size:12px;position:absolute;top:4px;right:6px}.cal-event-dots{flex-wrap:wrap;align-items:center;gap:2px;margin-top:4px;display:flex}.cal-event-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.cal-dot-spring{background:#10b981}.cal-dot-summer{background:#f59e0b}.cal-dot-autumn{background:#ef4444}.cal-dot-winter{background:#3b82f6}.cal-dot-default{background:#6b7280}.cal-event-dot-more{color:#6b7280;margin-left:2px;font-size:10px;font-weight:600}.cal-day-detail{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:16px}.cal-day-detail-empty{text-align:center;color:#9ca3af;background:#f8f9fa;border-radius:8px;margin-top:16px;padding:24px;font-size:14px}.cal-day-detail-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-day-detail-header h3{margin:0;font-size:16px;font-weight:600}.cal-day-events-list{flex-direction:column;gap:8px;display:flex}.cal-no-events{color:#9ca3af;margin:0;font-size:14px}.cal-event-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.cal-event-item-header{align-items:center;gap:8px;display:flex}.cal-event-name{font-size:14px;font-weight:500}.cal-event-recurring-badge{color:#2563eb;background:#dbeafe;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.cal-event-linked{color:#6b7280;font-size:13px}.cal-event-item-actions{align-self:flex-end;gap:4px;display:flex}.cal-sessions-view{flex-direction:column;gap:16px;display:flex}.cal-sessions-header{justify-content:space-between;align-items:center;display:flex}.cal-sessions-header h2{margin:0;font-size:20px;font-weight:600}.cal-sessions-list{gap:16px;display:grid}.cal-sessions-empty{text-align:center;color:#9ca3af;background:#f8f9fa;border-radius:8px;padding:48px 24px;font-size:15px}.cal-session-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .15s}.cal-session-card:hover{box-shadow:0 2px 8px #00000014}.cal-session-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cal-session-number{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.cal-session-card-actions{gap:4px;display:flex}.cal-session-title{color:#1a1a2e;margin:4px 0 8px;font-size:16px;font-weight:600}.cal-session-dates{flex-wrap:wrap;gap:12px;margin-bottom:4px;display:flex}.cal-session-real-date,.cal-session-world-date{color:#6b7280;font-size:13px}.cal-session-summary{color:#6b7280;margin-top:8px;font-size:13px;line-height:1.5}.cal-session-meta{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.cal-session-meta-item{color:#6b7280;background:#f0f4ff;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.cal-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cal-modal{background:#fff;border-radius:12px;width:92%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.cal-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.cal-modal-header h2{margin:0;font-size:18px;font-weight:600}.cal-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:background .15s;display:flex}.cal-modal-close:hover{background:#f0f4ff}.cal-modal-form{flex-direction:column;gap:16px;padding:8px 24px 24px;display:flex}.cal-modal-footer{border-top:1px solid #eee;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.cal-form-label{color:#374151;flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.cal-form-input{box-sizing:border-box;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.cal-form-input:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.cal-form-textarea{box-sizing:border-box;resize:vertical;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.cal-form-textarea:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.cal-form-fieldset{border:1px solid #e0e0e0;border-radius:8px;margin:0;padding:16px}.cal-form-fieldset legend{color:#374151;padding:0 8px;font-size:14px;font-weight:600}.cal-form-row{gap:12px;display:flex}.cal-form-third,.cal-form-half{flex:1;min-width:0}.cal-form-checkbox{cursor:pointer;flex-direction:row;align-items:center;gap:8px}.cal-form-checkbox input[type=checkbox]{width:auto;margin:0}.cal-cancel-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .15s}.cal-cancel-btn:hover{background:#f3f4f6}.cal-save-btn{color:#fff;cursor:pointer;background:#4361ee;border:1px solid #4361ee;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.cal-save-btn:hover{background:#3651d4}.cal-save-btn.saving,.cal-btn-primary.saving{pointer-events:none;opacity:.8;cursor:wait}.cal-save-btn.saving:before,.cal-btn-primary.saving:before{content:"";vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.6s linear infinite cal-spin;display:inline-block}@keyframes cal-spin{to{transform:rotate(360deg)}}.cal-config-view{flex-direction:column;gap:16px;display:flex}.cal-config-empty{text-align:center;color:#9ca3af;padding:48px 24px;font-size:15px}.cal-config-header{margin-bottom:8px}.cal-config-header h2{margin:0;font-size:20px;font-weight:600}.cal-config-form{flex-direction:column;gap:20px;display:flex}.cal-config-months-table{border-collapse:collapse;width:100%}.cal-config-months-table thead th{text-align:left;color:#6b7280;border-bottom:2px solid #e0e0e0;padding:8px;font-size:13px;font-weight:600}.cal-config-months-table tbody td{border-bottom:1px solid #eee;padding:8px}.cal-config-month-row td{vertical-align:middle}.cal-config-weekdays-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.cal-config-weekday-item{flex:1;min-width:80px;max-width:140px}.cal-config-current-date{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cal-config-date-display{color:#1a1a2e;margin:0 0 8px;font-size:15px;font-weight:500}.cal-config-date-actions{gap:8px;margin-top:8px;display:flex}.cal-preset-actions{flex-direction:column;justify-content:flex-end;display:flex}.cal-config-backup-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.cal-import-label{cursor:pointer;align-items:center;display:inline-flex}.cal-hidden-input{display:none}.cal-current-date-setters{align-items:center;gap:6px;display:flex}.cal-date-select{width:auto;min-width:100px;padding:4px 8px;font-size:13px}.cal-date-input{text-align:center;width:60px;padding:4px 8px;font-size:13px}.cal-current-date-actions{gap:6px;display:flex}.cal-config-footer{justify-content:flex-end;padding-top:8px;display:flex}body.dark-mode .cal-page,body.dark-mode .cal-title{color:#cdd6f4}body.dark-mode .cal-project-name{color:#6c7086}body.dark-mode .cal-view-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .cal-view-btn:hover{background:#45475a}body.dark-mode .cal-view-btn.active{color:#fff;background:#4361ee;border-color:#4361ee}body.dark-mode .cal-nav-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .cal-nav-btn:hover{background:#45475a}body.dark-mode .cal-month-name{color:#cdd6f4}body.dark-mode .cal-year-label{color:#6c7086}body.dark-mode .cal-current-date-bar{background:#313244}body.dark-mode .cal-current-date-label{color:#a6adc8}body.dark-mode .cal-btn-small{color:#89b4fa;background:#313244;border-color:#4361ee}body.dark-mode .cal-btn-small:hover{background:#45475a}body.dark-mode .cal-btn-primary{color:#fff;background:#4361ee}body.dark-mode .cal-btn-primary:hover{background:#3651d4}body.dark-mode .cal-btn-icon{color:#a6adc8;background:#313244;border-color:#45475a}body.dark-mode .cal-btn-icon:hover{color:#89b4fa;background:#45475a}body.dark-mode .cal-grid{border-color:#45475a}body.dark-mode .cal-weekday-row{background:#1e1e2e}body.dark-mode .cal-weekday-header{color:#6c7086;background:#1e1e2e}body.dark-mode .cal-days-grid{background:#45475a}body.dark-mode .cal-day-cell{background:#181825}body.dark-mode .cal-day-cell:hover{background:#313244}body.dark-mode .cal-day-cell.today{background:#4361ee26;outline-color:#4361ee}body.dark-mode .cal-day-cell.selected{background:#4361ee33}body.dark-mode .cal-day-cell.cal-day-empty,body.dark-mode .cal-day-cell.cal-day-empty:hover{background:#11111b}body.dark-mode .cal-day-number{color:#cdd6f4}body.dark-mode .cal-event-dot-more{color:#a6adc8}body.dark-mode .cal-day-detail{background:#1e1e2e}body.dark-mode .cal-day-detail-empty{color:#6c7086;background:#1e1e2e}body.dark-mode .cal-day-detail-header h3{color:#cdd6f4}body.dark-mode .cal-no-events{color:#6c7086}body.dark-mode .cal-event-item{background:#313244;border-color:#45475a}body.dark-mode .cal-event-name{color:#cdd6f4}body.dark-mode .cal-event-recurring-badge{color:#89b4fa;background:#4361ee33}body.dark-mode .cal-event-linked{color:#a6adc8}body.dark-mode .cal-empty{color:#6c7086}body.dark-mode .cal-sessions-header h2{color:#cdd6f4}body.dark-mode .cal-sessions-empty{color:#6c7086;background:#1e1e2e}body.dark-mode .cal-session-card{background:#1e1e2e;border-color:#313244}body.dark-mode .cal-session-card:hover{box-shadow:0 2px 8px #0000004d}body.dark-mode .cal-session-card-header{color:#a6adc8}body.dark-mode .cal-session-number{color:#6c7086}body.dark-mode .cal-session-title{color:#cdd6f4}body.dark-mode .cal-session-real-date,body.dark-mode .cal-session-world-date{color:#6c7086}body.dark-mode .cal-session-summary{color:#a6adc8}body.dark-mode .cal-session-meta-item{color:#a6adc8;background:#313244}body.dark-mode .cal-modal-overlay{background:#000000a6}body.dark-mode .cal-modal{background:#1e1e2e}body.dark-mode .cal-modal-header h2{color:#cdd6f4}body.dark-mode .cal-modal-close{color:#a6adc8}body.dark-mode .cal-modal-close:hover{background:#313244}body.dark-mode .cal-modal-footer{border-color:#313244}body.dark-mode .cal-form-label{color:#a6adc8}body.dark-mode .cal-form-input{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .cal-form-input:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee40}body.dark-mode .cal-form-textarea{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .cal-form-textarea:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee40}body.dark-mode .cal-form-fieldset{border-color:#45475a}body.dark-mode .cal-form-fieldset legend{color:#a6adc8}body.dark-mode .cal-cancel-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .cal-cancel-btn:hover{background:#45475a}body.dark-mode .cal-save-btn{color:#fff;background:#4361ee}body.dark-mode .cal-save-btn:hover{background:#3651d4}body.dark-mode .cal-config-empty{color:#6c7086}body.dark-mode .cal-config-header h2{color:#cdd6f4}body.dark-mode .cal-config-months-table thead th{color:#6c7086;border-color:#45475a}body.dark-mode .cal-config-months-table tbody td{border-color:#313244}body.dark-mode .cal-config-date-display{color:#cdd6f4}body.dark-mode .cal-btn-danger{color:#f38ba8;border-color:#f38ba8}body.dark-mode .cal-btn-danger:hover{background:#f38ba81a}body.dark-mode .cal-import-label{color:#89b4fa;background:#313244;border-color:#4361ee}body.dark-mode .cal-import-label:hover{background:#45475a}@media (max-width:768px){.cal-page{padding:12px}.cal-header{flex-direction:column;align-items:flex-start}.cal-nav-bar{flex-wrap:wrap;gap:8px}.cal-nav-title{text-align:center;order:-1;width:100%}.cal-current-date-bar{flex-direction:column;align-items:flex-start;gap:8px}.cal-current-date-setters,.cal-current-date-actions{flex-wrap:wrap}.cal-day-cell{min-height:50px;padding:2px 4px}.cal-day-number{font-size:12px}.cal-moon-icon{display:none}.cal-form-row{flex-direction:column}.cal-form-third,.cal-form-half{flex:none;width:100%}.cal-session-card-header{flex-direction:column;align-items:flex-start;gap:4px}.cal-config-weekdays-list{flex-direction:column}.cal-config-weekday-item{max-width:none}}.rel-layout{flex-direction:column;height:calc(100vh - 60px);padding-top:60px;display:flex}.rel-header{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.rel-header-left{align-items:baseline;gap:12px;display:flex}.rel-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:13px;transition:background .15s,border-color .15s}.rel-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.rel-title{color:#1a1a2e;margin:0;font-size:20px;font-weight:700}.rel-project-name{color:#6b7280;font-size:14px}.rel-mode-toggle{border-radius:8px;gap:0;display:flex;overflow:hidden}.rel-mode-btn{cursor:pointer;color:#1a1a2e;background:#fff;border:1px solid #ddd;padding:8px 20px;font-size:14px;transition:background .15s,color .15s}.rel-mode-btn:first-child{border-radius:8px 0 0 8px}.rel-mode-btn:last-child{border-radius:0 8px 8px 0}.rel-mode-btn:hover{background:#f0f4ff}.rel-mode-btn-active{color:#fff;background:#4361ee;border-color:#4361ee}.rel-toolbar{background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.rel-toolbar-btn{cursor:pointer;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .15s}.rel-toolbar-btn:hover{background:#f0f4ff}.rel-toolbar-btn-primary{color:#fff;background:#4361ee;border-color:#4361ee}.rel-toolbar-btn-primary:hover{background:#3651d4}.rel-toolbar-divider{background:#ddd;flex-shrink:0;width:1px;height:24px;margin:0 4px}.rel-main{flex:1;display:flex;position:relative;overflow:hidden}.rel-canvas-container{flex:1;position:relative;overflow:hidden}.rel-canvas-container canvas{cursor:grab;width:100%;height:100%;display:block}.rel-detail-panel{background:#fafafa;border-left:1px solid #e0e0e0;width:300px;padding:16px;transition:width .2s,padding .2s;overflow-y:auto}.rel-detail-panel-collapsed{border-left:none;width:0;padding:0;overflow:hidden}.rel-detail-content{min-width:268px}.rel-detail-empty{color:#9ca3af;text-align:center;margin:0;padding:24px 0;font-size:14px}.rel-detail-node,.rel-detail-edge{flex-direction:column;gap:12px;display:flex}.rel-detail-title{color:#1a1a2e;margin:0 0 4px;font-size:16px;font-weight:600}.rel-detail-meta{color:#374151;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.rel-detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.rel-detail-section{margin-top:8px}.rel-detail-heading{color:#374151;text-transform:uppercase;letter-spacing:.3px;margin:0 0 8px;font-size:13px;font-weight:600}.rel-detail-muted{color:#9ca3af;margin:0;font-size:13px}.rel-detail-edge-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rel-detail-edge-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.rel-edge-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.rel-detail-inline-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:13px;transition:color .15s,background .15s}.rel-detail-inline-btn:hover{color:#ef4444;background:#fef2f2}.rel-detail-family-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rel-detail-family-item{color:#374151;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.rel-detail-family-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:6px 10px;font-size:13px}.rel-detail-family-select:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.rel-detail-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.rel-detail-btn{cursor:pointer;color:#1a1a2e;text-align:center;background:#fff;border:1px solid #ddd;border-radius:6px;flex:1;padding:6px 12px;font-size:13px;transition:background .15s}.rel-detail-btn:hover{background:#f0f4ff}.rel-detail-btn-danger{color:#ef4444;border-color:#ef4444}.rel-detail-btn-danger:hover{background:#fef2f2}.rel-legend{z-index:10;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;font-size:12px;position:absolute;bottom:16px;left:16px;box-shadow:0 2px 8px #00000014}.rel-legend-hidden{display:none}.rel-legend-title{color:#374151;margin-bottom:8px;font-size:13px;font-weight:600}.rel-legend-item{align-items:center;gap:8px;margin:4px 0;display:flex}.rel-legend-line{border-radius:2px;flex-shrink:0;width:24px;height:3px;display:inline-block}.rel-legend-line-dashed{background:0 0;border-top:2px dashed;height:0}.rel-legend-label{color:#374151;font-size:12px}.rel-context-menu{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:160px;position:absolute;overflow:hidden;box-shadow:0 4px 12px #00000026}.rel-context-menu-item{cursor:pointer;color:#374151;padding:8px 16px;font-size:13px;transition:background .1s}.rel-context-menu-item:hover{background:#f0f4ff}.rel-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rel-modal{background:#fff;border-radius:12px;width:92%;max-width:440px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.rel-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.rel-modal-title{color:#1a1a2e;margin:0;font-size:18px;font-weight:600}.rel-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:background .15s;display:flex}.rel-modal-close:hover{background:#f0f4ff}.rel-modal-body{flex-direction:column;gap:16px;padding:8px 24px 16px;display:flex}.rel-modal-footer{border-top:1px solid #eee;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.rel-modal-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .15s}.rel-modal-btn:hover{background:#f3f4f6}.rel-modal-btn-primary{color:#fff;background:#4361ee;border-color:#4361ee}.rel-modal-btn-primary:hover{background:#3651d4}.rel-form-group{flex-direction:column;gap:4px;display:flex}.rel-form-label{color:#374151;font-size:13px;font-weight:500}.rel-form-input{box-sizing:border-box;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.rel-form-input:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.rel-form-select{box-sizing:border-box;color:#1a1a2e;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.rel-form-select:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.rel-edge-selector{z-index:1001;background:#fff;border:1px solid #ddd;border-radius:8px;position:absolute;overflow:hidden;box-shadow:0 4px 12px #00000026}.rel-edge-selector-inner{flex-direction:column;display:flex}.rel-edge-selector-header{color:#374151;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.rel-edge-selector-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;transition:background .15s}.rel-edge-selector-close:hover{background:#f0f4ff}.rel-edge-selector-body{flex-wrap:wrap;gap:4px;padding:8px;display:flex}.rel-edge-type-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .1s;display:flex}.rel-edge-type-btn:hover{background:#f0f4ff}.rel-family-manager{background:#f8f9fa;border-radius:8px;padding:12px}.rel-family-manager-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rel-family-manager-header h4{color:#374151;margin:0;font-size:14px;font-weight:600}.rel-family-manager-list{flex-direction:column;gap:4px;display:flex}.rel-family-manager-item{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background .15s;display:flex}.rel-family-manager-item:hover{background:#eef0f4}.rel-family-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.rel-family-name{color:#374151;flex:1}.rel-family-count{color:#6b7280;font-size:12px}.rel-family-delete-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;transition:color .15s,background .15s}.rel-family-delete-btn:hover{color:#ef4444;background:#fef2f2}.rel-family-rename-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;transition:color .15s,background .15s}.rel-family-rename-btn:hover{color:#3b82f6;background:#eff6ff}.rel-form-row{align-items:center;gap:8px;display:flex}.rel-form-row .rel-form-input{flex:1}.rel-browse-btn{color:#4361ee;cursor:pointer;white-space:nowrap;background:#f0f4ff;border:1px solid #4361ee;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s}.rel-browse-btn:hover{background:#dde5ff}.rel-entity-picker-results{background:#fff;border:1px solid #ddd;border-radius:6px;max-height:200px;margin-top:6px;overflow-y:auto}.rel-entity-picker-search{box-sizing:border-box;color:#1a1a2e;background:#fff;border:none;border-bottom:1px solid #eee;width:100%;padding:8px 10px;font-size:13px}.rel-entity-picker-search:focus{outline:none}.rel-entity-picker-list{flex-direction:column;display:flex}.rel-entity-picker-item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.rel-entity-picker-item:last-child{border-bottom:none}.rel-entity-picker-item:hover{background:#f0f4ff}.rel-entity-picker-name{color:#1a1a2e;font-size:14px;font-weight:500}.rel-entity-picker-subtitle{color:#6b7280;font-size:12px}.rel-entity-picker-loading,.rel-entity-picker-empty{text-align:center;color:#9ca3af;padding:16px;font-size:13px}.rel-node-doc-row{align-items:center;gap:6px;display:flex}.rel-node-doc-btn{cursor:pointer;text-align:left;color:#6b7280;background:#fafafa;border:1px dashed #aaa;border-radius:6px;flex:1;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s}.rel-node-doc-btn:hover{background:#f0f4ff;border-color:#4361ee}.rel-node-doc-btn.has-doc{color:#4361ee;background:#f0f4ff;border-style:solid;border-color:#4361ee}.rel-node-doc-change,.rel-node-doc-clear{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #ddd;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:background .15s,color .15s;display:flex}.rel-node-doc-change:hover{color:#4361ee;background:#f0f4ff}.rel-node-doc-clear:hover{color:#ef4444;background:#fef2f2}.rel-form-textarea{box-sizing:border-box;resize:vertical;color:#1a1a2e;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.rel-form-textarea:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.rel-detail-doc-link{color:#4361ee;cursor:pointer;background:#f0f4ff;border:1px solid #4361ee;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:13px;text-decoration:none;transition:background .15s;display:inline-flex}.rel-detail-doc-link:hover{background:#dde5ff}.rel-detail-notes-list{color:#374151;margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.5;list-style:outside}.rel-detail-btn-edit{color:#4361ee;background:#f0f4ff;border-color:#4361ee}.rel-detail-btn-edit:hover{background:#dde5ff}.rel-hidden{display:none}body.dark-mode .rel-layout{color:#cdd6f4}body.dark-mode .rel-header{border-color:#313244}body.dark-mode .rel-title{color:#cdd6f4}body.dark-mode .rel-project-name{color:#6c7086}body.dark-mode .rel-back-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-back-btn:hover{background:#45475a;border-color:#6c7086}body.dark-mode .rel-mode-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-mode-btn:hover{background:#45475a}body.dark-mode .rel-mode-btn-active{color:#fff;background:#4361ee;border-color:#4361ee}body.dark-mode .rel-toolbar{background:#1e1e2e;border-color:#313244}body.dark-mode .rel-toolbar-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-toolbar-btn:hover{background:#45475a}body.dark-mode .rel-toolbar-btn-primary{color:#fff;background:#4361ee;border-color:#4361ee}body.dark-mode .rel-toolbar-btn-primary:hover{background:#3651d4}body.dark-mode .rel-toolbar-divider{background:#45475a}body.dark-mode .rel-detail-panel{background:#181825;border-color:#313244}body.dark-mode .rel-detail-empty{color:#6c7086}body.dark-mode .rel-detail-title{color:#cdd6f4}body.dark-mode .rel-detail-meta{color:#a6adc8}body.dark-mode .rel-detail-label{color:#6c7086}body.dark-mode .rel-detail-heading{color:#a6adc8}body.dark-mode .rel-detail-muted{color:#6c7086}body.dark-mode .rel-detail-edge-item{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-detail-inline-btn{color:#6c7086}body.dark-mode .rel-detail-inline-btn:hover{color:#f38ba8;background:#f38ba81a}body.dark-mode .rel-detail-family-item{color:#a6adc8}body.dark-mode .rel-detail-family-select{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-detail-family-select:focus{border-color:#89b4fa;box-shadow:0 0 0 2px #89b4fa26}body.dark-mode .rel-detail-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-detail-btn:hover{background:#45475a}body.dark-mode .rel-detail-btn-danger{color:#f38ba8;border-color:#f38ba8}body.dark-mode .rel-detail-btn-danger:hover{background:#f38ba81a}body.dark-mode .rel-legend{background:#1e1e2e;border-color:#313244;box-shadow:0 2px 8px #0000004d}body.dark-mode .rel-legend-title{color:#cdd6f4}body.dark-mode .rel-legend-label{color:#a6adc8}body.dark-mode .rel-context-menu{background:#1e1e2e;border-color:#313244;box-shadow:0 4px 12px #0000004d}body.dark-mode .rel-context-menu-item{color:#cdd6f4}body.dark-mode .rel-context-menu-item:hover{background:#313244}body.dark-mode .rel-modal-overlay{background:#000000a6}body.dark-mode .rel-modal{background:#1e1e2e}body.dark-mode .rel-modal-title{color:#cdd6f4}body.dark-mode .rel-modal-close{color:#a6adc8}body.dark-mode .rel-modal-close:hover{background:#313244}body.dark-mode .rel-modal-footer{border-color:#313244}body.dark-mode .rel-modal-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-modal-btn:hover{background:#45475a}body.dark-mode .rel-modal-btn-primary{color:#fff;background:#4361ee}body.dark-mode .rel-form-label{color:#a6adc8}body.dark-mode .rel-form-input{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-form-input:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee40}body.dark-mode .rel-form-select{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-form-select:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee40}body.dark-mode .rel-edge-selector{background:#1e1e2e;border-color:#313244}body.dark-mode .rel-edge-selector-header{color:#cdd6f4;border-color:#313244}body.dark-mode .rel-edge-selector-close{color:#a6adc8}body.dark-mode .rel-edge-selector-close:hover{background:#313244}body.dark-mode .rel-edge-type-btn{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-edge-type-btn:hover{background:#45475a}body.dark-mode .rel-family-manager{background:#1e1e2e}body.dark-mode .rel-family-manager-header h4{color:#cdd6f4}body.dark-mode .rel-family-manager-item:hover{background:#313244}body.dark-mode .rel-family-name{color:#cdd6f4}body.dark-mode .rel-family-count,body.dark-mode .rel-family-delete-btn{color:#6c7086}body.dark-mode .rel-family-delete-btn:hover{color:#f38ba8;background:#f38ba81a}body.dark-mode .rel-family-rename-btn{color:#6c7086}body.dark-mode .rel-family-rename-btn:hover{color:#89b4fa;background:#89b4fa1a}body.dark-mode .rel-browse-btn{color:#89b4fa;background:#313244;border-color:#4361ee}body.dark-mode .rel-browse-btn:hover{background:#45475a}body.dark-mode .rel-entity-picker-results{background:#313244;border-color:#45475a}body.dark-mode .rel-entity-picker-search{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-entity-picker-item{border-color:#45475a}body.dark-mode .rel-entity-picker-item:hover{background:#45475a}body.dark-mode .rel-entity-picker-name{color:#cdd6f4}body.dark-mode .rel-entity-picker-subtitle,body.dark-mode .rel-entity-picker-loading,body.dark-mode .rel-entity-picker-empty{color:#6c7086}body.dark-mode .rel-node-doc-btn{color:#a6adc8;background:#313244;border-color:#45475a}body.dark-mode .rel-node-doc-btn:hover{background:#45475a;border-color:#4361ee}body.dark-mode .rel-node-doc-btn.has-doc{color:#89b4fa;background:#4361ee26;border-color:#4361ee}body.dark-mode .rel-node-doc-change,body.dark-mode .rel-node-doc-clear{color:#a6adc8;background:#313244;border-color:#45475a}body.dark-mode .rel-node-doc-change:hover{color:#89b4fa;background:#45475a}body.dark-mode .rel-node-doc-clear:hover{color:#f38ba8;background:#f38ba81a}body.dark-mode .rel-form-textarea{color:#cdd6f4;background:#313244;border-color:#45475a}body.dark-mode .rel-form-textarea:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee40}body.dark-mode .rel-detail-doc-link{color:#89b4fa;background:#4361ee26;border-color:#4361ee}body.dark-mode .rel-detail-doc-link:hover{background:#4361ee40}body.dark-mode .rel-detail-notes-list{color:#a6adc8}body.dark-mode .rel-detail-btn-edit{color:#89b4fa;background:#4361ee26;border-color:#4361ee}body.dark-mode .rel-detail-btn-edit:hover{background:#4361ee40}@media (max-width:768px){.rel-header{flex-direction:column;align-items:flex-start;padding:12px 16px}.rel-toolbar{flex-wrap:nowrap;padding:8px 12px;overflow-x:auto}.rel-detail-panel{z-index:100;width:280px;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #00000026}.rel-detail-panel-collapsed{width:0;box-shadow:none;padding:0}.rel-legend{max-width:calc(100vw - 32px);bottom:8px;left:8px}.rel-modal{width:95%}.rel-detail-actions{flex-direction:column}.rel-detail-btn{flex:none}}.ob-scroll-lock{overflow:hidden}.ob-overlay{-webkit-backdrop-filter:blur(4px);z-index:10001;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.ob-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:520px;max-height:90vh;padding:40px 36px 32px;animation:.2s ease-out ob-slide-in;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}@keyframes ob-slide-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ob-skip{color:#999;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;position:absolute;top:12px;right:16px}.ob-skip:hover{color:#333}.ob-icon{margin-bottom:12px;font-size:48px}.ob-title{color:#1a1a2e;margin:0 0 16px;font-size:22px;font-weight:700}.ob-body{color:#4a4a6a;text-align:left;margin-bottom:24px;font-size:15px;line-height:1.6}.ob-feature-list{margin:0;padding:0;list-style:none}.ob-feature-list li{border-bottom:1px solid #f0f0f5;padding:6px 0}.ob-feature-list li:last-child{border-bottom:none}.ob-feature-list kbd{background:#eee;border:1px solid #ddd;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:12px}.ob-progress{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.ob-dot{background:#ddd;border-radius:50%;width:8px;height:8px;transition:background .2s}.ob-dot-active{background:#4361ee}.ob-actions{justify-content:center;gap:12px;display:flex}.ob-btn{cursor:pointer;border-radius:8px;min-width:100px;padding:10px 24px;font-size:14px;font-weight:600}body.dark-mode .ob-overlay{background:#000000bf}body.dark-mode .ob-modal{background:#1e1e2e;box-shadow:0 20px 60px #00000080}body.dark-mode .ob-skip{color:#6c7086}body.dark-mode .ob-skip:hover,body.dark-mode .ob-title{color:#cdd6f4}body.dark-mode .ob-body{color:#a6adc8}body.dark-mode .ob-feature-list li{border-bottom-color:#313244}body.dark-mode .ob-feature-list kbd{color:#a6adc8;background:#313244;border-color:#45475a}body.dark-mode .ob-dot{background:#45475a}body.dark-mode .ob-dot-active{background:#89b4fa}@media (max-width:640px){.ob-modal{border-radius:12px;padding:32px 24px 24px}.ob-icon{font-size:36px}.ob-title{font-size:18px}.ob-body{font-size:14px}}.kg-layout{height:calc(100vh - 60px);padding-top:60px;display:flex}.kg-sidebar{border-right:1px solid var(--border-color,#e0e0e0);flex-direction:column;gap:8px;width:180px;min-width:180px;padding:16px;display:flex}.kg-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.kg-header{border-bottom:1px solid var(--border-color,#e0e0e0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.kg-header h1{margin:0;font-size:1.2rem}.kg-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kg-control{align-items:center;gap:4px;font-size:13px;display:flex}.kg-control select{padding:2px 6px;font-size:13px}.kg-stats{color:var(--text-secondary,#666);font-size:12px}.kg-main{flex:1;display:flex;position:relative;overflow:hidden}.kg-canvas-wrapper{flex:1;position:relative;overflow:hidden}.kg-canvas-wrapper canvas{cursor:grab;width:100%;height:100%;display:block}.kg-legend{background:var(--surface-color,#ffffffe6);z-index:5;border-radius:8px;flex-direction:column;gap:4px;max-height:200px;padding:8px 12px;display:flex;position:absolute;bottom:40px;left:16px;overflow-y:auto}.kg-legend h4{text-transform:uppercase;color:var(--text-secondary,#666);margin:0 0 4px;font-size:12px}.kg-legend-item{cursor:pointer;color:var(--text-color,#333);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:2px 4px;font-size:12px;display:flex}.kg-legend-item:hover{background:#0000000d}.kg-legend-hidden{opacity:.4;text-decoration:line-through}.kg-details{border-left:1px solid var(--border-color,#e0e0e0);background:var(--surface-color,#fafafa);width:280px;min-width:280px;padding:16px;overflow-y:auto}.kg-details-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.kg-details-header h3{flex:1;margin:0}.kg-details-type{border-radius:10px;padding:2px 8px;font-size:11px}.kg-details-close{cursor:pointer;color:var(--text-secondary,#666);background:0 0;border:none;font-size:18px}.kg-detail-row{word-break:break-word;margin-bottom:8px;font-size:13px}.kg-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}body.dark-mode .kg-layout{color:#cdd6f4}body.dark-mode .kg-sidebar,body.dark-mode .kg-header{border-color:#45475a}body.dark-mode .kg-details{background:#1e1e2e;border-color:#45475a}body.dark-mode .kg-legend{background:#1e1e2ee6}body.dark-mode .kg-legend-item{color:#cdd6f4}body.dark-mode .kg-legend-item:hover{background:#ffffff0d}body.dark-mode .kg-details-close{color:#a6adc8}.graph-container{background:var(--bg-color,#f0f2f5);width:100%;height:100vh;transition:background .3s;position:relative;overflow:hidden}body.dark-mode .graph-container{background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%)}.graph-overlay{z-index:10;pointer-events:none;position:absolute;top:20px;left:20px}.graph-overlay h1{color:var(--text-color,#333);text-shadow:0 2px 4px #0000001a;margin:0;font-family:Arial,sans-serif}body.dark-mode .graph-overlay h1{color:#fff;text-shadow:0 2px 4px #00000080}.graph-overlay p{color:var(--text-secondary,#666);margin:5px 0;font-family:Arial,sans-serif;font-size:.9em}body.dark-mode .graph-overlay p{color:#8a8aaa}.graph-stats{color:var(--text-secondary,#666);margin-top:10px;font-family:Arial,sans-serif;font-size:.85em}body.dark-mode .graph-stats{color:#ccc}.graph-controls{z-index:10;background:var(--surface-color,#fffffff2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color,#0000001a);color:var(--text-color,#333);border-radius:12px;min-width:200px;padding:15px;font-family:Arial,sans-serif;position:absolute;bottom:20px;left:20px;box-shadow:0 4px 12px #0000001a}body.dark-mode .graph-controls{color:#fff;box-shadow:none;background:#141428f2;border:1px solid #ffffff1a}.graph-controls h3{color:var(--text-secondary,#666);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:.95em}body.dark-mode .graph-controls h3{color:#a0a0c0}.control-label{color:var(--text-secondary,#666);margin-bottom:5px;font-size:.8em;display:block}body.dark-mode .control-label{color:#7a7a9a}.control-select{background:var(--bg-color,#fff);width:100%;color:var(--text-color,#333);border:1px solid var(--border-color,#ccc);cursor:pointer;border-radius:6px;padding:8px 10px}body.dark-mode .control-select{color:#fff;background:#282846cc;border:1px solid #6464964d}.control-checkbox-label{color:var(--text-color,#333);cursor:pointer;align-items:center;padding:6px 0;font-size:.9em;display:flex}body.dark-mode .control-checkbox-label{color:#ddd}.graph-controls .btn-generate,.generator-modal .btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#28a745 0%,#20883a 100%);border:none;border-radius:6px;width:100%;padding:10px;font-size:.9em;font-weight:600;transition:all .2s}.btn-refresh{color:#4a90e2;cursor:pointer;background:#4a90e21a;border:1px solid #4a90e266;border-radius:6px;width:100%;padding:10px;font-size:.85em;font-weight:500;transition:all .2s}.btn-refresh:hover{background:#4a90e233}.graph-legend{z-index:10;background:var(--surface-color,#fffffff2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color,#0000001a);color:var(--text-color,#333);border-radius:12px;padding:15px;font-family:Arial,sans-serif;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 12px #0000001a}body.dark-mode .graph-legend{color:#fff;box-shadow:none;background:#141428f2;border:1px solid #ffffff1a}.legend-title{color:var(--text-secondary,#666);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;font-size:.85em}body.dark-mode .legend-title{color:#a0a0c0}.legend-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:2px 4px;transition:background .2s;display:flex}.legend-item:hover{background:var(--bg-color,#0000000d)}body.dark-mode .legend-item:hover{background:#ffffff1a}.legend-item.inactive{opacity:.5;text-decoration:line-through}.legend-text{color:var(--text-color,#333);font-size:.85em}body.dark-mode .legend-text{color:#c0c0d0}.legend-count{color:var(--text-secondary,#666);font-size:.75em}body.dark-mode .legend-count{color:#6a6a8a}.node-details-panel{background:var(--surface-color,#fffffffa);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--border-color,#0000001a);width:320px;color:var(--text-color,#333);z-index:20;border-radius:16px;max-height:80vh;padding:20px;font-family:Arial,sans-serif;position:absolute;top:20px;right:20px;overflow-y:auto;box-shadow:0 15px 40px #0000001a}body.dark-mode .node-details-panel{color:#fff;background:#141428fa;border:1px solid #ffffff1a;box-shadow:0 15px 40px #0006}.detail-content{color:var(--text-color,#333);font-size:.9em;line-height:1.6}body.dark-mode .detail-content{color:#c0c0d0}.detail-label{color:var(--text-secondary,#666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.75em;display:block}body.dark-mode .detail-label{color:#7a7a9a}.detail-value{color:var(--text-color,#333);font-weight:500}body.dark-mode .detail-value{color:#e0e0f0}.sidebar-dashboard{background:var(--surface-color,#fff)!important;border-right:1px solid var(--border-color,#eee)!important}body.dark-mode .sidebar-dashboard{background:#141428f2!important;border-right:1px solid #6464964d!important}.sidebar-dashboard .nav-link{color:var(--text-secondary,#666)!important}body.dark-mode .sidebar-dashboard .nav-link{color:#ccc!important}.sidebar-dashboard .nav-link:hover{color:var(--text-color,#333)!important;background:var(--bg-color,#f5f5f5)!important}body.dark-mode .sidebar-dashboard .nav-link:hover{color:#fff!important;background:#ffffff1a!important}.sidebar-dashboard .nav-link.active{border-left:3px solid #428bfd;color:#428bfd!important;background:#428bfd1a!important}body.dark-mode .sidebar-dashboard .nav-link.active{color:#fff!important;background:#428bfd33!important}.generator-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;top:0;left:0}body.dark-mode .generator-modal-overlay{background:#000000d9}.generator-modal{background:var(--surface-color,#fff);border:1px solid var(--border-color,#eee);width:420px;color:var(--text-color,#333);border-radius:16px;padding:24px;box-shadow:0 20px 60px #0003}body.dark-mode .generator-modal{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #6464964d;box-shadow:0 20px 60px #00000080}.generator-textarea{background:var(--bg-color,#f9f9f9);width:100%;height:100px;color:var(--text-color,#333);border:1px solid var(--border-color,#ccc);resize:none;border-radius:8px;margin-bottom:12px;padding:12px;font-family:inherit}body.dark-mode .generator-textarea{color:#fff;background:#28284699;border:1px solid #6464964d}.timeline-page{height:100%;padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.timeline-header{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.timeline-header h1{margin:0;font-size:1.5rem}.timeline-badges{gap:var(--spacing-sm);display:flex}.badge{border-radius:var(--border-radius);padding:4px 12px;font-size:.85rem;font-weight:500}.badge-conflict{background-color:var(--color-warning-bg,#fff3cd);color:var(--color-warning,#856404);border:1px solid var(--color-warning-border,#ffc107)}.badge-modified{background-color:var(--color-info-bg,#d1ecf1);color:var(--color-info,#0c5460);border:1px solid var(--color-info-border,#17a2b8)}.timeline-content{gap:var(--spacing-md);flex:1;grid-template-columns:220px 1fr 400px;display:grid;overflow:hidden}.timeline-filters{background:var(--card-bg);border-radius:var(--border-radius);padding:var(--spacing-md);border:1px solid var(--border-color);overflow-y:auto}.timeline-filters h3{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);font-size:1rem}.filter-group{margin-bottom:var(--spacing-md)}.filter-group label{color:var(--text-secondary);margin-bottom:4px;font-size:.85rem;display:block}.filter-group input,.filter-group select{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--input-bg);width:100%;color:var(--text-primary);padding:8px;font-size:.9rem}.filter-group input:focus,.filter-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha);outline:none}.timeline-filters .btn{width:100%;margin-top:var(--spacing-sm)}.timeline-main{background:var(--card-bg);border-radius:var(--border-radius);border:1px solid var(--border-color);overflow-y:auto}.timeline-list{padding:var(--spacing-sm)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.chapter-group{margin-bottom:var(--spacing-md)}.chapter-header{margin:0 0 var(--spacing-xs) 0;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-secondary);z-index:1;font-size:.9rem;position:sticky;top:0}.chapter-events{flex-direction:column;gap:2px;display:flex}.event-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);cursor:pointer;grid-template-columns:30px 1fr auto auto auto;transition:background-color .15s;display:grid}.event-row:hover{background:var(--bg-hover)}.event-row.selected{background:var(--color-primary-alpha);border-left:3px solid var(--color-primary)}.event-emoji{text-align:center;font-size:1.2rem}.event-entity{color:var(--text-primary);font-weight:500}.event-type{color:var(--text-secondary);font-size:.85rem}.event-state{color:var(--text-secondary);font-size:.85rem;font-family:var(--font-mono)}.event-confidence{border-radius:3px;padding:2px 6px;font-size:.75rem;font-weight:500}.event-confidence.confidence-heuristic{background:var(--color-warning-bg,#fff3cd);color:var(--color-warning,#856404)}.event-confidence.confidence-human{background:var(--color-success-bg,#d4edda);color:var(--color-success,#155724)}.timeline-detail{background:var(--card-bg);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:var(--spacing-md);overflow-y:auto}.detail-placeholder{height:100%;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.diff-view{gap:var(--spacing-md);flex-direction:column;display:flex}.diff-header{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.diff-header h3{margin:0 0 var(--spacing-xs) 0}.diff-state,.diff-chapter,.diff-confidence{margin-right:var(--spacing-sm);font-size:.85rem;display:inline-block}.diff-confidence.heuristic{color:var(--color-warning)}.diff-confidence.human{color:var(--color-success)}.diff-panels{gap:var(--spacing-sm);flex-direction:column;display:flex}.diff-panel{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.diff-panel h4{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);margin:0;font-size:.85rem;font-weight:500}.diff-content{padding:var(--spacing-sm);min-height:60px;max-height:150px;font-size:.9rem;line-height:1.5;overflow-y:auto}.diff-content.editable{border:1px dashed var(--border-color);background:var(--input-bg);cursor:text}.diff-content.editable:focus{border-color:var(--color-primary);outline:none}.highlight-remove{color:#b71c1c;background-color:#ffcdd2;text-decoration:line-through}.highlight-add{color:#1b5e20;background-color:#c8e6c9}.diff-original{border-left:3px solid #f44336}.diff-corrected{border-left:3px solid #4caf50}.diff-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.diff-actions .btn{flex:1;min-width:120px}.modified-notice{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-info-bg,#d1ecf1);border-radius:var(--border-radius);color:var(--color-info,#0c5460);font-size:.85rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.conflict-modal{background:var(--card-bg);border-radius:var(--border-radius-lg,8px);flex-direction:column;width:90%;max-width:700px;max-height:80vh;display:flex;box-shadow:0 4px 20px #0003}.modal-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--spacing-md);flex:1;overflow-y:auto}.conflict-comparison{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.conflict-section{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.conflict-section h3{padding:var(--spacing-sm);background:var(--bg-secondary);margin:0;font-size:.95rem}.heuristic-section{border-left:3px solid var(--color-warning,#ffc107)}.human-section,.confirm-section{border-left:3px solid var(--color-success,#28a745)}.conflict-details{padding:var(--spacing-sm);font-size:.9rem}.conflict-details p{margin:0 0 var(--spacing-xs) 0}.conflict-details blockquote{margin:var(--spacing-xs) 0 0 0;padding:var(--spacing-xs) var(--spacing-sm);border-left:2px solid var(--border-color);background:var(--bg-secondary);max-height:100px;font-style:italic;overflow-y:auto}.modal-footer{padding:var(--spacing-md);border-top:1px solid var(--border-color);gap:var(--spacing-sm);justify-content:flex-end;display:flex}.nav-badge{background:var(--color-warning,#ffc107);color:#000;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}@media (max-width:1200px){.timeline-content{grid-template-columns:200px 1fr}.timeline-detail{z-index:100;width:400px;transition:transform .3s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.timeline-detail.visible{transform:translate(0)}}@media (max-width:768px){.timeline-content{grid-template-columns:1fr}.timeline-filters{z-index:100;width:260px;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.timeline-filters.visible{transform:translate(0)}.conflict-comparison{grid-template-columns:1fr}}[data-theme=dark] .highlight-remove{color:#ef9a9a;background-color:#f443364d}[data-theme=dark] .highlight-add{color:#a5d6a7;background-color:#4caf504d}[data-theme=dark] .badge-conflict{color:#ffc107;background-color:#ffc10733;border-color:#ffc10766}[data-theme=dark] .badge-modified{color:#17a2b8;background-color:#17a2b833;border-color:#17a2b866}
