:root{--ch-paper:#f4f1ea;--ch-paper-elev:#fffdf8;--ch-ink:#1c1917;--ch-muted:#57534e;--ch-line:#d6d3d1;--ch-line-strong:#a8a29e;--ch-accent:#2563eb;--ch-accent-hover:#1d4ed8;--ch-accent-ink:#fff;--ch-danger:#b91c1c;--ch-success:#15803d;--ch-warning:#b45309;--ch-shadow:0 12px 40px #1c191714;--ch-shadow-sm:0 2px 8px #1c19170f;--ch-radius:8px;--ch-radius-sm:6px;--ch-font:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--ch-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--primary-color:var(--ch-accent);--primary-hover:var(--ch-accent-hover);--secondary-color:#ebe7df;--secondary-hover:#e0dbd2;--bg-color:var(--ch-paper);--surface-color:var(--ch-paper-elev);--text-color:var(--ch-ink);--text-secondary:var(--ch-muted);--placeholder-color:var(--ch-line-strong);--border-color:var(--ch-line);--header-bg:var(--ch-paper-elev);--accent-color:var(--ch-accent);--app-header-height:56px;--app-header-clearance:68px;--sidebar-width:240px}body.dark-mode{--ch-paper:#121110;--ch-paper-elev:#1c1917;--ch-ink:#f5f5f4;--ch-muted:#a8a29e;--ch-line:#292524;--ch-line-strong:#57534e;--ch-accent:#60a5fa;--ch-accent-hover:#93c5fd;--ch-accent-ink:#0c0a09;--ch-danger:#f87171;--ch-success:#4ade80;--ch-warning:#fbbf24;--ch-shadow:0 16px 48px #00000073;--ch-shadow-sm:0 2px 10px #00000059;--primary-color:var(--ch-accent);--primary-hover:var(--ch-accent-hover);--secondary-color:#292524;--secondary-hover:#3f3a36;--bg-color:var(--ch-paper);--surface-color:var(--ch-paper-elev);--text-color:var(--ch-ink);--text-secondary:var(--ch-muted);--placeholder-color:var(--ch-muted);--border-color:var(--ch-line);--header-bg:var(--ch-paper-elev);--accent-color:var(--ch-accent)}body{background:var(--bg-color);color:var(--text-color);font-family:var(--ch-font);-webkit-font-smoothing:antialiased}#app-header{background:var(--header-bg);border-bottom:1px solid var(--border-color);z-index:1100;width:100%;height:var(--app-header-height,56px);box-sizing:border-box;pointer-events:none;box-shadow:none;padding:0 1.1rem;position:fixed;top:0;left:0}#app-header .header-left,#app-header .header-right,#app-header .branding,#app-header .project-selector,#app-header .project-header,#app-header .project-dropdown,#app-header .project-inline-edit-input,#app-header button,#app-header a{pointer-events:auto}.hidden{display:none!important}#projectSelector{display:inline-block;position:relative}.branding{text-align:center;z-index:1;color:inherit;pointer-events:auto;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.branding:hover{opacity:.9}.branding:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px;border-radius:var(--ch-radius-sm)}.branding-logo{border-radius:6px;flex-shrink:0;width:28px;height:28px;display:block}.branding h1{font-family:var(--ch-serif);letter-spacing:-.02em;color:var(--text-color);white-space:nowrap;margin:0;font-size:1.05rem;font-weight:600}@media (max-width:640px){.branding h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.branding-logo{width:26px;height:26px}}.project-header{cursor:pointer;background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--ch-radius-sm);color:var(--text-color);padding:.4rem .75rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.project-header:hover{border-color:var(--ch-line-strong);background:var(--surface-color)}.project-dropdown{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--ch-radius);min-width:220px;box-shadow:var(--ch-shadow);z-index:1200;max-height:320px;margin-top:.35rem;display:none;position:absolute;top:100%;left:0;overflow:auto}.dropdown-item{cursor:pointer;color:var(--text-color);border-bottom:1px solid var(--border-color);padding:.55rem .85rem;font-size:.875rem}.dropdown-item:last-child{border-bottom:none}.dropdown-item.create-new{color:var(--primary-color);font-weight:600}.cmdk-hint-btn{font:inherit;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--ch-radius-sm);cursor:pointer;background:0 0;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.cmdk-hint-btn:hover{color:var(--text-color);border-color:var(--ch-line-strong)}.cmdk-hint-btn__icon{opacity:.7}:root{--app-header-height:56px;--app-header-clearance:68px}.modern-header{z-index:1100;width:100%;height:var(--app-header-height);box-sizing:border-box;background-color:var(--header-bg,var(--surface-color,#fffdf8));border-bottom:1px solid var(--border-color,#d6d3d1);box-shadow:none;pointer-events:none;font-family:var(--ch-font,system-ui, sans-serif);justify-content:space-between;align-items:center;padding:0 1.1rem;display:flex;position:fixed;top:0;left:0;right:0}.modern-header .header-left,.modern-header .header-right,.modern-header .branding,.modern-header a,.modern-header button,.modern-header input,.modern-header select,.modern-header .project-selector,.modern-header .project-header,.modern-header .project-dropdown,.modern-header .project-inline-edit-input{pointer-events:auto}.header-left{flex:0 auto;align-items:center;width:auto;min-width:0;max-width:min(320px,40vw);display:flex}.header-left .project-selector{margin-left:0;position:relative}.header-left .project-header{background-color:var(--secondary-color,#ebe7df);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--ch-radius-sm,6px);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:.35rem .75rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background-color .15s}.header-left .project-header:hover{background-color:var(--surface-color);border-color:var(--ch-line-strong,var(--border-color))}body.dark-mode .header-left .project-header{background-color:var(--secondary-color);color:var(--text-color);border-color:var(--border-color)}.header-left .project-dropdown{background-color:var(--surface-color);border:1px solid var(--border-color);box-shadow:var(--ch-shadow)}.header-left .dropdown-item{color:var(--text-color)}.header-left .dropdown-item:hover{background-color:var(--secondary-color)}.header-left .dropdown-item.create-new{color:var(--primary-color);border-bottom:1px solid var(--border-color)}html{height:100%;overflow:hidden auto}body{min-height:100vh;min-height:100dvh;margin:0;padding:0;overflow:hidden auto}#app{min-height:100vh;box-sizing:border-box;min-height:100dvh}.wiki-page,.arcs-page,.cal-page,.health-page,.generator-page,.settings-page,.random-generator-page,.import-wizard-page{padding-bottom:max(2rem, env(safe-area-inset-bottom,0px));overflow:visible}.branding h1{color:var(--text-color);font-family:var(--ch-serif,Georgia, serif);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:600}.fancy-btn{border-radius:var(--ch-radius-sm,6px);cursor:pointer;font-weight:600;font-family:var(--ch-font,system-ui, sans-serif);border:1px solid #0000;align-items:center;gap:8px;padding:8px 16px;transition:filter .15s,border-color .15s;display:inline-flex}.fancy-btn .icon{font-size:1.1em}.fancy-btn.primary{background:var(--primary-color);color:var(--ch-accent-ink,#fff);border-color:var(--primary-color);box-shadow:none}.btn-secondary.fancy-btn{color:var(--text-color);border:1px solid var(--border-color);background-color:#0000}.btn-secondary.fancy-btn:hover{background-color:var(--secondary-color);border-color:var(--ch-line-strong,var(--border-color))}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,body.dark-mode .modern-toolbar .toolbar-btn,body.dark-mode .modern-toolbar .btn-light{color:#e8eaed;background:0 0}body.dark-mode .modern-toolbar .toolbar-btn:hover,body.dark-mode .modern-toolbar .btn-light:hover{color:#e8eaed;background:#5f6368;border-color:#428bfd}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}.skip-to-main{z-index:10000;background:var(--primary-color,#428bfd);color:#fff;border-radius:0 0 6px;padding:.75rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-to-main:focus{left:0}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.header-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.cmdk-hint-btn{border:1px solid var(--border-color,#444);background:var(--surface-color,#2a2a2a);color:var(--text-color,#e0e0e0);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.cmdk-hint-btn:hover{border-color:var(--primary-color,#428bfd)}.cmdk-hint-btn__icon{opacity:.9;font-size:1rem}.page-back-link{color:var(--primary-color,#4da3ff);margin:0 0 .75rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block}.page-back-link:hover{text-decoration:underline}.page-loading-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:40vh;padding:2rem 1.5rem;display:flex}.page-loading-shell__title{margin:0;font-weight:600}.page-loading-shell__detail{opacity:.8;max-width:28rem;margin:0;font-size:.9rem}.page-loading-shell__actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.page-loading-shell__skeleton{width:min(320px,80vw);margin-bottom:.5rem}.page-loading-shell__bar{background:#80808040;border-radius:4px;height:10px;margin-bottom:8px;animation:1.2s ease-in-out infinite page-shell-pulse}.page-loading-shell__bar--short{width:60%}.page-loading-shell__block{background:#8080802e;border-radius:8px;height:64px;animation:1.2s ease-in-out infinite page-shell-pulse}@keyframes page-shell-pulse{0%,to{opacity:.55}50%{opacity:1}}.health-page{max-width:640px;padding:var(--app-header-clearance,72px) 1.5rem 2rem;margin:0 auto}.health-page h1{margin:0 0 .5rem;font-size:1.5rem}.health-headline{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.health-headline--healthy{color:#3dd68c}.health-headline--degraded{color:#f0b429}.health-check-list{margin:0 0 1rem;padding:0;list-style:none}.health-check{border:1px solid var(--border-color,#444);background:var(--surface-color,#1f1f1f);border-radius:8px;flex-direction:column;gap:.15rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.health-check--ok{border-left:3px solid #3dd68c}.health-check--warn{border-left:3px solid #f0b429}.health-check--fail{border-left:3px solid #f07178}.health-check--info{border-left:3px solid #4da3ff}.health-check span{opacity:.85;font-size:.9rem}.health-meta{opacity:.7;font-size:.8rem}.health-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.generator-page-nav{margin-bottom:1rem}.generator-page-title{margin:.25rem 0 0;font-size:1.35rem}.generator-validation-summary{color:#ffc1c6;background:#f0717826;border:1px solid #f07178;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.dashboard-empty-cta{opacity:.85;margin:.5rem 0 .75rem;font-size:.9rem}.editor-empty-placeholder{color:#888;pointer-events:none;z-index:1;text-align:center;max-width:90%;font-size:.95rem;position:absolute;top:8rem;left:50%;transform:translate(-50%)}.editor-content-scrollable{position:relative}@media (max-width:768px){.dashboard-layout{padding-top:var(--app-header-height,60px);flex-direction:column}#dashboard-main-content.main-content,.dashboard-main-content,.main-content{width:100%!important;max-width:100%!important;margin-left:0!important;padding:1rem!important}.sidebar-dashboard,.dashboard-sidebar,nav.sidebar-dashboard{border-right:none;border-bottom:1px solid var(--border-color,#333);max-height:40vh;overflow:auto;width:100%!important;max-width:100%!important;height:auto!important;position:relative!important}.sidebar-dashboard .nav-list,.dashboard-sidebar ul{flex-wrap:wrap;gap:.25rem;padding:.5rem;display:flex}.dashboard-grid,.main-content-grid{grid-template-columns:1fr!important}.cmdk-hint-btn__label{display:none}.generator-form-grid{grid-template-columns:1fr!important}body{overflow-x:hidden}#app,main#app{max-width:100vw;overflow-x:hidden}}button,input,select,textarea{font-family:var(--ch-font,inherit)}h1,h2,h3,.section-title,.page-title{font-family:var(--ch-serif,var(--ch-font,inherit));letter-spacing:-.02em;color:var(--text-color);font-weight:600}.btn,.btn-primary,button.btn-primary,.fancy-btn.primary{border-radius:var(--ch-radius-sm,6px);border:1px solid var(--primary-color);background:var(--primary-color);color:var(--ch-accent-ink,#fff);box-shadow:none;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:600;transition:filter .15s,border-color .15s,background .15s;display:inline-flex}.btn:hover,.btn-primary:hover,button.btn-primary:hover,.fancy-btn.primary:hover{filter:brightness(1.05);box-shadow:none;transform:none}.btn-secondary,.fancy-btn.secondary,button.btn-secondary{color:var(--text-color);border:1px solid var(--border-color);box-shadow:none;background:0 0}.btn-secondary:hover,.fancy-btn.secondary:hover{border-color:var(--ch-line-strong,var(--border-color));background:var(--secondary-color);transform:none}.fancy-btn.primary,.stat-card>span,.scan-btn,.settings-nav-item.active,.generator-submit,.cta-button.primary{background-image:none!important}.card,.dashboard-grid .card,.wiki-grid-card,.settings-card,.health-card,.stat-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--ch-radius,8px);box-shadow:var(--ch-shadow-sm,none)}.card:hover,.dashboard-grid .card:hover{box-shadow:var(--ch-shadow-sm,none);border-color:var(--ch-line-strong,var(--border-color));transform:none}.dashboard-layout,.wiki-page,.generator-page,.settings-page,.health-page,.random-generator-page,.import-wizard-page,.storyline-page,.maps-page,.relationships-page,.document-editor-layout{background:var(--bg-color);color:var(--text-color);font-family:var(--ch-font)}.sidebar-dashboard,.sidebar-document-editor,.sidebar,.wiki-sidebar,.maps-sidebar,.storyline-sidebar{background:var(--surface-color)!important;border-color:var(--border-color)!important;box-shadow:none!important;font-family:var(--ch-font)!important}.sidebar-dashboard .nav-link,.sidebar-dashboard button.nav-link,.sidebar-dashboard a.nav-link{border-radius:var(--ch-radius-sm,6px);color:var(--text-color);font-size:.9rem;font-weight:500}.sidebar-dashboard .nav-link:hover,.sidebar-dashboard button:hover{background:var(--secondary-color)!important;color:var(--text-color)!important;transform:none!important}.sidebar-dashboard .btn-primary,#create-project-btn{border-radius:var(--ch-radius-sm,6px);background:var(--primary-color)!important;color:var(--ch-accent-ink,#fff)!important;border:1px solid var(--primary-color)!important}.sidebar-dashboard .nav-icon{letter-spacing:.02em;color:var(--text-secondary);text-transform:uppercase;width:2.25rem!important;font-size:.7rem!important;font-weight:700!important;font-family:var(--ch-font)!important}#dashboard-main-content.main-content,.main-content{font-family:var(--ch-font)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{border-radius:var(--ch-radius-sm,6px);border-color:var(--border-color);background:var(--surface-color);color:var(--text-color)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--primary-color) 45%, transparent);outline-offset:1px;border-color:var(--primary-color)}.auth-container{background:var(--bg-color)!important}.auth-card{background:var(--surface-color)!important;border:1px solid var(--border-color)!important;border-radius:var(--ch-radius,8px)!important;box-shadow:var(--ch-shadow)!important}.auth-card h1{font-family:var(--ch-serif)!important;color:var(--text-color)!important}.command-palette,.cmdk-dialog,.cmdk-root,[cmdk-root],.palette-modal{font-family:var(--ch-font)}.ch-label,.stat-label,.section-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.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;min-height:100dvh;max-height:100vh;box-sizing:border-box;max-height:100dvh;padding-top:var(--app-header-height,60px);display:flex;overflow:hidden}#dashboard-main-content.main-content{min-height:0;margin-left:var(--sidebar-width,240px);-webkit-overflow-scrolling:touch;max-width:100%;width:calc(100% - var(--sidebar-width,240px));box-sizing:border-box;background:var(--bg-color);flex:1;margin-top:0;padding:1.5rem 1.75rem 3rem;transition:margin-left .3s,width .3s;overflow:hidden 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);border-radius:var(--ch-radius,8px);box-shadow:var(--ch-shadow-sm,none);box-sizing:border-box;padding:1rem 1.25rem;transition:border-color .15s}.card:hover{box-shadow:var(--ch-shadow-sm,none);border-color:var(--ch-line-strong,var(--border-color));transform:none}.stat-card{align-items:center;gap:1rem;display:flex}.stat-card>span{letter-spacing:.04em;text-transform:uppercase;background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--ch-radius-sm,6px);width:48px;height:48px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;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;background:var(--secondary-color);color:#525252;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600}body.dark-mode .status-badge{background:var(--secondary-color);color:#d4d4d4}.status-completed{background:var(--secondary-color);color:#135200}.status-processing{background:var(--secondary-color);color:#003a8c}.status-failed{background:var(--secondary-color);color:#a8071a}.status-default{background:var(--secondary-color);color:#ad4e00}.status-success{background:var(--secondary-color);color:#135200}.status-saved{background:var(--secondary-color);color:#003a8c}.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:var(--primary-color);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}.doc-missing-file-banner{background:#c9a2271f;border:1px solid #c9a227;border-radius:8px;margin:.75rem 1rem 0;padding:.85rem 1rem;font-size:.9rem;line-height:1.45}.doc-missing-file-banner p{margin:.4rem 0 .65rem}.doc-missing-file-actions{flex-wrap:wrap;gap:.5rem;display:flex}.doc-missing-file{color:#555;padding:1.25rem}.editor-container{height:100vh;box-sizing:border-box;height:100dvh;padding-top:var(--app-header-height,60px);margin-top:0;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}.toolbar-btn{color:inherit;background:0 0}.find-replace-panel{box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:4px;align-items:center;gap:6px;width:100%;margin-top:4px;padding:6px 8px;display:flex}.find-replace-input{color:#202124;background:#fff;border:1px solid #dadce0;border-radius:4px;flex:1;min-width:120px;padding:4px 8px;font-size:12px}.find-replace-count{color:#666;white-space:nowrap;font-size:11px}body.dark-mode .find-replace-panel{background:#2d2d30;border-color:#5f6368}body.dark-mode .find-replace-input{color:#e8eaed;background:#3c4043;border-color:#5f6368}body.dark-mode .find-replace-count{color:#9aa0a6}.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}.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}#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}}.modern-toolbar{background:var(--surface-color);border-bottom:1px solid var(--border-color)}.document-canvas{border-radius:var(--ch-radius,8px);border:1px solid var(--border-color);box-shadow:var(--ch-shadow-sm,none)}.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{left:0;top:var(--app-header-height,56px);height:calc(100vh - var(--app-header-height,56px));width:var(--sidebar-width,240px);background:var(--surface-color);border-right:1px solid var(--border-color);z-index:900;box-sizing:border-box;box-shadow:none;font-family:var(--ch-font,system-ui, sans-serif);padding:1.1rem .85rem;transition:width .3s;position:fixed;overflow-y:auto}.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(--text-color);transform:none}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-direction:column;flex-shrink:0;width:250px;height:100%;min-height:0;max-height:100%;padding:1rem;transition:width .3s;display:flex;position:relative;overflow:hidden}.sidebar-document-editor .sidebar-header,.sidebar-document-editor .sidebar-nav-section{flex-shrink:0}.sidebar-document-editor .project-tree{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin-top:.35rem;padding-bottom:.75rem;overflow:hidden auto}.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(--primary-color,#428bfd);color:#fff;border:1px solid var(--border-color);z-index:1200;cursor:pointer;border-radius:0 4px 4px 0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;font-size:1.2em;transition:all .3s;display:flex;position:fixed;top:120px;left:0;box-shadow:2px 2px 8px #00000040}.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:flex;top:90px}}@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-root,#ai-assist-container{--ai-bg:#fffdf8;--ai-ink:#1c1917;--ai-muted:#57534e;--ai-line:#d6d3d1;--ai-elev:#f5f2eb;--ai-user:#1c1917;--ai-user-ink:#fafaf9;--ai-bot:#f5f2eb;--ai-accent:#2563eb;--ai-accent-ink:#fff;--ai-shadow:0 16px 48px #1c191724;--ai-font:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--ai-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;z-index:1000;font-family:var(--ai-font);color:var(--ai-ink);font-size:14px;line-height:1.45;position:fixed;bottom:1.25rem;right:1.25rem}body.dark-mode .ai-assist-root,body.dark-mode #ai-assist-container{--ai-bg:#1c1917;--ai-ink:#f5f5f4;--ai-muted:#a8a29e;--ai-line:#292524;--ai-elev:#0c0a09;--ai-user:#e7e5e4;--ai-user-ink:#0c0a09;--ai-bot:#292524;--ai-accent:#60a5fa;--ai-accent-ink:#0c0a09;--ai-shadow:0 18px 50px #00000080}.ai-assist-toggle{background:var(--ai-ink);width:auto;min-width:3rem;height:2.75rem;color:var(--ai-bg);cursor:pointer;box-shadow:var(--ai-shadow);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 .9rem;transition:background .15s,border-color .15s;display:inline-flex}.ai-assist-toggle:hover{filter:brightness(1.08)}.ai-assist-toggle-label{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.ai-assist-window{background:var(--ai-bg);border:1px solid var(--ai-line);width:min(400px,100vw - 1.5rem);height:min(640px,100vh - 5rem);max-height:calc(100vh - 5rem);box-shadow:var(--ai-shadow);resize:both;min-width:300px;min-height:380px;color:var(--ai-ink);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.ai-assist-window.hidden{display:none}.ai-assist-header{background:var(--ai-bg);color:var(--ai-ink);border-bottom:1px solid var(--ai-line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.7rem .85rem;display:flex}.ai-assist-header-left{flex-direction:column;gap:.15rem;min-width:0;display:flex}.ai-header-title{font-family:var(--ai-serif);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.ai-assist-project-indicator{color:var(--ai-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.75rem;font-weight:500;overflow:hidden}.ai-mode-chip{letter-spacing:.04em;text-transform:uppercase;color:var(--ai-muted);border:1px solid var(--ai-line);border-radius:4px;width:-moz-fit-content;width:fit-content;margin-top:.2rem;padding:.1rem .35rem;font-size:.65rem;font-weight:700;display:inline-block}.ai-assist-header-right{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.ai-assist-save-indicator{color:var(--ai-muted);border:1px solid var(--ai-line);border-radius:4px;padding:.15rem .4rem;font-size:.7rem}.ai-assist-controls{gap:.25rem;display:flex}.ai-assist-controls button{border:1px solid var(--ai-line);color:var(--ai-ink);cursor:pointer;font:inherit;background:0 0;border-radius:6px;padding:.3rem .45rem;font-size:.72rem;font-weight:600}.ai-assist-controls button:hover{border-color:var(--ai-muted)}.ai-mode-chip.ai-tools-unavailable-chip{color:#8a6d12;background:#c9a2271f;border-color:#c9a227}.ai-tools-unavailable-banner{color:var(--ai-ink,#1a1a1a);background:#c9a2271a;border:1px solid #c9a227;border-radius:6px;flex-shrink:0;margin:.5rem .75rem 0;padding:.45rem .65rem;font-size:.78rem;line-height:1.35}body.dark-mode .ai-tools-unavailable-banner{color:var(--ai-ink,#f0f0f0)}.ai-citation-chips{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.ai-citation-chip{border:1px solid var(--ai-line,#ccc);background:var(--ai-elev,#f6f6f6);color:var(--ai-muted,#555);border-radius:999px;padding:.12rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:600;display:inline-block}.message.AI_Chat a.ai-chat-link{color:var(--ai-accent,#2563eb);word-break:break-word;text-decoration:underline}body.dark-mode .message.AI_Chat a.ai-chat-link{color:var(--ai-accent,#60a5fa)}.ai-assist-body-modern{background:var(--ai-elev);flex-direction:column;flex:1;min-height:0;display:flex}.ai-assist-messages,.ai-assist-messages-large{background:var(--ai-elev);flex-direction:column;flex:1;gap:.65rem;min-height:0;padding:.85rem;display:flex;overflow-y:auto}.message{word-wrap:break-word;border:1px solid #0000;border-radius:8px;max-width:92%;padding:.55rem .75rem;font-size:.9rem;line-height:1.5}.message.user{background:var(--ai-user);color:var(--ai-user-ink);border-bottom-right-radius:3px;align-self:flex-end}.message.AI_Chat,.message.copilot,.message.assistant{background:var(--ai-bg);color:var(--ai-ink);border-color:var(--ai-line);border-bottom-left-radius:3px;align-self:flex-start}.message.system,.message--greeting,.message--status{max-width:100%;color:var(--ai-muted);border:1px dashed var(--ai-line);background:0 0;border-radius:8px;align-self:stretch;font-size:.82rem;font-style:normal}.message--greeting{white-space:pre-wrap}.ai-assist-input-area{border-top:1px solid var(--ai-line);background:var(--ai-bg);flex-shrink:0;align-items:flex-end;gap:.5rem;padding:.65rem .75rem;display:flex}#ai-assist-input,#copilot-input{border:1px solid var(--ai-line);resize:none;background:var(--ai-bg);min-height:2.5rem;max-height:7rem;color:var(--ai-ink);border-radius:8px;outline:none;flex:1;padding:.55rem .7rem;font-family:inherit;font-size:.9rem}#ai-assist-input:focus,#copilot-input:focus{border-color:var(--ai-accent)}.ai-assist-send,#ai-assist-send,#copilot-send{background:var(--ai-accent);color:var(--ai-accent-ink);border:1px solid var(--ai-accent);cursor:pointer;font:inherit;border-radius:8px;flex-shrink:0;padding:.55rem .9rem;font-size:.85rem;font-weight:700}.ai-assist-send:hover:not(:disabled),#ai-assist-send:hover:not(:disabled){filter:brightness(1.05)}.ai-assist-send:disabled,#ai-assist-send:disabled{opacity:.45;cursor:not-allowed}.ai-assist-bottom-panel{border-top:1px solid var(--ai-line);background:var(--ai-bg);flex-direction:column;flex-shrink:0;max-height:42%;display:flex}.ai-assist-bottom-panel.collapsed .bottom-panel-content{display:none}.bottom-panel-header{background:var(--ai-bg);cursor:pointer;width:100%;font:inherit;color:var(--ai-ink);text-align:left;border:0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.ai-assist-bottom-panel.expanded .bottom-panel-header{border-bottom-color:var(--ai-line)}.panel-toggle-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ai-muted);font-size:.75rem;font-weight:700}.panel-toggle-icon{color:var(--ai-muted);font-size:.72rem;font-weight:600}.bottom-panel-content{flex-direction:column;gap:.75rem;padding:.5rem .75rem .75rem;display:flex;overflow-y:auto}.ai-writes-switch-container{border:1px solid var(--ai-line);background:var(--ai-elev);border-radius:10px;flex-direction:column;gap:.4rem;padding:.6rem .7rem;display:flex}.ai-writes-switch-container.is-on{background:#22c55e14;border-color:#22c55e8c}.ai-writes-switch-container.is-off{background:#ef444414;border-color:#ef44448c}.ai-writes-switch{cursor:pointer;width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:none;align-items:center;gap:.65rem;margin:0;padding:.35rem .25rem;display:flex}.ai-writes-switch:focus-visible{outline:2px solid var(--ai-ink,#e7e5e4);outline-offset:2px;border-radius:8px}.ai-writes-switch-track{border-radius:999px;flex-shrink:0;width:2.75rem;height:1.5rem;transition:background .18s,box-shadow .18s;position:relative}.ai-writes-switch--on .ai-writes-switch-track{background:#22c55e;box-shadow:inset 0 0 0 1px #15803d73}.ai-writes-switch--off .ai-writes-switch-track{background:#ef4444;box-shadow:inset 0 0 0 1px #b91c1c73}.ai-writes-switch-thumb{background:#fff;border-radius:50%;width:1.25rem;height:1.25rem;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.ai-writes-switch--on .ai-writes-switch-thumb{transform:translate(1.25rem)}.ai-writes-switch--off .ai-writes-switch-thumb{transform:translate(0)}.ai-writes-switch-text{align-items:center;gap:.4rem;min-width:0;display:flex}.ai-writes-switch-status{letter-spacing:.01em;font-size:.9rem;font-weight:700}.ai-writes-switch--on .ai-writes-switch-status{color:#4ade80}.ai-writes-switch--off .ai-writes-switch-status{color:#f87171}.ai-writes-switch-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.ai-writes-switch--on .ai-writes-switch-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}.ai-writes-switch--off .ai-writes-switch-dot{background:#ef4444;box-shadow:0 0 0 3px #ef444440}.ai-writes-switch-hint{color:var(--ai-muted);padding-left:.15rem;font-size:.75rem;line-height:1.35}.context-section{flex-direction:column;gap:.35rem;display:flex}.context-header{letter-spacing:.03em;text-transform:uppercase;color:var(--ai-muted);justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;display:flex}.context-header button{border:1px solid var(--ai-line);cursor:pointer;font:inherit;color:var(--ai-ink);background:0 0;border-radius:5px;padding:.2rem .4rem;font-size:.7rem;font-weight:600}.context-header button:hover{border-color:var(--ai-muted)}.context-file-list{border:1px solid var(--ai-line);background:var(--ai-bg);border-radius:6px;max-height:5.5rem;padding:.25rem;overflow-y:auto}.context-file-list .empty,.history-list .empty,.loading-spinner{color:var(--ai-muted);text-align:center;padding:.5rem;font-size:.8rem}.file-item{border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .35rem;font-size:.8rem;display:flex}.file-item:hover{background:var(--ai-elev)}.file-item label{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;overflow:hidden}.tab-checkboxes{flex-wrap:wrap;gap:.35rem;display:flex}.tab-checkbox{cursor:pointer;background:var(--ai-elev);border:1px solid var(--ai-line);border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .45rem;font-size:.75rem;display:inline-flex}.tab-checkbox input{margin:0}.quick-prompts{flex-wrap:wrap;gap:.35rem;display:flex}.quick-prompt-btn{font:inherit;background:var(--ai-bg);border:1px solid var(--ai-line);cursor:pointer;color:var(--ai-ink);border-radius:6px;padding:.3rem .55rem;font-size:.75rem;font-weight:600}.quick-prompt-btn:hover{border-color:var(--ai-accent);color:var(--ai-accent)}.ai-assist-history-panel{z-index:5;background:var(--ai-bg);flex-direction:column;display:flex;position:absolute;inset:0}.ai-assist-history-panel.hidden{display:none}.history-header{border-bottom:1px solid var(--ai-line);justify-content:space-between;align-items:center;padding:.7rem .85rem;font-size:.9rem;font-weight:700;display:flex}.history-header button{font:inherit;border:1px solid var(--ai-line);cursor:pointer;color:var(--ai-ink);background:0 0;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.history-list{flex-direction:column;flex:1;gap:.35rem;padding:.5rem;display:flex;overflow-y:auto}.history-item{text-align:left;border:1px solid var(--ai-line);background:var(--ai-elev);cursor:pointer;width:100%;font:inherit;color:var(--ai-ink);border-radius:8px;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;display:flex}.history-item:hover{border-color:var(--ai-muted)}.history-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.history-date{color:var(--ai-muted);flex-shrink:0;font-size:.72rem}.entity-highlight{background:color-mix(in srgb, var(--ai-accent) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ai-accent) 40%, transparent);border-radius:2px;padding:0 .1rem;position:relative}.entity-actions{vertical-align:middle;gap:.15rem;margin-left:.25rem;display:inline-flex}.entity-action-btn{font:inherit;border:1px solid var(--ai-line);background:var(--ai-bg);color:var(--ai-ink);cursor:pointer;border-radius:4px;padding:.05rem .3rem;font-size:.65rem;font-weight:700}.entity-action-btn:hover{border-color:var(--ai-accent);color:var(--ai-accent)}.proposal-card,.ai-tool-confirm-card{border:1px solid var(--ai-line);background:var(--ai-elev);border-radius:8px;margin-top:.5rem;padding:.55rem .65rem;font-size:.85rem}.proposal-card p{margin:.25rem 0}.ai-tool-confirm-btn{font:inherit;border:1px solid var(--ai-accent);background:var(--ai-accent);color:var(--ai-accent-ink);cursor:pointer;border-radius:6px;margin-top:.4rem;padding:.35rem .7rem;font-size:.8rem;font-weight:700}.ai-thinking-spinner{border:2px solid var(--ai-line);border-top-color:var(--ai-accent);vertical-align:-.1rem;border-radius:50%;width:.7rem;height:.7rem;margin-right:.4rem;animation:.7s linear infinite ai-spin;display:inline-block}@keyframes ai-spin{to{transform:rotate(360deg)}}.context-file-list .spinner:before{content:"";border:2px solid var(--ai-line);border-top-color:var(--ai-accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:.4rem;animation:.7s linear infinite ai-spin;display:inline-block}.ai-tool-confirmation-modal{z-index:12000;box-sizing:border-box;opacity:0;background:#0000008c;justify-content:center;align-items:center;padding:1rem;transition:opacity .15s;display:flex;position:fixed;inset:0}.ai-tool-confirmation-modal.visible{opacity:1}.ai-tool-confirmation-content{background:var(--ai-bg,#fffdf8);max-width:min(440px,100%);max-height:min(85vh,720px);color:var(--ai-ink,#1c1917);border:1px solid var(--ai-line,#d6d3d1);border-radius:12px;padding:1rem 1.1rem 1.1rem;font:14px/1.45 system-ui,Segoe UI,sans-serif;overflow:auto;box-shadow:0 20px 50px #00000059}body.dark-mode .ai-tool-confirmation-content{color:#f5f5f4;background:#1c1917;border-color:#44403c}.ai-tool-confirmation-header{align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.ai-tool-confirmation-header h3{margin:0;font-size:1.05rem}.ai-tool-details{margin:.5rem 0;font-size:.88rem}.ai-tool-detail-row{gap:.4rem;margin-bottom:.25rem;display:flex}.ai-tool-detail-row .detail-label{flex-shrink:0;font-weight:600}.ai-tool-warning{background:#c9a2271f;border:1px solid #c9a227;border-radius:8px;margin-top:.65rem;padding:.5rem .65rem;font-size:.82rem}.ai-tool-warning-destructive{background:#b91c1c1f;border-color:#b91c1c}.ai-tool-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.ai-tool-confirmation-actions .btn-cancel,.ai-tool-confirmation-actions .btn-approve{cursor:pointer;font:inherit;border-radius:8px;padding:.45rem .85rem}.ai-tool-confirmation-actions .btn-cancel{border:1px solid var(--ai-line,#d6d3d1);background:var(--ai-elev,#f5f2eb)}.ai-tool-confirmation-actions .btn-approve{background:var(--ai-ink,#1c1917);color:var(--ai-bg,#fafaf9);border:none;font-weight:600}@media (max-width:480px){.ai-assist-root,#ai-assist-container{bottom:.75rem;left:.75rem;right:.75rem}.ai-assist-window{width:100%;height:min(70vh,560px)}}.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}}.generator-page,.generator-form-container,.generator-layout{box-sizing:border-box;padding-top:72px}.generator-page{min-height:100vh;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem}.generator-form-container{max-width:1400px;margin:0 auto}.generator-layout{min-height:100vh;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}.entity-tabs,.entity-tab{scroll-margin-top:72px}.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{background:var(--primary-color);color:#fff;cursor:pointer;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%}}.lp{--lp-bg:var(--ch-paper,#f4f1ea);--lp-bg-elev:var(--ch-paper-elev,#fffdf8);--lp-ink:var(--ch-ink,#1c1917);--lp-muted:var(--ch-muted,#57534e);--lp-line:var(--ch-line,#d6d3d1);--lp-accent:var(--ch-accent,#2563eb);--lp-accent-ink:var(--ch-accent-ink,#fff);--lp-frame:#0c0a09;--lp-shadow:var(--ch-shadow,0 18px 50px #1c19171f);--lp-max:1080px;--lp-font:var(--ch-serif,Georgia, serif);--lp-sans:var(--ch-font,system-ui, sans-serif);background:var(--lp-bg);min-height:100vh;color:var(--lp-ink);font-family:var(--lp-sans);font-size:16px;line-height:1.55;overflow-x:hidden}.lp--dark{--lp-bg:var(--ch-paper,#121110);--lp-bg-elev:var(--ch-paper-elev,#1c1917);--lp-ink:var(--ch-ink,#f5f5f4);--lp-muted:var(--ch-muted,#a8a29e);--lp-line:var(--ch-line,#292524);--lp-accent:var(--ch-accent,#60a5fa);--lp-accent-ink:var(--ch-accent-ink,#0c0a09);--lp-frame:#0c0a09;--lp-shadow:var(--ch-shadow,0 22px 60px #00000073)}.lp-top{max-width:var(--lp-max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.1rem 1.25rem;display:flex}.lp-brand{align-items:center;gap:.6rem;display:flex}.lp-brand-mark{border-radius:6px;display:block}.lp-brand-name{font-family:var(--lp-font);letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.lp-top-actions{align-items:center;gap:.6rem;display:flex}.lp-theme{font:inherit;color:var(--lp-muted);border:1px solid var(--lp-line);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem .75rem;font-size:.85rem}.lp-theme:hover{color:var(--lp-ink);border-color:var(--lp-muted)}.lp-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .95rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.lp-btn--lg{padding:.8rem 1.25rem;font-size:1rem}.lp-btn--primary{background:var(--lp-accent);color:var(--lp-accent-ink);border-color:var(--lp-accent)}.lp-btn--primary:hover{filter:brightness(1.05)}.lp-btn--ghost{color:var(--lp-ink);border-color:var(--lp-line);background:0 0}.lp-btn--ghost:hover{border-color:var(--lp-muted)}.lp-ms-icon{flex-shrink:0;width:18px;height:18px}.lp-hero{max-width:var(--lp-max);margin:0 auto;padding:2.5rem 1.25rem 1.5rem}.lp-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--lp-muted);margin:0 0 .85rem;font-size:.8rem;font-weight:600}.lp-title{font-family:var(--lp-font);letter-spacing:-.03em;color:var(--lp-ink);margin:0 0 1rem;font-size:clamp(2.1rem,5vw,3.25rem);font-weight:600;line-height:1.12}.lp-lede{max-width:36rem;color:var(--lp-muted);margin:0 0 1.5rem;font-size:1.1rem}.lp-cta-row{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;display:flex}.lp-fine{color:var(--lp-muted);margin:0;font-size:.88rem}.lp-showcase{max-width:var(--lp-max);margin:0 auto;padding:.5rem 1.25rem 3rem}.lp-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;display:flex}.lp-tab{font:inherit;color:var(--lp-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.4rem .85rem;font-size:.88rem;font-weight:600}.lp-tab:hover{color:var(--lp-ink)}.lp-tab.is-active{color:var(--lp-ink);border-color:var(--lp-line);background:var(--lp-bg-elev)}.lp-frame{background:var(--lp-frame);border:1px solid var(--lp-line);box-shadow:var(--lp-shadow);border-radius:10px;margin:0;overflow:hidden}.lp-frame-hit{cursor:zoom-in;background:#0c0a09;border:0;width:100%;padding:0;display:block}.lp-frame-hit img{aspect-ratio:2000/1040;object-fit:cover;object-position:top center;width:100%;height:auto;display:block}.lp-frame-cap{background:var(--lp-bg-elev);border-top:1px solid var(--lp-line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:.75rem;padding:.85rem 1rem;font-size:.9rem;display:grid}.lp-frame-label{color:var(--lp-ink);font-weight:700}.lp-frame-desc{color:var(--lp-muted)}.lp-frame-hint{color:var(--lp-muted);white-space:nowrap;font-size:.8rem}.lp-shot-nav{justify-content:center;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.lp-shot-count{color:var(--lp-muted);font-variant-numeric:tabular-nums;text-align:center;min-width:3.5rem;font-size:.85rem}.lp-section{max-width:var(--lp-max);border-top:1px solid var(--lp-line);margin:0 auto;padding:2.5rem 1.25rem}.lp-h2{font-family:var(--lp-font);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:600}.lp-h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:700}.lp-section-lede{max-width:38rem;color:var(--lp-muted);margin:0 0 1.5rem}.lp-audience{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.lp-audience-card{background:var(--lp-bg-elev);border:1px solid var(--lp-line);border-radius:10px;padding:1.15rem 1.2rem}.lp-audience-card p{color:var(--lp-muted);margin:0;font-size:.95rem}.lp-tools{border:1px solid var(--lp-line);background:var(--lp-bg-elev);border-radius:10px;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.lp-tools li{border-bottom:1px solid var(--lp-line);gap:.2rem;padding:1rem 1.15rem;display:grid}.lp-tools li:nth-child(odd){border-right:1px solid var(--lp-line)}.lp-tools li:nth-last-child(-n+2){border-bottom:none}.lp-tools strong{font-size:.95rem}.lp-tools span{color:var(--lp-muted);font-size:.9rem}.lp-privacy p{max-width:40rem;color:var(--lp-muted);margin:0 0 1rem}.lp-privacy em{color:var(--lp-ink);font-style:italic}.lp-privacy-list{color:var(--lp-muted);margin:0;padding-left:1.15rem}.lp-privacy-list li{margin-bottom:.25rem}.lp-close{text-align:center;padding-bottom:3.5rem}.lp-close .lp-h2{margin-bottom:1.25rem}.lp-footer{border-top:1px solid var(--lp-line);text-align:center;color:var(--lp-muted);padding:1.25rem;font-size:.85rem}.lp-footer p{margin:0}.lp-lightbox{z-index:10000;background:#0c0a09eb;justify-content:center;align-items:center;padding:3rem 1rem 4rem;display:flex;position:fixed;inset:0}.lp-lightbox-img{object-fit:contain;border-radius:6px;width:auto;max-width:min(96vw,1400px);height:auto;max-height:82vh;box-shadow:0 20px 60px #00000080}.lp-lightbox-close{font:inherit;color:#f5f5f4;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;padding:.45rem .8rem;font-size:.9rem;font-weight:600;position:absolute;top:1rem;right:1rem}.lp-lightbox-nav{color:#fff;cursor:pointer;background:#00000059;border:1px solid #ffffff40;border-radius:8px;width:44px;height:44px;font-size:1.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lp-lightbox-nav--prev{left:1rem}.lp-lightbox-nav--next{right:1rem}.lp-lightbox-cap{color:#e7e5e4;text-align:center;max-width:90vw;margin:0;font-size:.95rem;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (max-width:800px){.lp-audience,.lp-tools{grid-template-columns:1fr}.lp-tools li:nth-child(odd){border-right:none}.lp-tools li:nth-last-child(-n+2){border-bottom:1px solid var(--lp-line)}.lp-tools li:last-child{border-bottom:none}.lp-frame-cap{grid-template-columns:1fr;gap:.25rem}.lp-frame-hint{display:none}.lp-cta-row{flex-direction:column;align-items:stretch}.lp-btn--lg{width:100%}}.landing-page{display:contents}.storyline-layout{height:100vh;box-sizing:border-box;height:100dvh;padding-top:var(--app-header-height,60px);background:var(--bg-primary,#1a1a2e);margin-top:0;display:flex;overflow:hidden}.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:auto;min-width:0;min-height:0;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:auto;min-height:0;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:var(--surface-color);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:var(--primary-color);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}.wiki-arc-section{background:var(--surface-color,#1e1e1e);border:1px solid var(--border-color,#3a3a3a);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.wiki-arc-toggle{border:none;border-bottom:1px solid var(--border-color,#3a3a3a);width:100%;color:var(--text-color,#e0e0e0);cursor:pointer;font:inherit;text-align:left;background:#4a9eff14;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.wiki-arc-toggle:hover{background:#4a9eff24}.wiki-arc-toggle-label{align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.wiki-arc-chevron{width:1rem;color:var(--accent-color,#4a9eff);display:inline-block}.wiki-arc-toggle-hint{color:var(--text-secondary,#888);font-size:.75rem}.wiki-arc-status{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#aaa);background:#ffffff14;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.wiki-arc-status--in_progress{color:#7ec0ff;background:#4a9eff33}.wiki-arc-status--completed{color:#6fdf7f;background:#2ea04333}.wiki-arc-status--abandoned{color:#f0a0a0;background:#c8505033}.wiki-arc-body{padding:.75rem .85rem 1rem}.wiki-arc-title-row,.wiki-arc-label-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.wiki-arc-title{color:var(--text-color,#e0e0e0);font-size:.95rem}.wiki-arc-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#888);font-size:.75rem;font-weight:600}.wiki-arc-brief{color:var(--text-color,#ddd);white-space:pre-wrap;margin:0 0 .75rem;font-size:.9rem;line-height:1.45}.wiki-arc-meta{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.wiki-arc-status-select{max-width:55%;font:inherit;border:1px solid var(--border-color,#444);background:var(--bg-color,#121212);color:var(--text-color,#e0e0e0);border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.wiki-arc-detail-toggle{width:100%;font:inherit;border:1px dashed var(--border-color,#444);color:var(--accent-color,#4a9eff);cursor:pointer;background:0 0;border-radius:4px;margin-bottom:.5rem;padding:.35rem .5rem;font-size:.8rem}.wiki-arc-detail-toggle:hover{background:#4a9eff14}.wiki-arc-detailed{font:inherit;white-space:pre-wrap;word-break:break-word;color:var(--text-color,#ccc);background:#00000040;border-radius:4px;margin:0;padding:.55rem .65rem;font-size:.85rem;line-height:1.45}.wiki-arc-legacy-hint{color:var(--text-secondary,#888);margin:.65rem 0 0;font-size:.75rem;font-style:italic}.wiki-grid-card{border-radius:var(--ch-radius,8px);box-shadow:none;border:1px solid var(--border-color)}.wiki-grid-card:hover{border-color:var(--ch-line-strong,var(--border-color));transform:none}.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{background:var(--primary-color);color:#fff;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{background:var(--primary-color);color:#fff;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:var(--primary-color);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:var(--primary-color)}.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:100vh;box-sizing:border-box;height:100dvh;padding-top:var(--app-header-height,var(--header-height,60px));background:var(--bg-primary,#1a1a2e);margin-top:0;display:flex;overflow:hidden}.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}}.maps-sidebar{background:var(--bg-secondary,#16213e);border-right:1px solid var(--border-color,#2a2a4a);box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:12px;width:260px;min-width:220px;max-width:300px;padding:12px;display:flex;overflow:hidden auto}.maps-sidebar>.btn{align-self:flex-start}.maps-map-list,.maps-pin-palette,.maps-drawing-tools{border-top:1px solid var(--border-color,#2a2a4a);padding-top:10px}.maps-map-list h4,.maps-pin-palette h4,.maps-drawing-tools h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#a0a0a0);margin:0 0 8px;font-size:.75rem;font-weight:600}.maps-list{max-height:180px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.maps-list-item{border-radius:6px;align-items:center;gap:4px;margin-bottom:2px;padding:4px 2px;display:flex}.maps-list-item.active{background:var(--accent-color-dim,#4a9eff33);border-left:3px solid var(--accent-color,#4a9eff);padding-left:6px}.maps-map-btn{text-align:left;min-width:0;color:var(--text-primary,#e0e0e0);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;flex:auto;padding:6px 8px;font-size:.9rem;font-weight:500;overflow:hidden}.maps-map-btn:hover{background:var(--bg-hover,#2a2a5a)}.maps-map-action{width:28px;height:28px;color:var(--text-secondary,#a0a0a0);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:4px;flex-shrink:0;font-size:.95rem;line-height:1}.maps-list-item:hover .maps-map-action,.maps-list-item.active .maps-map-action{opacity:1}.maps-map-action:hover{background:var(--bg-hover,#2a2a5a);color:#fff}.maps-theme-select{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);width:100%;color:var(--text-primary,#e0e0e0);border-radius:4px;margin-bottom:8px;padding:6px 8px;font-size:.85rem}.maps-icon-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.maps-icon-item{aspect-ratio:1;background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:36px;font-size:1.25rem;transition:all .15s;display:flex}.maps-icon-item:hover{background:var(--bg-hover,#2a2a5a);border-color:var(--accent-color,#4a9eff);transform:scale(1.06)}.maps-icon-item:active{cursor:grabbing}.maps-icon-custom img{object-fit:contain;pointer-events:none;width:24px;height:24px}.maps-drawing-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.maps-drawing-tools h4{width:100%}.maps-tool-btn{min-width:0;background:var(--bg-tertiary,#1e1e3f)!important;border:1px solid var(--border-color,#2a2a4a)!important;color:var(--text-primary,#e0e0e0)!important;border-radius:6px!important;padding:6px 10px!important}.maps-tool-btn:hover,.maps-tool-btn.active{background:var(--accent-color-dim,#4a9eff40)!important;border-color:var(--accent-color,#4a9eff)!important;color:#fff!important}.maps-drawing-tools input[type=color]{border:1px solid var(--border-color,#2a2a4a);cursor:pointer;background:0 0;border-radius:6px;width:36px;height:32px;padding:0}.maps-toolbar .btn,.maps-header .btn{background:var(--bg-tertiary,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);color:var(--text-primary,#e0e0e0)}.maps-toolbar .btn-primary,.maps-header .btn-primary{background:var(--accent-color,#4a9eff);border-color:var(--accent-color,#4a9eff);color:#fff}.maps-toolbar .btn:hover,.maps-header .btn:hover{border-color:var(--accent-color,#4a9eff)}.maps-locked{background:#e53e3e40!important;border-color:#e53e3e!important}.maps-content{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.maps-main{flex:auto;min-height:0}.maps-loading{color:var(--text-secondary,#a0a0a0);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.maps-empty{color:var(--text-secondary,#a0a0a0);margin:8px 0 0;font-size:.85rem;font-style:italic;line-height:1.4}.maps-empty-state{z-index:5;text-align:center;color:var(--text-primary,#e0e0e0);pointer-events:auto;background:#0f0f1ed1;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.maps-empty-state--overlay{background:#0f0f1ec7}.maps-main>.maps-canvas-wrapper{z-index:1}.maps-main>.maps-empty-state{z-index:6}.maps-empty-state__title{margin:0;font-size:1.15rem;font-weight:600}.maps-empty-state__hint{max-width:360px;color:var(--text-secondary,#a0a0a0);margin:0 0 8px;font-size:.9rem;line-height:1.45}body.dark-mode .maps-sidebar{background:#16213e;border-right-color:#2a2a4a}@media (max-width:768px){.maps-sidebar{border-right:none;border-bottom:1px solid var(--border-color,#2a2a4a);width:100%;max-width:none;max-height:42vh}.maps-icon-grid{grid-template-columns:repeat(6,1fr)}}.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{background:var(--primary-color);cursor:pointer;-webkit-user-select:none;user-select:none;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:var(--primary-color);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:1200;background:#428bfd;border:none;border-radius:0 4px 4px 0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:flex;position:fixed;top:120px;left:0;box-shadow:2px 2px 8px #00000040}.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:var(--primary-color);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{min-height:100vh;box-sizing:border-box;min-height:100dvh;padding-top:var(--app-header-height,60px);background:var(--bg-color,#f0f2f5);color:var(--text-color,#262626);flex-direction:row;display:flex;overflow:hidden auto}.timeline-sidebar-nav{width:250px;min-width:250px;height:auto;min-height:calc(100vh - var(--app-header-height,60px));min-height:calc(100dvh - var(--app-header-height,60px));background:var(--surface-color,#fff);border-right:1px solid var(--border-color,#d9d9d9);max-height:none;top:var(--app-header-height,60px);flex-direction:column;flex-shrink:0;align-self:flex-start;display:flex;position:sticky;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}.ai-save-indicator-hidden,.maps-file-input-hidden,.portrait-placeholder-hidden{display: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;z-index:1200;background:#428bfd;border:none;border-radius:0 4px 4px 0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:flex;position:fixed;top:120px;left:0;box-shadow:2px 2px 8px #00000040}.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}.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{background:var(--primary-color);color:#fff;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:var(--primary-color);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-remember-key{cursor:pointer;align-items:flex-start;gap:.55rem;margin-top:.75rem;font-size:.85rem;line-height:1.4;display:flex}.settings-ai-remember-key .setting-checkbox{flex-shrink:0;margin-top:.2rem}.settings-ai-remember-key-text{flex-direction:column;gap:.25rem;display:flex}.settings-ai-remember-key-title{color:var(--text-primary,#1a1a1a);font-weight:650}body.dark-mode .settings-ai-remember-key-title{color:var(--text-primary,#f0f0f0)}.settings-ai-remember-key-hint{color:var(--text-secondary,#555);font-size:.8rem}body.dark-mode .settings-ai-remember-key-hint{color:var(--text-secondary,#b0b0b0)}.settings-ai-privacy-note{border:1px solid var(--border-color,#d0d5dd);background:var(--surface-muted,#0000000a);color:var(--text-secondary,#444);border-radius:8px;margin-top:.75rem;padding:.65rem .75rem;font-size:.82rem;line-height:1.45}body.dark-mode .settings-ai-privacy-note{border-color:var(--border-color,#3a3a3a);color:var(--text-secondary,#c8c8c8);background:#ffffff0a}.settings-ai-privacy-note-title{color:var(--text-primary,#1a1a1a);margin:0 0 .35rem;font-size:.85rem;font-weight:650}body.dark-mode .settings-ai-privacy-note-title{color:var(--text-primary,#f0f0f0)}.settings-ai-privacy-note-body{margin:0 0 .4rem}.settings-ai-privacy-note-list{margin:0 0 .45rem 1.1rem;padding:0}.settings-ai-privacy-note-list li{margin-bottom:.2rem}.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{background:var(--primary-color);color:#fff;text-align:center;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:var(--primary-color)}.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}.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}.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}}.command-palette-overlay,.cmd-palette-backdrop{background:#0c0a0973}.command-palette,.cmd-palette,.command-palette-dialog{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--ch-radius,8px);box-shadow:var(--ch-shadow);font-family:var(--ch-font,system-ui, sans-serif)}.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}}.rel-layout{height:100vh;box-sizing:border-box;height:100dvh;padding-top:var(--app-header-height,60px);background:var(--bg-color,#121212);flex-direction:column;display:flex;overflow:hidden}.rel-header{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 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,.rel-body{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.rel-canvas-container{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.rel-canvas-container canvas,.rel-body>canvas.rel-canvas,canvas.rel-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.rel-body>canvas.rel-canvas{flex:auto;min-width:0;min-height:0}.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}}.toolbar,.tool-bar,.canvas-toolbar{background:var(--surface-color);border-color:var(--border-color)}.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}}.page-header,.wiki-page-header,.generator-header,.settings-header,.health-header{border-bottom:1px solid var(--border-color);background:var(--surface-color)}.btn-primary,button.primary,.primary-btn{background:var(--primary-color)!important;border-color:var(--primary-color)!important;box-shadow:none!important;background-image:none!important}.adventure-layout{max-width:1100px;padding:calc(var(--app-header-height,60px) + 16px) 20px 48px;box-sizing:border-box;color:var(--text-color,inherit);margin:0 auto}.adventure-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.adventure-header-left{flex-direction:column;gap:6px;display:flex}.adventure-header h1{margin:0;font-size:1.5rem}.adventure-header-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adventure-badge{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}.adventure-badge--sandbox{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.adventure-badge--offline{color:#92400e;background:#fffbeb;border-color:#fcd34d}.adventure-badge--ai{color:#166534;background:#f0fdf4;border-color:#86efac}body.dark-mode .adventure-badge--sandbox{color:#bfdbfe;background:#1e3a8a73;border-color:#60a5fa8c}body.dark-mode .adventure-badge--offline{color:#fde68a;background:#78350f66;border-color:#fbbf2480}body.dark-mode .adventure-badge--ai{color:#bbf7d0;background:#14532d73;border-color:#4ade8080}.adventure-lede{opacity:.9;max-width:70ch;margin:0 0 16px;line-height:1.5}.adventure-alert{border-radius:8px;margin-bottom:12px;padding:10px 14px}.adventure-alert--error{background:#ef444426;border:1px solid #ef4444}.adventure-alert--info{background:#3b82f61f;border:1px solid #3b82f6}.adventure-setup h2,.adventure-play h2,.adventure-rail h3{margin:1.25rem 0 .5rem;font-size:1.1rem}.adventure-templates{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:12px 0 16px;display:grid}.adventure-template-card{text-align:left;border:1px solid var(--border-color,#ccc);background:var(--bg-secondary,#fafafa);cursor:pointer;color:inherit;font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.adventure-template-card.is-selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f659}.adventure-template-genre{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:.7rem}.adventure-template-title{font-weight:600}.adventure-template-pitch{opacity:.85;font-size:.85rem;line-height:1.35}.adventure-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.adventure-play-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}@media (max-width:800px){.adventure-play-grid{grid-template-columns:1fr}}.adventure-turn-bar{opacity:.9;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.9rem;display:flex}.adventure-scene{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-color,#ddd);border-radius:12px;min-height:120px;margin-bottom:16px;padding:16px 18px;line-height:1.55}.adventure-scene p{margin:0 0 .75em}.adventure-scene p:last-child{margin-bottom:0}.adventure-choices{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.adventure-choice-btn{text-align:left;border:1px solid var(--border-color,#ccc);background:var(--bg-color,#fff);color:inherit;font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.adventure-choice-btn:hover:not(:disabled){border-color:#3b82f6}.adventure-choice-btn:disabled{opacity:.55;cursor:not-allowed}.adventure-choice-id{text-transform:uppercase;background:#3b82f633;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;min-width:1.5rem;max-width:1.5rem;height:1.5rem;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.adventure-choice-btn .adventure-choice-label{flex:1;min-width:0}.adventure-freetext label{margin-bottom:6px;font-size:.9rem;display:block}.adventure-freetext textarea{box-sizing:border-box;border:1px solid var(--border-color,#ccc);width:100%;font:inherit;color:inherit;background:var(--bg-color,#fff);resize:vertical;border-radius:8px;margin-bottom:8px;padding:10px}.adventure-rail{border:1px solid var(--border-color,#ddd);background:var(--bg-secondary,#fafafa);border-radius:12px;padding:12px 14px;font-size:.9rem}.adventure-rail-list{margin:0;padding:0;list-style:none}.adventure-rail-list li{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.adventure-path{max-height:200px;margin:0 0 12px;padding-left:1.2rem;overflow:auto}.adventure-path--clickable{padding-left:0;list-style:none}.adventure-path .muted,.adventure-path-empty{opacity:.6;margin-left:0;list-style:none}.adventure-path-hint{opacity:.8;margin:0 0 8px;font-size:.8rem;line-height:1.35}.adventure-path-btn{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:.85rem;display:block}.adventure-path-btn:hover:not(:disabled){background:#3b82f61f;border-color:#3b82f680}.adventure-path-btn.is-current,.adventure-path-btn:disabled.is-current{opacity:1;cursor:default;border-color:#3b82f6}.adventure-path-btn:disabled:not(.is-current){opacity:.55;cursor:not-allowed}.adventure-path-select-label{margin-bottom:12px;display:block}.adventure-path-select{box-sizing:border-box;border:1px solid var(--border-color,#ccc);background:var(--bg-color,#fff);width:100%;max-width:100%;color:inherit;font:inherit;border-radius:8px;padding:8px 10px;font-size:.85rem}.adventure-path-select[size]{max-height:180px;overflow-y:auto}.adventure-flags-wrap{word-break:break-word;overflow-wrap:anywhere;font-size:.8rem}.adventure-turn-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adventure-branches{border-top:1px solid var(--border-color,#333);margin:12px 0 8px;padding-top:10px}.adventure-branch-list{flex-direction:column;gap:6px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.adventure-branch-btn{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:#7c3aed24;border:1px solid #a78bfa73;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.adventure-branch-btn:hover:not(:disabled){border-color:#a78bfa}.adventure-branch-btn:disabled{opacity:.55;cursor:not-allowed}.adventure-branch-label{font-size:.85rem;font-weight:600;line-height:1.3}.adventure-branch-meta{opacity:.85;font-size:.75rem}.adventure-ended{margin-top:12px}.adventure-ended-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.adventure-ended-type{opacity:.85;font-size:.9rem}.adventure-consequences{background:#78350f59;border:1px solid #fbbf2473;border-radius:12px;margin-top:12px;padding:14px 16px}.adventure-consequences h3{margin:0 0 8px;font-size:1.05rem}.adventure-consequences p{margin:0 0 .7em;font-size:.95rem;line-height:1.5}.adventure-consequences p:last-child{margin-bottom:0}.adventure-results{background:#1e3a8a47;border:1px solid #60a5fa73;border-radius:12px;margin-top:12px;padding:14px 16px}.adventure-results h3{margin:0 0 6px;font-size:1.05rem}.adventure-results h4{margin:12px 0 6px;font-size:.9rem}.adventure-results-meta{opacity:.9;margin:0 0 10px;font-size:.85rem}.adventure-results-epilogue p{margin:0 0 .75em;font-size:.95rem;line-height:1.5}.adventure-results-path ol{max-height:160px;margin:0;padding-left:1.2rem;font-size:.85rem;overflow-y:auto}.adventure-timeline{margin-top:4px}.adventure-timeline-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:520px){.adventure-rail .adventure-timeline-grid{grid-template-columns:1fr}}.adventure-timeline-col{border:1px solid var(--border-color,#333);background:#0f172a66;border-radius:10px;padding:10px}.adventure-timeline-col h4{margin:0 0 6px;font-size:.9rem}.adventure-timeline-col--branches{border-color:#a78bfa66}.adventure-branch-tip{opacity:.8;font-size:.75rem;line-height:1.3}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adventure-rail-actions{flex-direction:column;gap:8px;display:flex}.adventure-hint,.adventure-pitch,.adventure-warn{opacity:.9;font-size:.9rem;line-height:1.4}.adventure-warn{color:#b45309}.adventure-link-btn{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.adventure-promote{border-top:1px solid var(--border-color,#ddd);margin-top:12px;padding-top:12px}.adventure-cap-msg{color:#b91c1c;font-size:.9rem}.adventure-loading{opacity:.8;padding:24px}.adventure-locked{max-width:52ch;padding:12px 0 24px;line-height:1.5}.adventure-locked a{color:#3b82f6}body.dark-mode .adventure-locked a{color:#93c5fd}.adventure-continue{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.adventure-continue-meta{opacity:.9;margin:0;font-size:.9rem}.adventure-recent{margin-top:1.5rem}.adventure-recent-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.adventure-resume-card{text-align:left;border:1px solid var(--border-color,#ccc);background:var(--bg-secondary,#fafafa);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.adventure-resume-card:hover:not(:disabled){border-color:#3b82f6}.adventure-resume-title{font-weight:600}.adventure-resume-meta{opacity:.8;font-size:.85rem}body.dark-mode .adventure-resume-card{background:#16213ea6;border-color:#94a3b840}.adventure-world-block{border:1px solid var(--border-color,#ddd);background:var(--bg-secondary,#fafafa);border-radius:12px;margin:1.25rem 0 1.5rem;padding:14px 16px}body.dark-mode .adventure-world-block{background:#16213ea6;border-color:#94a3b840}.adventure-world-options{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px;display:grid}.adventure-world-option{width:100%}body.dark-mode .adventure-scene,body.dark-mode .adventure-rail,body.dark-mode .adventure-template-card{background:var(--bg-secondary,#16213e)}body.dark-mode{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dashboard-grid .stat-card>span,.settings-ai-hero,.settings-section-header.gradient,.wiki-entity-header .entity-edit-btn,.generator-tabs .tab-btn.active,.quick-action-btn.primary{background-image:none}body,#app{background:var(--bg-color);color:var(--text-color)}
