*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--ui-bg);color:var(--ui-fg);min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1 1 auto;display:flex;flex-direction:column}a{color:var(--ui-link);text-decoration:none}a:hover{color:var(--ui-link-hover)}:root{--ui-bg:#ffffff;--ui-fg:#141618;--ui-muted:#707070;--ui-surface:#f3f3f3;--ui-surface-2:#eeeeee;--ui-surface-3:#e8e8e8;--ui-border:#dfdfdf;--ui-border-light:#e5e7eb;--ui-accent:#141618;--ui-accent-hover:#2a2c2e;--ui-on-accent:#ffffff;--ui-link:#0f6fff;--ui-link-hover:#0056cc;--ui-code-bg:var(--ui-surface);--ui-code-fg:var(--ui-fg);--ui-code-block-bg:var(--ui-surface-2);--ui-code-block-fg:var(--ui-fg);--ui-shadow-1:0 1px 2px rgba(0,0,0,0.05);--ui-shadow-2:0 4px 12px rgba(0,0,0,0.08);--ui-shadow-3:0 8px 24px rgba(0,0,0,0.12);--ui-backdrop:rgba(0,0,0,0.5);--ui-diff-insert-bg:rgba(25,135,84,0.18);--ui-diff-insert-fg:#0f5132;--ui-diff-delete-bg:rgba(220,53,69,0.18);--ui-diff-delete-fg:#842029;--ui-radius-sm:6px;--ui-radius-md:8px;--ui-radius-lg:12px;--ui-radius-xl:16px;--bs-body-bg:var(--ui-bg);--bs-body-color:var(--ui-fg);--bs-emphasis-color:var(--ui-fg);--bs-secondary-color:var(--ui-muted);--bs-tertiary-color:var(--ui-muted);--bs-border-color:var(--ui-border);--bs-border-color-translucent:rgba(0,0,0,0.15);--bs-primary:var(--ui-accent);--bs-primary-rgb:20,22,24;--bs-primary-text-emphasis:var(--ui-fg);--bs-primary-bg-subtle:var(--ui-surface);--bs-primary-border-subtle:var(--ui-border);--bs-link-color:var(--ui-link);--bs-link-hover-color:var(--ui-link-hover);--bs-secondary-bg:var(--ui-surface);--bs-tertiary-bg:var(--ui-surface-2);--bs-card-bg:var(--ui-bg);--bs-dropdown-bg:var(--ui-bg);--bs-dropdown-link-color:var(--ui-fg);--bs-btn-bg:var(--ui-surface-2);--bs-btn-border-color:var(--ui-border)}[data-bs-theme=dark]{--ui-bg:#0c0c0e;--ui-fg:#eeeeee;--ui-muted:#9f9f9f;--ui-surface:#171717;--ui-surface-2:#252626;--ui-surface-3:#2f2f30;--ui-border:#3f3f3f;--ui-border-light:#252626;--ui-accent:#9fa0a0;--ui-accent-hover:#b0b1b1;--ui-on-accent:#0c0c0e;--ui-link:#4da6ff;--ui-link-hover:#80c0ff;--ui-code-bg:var(--ui-surface-2);--ui-code-block-bg:#1e1e1e;--ui-code-block-fg:#d4d4d4;--ui-shadow-1:0 1px 2px rgba(0,0,0,0.2);--ui-shadow-2:0 4px 12px rgba(0,0,0,0.3);--ui-shadow-3:0 8px 24px rgba(0,0,0,0.4);--ui-backdrop:rgba(0,0,0,0.7);--bs-body-bg:var(--ui-bg);--bs-body-color:var(--ui-fg);--bs-emphasis-color:var(--ui-fg);--bs-secondary-color:var(--ui-muted);--bs-tertiary-color:var(--ui-muted);--bs-border-color:var(--ui-border);--bs-border-color-translucent:rgba(255,255,255,0.1);--bs-primary:var(--ui-accent);--bs-primary-rgb:159,160,160;--bs-primary-text-emphasis:var(--ui-fg);--bs-primary-bg-subtle:var(--ui-surface);--bs-primary-border-subtle:var(--ui-border);--bs-link-color:var(--ui-link);--bs-link-hover-color:var(--ui-link-hover);--bs-secondary-bg:var(--ui-surface);--bs-tertiary-bg:var(--ui-surface-2);--bs-card-bg:var(--ui-surface);--bs-dropdown-bg:var(--ui-surface);--bs-dropdown-link-color:var(--ui-fg);--bs-btn-bg:var(--ui-surface-2);--bs-btn-border-color:var(--ui-border)}.navbar.navbar-theme{background-color:var(--ui-bg)!important;border-bottom:1px solid var(--ui-border-light);box-shadow:var(--ui-shadow-1);--bs-navbar-color:var(--ui-fg);--bs-navbar-hover-color:var(--ui-fg);--bs-navbar-active-color:var(--ui-fg);--bs-navbar-brand-color:var(--ui-fg);--bs-navbar-brand-hover-color:var(--ui-fg);--bs-navbar-disabled-color:var(--ui-muted);padding-top:1rem;padding-bottom:1rem}.app-navbar{z-index:1030;backdrop-filter:blur(8px);background-color:rgba(var(--ui-bg-rgb),.95)}.navbar.navbar-theme .nav-link,.navbar.navbar-theme .navbar-brand{color:var(--ui-fg)!important;font-weight:500;padding:.625rem 1rem;border-radius:var(--ui-radius-md);transition:all .2s ease;font-size:.9375rem}.navbar.navbar-theme .nav-link:hover,.navbar.navbar-theme .navbar-brand:hover{background-color:var(--ui-surface);color:var(--ui-fg)!important}.navbar.navbar-theme .nav-link.active{color:var(--ui-fg)!important;font-weight:600;background-color:var(--ui-surface-2);text-decoration:none}.navbar.navbar-theme .nav-link:focus-visible{outline:2px solid var(--ui-link);outline-offset:2px}.navbar.navbar-theme .navbar-brand{font-weight:700;font-size:1.125rem}.navbar.navbar-theme .dropdown-menu{background-color:var(--ui-bg);color:var(--ui-fg);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-3);padding:.5rem;margin-top:.5rem;min-width:200px}.navbar.navbar-theme .dropdown-item{color:var(--ui-fg);padding:.625rem 1rem;border-radius:var(--ui-radius-sm);transition:all .2s ease;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.navbar.navbar-theme .dropdown-item:focus,.navbar.navbar-theme .dropdown-item:hover{background-color:var(--ui-surface);color:var(--ui-fg)}.navbar.navbar-theme .dropdown-item.active,.navbar.navbar-theme .dropdown-item:active{background-color:var(--ui-accent);color:var(--ui-on-accent)}.navbar.navbar-theme .dropdown-item:focus-visible{outline:2px solid var(--ui-link);outline-offset:-2px}.navbar.navbar-theme .dropdown-divider{border-color:var(--ui-border-light);margin:.5rem 0}.navbar.navbar-theme .dropdown-header{color:var(--ui-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem}.navbar.navbar-theme .btn-link{border-radius:var(--ui-radius-sm);padding:.5rem .75rem;font-size:.9375rem}.navbar.navbar-theme .btn-link:hover{background-color:var(--ui-surface);text-decoration:none;transform:translateY(-1px);box-shadow:var(--ui-shadow-1)}.navbar.navbar-theme .navbar-toggler{border-color:var(--ui-border);color:var(--ui-fg);padding:.5rem}.navbar.navbar-theme .navbar-toggler:hover{background-color:var(--ui-surface);border-color:var(--ui-muted)}.btn{font-weight:500;padding:.625rem 1.25rem;border-radius:var(--ui-radius-md);transition:all .2s ease;border-width:1px;font-size:.9375rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-sm{padding:.375rem .875rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.0625rem}.btn-primary{background-color:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}.btn-primary:hover:not(:disabled){background-color:var(--ui-accent-hover);border-color:var(--ui-accent-hover);transform:translateY(-1px);box-shadow:var(--ui-shadow-2);color:var(--ui-on-accent)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--ui-shadow-1)}.btn-primary:focus-visible:not(:disabled){box-shadow:0 0 0 3px rgba(20,22,24,.2)}.btn-outline-primary{color:var(--ui-accent);border-color:var(--ui-accent);background-color:transparent}.btn-outline-primary:hover:not(:disabled){background-color:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);transform:translateY(-1px);box-shadow:var(--ui-shadow-2)}.btn-outline-secondary{color:var(--ui-fg);border-color:var(--ui-border);background-color:transparent}.btn-outline-secondary:hover:not(:disabled),.btn-secondary{background-color:var(--ui-surface-2);border-color:var(--ui-border);color:var(--ui-fg)}.btn-secondary:hover:not(:disabled){background-color:var(--ui-surface-3);transform:translateY(-1px);box-shadow:var(--ui-shadow-1)}.btn-light,.btn-secondary:hover:not(:disabled){border-color:var(--ui-border);color:var(--ui-fg)}.btn-light{background-color:var(--ui-bg)}.btn-light:hover:not(:disabled){background-color:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-fg)}.btn-dark{background-color:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}.btn-dark:hover:not(:disabled){background-color:var(--ui-accent-hover);border-color:var(--ui-accent-hover);transform:translateY(-1px);box-shadow:var(--ui-shadow-2);color:var(--ui-on-accent)}.btn-link{color:var(--ui-link);text-decoration:none;font-weight:500;padding:.5rem .75rem}.btn-link:hover:not(:disabled){color:var(--ui-link-hover);text-decoration:underline;background-color:transparent;transform:none;box-shadow:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible:not(:disabled){outline:2px solid var(--ui-link);outline-offset:2px}.card{background-color:var(--ui-bg);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-1);transition:all .25s ease;overflow:hidden}.card:hover{box-shadow:var(--ui-shadow-3);transform:translateY(-2px);border-color:var(--ui-muted)}.card-clickable{cursor:pointer}.card-header{background-color:var(--ui-surface);border-bottom:1px solid var(--ui-border-light);font-weight:600;padding:1rem 1.5rem;color:var(--ui-fg)}.card-body{padding:1.5rem}.card-footer{background-color:var(--ui-surface);border-top:1px solid var(--ui-border-light);padding:1rem 1.5rem}.card-title{font-weight:600;color:var(--ui-fg);margin-bottom:.75rem;font-size:1.25rem}.card-subtitle{font-weight:500;color:var(--ui-muted);margin-bottom:.75rem;font-size:.9375rem}.card-text{color:var(--ui-muted);line-height:1.7;margin-bottom:0}.card-link{color:var(--ui-link);text-decoration:none;font-weight:500}.card-link:hover{color:var(--ui-link-hover);text-decoration:underline}.card>.list-group:last-child{border-bottom:none;border-bottom-left-radius:var(--ui-radius-lg);border-bottom-right-radius:var(--ui-radius-lg)}.card-img-top{border-top-left-radius:var(--ui-radius-lg);border-top-right-radius:var(--ui-radius-lg)}.form-control,.form-select{background-color:var(--ui-bg);border-color:var(--ui-border);color:var(--ui-fg);border-radius:var(--ui-radius-md);padding:.625rem .875rem;transition:all .2s ease;font-size:.9375rem}.form-control:focus,.form-select:focus{background-color:var(--ui-bg);border-color:var(--ui-accent);box-shadow:0 0 0 3px rgba(20,22,24,.1);color:var(--ui-fg)}.form-control:hover,.form-select:hover{border-color:var(--ui-muted)}.form-control::-moz-placeholder{color:var(--ui-muted)}.form-control::placeholder{color:var(--ui-muted)}.form-label{font-weight:500;color:var(--ui-fg);margin-bottom:.5rem;font-size:.9375rem}.form-check-input{border-color:var(--ui-border);background-color:var(--ui-bg);width:1.1em;height:1.1em;cursor:pointer}.form-check-input:checked{background-color:var(--ui-accent);border-color:var(--ui-accent)}.form-check-input:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px rgba(20,22,24,.1)}.form-check-input:hover{border-color:var(--ui-muted)}.form-check{cursor:pointer}.form-check-label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-text{color:var(--ui-muted);font-size:.875rem}.input-group-text{background-color:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-fg)}.input-group .form-control:focus,.input-group .form-select:focus{z-index:3}.modal-content{background-color:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-3);color:var(--ui-fg)}.modal-header{border-bottom:1px solid var(--ui-border-light);padding:1.25rem}.modal-footer{border-top:1px solid var(--ui-border-light);background-color:var(--ui-surface)}.modal-body,.modal-footer{padding:1.25rem}.modal-title{font-weight:600}.app-modal-backdrop{background-color:var(--ui-backdrop);position:fixed;top:0;left:0;right:0;bottom:0;z-index:1055}.app-modal-backdrop .modal-dialog{position:relative;z-index:1056;max-width:800px;width:calc(100% - 2rem)}.list-group{background-color:transparent;border-radius:var(--ui-radius-md)}.list-group-item{background-color:var(--ui-bg);border-color:var(--ui-border-light);color:var(--ui-fg);padding:.75rem 1rem;transition:all .2s ease;border-left:none;border-right:none}.list-group-item:first-child{border-top-left-radius:var(--ui-radius-md);border-top-right-radius:var(--ui-radius-md)}.list-group-item:last-child{border-bottom-left-radius:var(--ui-radius-md);border-bottom-right-radius:var(--ui-radius-md)}.list-group-item:hover{background-color:var(--ui-surface);border-color:var(--ui-border-light)}.list-group-item:focus-visible{background-color:var(--ui-surface-2);outline:2px solid var(--ui-link);outline-offset:-2px}.list-group-item-action{cursor:pointer}.list-group-item-action:hover{background-color:var(--ui-surface)}.list-group-item.active{background-color:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);font-weight:500}.list-group-item.active:hover{background-color:var(--ui-accent-hover);border-color:var(--ui-accent-hover);color:var(--ui-on-accent)}.list-group-item.disabled{color:var(--ui-muted);pointer-events:none;background-color:var(--ui-surface)}.admin-drawer{--bs-primary:var(--ui-accent);background-color:var(--ui-surface)!important;color:var(--ui-fg)!important;border-color:var(--ui-border)!important;border-right:1px solid var(--ui-border-light);position:relative;width:var(--admin-drawer-width);flex-shrink:0;box-shadow:var(--ui-shadow-1)}.admin-shell{min-height:100vh}.admin-drawer .list-group-item{background-color:transparent;color:var(--ui-fg);border-color:var(--ui-border-light);padding:.75rem 1rem;border-radius:0;transition:all .2s ease;border-left:none;border-right:none}.admin-drawer .list-group-item:hover{background-color:var(--ui-surface)}.admin-drawer-toggle{position:absolute;top:5px;right:-12px;width:25px;height:25px;padding:0;border:1px solid var(--ui-border);background:var(--ui-bg);border-radius:6px;z-index:500;display:flex;align-items:center;justify-content:center;box-shadow:var(--ui-shadow-1);cursor:pointer}.admin-drawer-toggle:hover{background:var(--ui-surface);transform:scale(1.05)}.admin-drawer-toggle i{font-size:16px;line-height:1;width:16px;height:16px;color:var(--ui-fg)}.admin-shell.is-collapsed .admin-drawer .list-group-item{justify-content:center;gap:0!important;padding-left:0;padding-right:0}.admin-shell.is-collapsed .admin-drawer .list-group-item svg{margin:0!important}.admin-drawer .list-group-item.active{background-color:var(--ui-surface-2);border-color:var(--ui-border-light);color:var(--ui-fg);font-weight:600}.table{--bs-table-bg:var(--ui-bg);--bs-table-border-color:var(--ui-border-light);--bs-table-color:var(--ui-fg);--bs-table-striped-bg:var(--ui-surface);--bs-table-striped-color:var(--ui-fg);--bs-table-hover-bg:var(--ui-surface-2);--bs-table-hover-color:var(--ui-fg);border-radius:var(--ui-radius-md);overflow:hidden}.table thead th{background-color:var(--ui-surface);border-bottom:2px solid var(--ui-border);font-weight:600;color:var(--ui-fg);padding:.875rem 1rem;font-size:.9375rem}.table tbody td{padding:.75rem 1rem;vertical-align:middle;border-bottom:1px solid var(--ui-border-light)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:var(--ui-surface)}.table-striped tbody tr:nth-of-type(odd)>*{color:var(--ui-fg);background-color:var(--ui-surface)}.table-hover tbody tr:hover{background-color:var(--ui-surface-2);color:var(--ui-fg)}.table-bordered,.table-bordered td,.table-bordered th{border-color:var(--ui-border-light)}.table-responsive{border-radius:var(--ui-radius-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.alert{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}.alert,.alert-primary{background-color:var(--ui-surface);color:var(--ui-fg)}.alert-primary{border-color:var(--ui-accent)}.alert-success{background-color:rgba(25,135,84,.1);border-color:#198754;color:#0f5132}.alert-danger{background-color:rgba(220,53,69,.1);border-color:#dc3545;color:#842029}.alert-warning{background-color:rgba(255,193,7,.1);border-color:#ffc107;color:#664d03}.alert-info{background-color:rgba(13,202,240,.1);border-color:#0dcaf0;color:#055160}.badge{font-weight:500;border-radius:var(--ui-radius-sm);padding:.35em .65em}.badge-primary{background-color:var(--ui-accent);color:var(--ui-on-accent)}.badge-secondary{background-color:var(--ui-surface-2);color:var(--ui-fg)}.nav-tabs{border-bottom:2px solid var(--ui-border-light);background-color:transparent}.nav-tabs .nav-link{border:none;border-bottom:2px solid transparent;color:var(--ui-muted);padding:.75rem 1.25rem;font-weight:500;transition:all .2s ease;background-color:transparent;border-radius:0;margin-bottom:-2px}.nav-tabs .nav-link:hover{color:var(--ui-fg);background-color:transparent;border-bottom-color:var(--ui-border)}.nav-tabs .nav-link.active{color:var(--ui-fg);background-color:transparent;border-bottom:2px solid var(--ui-accent);font-weight:600}.nav-tabs .nav-link:focus-visible{outline:2px solid var(--ui-link);outline-offset:-2px}.tab-content{background-color:var(--ui-bg)}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--ui-surface);border-radius:var(--ui-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:var(--ui-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ui-muted)}.scroll-to-top-btn{position:fixed;bottom:20px;right:20px;width:50px;height:50px;z-index:1000;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:var(--ui-shadow-2);background-color:var(--ui-accent);color:var(--ui-on-accent);border:none;transition:all .2s ease}.scroll-to-top-btn:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow-3);background-color:var(--ui-accent-hover)}.scroll-to-top-btn i{font-size:1.5rem}.ProseMirror{outline:none}.ProseMirror p{margin:.4em 0}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{margin:.8em 0 .4em;font-weight:600;color:var(--ui-fg)}.ProseMirror ol,.ProseMirror ul{padding-left:1.5em;margin:.4em 0}.ProseMirror blockquote{border-left:3px solid var(--ui-border);padding-left:1em;margin:.8em 0;color:var(--ui-muted)}.ProseMirror code{background-color:var(--ui-surface-2);color:var(--ui-fg);padding:.2em .4em;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.ProseMirror pre{background-color:var(--ui-code-block-bg);color:var(--ui-code-block-fg);padding:.75em;border-radius:var(--ui-radius-md);overflow-x:auto;margin:.8em 0}.ProseMirror pre code{background-color:transparent;padding:0;color:inherit}.ProseMirror .code-block{background-color:var(--ui-code-block-bg);color:var(--ui-code-block-fg);padding:.75em;border-radius:var(--ui-radius-md);overflow-x:auto;margin:.8em 0;font-family:Courier New,monospace;font-size:.85em}.ProseMirror .code-block code{background-color:transparent;padding:0;color:inherit}.ProseMirror .hljs{display:block;overflow-x:auto;padding:.4em;background:var(--ui-code-block-bg);color:var(--ui-code-block-fg)}:root .ProseMirror .hljs-comment,:root .ProseMirror .hljs-quote{color:#098658;font-style:italic}:root .ProseMirror .hljs-built_in,:root .ProseMirror .hljs-keyword,:root .ProseMirror .hljs-name,:root .ProseMirror .hljs-selector-tag,:root .ProseMirror .hljs-tag{color:#0000ff}:root .ProseMirror .hljs-addition,:root .ProseMirror .hljs-attribute,:root .ProseMirror .hljs-literal,:root .ProseMirror .hljs-section,:root .ProseMirror .hljs-string,:root .ProseMirror .hljs-template-tag,:root .ProseMirror .hljs-template-variable,:root .ProseMirror .hljs-title,:root .ProseMirror .hljs-type{color:#a31515}:root .ProseMirror .hljs-deletion,:root .ProseMirror .hljs-meta,:root .ProseMirror .hljs-selector-attr,:root .ProseMirror .hljs-selector-pseudo{color:#cd3131}:root .ProseMirror .hljs-doctag{color:#098658}:root .ProseMirror .hljs-attr{color:#795e26}:root .ProseMirror .hljs-bullet,:root .ProseMirror .hljs-link,:root .ProseMirror .hljs-symbol{color:#0000ff}[data-bs-theme=dark] .ProseMirror .hljs-comment,[data-bs-theme=dark] .ProseMirror .hljs-quote{color:#6a9955;font-style:italic}[data-bs-theme=dark] .ProseMirror .hljs-built_in,[data-bs-theme=dark] .ProseMirror .hljs-keyword,[data-bs-theme=dark] .ProseMirror .hljs-name,[data-bs-theme=dark] .ProseMirror .hljs-selector-tag,[data-bs-theme=dark] .ProseMirror .hljs-tag{color:#569cd6}[data-bs-theme=dark] .ProseMirror .hljs-addition,[data-bs-theme=dark] .ProseMirror .hljs-attribute,[data-bs-theme=dark] .ProseMirror .hljs-literal,[data-bs-theme=dark] .ProseMirror .hljs-section,[data-bs-theme=dark] .ProseMirror .hljs-string,[data-bs-theme=dark] .ProseMirror .hljs-template-tag,[data-bs-theme=dark] .ProseMirror .hljs-template-variable,[data-bs-theme=dark] .ProseMirror .hljs-title,[data-bs-theme=dark] .ProseMirror .hljs-type{color:#ce9178}[data-bs-theme=dark] .ProseMirror .hljs-deletion,[data-bs-theme=dark] .ProseMirror .hljs-meta,[data-bs-theme=dark] .ProseMirror .hljs-selector-attr,[data-bs-theme=dark] .ProseMirror .hljs-selector-pseudo{color:#d73a49}[data-bs-theme=dark] .ProseMirror .hljs-doctag{color:#6a9955}[data-bs-theme=dark] .ProseMirror .hljs-attr{color:#9cdcfe}[data-bs-theme=dark] .ProseMirror .hljs-bullet,[data-bs-theme=dark] .ProseMirror .hljs-link,[data-bs-theme=dark] .ProseMirror .hljs-symbol{color:#569cd6}.ProseMirror .hljs-emphasis{font-style:italic}.ProseMirror .hljs-strong{font-weight:700}.ProseMirror img{max-width:100%;height:auto;margin:.8em 0}.ProseMirror table{border-collapse:collapse;margin:.8em 0;width:100%}.ProseMirror table td,.ProseMirror table th{border:1px solid var(--ui-border);padding:.4em;text-align:left}.ProseMirror table th{background-color:var(--ui-surface);font-weight:600;color:var(--ui-fg)}.ProseMirror a{color:var(--ui-link);text-decoration:underline}.kpi-grid-item,.kpi-link{display:flex!important;min-width:0!important}.kpi-link{text-decoration:none!important;width:100%!important}.kpi-card{width:180px!important;min-width:180px!important;max-width:180px!important;height:140px!important;min-height:140px!important;max-height:140px!important;display:flex!important;flex-direction:column!important;background-color:var(--ui-bg);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);transition:transform .2s,box-shadow .2s!important;box-shadow:var(--ui-shadow-1)!important}.kpi-card:hover{transform:translateY(-4px)!important;box-shadow:var(--ui-shadow-2)!important}.post-preview-content{font-size:.95rem;line-height:1.6;color:inherit}.post-preview-content *{font-style:normal!important;color:inherit!important;margin:0}.post-preview-content *,.post-preview-content h1,.post-preview-content h2,.post-preview-content h3,.post-preview-content h4,.post-preview-content h5,.post-preview-content h6{font-size:inherit!important;font-weight:400!important;display:inline}.post-preview-content b,.post-preview-content strong{font-weight:400!important}.post-preview-content em,.post-preview-content i{font-style:normal!important}.post-preview-content p{display:block;margin-bottom:.5em}.post-preview-content ol,.post-preview-content ul{display:inline;list-style:none;padding:0}.post-preview-content li{display:inline}.post-preview-content code{font-family:inherit!important;background:transparent!important;padding:0!important;font-size:inherit!important}.post-preview-content pre{display:inline;background:transparent!important;padding:0!important}.post-preview-content blockquote{display:inline;border:none!important;padding:0!important;margin:0!important}.post-preview-content img{display:none}.post-preview-content table{display:inline}.post-preview-content a{color:inherit!important;text-decoration:none!important}.hover-opacity:hover{opacity:.7}.toc-link{color:var(--ui-muted);display:block;transition:all .2s;padding:.5rem .75rem;border-radius:var(--ui-radius-lg);text-decoration:none;outline-offset:-1px;cursor:pointer}.toc-link:focus,.toc-link:hover{color:var(--ui-fg);background-color:var(--ui-surface)}.toc-link--active{background-color:var(--ui-accent);color:var(--ui-on-accent)!important;font-weight:600;text-shadow:-.2px 0 0 currentColor,.2px 0 0 currentColor}[data-bs-theme=dark] .toc-link--active{background-color:rgba(159,160,160,.1);color:#b0b1b1!important}.toc-link--active:focus,.toc-link--active:hover{opacity:.8}.toc-container{position:sticky;top:100px;z-index:10}.toc-scroll{max-height:calc(100vh - 120px);overflow-y:auto;padding-right:1rem}.toc-scroll::-webkit-scrollbar{width:6px}.toc-scroll::-webkit-scrollbar-track{background:var(--ui-surface);border-radius:3px}.toc-scroll::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:3px}.toc-title{color:var(--ui-muted);font-size:.875rem;font-weight:600;margin-bottom:1rem}.toc-list{font-size:.875rem;list-style:none;padding-left:0}.toc-list>li{margin-bottom:.25rem}.toc-list>li a{display:block;width:100%}.toc-list>li[style*=margin-left] a{padding-left:.5rem}.toc-list>li[style*="margin-left: 1rem"] a{padding-left:1.25rem}.toc-list>li[style*="margin-left: 2rem"] a{padding-left:2rem}.post-content p{margin-bottom:1rem;line-height:1.7}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:1.5rem;margin-bottom:1rem;color:var(--ui-fg);font-weight:600}.post-content h1{font-size:2.25rem;scroll-margin-top:120px}.post-content h2{font-size:1.875rem;scroll-margin-top:120px}.post-content h3{font-size:1.5rem;scroll-margin-top:120px}.post-content h4{font-size:1.25rem}.post-content ol,.post-content ul{margin-bottom:1rem;padding-left:1.5rem}.post-content li{margin-bottom:.5rem}.post-content blockquote{border-left:3px solid var(--ui-border);padding-left:1rem;margin-left:0;color:var(--ui-muted);font-style:italic}.post-content code{background-color:var(--ui-surface-2);color:var(--ui-fg);padding:.2em .4em;border-radius:3px;font-family:var(--bs-font-monospace);font-size:.9em}.post-content pre{background-color:var(--ui-code-block-bg);color:var(--ui-code-block-fg);padding:1rem;border-radius:var(--ui-radius-md);overflow-x:auto;margin-bottom:1rem;border:1px solid var(--ui-border-light);position:relative}.post-content pre code{background-color:transparent;padding:0}.post-content .hljs{display:block;overflow-x:auto;padding:1rem;background:var(--ui-code-block-bg);color:var(--ui-code-block-fg);border-radius:var(--ui-radius-md)}:root .post-content .hljs-comment,:root .post-content .hljs-quote{color:#098658;font-style:italic}:root .post-content .hljs-built_in,:root .post-content .hljs-keyword,:root .post-content .hljs-name,:root .post-content .hljs-selector-tag,:root .post-content .hljs-tag{color:#0000ff}:root .post-content .hljs-addition,:root .post-content .hljs-attribute,:root .post-content .hljs-literal,:root .post-content .hljs-section,:root .post-content .hljs-string,:root .post-content .hljs-template-tag,:root .post-content .hljs-template-variable,:root .post-content .hljs-title,:root .post-content .hljs-type{color:#a31515}:root .post-content .hljs-deletion,:root .post-content .hljs-meta,:root .post-content .hljs-selector-attr,:root .post-content .hljs-selector-pseudo{color:#cd3131}:root .post-content .hljs-doctag{color:#098658}:root .post-content .hljs-attr{color:#795e26}:root .post-content .hljs-bullet,:root .post-content .hljs-link,:root .post-content .hljs-symbol{color:#0000ff}[data-bs-theme=dark] .post-content .hljs-comment,[data-bs-theme=dark] .post-content .hljs-quote{color:#6a9955;font-style:italic}[data-bs-theme=dark] .post-content .hljs-built_in,[data-bs-theme=dark] .post-content .hljs-keyword,[data-bs-theme=dark] .post-content .hljs-name,[data-bs-theme=dark] .post-content .hljs-selector-tag,[data-bs-theme=dark] .post-content .hljs-tag{color:#569cd6}[data-bs-theme=dark] .post-content .hljs-addition,[data-bs-theme=dark] .post-content .hljs-attribute,[data-bs-theme=dark] .post-content .hljs-literal,[data-bs-theme=dark] .post-content .hljs-section,[data-bs-theme=dark] .post-content .hljs-string,[data-bs-theme=dark] .post-content .hljs-template-tag,[data-bs-theme=dark] .post-content .hljs-template-variable,[data-bs-theme=dark] .post-content .hljs-title,[data-bs-theme=dark] .post-content .hljs-type{color:#ce9178}[data-bs-theme=dark] .post-content .hljs-deletion,[data-bs-theme=dark] .post-content .hljs-meta,[data-bs-theme=dark] .post-content .hljs-selector-attr,[data-bs-theme=dark] .post-content .hljs-selector-pseudo{color:#d73a49}[data-bs-theme=dark] .post-content .hljs-doctag{color:#6a9955}[data-bs-theme=dark] .post-content .hljs-attr{color:#9cdcfe}[data-bs-theme=dark] .post-content .hljs-bullet,[data-bs-theme=dark] .post-content .hljs-link,[data-bs-theme=dark] .post-content .hljs-symbol{color:#569cd6}.post-content .hljs-quote{color:#6a9955;font-style:italic}.post-content .hljs-built_in,.post-content .hljs-keyword,.post-content .hljs-name,.post-content .hljs-selector-tag,.post-content .hljs-tag{color:#0066cc}.post-content .hljs-addition,.post-content .hljs-attribute,.post-content .hljs-literal,.post-content .hljs-section,.post-content .hljs-string,.post-content .hljs-template-tag,.post-content .hljs-template-variable,.post-content .hljs-title,.post-content .hljs-type{color:#a31515}.post-content .hljs-deletion,.post-content .hljs-meta,.post-content .hljs-selector-attr,.post-content .hljs-selector-pseudo{color:#cd3131}.post-content .hljs-doctag{color:#098658}.post-content .hljs-attr{color:#795e26}.post-content .hljs-bullet,.post-content .hljs-link,.post-content .hljs-symbol{color:#0066cc}.post-content .hljs-emphasis{font-style:italic}.post-content .hljs-strong{font-weight:700}.post-content img{max-width:100%;height:auto;margin-bottom:1rem;border-radius:var(--ui-radius-md)}.post-content table{width:100%;border-collapse:collapse;margin-bottom:1rem}.post-content table td,.post-content table th{border:1px solid var(--ui-border);padding:.5em;text-align:left}.post-content table th{background-color:var(--ui-surface);font-weight:600;color:var(--ui-fg)}.post-content a{color:var(--ui-link);text-decoration:underline}.featured-image-wrapper img{width:250px!important;height:250px!important;-o-object-fit:cover;object-fit:cover;border-radius:var(--ui-radius-md)}.featured-image-wrapper .card{width:250px}.featured-image-wrapper .card img{width:250px!important;height:250px!important;-o-object-fit:cover;object-fit:cover}.diff-insert{background:var(--ui-diff-insert-bg);color:var(--ui-diff-insert-fg);border-radius:3px}.diff-delete{background:var(--ui-diff-delete-bg);color:var(--ui-diff-delete-fg);text-decoration:line-through;border-radius:3px}.cookie-consent-banner{z-index:1050}.api-docs-code-block-pre{white-space:pre-wrap;word-break:break-word}.app-pre-scroll-sm,.app-pre-wrap{white-space:pre-wrap}.app-pre-scroll-sm{max-height:200px;overflow:auto}.cursor-pointer{cursor:pointer}.admin-minh-400{min-height:400px}.mw-500{max-width:500px}.mw-400{max-width:400px}.mw-400-ellipsis{max-width:400px}.ellipsis-300,.mw-400-ellipsis{overflow:hidden;text-overflow:ellipsis}.ellipsis-300{max-width:300px;white-space:nowrap}.break-all{word-break:break-all}.s3-prefix-input{width:300px}.preview-dialog-image{max-height:400px;-o-object-fit:cover;object-fit:cover;border-radius:var(--ui-radius-md)}.featured-image-upload-icon{font-size:48px;color:var(--ui-muted)}.featured-image-preview{max-height:400px;display:block;border-radius:var(--ui-radius-md)}.featured-image-loading{width:200px;height:150px;background-color:var(--ui-surface-2);border-radius:var(--ui-radius-md)}.featured-image-dropzone{cursor:pointer;border:2px dashed var(--ui-border-light);border-radius:var(--ui-radius-lg);transition:all .2s ease}.featured-image-dropzone:hover{border-color:var(--ui-accent);background-color:var(--ui-surface)}.featured-image-dropzone-label{cursor:pointer}.admin-kpi-icon{font-size:2.5rem}.admin-dashboard-icon{font-size:2rem}.admin-dashboard-icon svg{width:2rem;height:2rem}.admin-status-icon{font-size:1.5rem}.admin-code-small{font-size:.75rem}.admin-text-sm{font-size:.875rem}.admin-jsonld-pre{white-space:pre-wrap;word-break:break-word;font-family:var(--bs-font-monospace);font-size:.875rem;max-height:300px;overflow:auto;background-color:var(--ui-surface);border-radius:var(--ui-radius-md);padding:1rem}.home-post-image-col{min-height:200px;background-color:var(--ui-surface-2);border-radius:var(--ui-radius-md)}.home-post-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.post-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:600;color:var(--ui-fg);scroll-margin-top:120px}.post-featured-image{height:400px}.post-featured-image-img{-o-object-fit:cover;object-fit:cover}.tiptap-editor-card{min-height:400px;border-radius:var(--ui-radius-lg)}.tiptap-editor-layout{min-height:600px;height:600px}.tiptap-editor-pane{min-width:0;display:flex;flex-direction:column;height:100%}.tiptap-editor-textarea{font-family:var(--bs-font-monospace);font-size:.875rem;white-space:pre-wrap;word-break:break-word;resize:none;flex:1 1;overflow:auto;height:100%;background-color:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:1rem;color:var(--ui-fg)}.tiptap-editor-preview-pane{width:50%;min-width:0;display:flex;flex-direction:column;height:100%;border-left:1px solid var(--ui-border-light)}.tiptap-editor-preview{overflow:auto;flex:1 1;height:100%;padding:1rem;background-color:var(--ui-bg)}.admin-menu-icon{width:20px;display:inline-flex;flex:0 0 auto}.admin-menu-icon svg{width:20px;height:20px}.w-40{width:40px}.w-420{width:420px}.mw-220{min-width:220px}.mw-380-break-word{max-width:380px;word-break:break-word}.mw-520{max-width:520px}.mw-420-ellipsis{max-width:420px}.mw-360-ellipsis,.mw-420-ellipsis{overflow:hidden;text-overflow:ellipsis}.mw-360-ellipsis{max-width:360px}.minw-150{min-width:150px}.minw-200{min-width:200px}.minw-260{min-width:260px}.maxh-280-scroll-y{max-height:280px;overflow-y:auto}.maxh-360-contain{max-height:360px;-o-object-fit:contain;object-fit:contain}.maxh-500-scroll{max-height:500px;overflow:auto}.pos-abs-hide{position:absolute;left:-9999px}.word-break-word{word-break:break-word}.maxh-400-scroll-y{max-height:400px;overflow-y:auto}.comment-attachment-thumb{width:100px;height:100px;-o-object-fit:cover;object-fit:cover;border-radius:var(--ui-radius-sm)}.comment-attachment-remove{transform:translate(50%,-50%)}.comment-attachment-img{max-width:100%;max-height:300px;border-radius:var(--ui-radius-md)}.comment-avatar{width:40px;height:40px;border-radius:50%}.comment-body{white-space:pre-wrap}.post-toc-col{align-self:stretch!important;position:relative}.admin-tag-suggestions{z-index:1000;width:100%;max-height:200px;overflow-y:auto;background-color:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-2)}.admin-tag-suggestion-item{font-size:.875rem;padding:.5rem 1rem;cursor:pointer;transition:background-color .2s}.admin-tag-suggestion-item:hover{background-color:var(--ui-surface)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.5rem;--bs-pagination-font-size:0.9375rem;--bs-pagination-color:var(--ui-fg);--bs-pagination-bg:var(--ui-surface-2);--bs-pagination-border-width:1px;--bs-pagination-border-color:var(--ui-border);--bs-pagination-hover-color:var(--ui-fg);--bs-pagination-hover-bg:var(--ui-surface-3);--bs-pagination-hover-border-color:var(--ui-border);--bs-pagination-focus-color:var(--ui-fg);--bs-pagination-focus-bg:var(--ui-surface-2);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(20,22,24,0.1);--bs-pagination-active-color:var(--ui-on-accent);--bs-pagination-active-bg:var(--ui-accent);--bs-pagination-active-border-color:var(--ui-accent);--bs-pagination-disabled-color:var(--ui-muted);--bs-pagination-disabled-bg:var(--ui-surface);--bs-pagination-disabled-border-color:var(--ui-border);display:flex;list-style:none;gap:.25rem}.page-link{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:var(--ui-radius-sm);transition:all .2s ease;font-weight:500;min-width:2.5rem;border:1px solid var(--ui-border);background-color:var(--ui-surface-2);color:var(--ui-fg)}.page-link:hover{background-color:var(--ui-surface-3);border-color:var(--ui-border);color:var(--ui-fg);transform:translateY(-1px);box-shadow:var(--ui-shadow-1)}.page-link:focus-visible{background-color:var(--ui-surface);outline:2px solid var(--ui-link);outline-offset:2px}.page-item.active .page-link{background-color:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);font-weight:600}.page-item.active .page-link:hover{background-color:var(--ui-accent-hover);border-color:var(--ui-accent-hover);color:var(--ui-on-accent)}.page-item.disabled .page-link{background-color:var(--ui-surface);border-color:var(--ui-border-light);color:var(--ui-muted);cursor:not-allowed}.page-item.disabled .page-link:hover{background-color:var(--ui-surface);transform:none;box-shadow:none}.accordion{--bs-accordion-bg:var(--ui-bg);--bs-accordion-border-width:1px;--bs-accordion-border-color:var(--ui-border);--bs-accordion-border-radius:var(--ui-radius-md);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--ui-fg);--bs-accordion-btn-bg:var(--ui-surface);--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-color:var(--ui-muted);--bs-accordion-btn-focus-box-shadow:0 0 0 0.2rem rgba(20,22,24,0.1);--bs-accordion-body-focus-box-shadow:0 0 0 0.2rem rgba(20,22,24,0.1);--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:rotate(-180deg);--bs-accordion-btn-focus-border-color:var(--ui-border)}.accordion-button{font-weight:500;border-radius:var(--ui-radius-md);transition:all .2s ease}.accordion-button:not(.collapsed){background-color:var(--ui-surface-2);color:var(--ui-fg);font-weight:600}.accordion-button:hover:not(.collapsed){background-color:var(--ui-surface-3)}.accordion-button:focus{box-shadow:0 0 0 3px rgba(20,22,24,.1);border-color:var(--ui-accent)}.accordion-button:focus-visible{outline:2px solid var(--ui-link);outline-offset:2px}.accordion-item{border-color:var(--ui-border-light);margin-bottom:.5rem;border-radius:var(--ui-radius-md);overflow:hidden}.accordion-item:first-of-type{border-top-left-radius:var(--ui-radius-md);border-top-right-radius:var(--ui-radius-md)}.accordion-item:last-of-type{border-bottom-left-radius:var(--ui-radius-md);border-bottom-right-radius:var(--ui-radius-md)}.accordion-collapse,.accordion-header .accordion-button{border-radius:var(--ui-radius-md)}.accordion-body{color:var(--ui-fg);line-height:1.6}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}