.auth-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.auth-modal{background:var(--surface, #2d2d2d);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:16px;padding:2rem;width:100%;max-width:400px;position:relative;animation:authModalSlideIn .2s ease-out}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.auth-modal-close:hover{color:var(--text, #ffffff)}.auth-modal-header{text-align:center;margin-bottom:1.5rem}.auth-modal-header h2{color:var(--text, #ffffff);margin:0 0 .5rem;font-size:1.5rem}.auth-modal-header p{color:var(--text-muted, rgba(255, 255, 255, .7));margin:0;font-size:.875rem}.auth-modal-oauth{margin-bottom:1.5rem}.oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s;margin-bottom:.75rem}.oauth-btn.google{background:#fff;color:#333}.oauth-btn.google:hover{background:#f5f5f5}.oauth-btn.apple{background:#000;color:#fff}.oauth-btn.apple:hover{background:#1a1a1a}.oauth-btn.discord{background:#5865f2;color:#fff}.oauth-btn.discord:hover{background:#4752c4}.oauth-btn.oidc{background:#374151;color:#fff}.oauth-btn.oidc:hover{background:#4b5563}.oauth-btn.oidc img{width:20px;height:20px;object-fit:contain}.auth-modal-divider{display:flex;align-items:center;margin:1rem 0}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;height:1px;background:var(--border, rgba(255, 255, 255, .2))}.auth-modal-divider span{color:var(--text-muted, rgba(255, 255, 255, .7));padding:0 1rem;font-size:.875rem}.auth-modal-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field label{color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem}.auth-field input{padding:.75rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;color:var(--text, #ffffff);font-size:1rem}.auth-field input:focus{outline:none;border-color:var(--accent, #a855f7)}.auth-modal-error{color:#ff6b6b;font-size:.875rem;margin:0;text-align:center}.auth-submit-btn{background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.auth-submit-btn:hover:not(:disabled){background:var(--primary-hover, #2d0066)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-modal-toggle{text-align:center;margin-top:1rem;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem}.auth-modal-toggle button{background:none;border:none;color:var(--accent, #a855f7);cursor:pointer;font-size:.875rem;padding:0}.auth-modal-toggle button:hover{text-decoration:underline}@media(max-width:480px){.auth-modal{padding:1.5rem;border-radius:12px}.auth-modal-header h2{font-size:1.25rem}}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.profile-modal{background:var(--surface, #2d2d2d);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:16px;padding:2rem;width:100%;max-width:480px;position:relative;animation:profileModalSlideIn .2s ease-out;max-height:90vh;overflow-y:auto}@keyframes profileModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.profile-modal-close:hover{color:var(--text, #ffffff)}.profile-modal-header{text-align:center;margin-bottom:1.5rem}.profile-modal-header h2{color:var(--text, #ffffff);margin:0 0 .5rem;font-size:1.5rem}.profile-display-name{color:var(--accent, #a855f7);margin:0;font-size:1rem;font-weight:500}.profile-message{text-align:center;font-size:.875rem;margin-bottom:1rem;padding:.75rem;border-radius:8px}.profile-message.success{color:#4ade80;background:#4ade801a}.profile-message.error{color:#ff6b6b;background:#ff6b6b1a}.profile-view{margin-bottom:1.5rem}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.profile-info-item{display:flex;flex-direction:column;gap:.25rem}.profile-info-label{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.5px}.profile-info-value{font-size:1rem;color:var(--text, #ffffff)}.profile-actions{display:flex;gap:.75rem}.profile-edit-btn,.profile-password-btn{flex:1;background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:background .2s}.profile-edit-btn:hover,.profile-password-btn:hover{background:var(--primary-hover, #2d0066)}.profile-password-btn{background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .2));color:var(--text, #ffffff)}.profile-password-btn:hover{background:#ffffff0d;border-color:var(--accent, #a855f7)}.profile-edit-form,.profile-password-form{margin-bottom:1.5rem}.profile-field{margin-bottom:1rem}.profile-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field label{display:block;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem;margin-bottom:.5rem}.profile-field input{width:100%;padding:.75rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;color:var(--text, #ffffff);font-size:1rem;box-sizing:border-box}.profile-field input:focus{outline:none;border-color:var(--accent, #a855f7)}.profile-field input:disabled{opacity:.6;cursor:not-allowed}.field-error{display:block;color:#ff6b6b;font-size:.75rem;margin-top:.25rem}.field-checking{display:block;color:var(--accent, #a855f7);font-size:.75rem;margin-top:.25rem}.field-note{display:block;color:var(--text-muted, rgba(255, 255, 255, .5));font-size:.75rem;margin-top:.25rem}.profile-form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.profile-save-btn{flex:1;background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.profile-save-btn:hover:not(:disabled){background:var(--primary-hover, #2d0066)}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{flex:1;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.profile-cancel-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-modal-footer{padding:1rem 0;border-top:1px solid var(--border, rgba(255, 255, 255, .2));border-bottom:1px solid var(--border, rgba(255, 255, 255, .2));margin-bottom:1rem}.profile-signout-btn{width:100%;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.profile-signout-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-danger-zone{margin-top:1rem}.profile-danger-zone h3{color:#ff6b6b;font-size:.875rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.profile-delete-btn{width:100%;background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.profile-delete-btn:hover{background:#ff6b6b;color:#fff}.profile-delete-confirm{text-align:center}.profile-delete-confirm p{color:#ff6b6b;font-size:.875rem;margin:0 0 .75rem}.profile-delete-buttons{display:flex;gap:.75rem}.confirm-delete-btn{flex:1;background:#ff6b6b;color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer}.confirm-delete-btn:hover{background:#ff5252}.cancel-delete-btn{flex:1;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer}.cancel-delete-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-connections-btn{background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.profile-connections-btn:hover{color:var(--accent, #a855f7);border-color:var(--accent, #a855f7)}.profile-connections h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text, #ffffff)}.connections-description{color:var(--text-muted, rgba(255, 255, 255, .6));font-size:.875rem;margin-bottom:1.5rem}.connections-list{display:flex;flex-direction:column;gap:1rem}.connection-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px}.connection-info{display:flex;align-items:center;gap:.75rem}.connection-icon{flex-shrink:0}.connection-details{display:flex;flex-direction:column;gap:.125rem}.connection-name{font-weight:500;color:var(--text, #ffffff)}.connection-status{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .6))}.connect-btn{background:var(--accent, #a855f7);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.connect-btn:hover{background:var(--accent-hover, #9333ea)}.disconnect-btn{background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.disconnect-btn:hover{background:#ff6b6b1a}.primary-badge{background:#a855f733;color:var(--accent, #a855f7);padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}@media(max-width:480px){.profile-modal{padding:1.5rem;border-radius:12px}.profile-modal-header h2{font-size:1.25rem}.profile-info-grid,.profile-field-row{grid-template-columns:1fr}.profile-actions,.profile-form-actions,.profile-delete-buttons{flex-direction:column}}.confirm-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-modal{background:var(--surface);border-radius:12px;border:1px solid var(--border);min-width:320px;max-width:450px;box-shadow:0 20px 60px #00000080;animation:confirmModalSlide .2s ease-out}@keyframes confirmModalSlide{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.confirm-modal-header.danger{border-bottom-color:#ff6b6b4d}.confirm-modal-header.warning{border-bottom-color:#fbbf244d}.confirm-modal-header.info{border-bottom-color:#a855f74d}.confirm-modal-icon{font-size:1.5rem}.confirm-modal-header h3{margin:0;font-size:1.1rem;color:var(--text);font-weight:600}.confirm-modal-body{padding:1.25rem 1.5rem}.confirm-modal-body p{margin:0;color:var(--text-muted);line-height:1.5;font-size:.95rem}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:#0000001a;border-radius:0 0 12px 12px}.confirm-modal-btn{padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.confirm-modal-btn.cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.confirm-modal-btn.cancel-btn:hover{background:#ffffff0d;color:var(--text)}.confirm-modal-btn.confirm-btn{color:#fff}.confirm-modal-btn.confirm-btn.danger{background:#dc2626;border-color:#dc2626}.confirm-modal-btn.confirm-btn.danger:hover{background:#b91c1c}.confirm-modal-btn.confirm-btn.warning{background:#d97706;border-color:#d97706}.confirm-modal-btn.confirm-btn.warning:hover{background:#b45309}.confirm-modal-btn.confirm-btn.info{background:var(--primary);border-color:var(--primary)}.confirm-modal-btn.confirm-btn.info:hover{background:var(--primary-hover)}.confirm-modal-btn:focus{outline:2px solid var(--accent);outline-offset:2px}.world-list{padding:2rem}.world-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.world-list-header h2{margin:0;color:var(--text)}.create-world-btn{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500}.create-world-btn:hover{background:var(--primary-hover)}.world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.world-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;position:relative;transition:border-color .2s}.world-card:hover{border-color:var(--accent)}.world-card-link{display:block;padding:1.5rem;text-decoration:none;color:inherit}.world-icon{font-size:2rem;display:block;margin-bottom:.75rem}.world-card h3{margin:0 0 .5rem;color:var(--text);font-size:1.25rem}.world-card p{margin:0 0 1rem;color:var(--text-muted);font-size:.875rem;line-height:1.5}.world-date{font-size:.75rem;color:var(--text-muted)}.delete-world-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .2s;font-size:1rem}.world-card:hover .delete-world-btn{opacity:.5}.delete-world-btn:hover{opacity:1!important}.world-list-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.world-hint{font-size:.875rem;max-width:400px;margin:.5rem auto}.world-list-empty button{margin-top:1rem;background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.world-list-loading,.world-list-error{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.world-list-error{color:#ff6b6b}.create-world-modal-overlay,.delete-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.create-world-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:480px}.create-world-modal h3{margin:0 0 1.5rem;color:var(--text)}.delete-confirm{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;max-width:360px;text-align:center}.delete-confirm p{margin:0 0 .5rem;color:var(--text)}.delete-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.delete-actions button{padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-muted)}.form-field input,.form-field textarea{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.campaign-list{padding:2rem}.campaign-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.campaign-list-header h2{margin:0;color:var(--text)}.create-campaign-btn{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500}.create-campaign-btn:hover{background:var(--primary-hover)}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.campaign-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;position:relative;transition:border-color .2s}.campaign-card:hover{border-color:var(--accent)}.campaign-card-link{display:block;padding:1.5rem;text-decoration:none;color:inherit}.campaign-card h3{margin:0 0 .5rem;color:var(--text);font-size:1.25rem}.campaign-card p{margin:0 0 1rem;color:var(--text-muted);font-size:.875rem;line-height:1.5}.campaign-date{font-size:.75rem;color:var(--text-muted)}.delete-campaign-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .2s;font-size:1rem}.campaign-card:hover .delete-campaign-btn{opacity:.5}.delete-campaign-btn:hover{opacity:1!important}.campaign-list-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.campaign-hint{font-size:.875rem;max-width:400px;margin:.5rem auto}.campaign-list-empty button{margin-top:1rem;background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.campaign-world-badge{display:inline-block;font-size:.75rem;color:var(--accent);margin-bottom:.5rem}.campaign-list-loading,.campaign-list-error{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.campaign-list-error{color:#ff6b6b}.create-campaign-modal-overlay,.delete-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.create-campaign-modal,.delete-confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:480px}.create-campaign-modal h3{margin:0 0 1.5rem;color:var(--text)}.form-field label{display:block;margin-bottom:.5rem;color:var(--text-muted);font-size:.875rem}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--accent)}.form-field select{cursor:pointer}.form-field select option{background:var(--surface);color:var(--text)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.cancel-btn:hover{border-color:var(--text);color:var(--text)}.submit-btn{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-modal{max-width:360px;text-align:center}.delete-confirm-modal p{margin:0 0 .5rem;color:var(--text)}.delete-warning{color:#ff6b6b!important;font-size:.875rem}.delete-confirm-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.delete-confirm-actions button{padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-muted)}.confirm-delete{background:#ff6b6b!important;border-color:#ff6b6b!important;color:#fff!important}.world-dashboard{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-title{display:flex;align-items:flex-start;gap:1rem}.world-icon-large{font-size:3rem}.world-description{margin:0;color:#9ca3af;font-size:1rem;max-width:600px}.btn-small{padding:.5rem 1rem;font-size:.8rem}.campaigns-section{grid-column:span 2}.campaigns-list{display:flex;flex-direction:column;gap:.75rem}.campaign-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#111827;border-radius:.5rem;text-decoration:none;color:inherit;transition:all .2s}.campaign-item:hover{background:#374151}.campaign-icon{font-size:1.5rem}.campaign-info{flex:1}.campaign-info h4{margin:0 0 .25rem;color:#f3f4f6}.campaign-info p{margin:0;font-size:.875rem;color:#9ca3af}.campaign-arrow{color:#6b7280;font-size:1.25rem}.no-campaigns{color:#6b7280;font-style:italic;text-align:center;padding:2rem}.modal-content h2{margin:0 0 1rem;color:#f3f4f6}.delete-modal h2{color:#fca5a5}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;color:#9ca3af;font-size:.875rem}.form-field input,.form-field textarea{width:100%;padding:.75rem;background:#111827;border:1px solid #374151;border-radius:.5rem;color:#f3f4f6;font-size:1rem;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#7c3aed}@media(max-width:768px){.world-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1;justify-content:center}.dashboard-grid{grid-template-columns:1fr}.campaigns-section,.danger-zone{grid-column:span 1}.quick-links{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.danger-item{flex-direction:column;text-align:center}}.wiki-sidebar{width:240px;min-width:240px;background:var(--surface);border-right:1px solid var(--border);height:100%;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border)}.back-link{color:var(--text-muted);text-decoration:none;font-size:.875rem}.back-link:hover{color:var(--accent)}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.page-group{margin-bottom:.25rem}.group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.group-header:hover{background:#ffffff0d}.group-icon{font-size:.9rem}.group-label{flex:1;text-align:left}.group-chevron{transition:transform .2s}.group-chevron.expanded{transform:rotate(90deg)}.group-pages{padding-left:.5rem}.page-link{display:block;padding:.5rem 1rem .5rem 2rem;color:var(--text);text-decoration:none;font-size:.875rem;border-radius:4px;margin:0 .5rem}.page-link:hover{background:#ffffff0d}.page-link.active{background:var(--primary);color:#fff}.add-page-btn{display:block;width:calc(100% - 1rem);margin:.25rem .5rem;padding:.5rem 1rem .5rem 2rem;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;text-align:left;cursor:pointer;border-radius:4px}.add-page-btn:hover{background:#ffffff0d;color:var(--accent)}.create-page-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.create-page-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:100%;max-width:360px}.create-page-modal h3{margin:0 0 1rem;color:var(--text);font-size:1.1rem}.create-page-modal input{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;box-sizing:border-box}.create-page-modal input:focus{outline:none;border-color:var(--accent)}.create-page-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.create-page-actions button{padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem}.create-page-actions button:first-child{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.create-page-actions button:last-child{background:var(--primary);border:none;color:#fff}.create-page-actions button:disabled{opacity:.5;cursor:not-allowed}.subcategory-group{margin:.25rem 0;padding-left:.5rem}.subcategory-header{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.subcategory-icon{font-size:.8rem}.subcategory-name{font-weight:500}.page-link.subcategorized{padding-left:2.5rem}.add-page-btn.subcategorized{padding-left:2.5rem;font-size:.75rem}.group-actions{display:flex;gap:.25rem;padding:.25rem .5rem;flex-wrap:wrap}.add-subcategory-btn{background:transparent;border:1px dashed var(--border);color:var(--text-muted);font-size:.75rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer}.add-subcategory-btn:hover{border-color:var(--accent);color:var(--accent)}.subcategory-select{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;margin-top:.5rem;cursor:pointer}.subcategory-select:focus{outline:none;border-color:var(--accent)}@media(max-width:768px){.wiki-sidebar{width:100%;max-height:250px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-nav{padding:.5rem}.page-group{margin-bottom:.25rem}.group-header{padding:.5rem .75rem}.page-list{padding:0 0 .25rem}.page-link{padding:.4rem .75rem .4rem 1.5rem;font-size:.8rem}}@media(prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media(prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;inset:-8px -8px -8px -24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.w-md-editor-toolbar-child{position:absolute;border-radius:3px;box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);z-index:1;display:none}.w-md-editor-toolbar-child.active{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar{border-bottom:0;padding:3px;border-radius:3px}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li button{width:-webkit-fill-available;height:initial;box-sizing:border-box;padding:3px 4px 2px;margin:0}.w-md-editor-toolbar{border-bottom:1px solid var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);padding:3px;display:flex;justify-content:space-between;align-items:center;border-radius:3px 3px 0 0;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.w-md-editor-toolbar.bottom{border-bottom:0px;border-top:1px solid var(--md-editor-box-shadow-color);border-radius:0 0 3px 3px}.w-md-editor-toolbar ul,.w-md-editor-toolbar li{margin:0;padding:0;list-style:none;line-height:initial}.w-md-editor-toolbar li{display:inline-block;font-size:14px}.w-md-editor-toolbar li+li{margin:0}.w-md-editor-toolbar li>button{border:none;height:20px;line-height:14px;background:none;padding:4px;margin:0 1px;border-radius:2px;text-transform:none;font-weight:400;overflow:visible;outline:none;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--color-fg-default)}.w-md-editor-toolbar li>button:hover,.w-md-editor-toolbar li>button:focus{background-color:var(--color-neutral-muted);color:var(--color-accent-fg)}.w-md-editor-toolbar li>button:active{background-color:var(--color-neutral-muted);color:var(--color-danger-fg)}.w-md-editor-toolbar li>button:disabled{color:var(--md-editor-box-shadow-color);cursor:not-allowed}.w-md-editor-toolbar li>button:disabled:hover{background-color:transparent;color:var(--md-editor-box-shadow-color)}.w-md-editor-toolbar li.active>button{color:var(--color-accent-fg);background-color:var(--color-neutral-muted)}.w-md-editor-toolbar-divider{height:14px;width:1px;margin:-3px 3px 0!important;vertical-align:middle;background-color:var(--md-editor-box-shadow-color)}.w-md-editor-area{overflow:auto;border-radius:5px}.w-md-editor-text{min-height:100%;position:relative;text-align:left;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;padding:10px;margin:0;font-size:14px!important;line-height:18px!important;font-variant-ligatures:common-ligatures}.w-md-editor-text-pre,.w-md-editor-text-input,.w-md-editor-text>.w-md-editor-text-pre{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-family:var(--md-editor-font-family)!important;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit;word-break:normal;padding:0}.w-md-editor-text-pre{position:relative;margin:0!important;pointer-events:none;background-color:transparent!important}.w-md-editor-text-pre>code{padding:0!important;font-family:var(--md-editor-font-family)!important;font-size:14px!important;line-height:18px!important}.w-md-editor-text-input{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;outline:0;padding:inherit;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.w-md-editor-text-input:empty{-webkit-text-fill-color:inherit!important}.w-md-editor-text-pre,.w-md-editor-text-input{word-wrap:pre;word-break:break-word;white-space:pre-wrap}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.w-md-editor-text-input{color:transparent!important}.w-md-editor-text-input::selection{background-color:#accef7!important;color:transparent!important}}.w-md-editor-text-pre .punctuation{color:var(--color-prettylights-syntax-comment, #8b949e)!important}.w-md-editor-text-pre .token.url,.w-md-editor-text-pre .token.content{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.title.important{color:var(--color-prettylights-syntax-markup-bold, #24292f)}.w-md-editor-text-pre .token.code-block .function{color:var(--color-prettylights-syntax-entity, #8250df)}.w-md-editor-text-pre .token.bold{font-weight:unset!important}.w-md-editor-text-pre .token.title{line-height:unset!important;font-size:unset!important;font-weight:unset!important}.w-md-editor-text-pre .token.code.keyword{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.strike,.w-md-editor-text-pre .token.strike .content{color:var(--color-prettylights-syntax-markup-deleted-text, #82071e)!important}.w-md-editor-bar{position:absolute;cursor:s-resize;right:0;bottom:0;margin-top:-11px;margin-right:0;width:14px;z-index:3;height:10px;border-radius:0 0 3px;-webkit-user-select:none;user-select:none}.w-md-editor-bar svg{display:block;margin:0 auto}.w-md-editor{text-align:left;border-radius:3px;padding-bottom:1px;position:relative;color:var(--color-fg-default);--md-editor-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--md-editor-background-color: var(--color-canvas-default, #ffffff);--md-editor-box-shadow-color: var(--color-border-default, #d0d7de);box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}.w-md-editor.w-md-editor-rtl{direction:rtl!important;text-align:right!important}.w-md-editor.w-md-editor-rtl .w-md-editor-preview{right:unset!important;left:0;text-align:right!important;box-shadow:inset -1px 0 0 0 var(--md-editor-box-shadow-color)}.w-md-editor.w-md-editor-rtl .w-md-editor-text{text-align:right!important}.w-md-editor-toolbar{height:-webkit-fit-content;height:fit-content}.w-md-editor-content{height:100%;overflow:auto;position:relative;border-radius:0 0 3px}.w-md-editor .copied{display:none!important}.w-md-editor-input{width:50%;height:100%}.w-md-editor-text-pre>code{word-break:break-word!important;white-space:pre-wrap!important}.w-md-editor-preview{width:50%;box-sizing:border-box;box-shadow:inset 1px 0 0 0 var(--md-editor-box-shadow-color);position:absolute;padding:10px 20px;overflow:auto;top:0;right:0;bottom:0;border-radius:0 0 5px;display:flex;flex-direction:column}.w-md-editor-preview .anchor{display:none}.w-md-editor-preview .contains-task-list li.task-list-item{list-style:none}.w-md-editor-show-preview .w-md-editor-input{width:0%;overflow:hidden;background-color:var(--md-editor-background-color)}.w-md-editor-show-preview .w-md-editor-preview{width:100%;box-shadow:inset 0 0}.w-md-editor-show-edit .w-md-editor-input{width:100%}.w-md-editor-show-edit .w-md-editor-preview{width:0%;padding:0}.w-md-editor-fullscreen{overflow:hidden;position:fixed;z-index:99999;inset:0;height:100%!important}.w-md-editor-fullscreen .w-md-editor-content{height:100%}.entity-picker-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;z-index:1000}.entity-picker{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0006}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.picker-header h3{margin:0;font-size:1.1rem;color:var(--text)}.picker-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.picker-close:hover{color:var(--text)}.picker-search{display:flex;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.picker-search input{flex:1;padding:.6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem}.picker-search input:focus{outline:none;border-color:var(--accent)}.picker-search select{padding:.6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.875rem;cursor:pointer}.picker-results{flex:1;overflow-y:auto;min-height:200px}.picker-loading,.picker-empty{padding:2rem;text-align:center;color:var(--text-muted)}.picker-results ul{list-style:none;margin:0;padding:.5rem 0}.picker-results li{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;cursor:pointer;transition:background .1s}.picker-results li:hover,.picker-results li.selected{background:#a855f726}.result-icon{font-size:1.1rem}.result-title{flex:1;color:var(--text);font-weight:500}.result-type{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.picker-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--background)}.picker-hint{font-size:.75rem;color:var(--text-muted)}.image-uploader-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;z-index:1000}.image-uploader{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:600px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0006}.uploader-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.uploader-header h3{margin:0;font-size:1.1rem;color:var(--text)}.uploader-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.uploader-content{flex:1;overflow-y:auto;padding:1.25rem}.upload-section,.existing-section{margin-bottom:1.5rem}.upload-section h4,.existing-section h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.upload-form{display:flex;gap:.75rem}.upload-form input[type=text]{flex:1;padding:.6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem}.upload-btn{display:inline-flex;align-items:center;padding:.6rem 1rem;background:var(--primary);color:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.upload-btn:hover{background:var(--primary-hover)}.upload-error{margin-top:.5rem;color:#ff6b6b;font-size:.875rem}.loading-images,.no-images{color:var(--text-muted);font-size:.875rem;padding:1rem;text-align:center}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.image-thumbnail{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:.5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:border-color .15s}.image-thumbnail:hover{border-color:var(--accent)}.image-thumbnail img{width:100%;height:80px;object-fit:cover;border-radius:4px}.image-name{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;text-align:center}.uploader-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--background)}.uploader-hint{font-size:.75rem;color:var(--text-muted)}.uploader-hint code{background:var(--surface);padding:.1em .3em;border-radius:3px}.revision-history-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.revision-history{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0006}.revision-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.revision-header h3{margin:0;font-size:1.1rem;color:var(--text)}.revision-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.revision-content{flex:1;display:flex;overflow:hidden}.revision-list{width:280px;border-right:1px solid var(--border);overflow-y:auto;padding:1rem}.revision-list h4,.revision-preview h4{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.revision-list ul{list-style:none;margin:0;padding:0}.revision-list li{padding:.75rem;border-radius:6px;cursor:pointer;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem;transition:background .15s}.revision-list li:hover{background:#ffffff0d}.revision-list li.selected{background:#a855f726;border:1px solid var(--accent)}.rev-date{font-size:.875rem;color:var(--text)}.rev-author{font-size:.75rem;color:var(--text-muted)}.rev-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.65rem;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem;width:fit-content}.revision-preview{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column}.revision-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.revision-code{flex:1;background:var(--background);border:1px solid var(--border);border-radius:6px;padding:1rem;margin:0;overflow:auto;font-size:.8rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-wrap:break-word}.revision-loading,.revision-empty{color:var(--text-muted);font-size:.875rem;padding:2rem;text-align:center}.revision-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--background)}.cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text);padding:.6rem 1.25rem;border-radius:6px;cursor:pointer}.cancel-btn:hover{border-color:var(--text-muted)}.restore-btn{background:var(--primary);border:none;color:#fff;padding:.6rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:500}.restore-btn:hover:not(:disabled){background:var(--primary-hover)}.restore-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.revision-content{flex-direction:column}.revision-list{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:200px}}.entity-link{display:inline-flex;align-items:center;gap:.25em;padding:.1em .4em;border-radius:4px;font-weight:500;text-decoration:none;position:relative;cursor:pointer;transition:background .15s,color .15s}.entity-link-found{background:#a855f726;color:var(--accent)}.entity-link-found:hover{background:#a855f740;text-decoration:none}.entity-link-missing{background:#ff6b6b26;color:#ff6b6b;border-bottom:1px dashed #ff6b6b}.entity-link-missing:hover{background:#ff6b6b40}.entity-icon{font-size:.9em}.entity-name{font-weight:500}.entity-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);padding:.5em .75em;border-radius:6px;font-size:.8rem;font-weight:400;color:var(--text);white-space:nowrap;z-index:100;box-shadow:0 4px 12px #0000004d;pointer-events:none}.entity-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.entity-tooltip-missing{text-align:center}.entity-tooltip-missing small{color:var(--text-muted);font-size:.75rem}.wiki-image{max-width:100%;height:auto;border-radius:8px;margin:1em 0}.wiki-image-error{color:#ff6b6b;font-style:italic;font-size:.875rem}.character-tag{display:inline}.character-tag.loading{color:var(--text-muted);font-style:italic}.character-tag-links{display:inline}.character-link{color:var(--primary);text-decoration:none}.character-link:hover{text-decoration:underline}.character-tag.status{padding:.125rem .375rem;border-radius:4px;font-size:.875em;font-weight:500}.character-tag.status-alive{background:#22c55e26;color:#22c55e}.character-tag.status-deceased{background:#6b728026;color:#6b7280}.character-tag.status-undead{background:#8b5cf626;color:#8b5cf6}.character-tag.status-missing{background:#eab30826;color:#eab308}.character-tag.status-unknown{background:#6b728026;color:#9ca3af}.character-tag.stat{font-weight:600;font-family:monospace}.character-tag.quote{display:block;margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--primary);background:var(--surface);font-style:italic;color:var(--text-muted)}.character-tag.alignment{font-style:italic}.wiki-infobox{float:right;width:280px;margin:0 0 1rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:.875rem}.infobox-title{background:var(--primary);color:#fff;padding:.75rem 1rem;font-weight:600;font-size:1rem;text-align:center}.infobox-image{background:var(--background);padding:.5rem}.infobox-image img{width:100%;height:auto;display:block;border-radius:4px}.infobox-fields{width:100%;border-collapse:collapse}.infobox-fields th,.infobox-fields td{padding:.5rem .75rem;text-align:left;border-top:1px solid var(--border)}.infobox-fields th{background:#ffffff08;color:var(--text-muted);font-weight:500;width:40%;white-space:nowrap}.infobox-fields td{color:var(--text)}@media(max-width:768px){.wiki-infobox{float:none;width:100%;margin:0 0 1.5rem}}.wiki-navbox{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);overflow:hidden}.navbox-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--accent);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.navbox-header:hover{background:var(--primary)}.navbox-icon{font-size:1.1rem}.navbox-title{flex:1;font-weight:600}.navbox-toggle,.category-toggle{transition:transform .2s ease;font-size:.8rem}.navbox-toggle.expanded,.category-toggle.expanded{transform:rotate(90deg)}.wiki-navbox.collapsed .navbox-content{display:none}.navbox-content{border-top:1px solid var(--border)}.navbox-category{border-bottom:1px solid var(--border)}.navbox-category:last-child{border-bottom:none}.navbox-category-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#a855f726;font-weight:500;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.navbox-category-header:hover{background:#a855f740}.category-icon{font-size:1rem}.category-label{flex:1;font-size:.9rem}.navbox-category-content{background:var(--background)}.navbox-row{display:flex;flex-wrap:wrap;align-items:baseline;padding:.5rem 1rem;border-bottom:1px solid var(--border);line-height:1.6}.navbox-row:last-child{border-bottom:none}.navbox-subcategory-row{background:#ffffff05}.navbox-subcategory-label{font-weight:600;color:var(--text);font-size:.85rem;display:inline-flex;align-items:center;gap:.25rem;min-width:120px;padding-right:.75rem;margin-right:.5rem;border-right:1px solid var(--border)}.subcategory-icon{font-size:.85rem}.navbox-links{display:inline;flex:1}.navbox-link{color:var(--accent);text-decoration:none;font-size:.9rem}.navbox-link:hover{color:var(--primary);text-decoration:underline}.navbox-separator{color:var(--text-muted)}@media(max-width:768px){.navbox-category-header{padding:.5rem .75rem}.navbox-row{padding:.5rem .75rem;flex-direction:column;gap:.25rem}.navbox-subcategory-label{min-width:auto;border-right:none;margin-right:0;padding-right:0;margin-bottom:.25rem}.navbox-category-content{padding:.5rem .75rem}.navbox-link{font-size:.85rem}}.campaigns-gallery{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);overflow:hidden}.campaigns-gallery.empty{padding:2rem;text-align:center;color:var(--text-muted)}.campaigns-gallery-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--accent);color:#fff;font-weight:600}.campaigns-icon{font-size:1.1rem}.campaigns-title{font-size:1rem}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem}.campaign-card{display:flex;flex-direction:column;padding:1.25rem;background:var(--background);border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:border-color .2s,transform .2s}.campaign-card-icon{font-size:2rem;margin-bottom:.75rem}.campaign-card-title{margin:0 0 .5rem;color:var(--text);font-size:1.1rem;font-weight:600}.campaign-card-desc{margin:0 0 .75rem;color:var(--text-muted);font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.campaign-card-date{font-size:.75rem;color:var(--text-muted)}@media(max-width:600px){.campaigns-grid{grid-template-columns:1fr}}.sessions-list{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);overflow:hidden}.sessions-list.empty{padding:2rem;text-align:center;color:var(--text-muted)}.sessions-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#a855f726;font-weight:500;color:var(--text)}.sessions-icon{font-size:1rem}.sessions-title{font-size:.95rem}.sessions-content{padding:.75rem 1rem}.sessions-list-items{list-style:none;margin:0;padding:0}.sessions-list-items li{padding:.5rem 0;border-bottom:1px solid var(--border)}.sessions-list-items li:last-child{border-bottom:none}.session-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--text)}.session-link:hover .session-title{color:var(--accent)}.session-title{color:var(--accent);transition:color .2s}.session-date{font-size:.8rem;color:var(--text-muted)}.sessions-table{width:100%;border-collapse:collapse}.sessions-table th,.sessions-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border)}.sessions-table th{font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase}.sessions-table td a{color:var(--accent);text-decoration:none}.sessions-table td a:hover{text-decoration:underline}.sessions-timeline{position:relative;padding-left:1.5rem}.sessions-timeline:before{content:"";position:absolute;left:.4rem;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding:.75rem 0}.timeline-marker{position:absolute;left:-1.5rem;top:1rem;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.timeline-content{display:flex;flex-direction:column;gap:.25rem}.timeline-title{color:var(--accent);text-decoration:none;font-weight:500}.timeline-title:hover{text-decoration:underline}.timeline-date{font-size:.8rem;color:var(--text-muted)}.wiki-toc{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);max-width:350px}.wiki-toc.floating{position:sticky;top:1rem;float:right;margin-left:1.5rem;margin-bottom:1rem}.toc-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#a855f726;font-weight:500;color:var(--text);border-bottom:1px solid var(--border)}.toc-icon{font-size:1rem}.toc-title{font-size:.95rem}.toc-list{list-style:none;margin:0;padding:.75rem 1rem;counter-reset:toc-counter}.toc-item{padding:.25rem 0;counter-increment:toc-counter}.toc-item:before{content:counters(toc-counter,".") " ";color:var(--text-muted);font-size:.85rem}.toc-level-1{padding-left:0}.toc-level-2{padding-left:1rem}.toc-level-3{padding-left:2rem}.toc-level-4{padding-left:3rem}.toc-level-5{padding-left:4rem}.toc-level-6{padding-left:5rem}.toc-link{color:var(--accent);text-decoration:none;font-size:.9rem}.toc-link:hover{text-decoration:underline;color:var(--primary)}@media(max-width:768px){.wiki-toc.floating{float:none;position:static;max-width:100%;margin-left:0}}.wiki-stats{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);overflow:hidden}.wiki-stats.compact{display:inline-flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;border:none;background:transparent}.stats-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#a855f726;font-weight:500;color:var(--text);border-bottom:1px solid var(--border)}.stats-icon{font-size:1rem}.stats-title{font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;background:var(--border)}.stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:var(--background);text-align:center}.stat-card .stat-icon{font-size:1.5rem;margin-bottom:.5rem}.stat-card .stat-count{font-size:1.5rem;font-weight:700;color:var(--text)}.stat-card .stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.stat-item-compact{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.9rem}.stat-item-compact .stat-icon{font-size:1rem}.stat-item-compact .stat-count{font-weight:600;color:var(--text)}.wiki-info-card{float:right;width:280px;margin:0 0 1rem 1.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.info-card-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--accent);color:#fff}.info-card-icon{font-size:1.25rem}.info-card-title{margin:0;font-size:1rem;font-weight:600}.info-card-description{padding:.75rem 1rem;margin:0;font-size:.875rem;color:var(--text-muted);border-bottom:1px solid var(--border);font-style:italic}.info-card-table{width:100%;border-collapse:collapse}.info-card-table th,.info-card-table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.875rem}.info-card-table tr:last-child th,.info-card-table tr:last-child td{border-bottom:none}.info-card-table th{width:40%;font-weight:500;color:var(--text-muted);background:#ffffff05}.info-card-table td{color:var(--text)}@media(max-width:768px){.wiki-info-card{float:none;width:100%;margin:1rem 0}}.wiki-quote{margin:1.5rem 0;padding:1.25rem 1.5rem;border-left:4px solid var(--accent);background:#a855f70d;border-radius:0 8px 8px 0;font-style:italic}.wiki-quote.style-epic{border-left-color:#f59e0b;background:#f59e0b14;position:relative}.wiki-quote.style-epic:before{content:"❝";position:absolute;top:.5rem;left:.75rem;font-size:2rem;color:#f59e0b4d;font-style:normal}.wiki-quote.style-epic .quote-content{padding-left:1.5rem}.wiki-quote.style-simple{border-left-color:var(--border);background:transparent}.wiki-quote.style-warning{border-left-color:#ef4444;background:#ef444414}.wiki-quote.style-lore{border-left-color:#10b981;background:#10b98114;font-family:Georgia,serif}.quote-content{color:var(--text)}.quote-content p{margin:0 0 .5rem}.quote-content p:last-child{margin-bottom:0}.quote-attribution{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.quote-author{font-style:normal;font-weight:600;color:var(--text)}.quote-source{font-size:.85rem;color:var(--text-muted);font-style:normal}.wiki-gallery{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;background:var(--surface);overflow:hidden}.gallery-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#a855f726;font-weight:500;color:var(--text);border-bottom:1px solid var(--border)}.gallery-icon{font-size:1rem}.gallery-title{font-size:.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(var(--gallery-columns, 3),1fr);gap:.5rem;padding:1rem}.wiki-gallery.size-small .gallery-grid{gap:.25rem;padding:.5rem}.wiki-gallery.size-large .gallery-grid{gap:1rem;padding:1.5rem}.gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;cursor:pointer;transition:transform .2s,opacity .2s}.gallery-grid img:hover{transform:scale(1.02);opacity:.9}.gallery-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;padding:.5rem 1rem;cursor:pointer;border-radius:4px}.lightbox-close:hover{background:#fff3}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}.wiki-callout{margin:1.5rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.callout-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;font-size:.9rem}.callout-icon{font-size:1.1rem}.callout-content{padding:.75rem 1rem;font-size:.95rem}.callout-content p{margin:0 0 .5rem}.callout-content p:last-child{margin-bottom:0}.callout-warning{background:#f59e0b1a;border-color:#f59e0b4d}.callout-warning .callout-header{background:#f59e0b26;color:#f59e0b}.callout-warning .callout-content{color:var(--text)}.callout-danger{background:#ef44441a;border-color:#ef44444d}.callout-danger .callout-header{background:#ef444426;color:#ef4444}.callout-info{background:#3b82f61a;border-color:#3b82f64d}.callout-info .callout-header{background:#3b82f626;color:#3b82f6}.callout-success{background:#22c55e1a;border-color:#22c55e4d}.callout-success .callout-header{background:#22c55e26;color:#22c55e}.callout-note{background:#a855f71a;border-color:#a855f74d}.callout-note .callout-header{background:#a855f726;color:#a855f7}.callout-tip{background:#0ea5e91a;border-color:#0ea5e94d}.callout-tip .callout-header{background:#0ea5e926;color:#0ea5e9}.callout-secret{background:#8b5cf61a;border-color:#8b5cf64d;position:relative}.callout-secret .callout-header{background:#8b5cf633;color:#8b5cf6}.callout-secret:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(139,92,246,.03) 10px,rgba(139,92,246,.03) 20px);pointer-events:none}.callout-gm{background:#ec48991a;border-color:#ec48994d}.callout-gm .callout-header{background:#ec489926;color:#ec4899}.callout-gm:after{content:"GM";position:absolute;top:.5rem;right:.75rem;font-size:.65rem;font-weight:700;color:#ec489980;text-transform:uppercase;letter-spacing:.1em}.callout-gm{position:relative}.callout-users{background:#3b82f61a;border-color:#3b82f64d;position:relative}.callout-users .callout-header{background:#3b82f626;color:#3b82f6}.callout-users:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(59,130,246,.03) 10px,rgba(59,130,246,.03) 20px);pointer-events:none}.callout-roles{background:#eab3081a;border-color:#eab3084d;position:relative}.callout-roles .callout-header{background:#eab30826;color:#eab308}.callout-roles:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(234,179,8,.03) 10px,rgba(234,179,8,.03) 20px);pointer-events:none}.wiki-document{margin:1.5rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.wiki-document.has-image-bg{display:inline-block;max-width:100%}.wiki-document.has-image-bg .document-content{min-height:auto;overflow:hidden}.wiki-document.empty{padding:2rem;text-align:center;color:var(--text-muted)}.document-tabs{display:flex;background:var(--background);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.document-tab-btn{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.document-tab-btn:hover{color:var(--text);background:#a855f71a}.document-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:#a855f726}.document-content{min-height:200px;position:relative}.document-inner{padding:1.5rem}.document-tab-content{display:none}.document-tab-content.active{display:block}.doc-scroll .document-content{background:linear-gradient(180deg,#d4a574,#c4956a);color:#3d2914;position:relative}.doc-scroll .document-content:before,.doc-scroll .document-content:after{content:"";position:absolute;left:0;right:0;height:20px;background:linear-gradient(90deg,#8b6914,#c4956a 10% 90%,#8b6914);border-radius:50%}.doc-scroll .document-content:before{top:-10px}.doc-scroll .document-content:after{bottom:-10px}.doc-scroll .document-inner{padding:2rem 2.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;line-height:1.7}.doc-parchment .document-content{background:#f4e4bc;background-image:radial-gradient(ellipse at 20% 30%,rgba(139,69,19,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(139,69,19,.05) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");color:#3d2914;box-shadow:inset 0 0 30px #8b45131a}.doc-parchment .document-inner{font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;line-height:1.7}.doc-letter .document-content{background:#fff;color:#333;border:1px solid #ddd;box-shadow:0 1px 3px #0000001a,0 10px 20px #0000000d}.doc-letter .document-inner{font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;line-height:1.6;padding:2rem 3rem}.doc-tome .document-content{background:linear-gradient(135deg,#2d1b0e,#1a0f07);color:#c4a77d;border:4px double #8b6914;box-shadow:inset 0 0 50px #00000080}.doc-tome .document-inner{font-family:MedievalSharp,Old English Text MT,serif;font-size:1.1rem;line-height:1.8}.doc-tome .document-inner h1,.doc-tome .document-inner h2,.doc-tome .document-inner h3{color:#d4a574;border-bottom:1px solid #5c3d1e}.doc-stone .document-content{background:linear-gradient(180deg,#707070,#505050);color:#e0e0e0;border:3px solid #888;box-shadow:inset 0 2px 10px #0006}.doc-stone .document-inner{font-family:Courier New,monospace;font-size:1rem;line-height:1.6;letter-spacing:.05em}.doc-magical .document-content{background:linear-gradient(135deg,#1a0a2e,#0d0618);color:#b8a3d6;border:2px solid #6b4e9e;box-shadow:inset 0 0 30px #6b4e9e33,0 0 20px #6b4e9e4d;position:relative}.doc-magical .document-content:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(168,85,247,.1) 0%,transparent 30%),radial-gradient(circle at 80% 80%,rgba(56,189,248,.1) 0%,transparent 30%);pointer-events:none}.doc-magical .document-inner{font-family:Luminari,Papyrus,fantasy;font-size:1.05rem;line-height:1.7;position:relative;z-index:1}.doc-magical .document-inner h1,.doc-magical .document-inner h2,.doc-magical .document-inner h3{color:#a855f7;text-shadow:0 0 10px rgba(168,85,247,.5)}.doc-modern .document-content{background:#fff;color:#1a1a1a;border:none;box-shadow:0 4px 20px #0000001a}.doc-modern .document-inner{font-family:Inter,-apple-system,sans-serif;font-size:1rem;line-height:1.6}.doc-dark .document-content{background:#1a1a1a;color:#e0e0e0;border:1px solid #333}.doc-dark .document-inner{font-family:Inter,-apple-system,sans-serif;font-size:1rem;line-height:1.6}@media(max-width:768px){.document-inner{padding:1rem}.doc-letter .document-inner{padding:1.5rem}.document-tab-btn{padding:.6rem 1rem;font-size:.85rem}}.markdown-help-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.markdown-help-modal{background:var(--surface);border-radius:12px;width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;border:1px solid var(--border)}.markdown-help-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:var(--background);border-radius:12px 12px 0 0}.markdown-help-header h2{margin:0;font-size:1.25rem;color:var(--text)}.markdown-help-header .close-btn{background:transparent;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.markdown-help-header .close-btn:hover{color:var(--text)}.markdown-help-tabs{display:flex;gap:0;padding:0;border-bottom:1px solid var(--border);background:var(--background);overflow-x:auto;flex-shrink:0}.markdown-help-tabs button{padding:.875rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease;margin-bottom:-1px}.markdown-help-tabs button:hover{color:var(--text);background:#a855f70d}.markdown-help-tabs button.active{color:var(--primary);border-bottom-color:var(--primary);background:#a855f714}.markdown-help-content{padding:1.5rem;overflow-y:auto;flex:1}.help-section h3{margin:0 0 .75rem;font-size:1.1rem;color:var(--primary)}.help-section h3:not(:first-child){margin-top:2rem}.help-section h4{margin:1rem 0 .5rem;font-size:.95rem;color:var(--text)}.help-section p{margin:0 0 .75rem;color:var(--text-muted);font-size:.9rem}.help-note{color:var(--text-muted);font-size:.85rem;font-style:italic;margin-top:.5rem}.help-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.help-table th,.help-table td{padding:.625rem .875rem;text-align:left;border:1px solid var(--border)}.help-table th{background:var(--background);color:var(--text);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.help-table td{background:var(--surface);color:var(--text)}.help-table code{background:#a855f726;padding:.25rem .5rem;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.85em;color:#e2b6ff;border:1px solid rgba(168,85,247,.3)}.help-table td:first-child{white-space:nowrap}.code-example{background:#1a1a2e;border:1px solid var(--border);border-radius:6px;padding:1rem;margin:.75rem 0 1rem;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.85rem;color:#e0e0e0;overflow-x:auto;white-space:pre}@media(max-width:640px){.markdown-help-overlay{padding:1rem}.markdown-help-modal{max-height:90vh}.markdown-help-tabs{padding:0 .5rem}.markdown-help-tabs button{padding:.75rem 1rem;font-size:.8rem}.markdown-help-content{padding:1rem}.help-table th,.help-table td{padding:.5rem;font-size:.85rem}}.event-date-picker{margin-bottom:1rem}.event-date-picker.disabled{opacity:.6}.picker-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.picker-label .required{color:#ef4444;margin-left:.25rem}.no-calendar-message{color:var(--text-muted);font-size:.875rem;font-style:italic}.picker-fields{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.picker-field{display:flex;flex-direction:column;gap:.25rem}.picker-field label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.picker-field input,.picker-field select{padding:.5rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.picker-field input:focus,.picker-field select:focus{outline:none;border-color:var(--primary)}.picker-field input[type=number]{width:80px}.picker-field select{min-width:140px}.picker-field.time-field input{width:60px}.day-max{font-size:.75rem;color:var(--text-muted);margin-left:.25rem;align-self:center}.picker-preview{margin-top:.5rem;padding:.5rem .75rem;background:#a855f71a;border-radius:6px;color:var(--primary);font-size:.875rem}@media(max-width:640px){.picker-fields{flex-direction:column;align-items:stretch}.picker-field input,.picker-field select,.picker-field input[type=number]{width:100%}}.wiki-editor{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0;width:100%}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:.5rem}.page-title-row{display:flex;align-items:center;gap:.75rem}.page-icon{font-size:1.5rem}.editor-header h1{margin:0;font-size:1.5rem;color:var(--text)}.page-type-badge{background:var(--primary);color:#fff;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.editor-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.insert-link-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.4rem .6rem;border-radius:6px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap}.insert-link-btn.icon-btn{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;padding:0!important;font-size:1rem;line-height:1;box-sizing:border-box;overflow:hidden;flex-shrink:0}.insert-link-btn:hover{border-color:var(--accent);color:var(--accent)}.insert-link-btn.has-visibility{border-color:var(--accent);color:var(--accent);background:#a855f71a}.visibility-settings-section{background:#a855f70d;border:1px solid rgba(168,85,247,.2);border-radius:8px;padding:.75rem 1rem;margin:0 1rem .5rem}.visibility-settings-section h3{margin:0;font-size:.9rem;color:var(--accent);display:inline}.visibility-description{color:var(--text-muted);font-size:.8rem;display:inline;margin:0 0 .75rem .5rem}.visibility-fields{display:flex;gap:1rem;margin-top:.5rem}.visibility-field{display:flex;align-items:center;gap:.5rem;flex:1}.visibility-field label{font-size:.8rem;font-weight:500;color:var(--text);white-space:nowrap}.visibility-field input{flex:1;padding:.4rem .6rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;min-width:150px}.visibility-field input:focus{outline:none;border-color:var(--accent)}.visibility-field .field-hint{display:none}.visibility-preview{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(168,85,247,.2)}.visibility-badge{background:#a855f733;color:var(--accent);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.visibility-info{font-size:.85rem;color:var(--text-muted)}.autosave-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;cursor:pointer;border:1px solid var(--border);border-radius:6px;position:relative;box-sizing:border-box}.autosave-toggle input[type=checkbox]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.autosave-toggle .autosave-icon{font-size:1rem;opacity:.5}.autosave-toggle:has(input:checked){border-color:var(--accent);background:#a855f71a}.autosave-toggle:has(input:checked) .autosave-icon{opacity:1}.autosave-toggle:hover{border-color:var(--text-muted)}.editor-action-btn{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;border-radius:6px;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0!important;line-height:1;box-sizing:border-box;overflow:hidden;flex-shrink:0;vertical-align:middle;align-self:center}.editor-action-btn.save-btn{background:#3b0085!important;border:1px solid #3b0085!important;margin:0!important}.editor-action-btn.save-btn.has-changes{outline:2px solid #a855f7;outline-offset:1px;border-color:#a855f7!important}.editor-action-btn.save-btn:hover:not(:disabled){background:#2d0066!important}.editor-action-btn.save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.editor-action-btn.done-btn{color:#22c55e;border:1px solid #22c55e}.editor-action-btn.done-btn:hover{background:#22c55e1a}.editor-action-btn.delete-btn{color:#ff6b6b;border:1px solid #ff6b6b}.editor-action-btn.delete-btn:hover{background:#ff6b6b1a}.event-metadata-section{padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.event-metadata-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text)}.event-fields{display:flex;flex-direction:column;gap:1rem}.event-options{display:flex;gap:1.5rem;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--text);cursor:pointer}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.editor-content{flex:1;overflow:hidden;min-width:0;width:100%}.editor-split-view{display:flex;height:100%;gap:1px;background:var(--border);width:100%}.editor-pane{flex:1;min-width:0;overflow:hidden;background:var(--background)}.preview-pane{flex:1;min-width:0;overflow:auto;background:var(--background);padding:1rem}.editor-preview-content{color:var(--text);line-height:1.6}.editor-preview-content h1,.editor-preview-content h2,.editor-preview-content h3,.editor-preview-content h4{color:var(--text);margin-top:1.5rem;margin-bottom:.75rem}.editor-preview-content h1:first-child{margin-top:0}.editor-preview-content p{margin-bottom:1rem}.editor-preview-content a{color:var(--accent)}.editor-preview-content code{background:#ffffff1a;padding:.15rem .35rem;border-radius:3px;font-size:.9em}.editor-preview-content pre{background:var(--surface);padding:1rem;border-radius:6px;overflow-x:auto}.editor-preview-content pre code{background:transparent;padding:0}.editor-preview-content ul,.editor-preview-content ol{margin-bottom:1rem;padding-left:1.5rem}.editor-preview-content li{margin-bottom:.25rem}.editor-preview-content blockquote{border-left:3px solid var(--accent);margin:1rem 0;padding-left:1rem;color:var(--text-muted)}.editor-preview-content table{width:100%;border-collapse:collapse;margin-bottom:1rem}.editor-preview-content th,.editor-preview-content td{border:1px solid var(--border);padding:.5rem;text-align:left}.editor-preview-content th{background:var(--surface)}.editor-content .w-md-editor{background:var(--background)!important;height:100%!important;--md-editor-font-size: 14px !important}.editor-content .w-md-editor-text-pre,.editor-content .w-md-editor-text-input,.editor-content .w-md-editor-text,.editor-content .w-md-editor-text-pre>code,.editor-content .w-md-editor-text textarea{font-size:14px!important;line-height:1.5!important;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important;letter-spacing:normal!important;word-spacing:normal!important}.editor-content .wmde-markdown{background:var(--background)!important;font-size:14px!important}.editor-content .w-md-editor-toolbar{background:var(--surface)!important;border-bottom:1px solid var(--border)!important}.editor-content .w-md-editor-toolbar li>button{color:var(--text-muted)!important}.editor-content .w-md-editor-toolbar li>button:hover{color:var(--text)!important;background:#ffffff1a!important}.editor-content .w-md-editor-content{height:calc(100% - 29px)!important}@media(max-width:768px){.editor-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.page-title-row h1{font-size:1.1rem}.editor-actions{width:100%;flex-wrap:wrap;gap:.5rem}}.character-stats{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.character-stats.loading,.character-stats.error{padding:1rem;text-align:center;color:var(--text-muted)}.stats-sections-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:.5rem;background:var(--background);border-bottom:1px solid var(--border)}.section-tab{padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s ease}.section-tab:hover{background:var(--surface);color:var(--text)}.section-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.stats-section{padding:1rem}.stats-section h4{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);color:var(--text);font-size:1rem}.stats-section h5{margin:1rem 0 .5rem;color:var(--text-muted);font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.ability-scores-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:1rem}.stat-field{display:flex;flex-direction:column;gap:.25rem}.stat-field label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-field-number{text-align:center}.stat-field-number .field-display{justify-content:center;font-size:1.25rem;font-weight:600}.stat-field-textarea{grid-column:1 / -1}.field-display{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;min-height:36px;transition:all .15s ease}.field-display:hover{border-color:var(--primary);background:#a855f70d}.field-display span{flex:1;color:var(--text)}.field-display span.empty{color:var(--text-muted);font-style:italic}.field-display .edit-btn{padding:0;background:transparent;border:none;font-size:.75rem;opacity:0;transition:opacity .15s ease}.field-display:hover .edit-btn{opacity:.6}.field-edit{display:flex;gap:.25rem}.field-edit input,.field-edit select{flex:1;padding:.5rem;background:var(--background);border:1px solid var(--primary);border-radius:4px;color:var(--text);font-size:.875rem}.field-edit textarea{width:100%;padding:.5rem;background:var(--background);border:1px solid var(--primary);border-radius:4px;color:var(--text);font-size:.875rem;resize:vertical;font-family:inherit}.field-edit .save-btn,.field-edit .cancel-btn{padding:.5rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.field-edit .save-btn{background:var(--primary);color:#fff}.field-edit .cancel-btn{background:var(--surface);color:var(--text-muted)}.field-actions{display:flex;gap:.5rem;margin-top:.5rem}.relationship-group{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.relationship-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.group-header h5{margin:0}.add-btn{width:24px;height:24px;padding:0;background:var(--primary);border:none;border-radius:50%;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.add-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:var(--background);border-radius:6px}.add-form select{flex:1;min-width:120px;padding:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.875rem}.add-form .confirm-btn{padding:.5rem 1rem;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer}.add-form .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.relationships-list{list-style:none;padding:0;margin:0}.relationships-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;transition:background .15s ease}.relationships-list li:hover{background:var(--background)}.relationships-list li a{color:var(--primary);text-decoration:none;font-weight:500}.relationships-list li a:hover{text-decoration:underline}.rel-type{font-size:.75rem;color:var(--text-muted);padding:.125rem .375rem;background:var(--background);border-radius:4px;cursor:pointer}.rel-type:hover{background:var(--surface)}.remove-btn{margin-left:auto;padding:.25rem .5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.remove-btn:hover{background:#ef44441a;color:#ef4444}.empty-list{color:var(--text-muted);font-style:italic;font-size:.875rem;padding:.5rem}.inline-edit{display:flex;gap:.25rem;margin-left:.5rem}.inline-edit select{padding:.25rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.75rem}.inline-edit button{padding:.25rem .5rem;background:var(--primary);border:none;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer}@media(max-width:768px){.stats-sections-tabs{justify-content:center}.section-tab{padding:.4rem .6rem;font-size:.75rem}.ability-scores-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:1fr}}.family-page-tree{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-top:1rem}.family-page-tree.loading,.family-page-tree.error{text-align:center;color:var(--text-muted)}.family-page-tree .family-tree-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:none;padding-bottom:0}.family-page-tree .family-tree-header h4{margin:0;font-size:1rem}.add-member-btn{padding:.375rem .75rem;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text);cursor:pointer;font-size:.875rem}.add-member-btn:hover{background:var(--surface)}.add-member-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-member-form select{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text)}.add-member-form .confirm-btn{padding:.5rem 1rem;background:var(--accent);border:none;color:#fff;border-radius:4px;cursor:pointer}.add-member-form .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.no-members{text-align:center;color:var(--text-muted);font-style:italic;padding:2rem}.family-page-tree .tree-container{position:relative;overflow:hidden;min-height:150px;max-height:500px;margin-bottom:1rem}.family-page-tree .tree-scroll-container{overflow:hidden;max-width:100%;padding-bottom:1rem;cursor:grab;-webkit-user-select:none;user-select:none}.family-page-tree .tree-scroll-container:active,.family-page-tree .tree-scroll-container.dragging{cursor:grabbing}.family-page-tree .family-tree-svg{display:block;min-width:100%}.family-page-tree .family-tree-svg path.tree-connection{stroke:var(--accent);stroke-width:2;fill:none}.family-page-tree .family-tree-svg line.child-connector{stroke:var(--accent);stroke-width:2}.family-page-tree .family-tree-svg line.partner-line{stroke:var(--accent);stroke-width:2}.family-page-tree .family-tree-svg line.partner-line.divorced,.family-page-tree .family-tree-svg line.partner-line.separated{stroke:var(--accent);stroke-dasharray:6,4;opacity:.5}.family-page-tree .family-tree-svg line.partner-line.engaged{stroke:var(--accent);stroke-dasharray:4,4}.family-page-tree .family-tree-svg line.partner-line.widowed{stroke:var(--accent);opacity:.5}.family-page-tree .tree-node{fill:var(--background);stroke:var(--border);stroke-width:2}.family-page-tree .tree-node:hover{stroke:var(--accent)}.family-page-tree .tree-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .75rem;color:var(--text);font-size:.875rem}.family-page-tree .tree-nodes{position:relative}.family-page-tree .tree-node{position:absolute;padding:.5rem;background:var(--background);border:2px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.family-page-tree .tree-node:hover,.family-page-tree .tree-node.selected{border-color:var(--accent);box-shadow:0 2px 8px #0003}.family-page-tree .tree-node .node-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);flex:1;min-width:0}.family-page-tree .tree-node .node-link:hover{color:var(--accent)}.family-page-tree .tree-node .node-icon{font-size:1rem;flex-shrink:0}.family-page-tree .tree-node .node-title{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-page-tree .tree-node .remove-member-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 .25rem;opacity:0;transition:opacity .2s}.family-page-tree .tree-node:hover .remove-member-btn{opacity:1}.family-page-tree .tree-node .remove-member-btn:hover{color:#ef4444}.member-list{border-top:1px solid var(--border);padding-top:1rem}.member-list h5{margin:0 0 .5rem;font-size:.875rem;color:var(--text-muted)}.member-list ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.member-list li{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--background);border:1px solid var(--border);border-radius:4px}.member-list li a{color:var(--text);text-decoration:none;font-size:.875rem}.member-list li a:hover{color:var(--accent)}.member-list li .remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.875rem;padding:0}.member-list li .remove-btn:hover{color:#ef4444}.wiki-preview{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0;width:100%}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.preview-header .page-title-row{display:flex;align-items:center;gap:.75rem}.preview-header .page-icon{font-size:1.5rem}.preview-header h1{margin:0;font-size:1.5rem;color:var(--text)}.preview-header .page-type-badge{background:var(--primary);color:#fff;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.preview-actions{display:flex;gap:.5rem;align-items:center}.preview-action-btn{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;border-radius:6px;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0!important;line-height:1;box-sizing:border-box;overflow:hidden;flex-shrink:0;vertical-align:middle;align-self:center}.preview-action-btn:hover{background:#ffffff1a}.preview-action-btn.edit-btn{background:var(--primary);border-color:var(--primary)}.preview-action-btn.edit-btn:hover{background:var(--primary-hover)}.preview-action-btn.delete-btn{border:1px solid #ff6b6b;color:#ff6b6b}.preview-action-btn.delete-btn:hover{background:#ff6b6b1a}.preview-content{flex:1;overflow-y:auto;padding:1rem 1.5rem;background:var(--background)}.wiki-article{max-width:100%;margin:0 auto;color:var(--text);line-height:1.7}.wiki-preview.minimal .wiki-article{max-width:100%}.wiki-preview.minimal .preview-content{padding:0}.wiki-article h1,.wiki-article h2,.wiki-article h3,.wiki-article h4,.wiki-article h5,.wiki-article h6{color:var(--text);margin:1.5em 0 .5em;line-height:1.3}.wiki-article h1{font-size:2rem}.wiki-article h2{font-size:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.3em}.wiki-article h3{font-size:1.25rem}.wiki-article h4{font-size:1.1rem}.wiki-article p{margin:1em 0}.wiki-article a{color:var(--accent);text-decoration:none}.wiki-article a:hover{text-decoration:underline}.wiki-article ul,.wiki-article ol{margin:1em 0;padding-left:2em}.wiki-article li{margin:.25em 0}.wiki-article blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid var(--accent);background:#a855f71a;color:var(--text-muted)}.wiki-article code{background:var(--surface);padding:.2em .4em;border-radius:4px;font-size:.9em;font-family:Fira Code,Consolas,monospace}.wiki-article pre{background:var(--surface);padding:1em;border-radius:8px;overflow-x:auto;margin:1em 0}.wiki-article pre code{background:transparent;padding:0}.wiki-article table{width:100%;border-collapse:collapse;margin:1em 0}.wiki-article th,.wiki-article td{border:1px solid var(--border);padding:.5em 1em;text-align:left}.wiki-article th{background:var(--surface);font-weight:600}.wiki-article img{max-width:100%;height:auto;border-radius:8px}.wiki-article hr{border:none;border-top:1px solid var(--border);margin:2em 0}.wiki-article input[type=checkbox]{margin-right:.5em}.backlinks-section{max-width:100%;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border)}.backlinks-section h3{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);font-weight:500}.backlinks-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.backlinks-list li a{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);text-decoration:none;font-size:.875rem;transition:border-color .15s,background .15s}.backlinks-list li a:hover{border-color:var(--accent);background:#a855f71a}.backlink-icon{font-size:.9em}.preview-footer{padding:.75rem 1.5rem;border-top:1px solid var(--border);background:var(--surface)}.page-meta{font-size:.8rem;color:var(--text-muted)}@media(max-width:768px){.preview-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.preview-header h1{font-size:1.2rem}.preview-actions{display:flex;gap:.5rem}.preview-action-btn{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;font-size:.9rem}.preview-content{padding:1rem}.wiki-article{font-size:.9rem}.wiki-article h1{font-size:1.5rem}.wiki-article h2{font-size:1.25rem}.wiki-article h3{font-size:1.1rem}.backlinks-section{margin-top:1.5rem;padding-top:1rem}.backlinks-list li a{padding:.35rem .6rem;font-size:.8rem}.preview-footer{padding:.5rem 1rem}.page-meta{font-size:.7rem}}.campaign-page{display:flex;height:calc(100vh - 60px);overflow:hidden;width:100%}.wiki-content{flex:1;display:flex;overflow:hidden;min-width:0}.campaign-loading,.campaign-error,.page-loading,.page-not-found{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.campaign-error{color:#ff6b6b}.page-not-found h2{margin:0 0 .5rem;color:var(--text)}.page-not-found p{color:var(--text-muted)}@media(max-width:768px){.campaign-page{flex-direction:column;height:auto;min-height:calc(100vh - 112px)}.wiki-content{flex-direction:column}}.collaborator-manager{display:flex;flex-direction:column;gap:1.5rem}.collab-message{padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.collab-message.success{background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.collab-message.error{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.collab-section h3{font-size:.9rem;color:var(--text-muted);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.collab-hint{font-size:.8rem;color:var(--text-muted);margin:-.5rem 0 .75rem}.collab-list{display:flex;flex-direction:column;gap:.5rem}.collab-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px}.collab-row.inherited{opacity:.7;border-style:dashed}.collab-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.collab-info{flex:1;min-width:0}.collab-name{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-email{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-role select{padding:.4rem .6rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.8rem;cursor:pointer}.collab-role select:focus{outline:none;border-color:var(--accent)}.role-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-owner{background:#a855f733;color:var(--accent)}.role-badge.role-editor{background:#3b82f633;color:#3b82f6}.role-badge.role-contributor{background:#22c55e33;color:#22c55e}.role-badge.role-viewer{background:#9ca3af33;color:#9ca3af}.collab-remove{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .15s}.collab-remove:hover{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.pending-list{display:flex;flex-direction:column;gap:.5rem}.pending-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--background);border:1px dashed var(--border);border-radius:8px}.pending-row.expired{opacity:.5}.pending-info{flex:1}.pending-email{font-weight:500;color:var(--text)}.pending-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.pending-expires{font-size:.75rem;color:var(--text-muted)}.pending-cancel{padding:.4rem .75rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.pending-cancel:hover{border-color:#ff6b6b;color:#ff6b6b}.invite-form{display:flex;gap:.5rem;flex-wrap:wrap}.invite-form input[type=email]{flex:1;min-width:200px;padding:.6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.invite-form input:focus{outline:none;border-color:var(--accent)}.invite-form select{padding:.6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer}.invite-form button{padding:.6rem 1.25rem;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.invite-form button:hover:not(:disabled){background:var(--primary-hover)}.invite-form button:disabled{opacity:.5;cursor:not-allowed}.role-help{margin-top:1rem;padding:.75rem;background:var(--background);border-radius:8px;font-size:.8rem;color:var(--text-muted)}.role-help p{margin:0 0 .25rem}.role-help p:last-child{margin-bottom:0}.role-help strong{color:var(--text)}@media(max-width:768px){.collab-row{flex-wrap:wrap}.collab-info{flex-basis:calc(100% - 50px)}.collab-role{flex-basis:100%;margin-top:.5rem}.invite-form{flex-direction:column}.invite-form input[type=email]{min-width:auto}}.font-manager{display:flex;flex-direction:column;gap:1.5rem}.font-manager-loading{color:var(--text-muted);padding:1rem 0}.font-upload-section{background:var(--background);border-radius:8px;padding:1.25rem}.font-upload-section h4{margin:0 0 .5rem;font-size:1rem;color:var(--text)}.font-upload-hint{font-size:.85rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.font-upload-hint code{background:var(--surface);padding:.15em .4em;border-radius:4px;font-size:.9em}.font-upload-form{display:flex;flex-direction:column;gap:1rem}.font-upload-row{display:flex;gap:1rem}.font-field{flex:1;display:flex;flex-direction:column;gap:.35rem}.font-field label{font-size:.85rem;color:var(--text-muted);font-weight:500}.font-field input[type=text],.font-field input[type=file]{padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.font-field input[type=file]{cursor:pointer}.font-field input[type=file]::file-selector-button{background:var(--primary);color:#fff;border:none;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;margin-right:.75rem}.font-field-hint{font-size:.75rem;color:var(--text-muted);opacity:.8}.font-upload-btn{align-self:flex-start;padding:.65rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.font-upload-btn:hover:not(:disabled){background:var(--primary-hover)}.font-upload-btn:disabled{opacity:.6;cursor:not-allowed}.font-error{margin-top:.5rem;padding:.75rem 1rem;background:#ff6b6b1a;color:#ff6b6b;border-radius:6px;font-size:.9rem}.font-list-section h4{margin:0 0 .75rem;font-size:1rem;color:var(--text)}.no-fonts{color:var(--text-muted);font-size:.9rem;padding:1rem;background:var(--background);border-radius:6px;text-align:center}.font-list{display:flex;flex-direction:column;gap:.5rem}.font-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.font-info{display:flex;flex-direction:column;gap:.25rem}.font-alias code{background:var(--surface);padding:.2em .5em;border-radius:4px;font-size:.95rem;color:var(--accent)}.font-details{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-muted)}.font-family{font-weight:500}.font-original{opacity:.7}.font-actions{display:flex;align-items:center;gap:.75rem}.font-usage{font-size:.8rem;color:var(--text-muted);background:var(--surface);padding:.35rem .6rem;border-radius:4px;font-family:monospace}.font-delete-btn{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem;opacity:.7;transition:opacity .2s}.font-delete-btn:hover:not(:disabled){opacity:1}.font-delete-btn:disabled{cursor:not-allowed;opacity:.4}@media(max-width:600px){.font-upload-row{flex-direction:column}.font-item{flex-direction:column;align-items:flex-start;gap:.75rem}.font-actions{width:100%;justify-content:space-between}}.import-export{display:flex;flex-direction:column;gap:1.5rem}.export-section,.import-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.export-section h3,.import-section h3{margin:0 0 .5rem;font-size:1rem;color:var(--text)}.export-section p,.import-section p{margin:0 0 1rem;font-size:.875rem;color:var(--text-muted)}.export-options{display:flex;flex-direction:column;gap:1rem}.export-btn{padding:.75rem 1.25rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.export-btn.export-all{background:var(--primary);color:#fff}.export-btn.export-all:hover:not(:disabled){background:var(--primary-hover)}.export-btn:disabled{opacity:.6;cursor:not-allowed}.export-by-type{display:flex;flex-direction:column;gap:.5rem}.export-label{font-size:.8rem;color:var(--text-muted)}.export-type-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.export-type-btn{width:40px;height:40px;border:1px solid var(--border);border-radius:6px;background:var(--background);font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.export-type-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}.export-type-btn:disabled{opacity:.5;cursor:not-allowed}.import-options{display:flex;flex-direction:column;gap:1rem}.import-mode,.import-type{display:flex;flex-direction:column;gap:.375rem}.import-mode label,.import-type label{font-size:.8rem;color:var(--text-muted)}.import-mode select,.import-type select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.875rem}.import-btn{padding:.75rem 1.25rem;border:2px dashed var(--border);border-radius:6px;background:transparent;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.import-btn:hover:not(:disabled){border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.import-btn:disabled{opacity:.6;cursor:not-allowed}.import-result{margin-top:1rem;padding:1rem;border-radius:6px;background:var(--background);border:1px solid var(--border)}.import-result.success{border-color:var(--success);background:rgba(var(--success-rgb, 46, 160, 67),.1)}.import-result.has-errors{border-color:var(--warning);background:rgba(var(--warning-rgb, 255, 193, 7),.1)}.result-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.result-stats .stat{font-size:.875rem;font-weight:500}.result-stats .created{color:var(--success, #2ea043)}.result-stats .updated{color:var(--info, #58a6ff)}.result-stats .skipped{color:var(--text-muted)}.result-errors{font-size:.8rem;color:var(--error, #f85149)}.result-errors strong{display:block;margin-bottom:.5rem}.result-errors ul{margin:0;padding-left:1.25rem}.result-errors li{margin-bottom:.25rem}.format-info{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.format-info h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text)}.format-info ul{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-muted)}.format-info li{margin-bottom:.5rem}.format-info strong{color:var(--text)}.settings-page{max-width:800px;margin:0 auto;padding:2rem}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.settings-header h1{margin:0;font-size:1.75rem;color:var(--text)}.settings-back{color:var(--text-muted);text-decoration:none;font-size:.875rem}.settings-back:hover{color:var(--accent)}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.settings-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--text);display:flex;align-items:center;gap:.5rem}.settings-section p{color:var(--text-muted);font-size:.875rem;margin:0 0 1rem}.settings-field{margin-bottom:1.25rem}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-muted);font-weight:500}.settings-field input[type=text],.settings-field textarea{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;box-sizing:border-box}.settings-field input:focus,.settings-field textarea:focus{outline:none;border-color:var(--accent)}.settings-field textarea{min-height:100px;resize:vertical}.settings-field-hint{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.visibility-options{display:flex;flex-direction:column;gap:.75rem}.visibility-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--background);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .2s}.visibility-option:hover{border-color:var(--accent)}.visibility-option.selected{border-color:var(--accent);background:#a855f71a}.visibility-option input[type=radio]{margin-top:.25rem;accent-color:var(--accent)}.visibility-option-content{flex:1}.visibility-option-title{font-weight:600;color:var(--text);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.visibility-option-desc{font-size:.8rem;color:var(--text-muted)}.visibility-icon{font-size:1.1rem}.settings-actions{display:flex;gap:.75rem;margin-top:1.5rem}.save-settings-btn{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem}.save-settings-btn:hover:not(:disabled){background:var(--primary-hover)}.save-settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item{background:var(--background);padding:1rem;border-radius:8px;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.danger-zone{background:#ff6b6b1a;border-color:#ff6b6b4d}.danger-zone h2{color:#ff6b6b}.btn-danger{background:#dc2626;color:#fff;white-space:nowrap;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer}.delete-btn{background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;white-space:nowrap}.delete-btn:hover{background:#ff6b6b;color:#fff}.settings-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.settings-message.success{background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.settings-message.error{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.inherit-info{background:var(--background);padding:.75rem 1rem;border-radius:6px;font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.inherit-info strong{color:var(--text)}.settings-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted)}@media(max-width:768px){.settings-page{padding:1rem}.settings-header{flex-direction:column;align-items:flex-start;gap:.75rem}.settings-section{padding:1rem}.visibility-options{gap:.5rem}.visibility-option{padding:.75rem}}.entity-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:1rem}.entity-type-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.entity-type-toggle input[type=checkbox]{display:none}.entity-type-toggle:hover{border-color:var(--primary)}.entity-type-toggle.enabled{background:#a855f71a;border-color:var(--primary)}.entity-type-icon{font-size:1.25rem}.entity-type-label{font-size:.9rem;color:var(--text)}.entity-type-toggle:not(.enabled) .entity-type-icon,.entity-type-toggle:not(.enabled) .entity-type-label{opacity:.5}.settings-link-btn{display:inline-block;padding:.75rem 1.5rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem;transition:background .15s ease}.settings-link-btn:hover{background:var(--primary-hover);color:#fff}.campaign-dashboard{padding:2rem;max-width:1200px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:#9ca3af}.breadcrumb a{color:#7c3aed;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{color:#6b7280}.dashboard-loading,.dashboard-error{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:1.125rem;color:#9ca3af}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #374151}.dashboard-title h1{margin:0 0 .5rem;font-size:2rem;color:#f3f4f6}.campaign-description{margin:0;color:#9ca3af;font-size:1rem;max-width:600px}.dashboard-actions{display:flex;gap:.75rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}.btn-icon{padding:.75rem;font-size:1.1rem;background:#374151;color:#fff}.btn-icon:hover{background:#4b5563}.btn-primary{background:#7c3aed;color:#fff}.btn-primary:hover{background:#6d28d9}.btn-secondary{background:#374151;color:#f3f4f6}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#dc2626;color:#fff;white-space:nowrap}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#6b7280;cursor:not-allowed}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.dashboard-card{background:#1f2937;border-radius:.75rem;padding:1.5rem;border:1px solid #374151}.dashboard-card h2{margin:0 0 1rem;font-size:1.125rem;color:#f3f4f6;font-weight:600}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#111827;border-radius:.5rem;color:#d1d5db;text-decoration:none;transition:all .2s}.quick-link:hover{background:#374151;color:#f3f4f6}.quick-icon{font-size:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center;padding:1rem;background:#111827;border-radius:.5rem}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:#7c3aed}.stat-label{display:block;font-size:.75rem;color:#9ca3af;margin-top:.25rem;text-transform:capitalize}.recent-list{list-style:none;margin:0;padding:0}.recent-list li{border-bottom:1px solid #374151}.recent-list li:last-child{border-bottom:none}.recent-list a{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#d1d5db;text-decoration:none;transition:color .2s}.recent-list a:hover{color:#7c3aed}.page-icon{font-size:1.125rem}.page-title{flex:1}.page-date{font-size:.75rem;color:#6b7280}.no-pages{color:#6b7280;font-style:italic}.info-list{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0}.info-list dt{color:#6b7280;font-size:.875rem}.info-list dd{color:#f3f4f6;margin:0}.visibility-badge{display:inline-flex;align-items:center;gap:.25rem}.share-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #374151}.share-section h3{font-size:.875rem;color:#9ca3af;margin:0 0 .5rem;font-weight:500}.share-link-row{display:flex;gap:.5rem}.share-link-input{flex:1;padding:.5rem .75rem;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#f3f4f6;font-size:.875rem}.share-link-input:focus{outline:none;border-color:#a855f7}.danger-zone{grid-column:span 2;border-color:#7f1d1d;background:linear-gradient(to right,#1f2937,#1f1f1f)}.danger-zone h2{color:#fca5a5}.danger-content{display:flex;flex-direction:column;gap:1rem}.danger-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:#7f1d1d33;border-radius:.5rem;border:1px solid #7f1d1d}.danger-info strong{display:block;color:#f3f4f6;margin-bottom:.25rem}.danger-info p{margin:0;color:#9ca3af;font-size:.875rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1f2937;border-radius:.75rem;padding:1.5rem;max-width:480px;width:90%;border:1px solid #374151}.delete-modal h2{margin:0 0 1rem;color:#fca5a5}.delete-modal p{color:#d1d5db;margin:0 0 1rem;line-height:1.5}.delete-modal strong{color:#f3f4f6}.delete-confirm-input{width:100%;padding:.75rem;background:#111827;border:1px solid #374151;border-radius:.5rem;color:#f3f4f6;font-size:1rem;margin-bottom:1rem}.delete-confirm-input:focus{outline:none;border-color:#dc2626}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:768px){.campaign-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1;justify-content:center}.dashboard-grid{grid-template-columns:1fr}.danger-zone{grid-column:span 1}.quick-links{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.danger-item{flex-direction:column;text-align:center}}.calendar-settings-page{max-width:800px;margin:0 auto;padding:2rem}.calendar-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.header-left{display:flex;flex-direction:column;gap:.25rem}.calendar-settings-header h1{margin:0;font-size:1.75rem;color:var(--text)}.view-calendar-btn{padding:.75rem 1.5rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem}.view-calendar-btn:hover{background:var(--primary-hover)}.calendar-settings-loading{text-align:center;padding:3rem;color:var(--text-muted)}.calendar-setup{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;text-align:center}.calendar-setup h2{margin:0 0 .5rem;color:var(--text)}.calendar-setup p{color:var(--text-muted);margin-bottom:1.5rem}.preset-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.preset-buttons.small{justify-content:flex-start}.preset-btn{padding:1rem 1.5rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;cursor:pointer;transition:all .15s ease}.preset-btn:hover:not(:disabled){border-color:var(--primary);background:#a855f71a}.preset-btn:disabled{opacity:.5;cursor:not-allowed}.calendar-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.calendar-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--text)}.calendar-section p{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0}.settings-field{margin-bottom:1rem}.settings-field label{display:block;margin-bottom:.5rem;color:var(--text-muted);font-size:.875rem}.settings-field input,.settings-field select{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--primary)}.settings-field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.add-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer}.add-btn:hover{background:var(--primary-hover)}.save-btn{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;margin-top:.5rem}.save-btn:hover:not(:disabled){background:var(--primary-hover)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.add-form{display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem;background:var(--background);border-radius:8px}.add-form input{flex:1;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text)}.add-form input[type=number]{max-width:100px}.add-form button{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.add-form button:hover{background:var(--primary-hover)}.add-form .cancel-btn{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.add-form .cancel-btn:hover{background:var(--background)}.items-list{display:flex;flex-direction:column;gap:.5rem}.list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--background);border-radius:8px}.item-order{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:50%;color:var(--text-muted);font-size:.875rem}.item-name{flex:1;color:var(--text);font-weight:500}.item-detail{color:var(--text-muted);font-size:.875rem}.item-badge{padding:.25rem .5rem;background:#a855f71a;color:var(--primary);border-radius:4px;font-size:.75rem;text-transform:capitalize}.item-badge.rest{background:#22c55e1a;color:#22c55e}.delete-btn{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;border-radius:4px}.delete-btn:hover{background:#ef44441a;color:#ef4444}.empty-message{text-align:center;color:var(--text-muted);padding:1rem;font-style:italic}.settings-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.settings-message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.settings-message.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}@media(max-width:640px){.calendar-settings-page{padding:1rem}.calendar-settings-header{flex-direction:column;gap:1rem;text-align:center}.settings-field-row{grid-template-columns:1fr}.preset-buttons,.add-form{flex-direction:column}.add-form input[type=number]{max-width:none}}.calendar-view{max-width:1200px;margin:0 auto;padding:2rem}.calendar-view-loading,.calendar-view-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.calendar-view-empty h2{margin:0 0 .5rem;color:var(--text)}.setup-calendar-btn{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:8px}.setup-calendar-btn:hover{background:var(--primary-hover)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.calendar-title{display:flex;align-items:center;gap:1rem}.calendar-title h1{margin:0;font-size:1.75rem;color:var(--text)}.calendar-settings-link{color:var(--text-muted);text-decoration:none;font-size:1.25rem}.calendar-settings-link:hover{color:var(--primary)}.view-mode-toggle{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-mode-toggle button{padding:.5rem 1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.view-mode-toggle button:hover{background:var(--background)}.view-mode-toggle button.active{background:var(--primary);color:#fff}.calendar-month-view{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.month-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--primary);color:#fff}.month-title{display:flex;flex-direction:column;align-items:center;min-width:200px}.month-name{font-size:1.5rem;font-weight:600}.year-name{font-size:.9rem;opacity:.9}.nav-btn{padding:.5rem 1rem;background:#fff3;border:none;border-radius:6px;color:#fff;font-size:1.25rem;cursor:pointer;transition:background .15s ease}.nav-btn:hover{background:#ffffff4d}.today-btn{padding:.5rem 1rem;background:#fff3;border:none;border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer}.today-btn:hover{background:#ffffff4d}.month-grid{padding:1rem}.weekday-headers{display:grid;grid-template-columns:repeat(var(--weekday-count, 7),1fr);gap:4px;margin-bottom:.5rem}.weekday-header{padding:.5rem;text-align:center;font-weight:600;color:var(--text-muted);font-size:.875rem}.weekday-header.rest-day{color:var(--primary)}.day-cells{display:grid;grid-template-columns:repeat(var(--weekday-count, 7),1fr);gap:4px}.days-grid{display:flex;flex-direction:column;gap:4px}.week-row{display:grid;grid-template-columns:repeat(var(--weekday-count, 7),1fr);gap:4px}.day-cell{min-height:80px;padding:.5rem;background:var(--background);border-radius:6px;transition:all .15s ease}.day-cell.empty{background:transparent;min-height:auto}.day-cell.today{background:#a855f726;border:2px solid var(--primary)}.day-cell.has-events{background:#a855f714}.day-cell:not(.empty):hover{background:#a855f71a}.day-cell.has-day:hover{background:#a855f71a}.day-cell.current-day{background:#a855f726;border:2px solid var(--primary)}.day-cell.rest-day{background:#a855f70d}.day-number{display:block;font-weight:600;color:var(--text);margin-bottom:.25rem}.current-day .day-number{color:var(--primary)}.day-events{display:flex;flex-direction:column;gap:2px}.event-chip{display:block;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:.7rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip:hover{background:var(--primary-hover)}.day-event-chip{display:block;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:.7rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-event-chip:hover{background:var(--primary-hover)}.more-events{font-size:.65rem;color:var(--text-muted);padding:2px 6px}.calendar-year-view{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.year-navigation{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem}.year-title{font-size:2rem;font-weight:600;color:var(--text)}.year-navigation .nav-btn{background:var(--background);color:var(--text);border:1px solid var(--border)}.year-navigation .nav-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.year-months-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.year-month-card{padding:1rem;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.year-month-card:hover{border-color:var(--primary);transform:translateY(-2px)}.year-month-card.current{border-color:var(--primary);background:#a855f71a}.year-month-name{font-weight:600;color:var(--text);margin-bottom:.25rem}.year-month-days{font-size:.875rem;color:var(--text-muted)}.year-month-events{margin-top:.5rem;font-size:.75rem;color:var(--primary)}.year-month-season{margin-top:.25rem;font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.calendar-timeline-view{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.timeline-header h2{margin:0 0 1.5rem;color:var(--text)}.timeline-events{display:flex;flex-direction:column;gap:.5rem}.no-events{text-align:center;color:var(--text-muted);padding:2rem}.timeline-event{display:flex;gap:1rem;padding:1rem;background:var(--background);border-radius:8px;text-decoration:none;transition:all .15s ease}.timeline-event:hover{background:#a855f71a}.timeline-date{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:.5rem;background:var(--primary);color:#fff;border-radius:6px}.timeline-day{font-size:1.5rem;font-weight:700}.timeline-month{font-size:.75rem;text-transform:uppercase}.timeline-year{font-size:.7rem;opacity:.8}.timeline-content{flex:1;display:flex;align-items:center}.timeline-title{font-weight:500;color:var(--text)}.calendar-footer{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.back-link,.settings-link{color:var(--text-muted);text-decoration:none}.back-link:hover,.settings-link:hover{color:var(--primary)}@media(max-width:768px){.calendar-view{padding:1rem}.calendar-header{flex-direction:column;gap:1rem}.month-navigation{flex-wrap:wrap}.day-cell{min-height:60px;padding:.25rem}.day-number{font-size:.875rem}.event-chip{font-size:.6rem}.year-months-grid{grid-template-columns:repeat(2,1fr)}}.public-wiki-loading,.public-wiki-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.public-wiki-error h2{color:var(--text);margin-bottom:.5rem}.public-wiki-error p{color:var(--text-muted);margin-bottom:1.5rem}.back-link{color:var(--accent);text-decoration:none}.back-link:hover{text-decoration:underline}.public-wiki-container.minimal{min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.public-wiki-header-minimal{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.public-wiki-brand-group{display:flex;align-items:center;gap:1rem}.parent-world-badge{font-size:.8rem;color:var(--text-muted);text-decoration:none;padding:.25rem .5rem;background:#ffffff0d;border-radius:4px}.parent-world-badge:hover{color:var(--accent);background:#a855f71a}.public-wiki-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);font-weight:600;font-size:1.1rem}.public-wiki-brand:hover{color:var(--accent)}.world-icon,.campaign-icon{font-size:1.25rem}.public-wiki-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.public-page-error{text-align:center;padding:3rem 1rem}.public-page-error h2{color:var(--text);margin-bottom:.5rem}.public-page-error p{color:var(--text-muted);margin-bottom:1.5rem}.public-page-error a{color:var(--accent);text-decoration:none}.public-page-error a:hover{text-decoration:underline}.public-wiki-footer-minimal{padding:1rem;text-align:center;color:var(--text-muted);font-size:.8rem;border-top:1px solid var(--border)}.public-wiki-footer-minimal a{color:var(--accent);text-decoration:none}.public-wiki-footer-minimal a:hover{text-decoration:underline}@media(max-width:768px){.public-wiki-header-minimal{padding:.5rem 1rem;flex-wrap:wrap;gap:.5rem}.public-wiki-brand-group{flex-direction:column;align-items:flex-start;gap:.25rem}.public-wiki-brand{font-size:1rem}.public-wiki-main{padding:1rem}}.family-tree{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.family-tree-loading,.family-tree-error,.family-tree-empty{text-align:center;padding:3rem;color:var(--text-muted)}.family-tree-empty p{margin:.5rem 0}.family-tree-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem}.family-tree-header h3{margin:0;font-size:1.25rem}.family-controls{display:flex;gap:.5rem;align-items:center}.family-select{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:.875rem;min-width:150px}.manage-families-btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);cursor:pointer;font-size:.875rem;transition:all .2s ease}.manage-families-btn:hover{background:var(--surface)}.family-manager{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.family-manager h4{margin:0 0 1rem;font-size:1rem}.create-family-row{display:flex;gap:.5rem;margin-bottom:1rem}.create-family-row input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.create-family-row button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap}.create-family-row button:disabled{opacity:.5;cursor:not-allowed}.family-list{list-style:none;margin:0;padding:0}.family-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.family-list li:last-child{border-bottom:none}.family-name{flex:1;font-weight:500}.family-count{font-size:.75rem;color:var(--text-muted);background:var(--surface);padding:.125rem .5rem;border-radius:9999px}.delete-family-btn{background:none;border:none;cursor:pointer;padding:.25rem;opacity:.5;transition:opacity .2s}.delete-family-btn:hover{opacity:1}.family-manager-hint{margin:1rem 0 0;font-size:.75rem;color:var(--text-muted)}.create-family-inline{display:flex;gap:.5rem;margin-top:1rem;max-width:400px}.create-family-inline input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.create-family-inline button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap}.create-family-inline button:disabled{opacity:.5;cursor:not-allowed}.view-toggle{display:flex;gap:.25rem;background:var(--background);padding:.25rem;border-radius:8px}.view-toggle button{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:.875rem;transition:all .2s ease}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{background:var(--accent);color:#fff}.tree-container{position:relative;overflow:hidden;min-height:200px;max-height:600px}.tree-scroll-container{overflow:hidden;max-width:100%;padding-bottom:1rem;cursor:grab;-webkit-user-select:none;user-select:none}.tree-scroll-container:active,.tree-scroll-container.dragging{cursor:grabbing}.family-tree-svg{display:block;min-width:100%}.tree-svg{position:absolute;top:0;left:0;pointer-events:none}.tree-connection{stroke:var(--border);stroke-width:2;fill:none}.child-connector{stroke:var(--border);stroke-width:2}.partner-line{stroke:var(--accent);stroke-width:2}.partner-line.current{stroke:var(--accent)}.partner-line.former{stroke:var(--text-muted);stroke-dasharray:5,3}.partner-line.deceased{stroke:var(--text-muted);stroke-dasharray:2,2}.partner-line.estranged{stroke:var(--text-muted);stroke-dasharray:8,4}.tree-node{fill:var(--background);stroke:var(--border);stroke-width:2;cursor:pointer;transition:all .2s ease}.tree-node:hover{stroke:var(--accent);filter:drop-shadow(0 4px 8px rgba(168,85,247,.3))}.tree-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .75rem;color:var(--text);font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-icon{font-size:1rem;opacity:.7}.node-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-badge{background:var(--accent);color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:9999px;font-weight:600}.tree-list{padding:.5rem 0}.tree-list-item{padding:.25rem 0}.tree-list-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;transition:background .2s ease}.tree-list-row:hover{background:var(--background)}.expand-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;width:20px;font-size:.75rem}.expand-placeholder{width:20px}.tree-list-link{color:var(--accent);text-decoration:none;flex:1}.tree-list-link:hover{text-decoration:underline}.children-count{font-size:.75rem;color:var(--text-muted)}.tree-list-children{border-left:2px solid var(--border);margin-left:9px;padding-left:.5rem}.orphan-characters,.character-list-hint{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.orphan-characters h4,.character-list-hint h4{margin:0 0 1rem;font-size:.875rem;color:var(--text-muted)}.character-grid{display:flex;flex-wrap:wrap;gap:.5rem}.character-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:9999px;color:var(--text);text-decoration:none;font-size:.875rem;transition:all .2s ease}.character-chip:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:768px){.family-tree-header{flex-direction:column;gap:1rem;align-items:flex-start}.tree-container{overflow-x:auto}}.family-tree-page{max-width:1400px;margin:0 auto;padding:2rem}.family-tree-page .page-header{margin-bottom:2rem}.family-tree-page .breadcrumbs{margin-bottom:1rem}.family-tree-page .breadcrumbs a{color:var(--text-muted);text-decoration:none;font-size:.875rem}.family-tree-page .breadcrumbs a:hover{color:var(--accent)}.family-tree-page h1{margin:0 0 .5rem;font-size:2rem}.family-tree-page .page-description{margin:0;color:var(--text-muted)}.pending-invites-dropdown{position:relative}.invites-trigger{display:flex;align-items:center;gap:.25rem;background:var(--accent);border:none;padding:.4rem .75rem;border-radius:20px;cursor:pointer;color:#fff;font-size:.85rem;font-weight:500}.invites-trigger:hover{background:var(--primary)}.invite-icon{font-size:.9rem}.invite-count{background:#fff;color:var(--accent);padding:0 .4rem;border-radius:10px;font-size:.75rem;font-weight:700;min-width:18px;text-align:center}.invites-backdrop{position:fixed;inset:0;z-index:99}.invites-menu{position:absolute;top:100%;right:0;margin-top:.5rem;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px #0000004d;z-index:100;overflow:hidden}.invites-header{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.invites-header h4{margin:0;font-size:.9rem;color:var(--text)}.invites-list{max-height:300px;overflow-y:auto}.invite-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.invite-item:last-child{border-bottom:none}.invite-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.invite-type-icon{font-size:1.25rem}.invite-details{flex:1;min-width:0}.invite-name{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-meta{font-size:.75rem;color:var(--text-muted)}.invite-actions{display:flex;gap:.25rem}.accept-btn{background:var(--primary);color:#fff;border:none;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer}.accept-btn:hover:not(:disabled){background:var(--primary-hover)}.accept-btn:disabled{opacity:.5}.decline-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.35rem .5rem;border-radius:6px;font-size:.75rem;cursor:pointer}.decline-btn:hover:not(:disabled){border-color:#ff6b6b;color:#ff6b6b}.decline-btn:disabled{opacity:.5}@media(max-width:480px){.invites-menu{width:280px}}.cm-container{min-height:100vh;display:flex;flex-direction:column}.cm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:1rem}.header-right{display:flex;align-items:center;gap:2rem}.home-link{font-size:1.25rem;text-decoration:none;opacity:.7;transition:opacity .2s}.home-link:hover{opacity:1}.header-logo-link{display:flex;align-items:center}.header-logo{height:50px;width:50px}.logo{font-size:1.5rem;font-weight:700;color:var(--accent);text-decoration:none}.auth-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.auth-btn:hover{background:var(--accent);color:#fff}.auth-btn.user-btn{border-color:var(--border);color:var(--text)}.auth-btn.user-btn:hover{border-color:var(--accent);background:#a855f71a;color:var(--text)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-menu,.user-menu-group{display:flex;align-items:center;gap:1rem}.admin-link{color:var(--accent);text-decoration:none;font-weight:500;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:8px;transition:all .3s ease;font-size:.875rem}.admin-link:hover{background:var(--accent);color:#fff}.signout-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem}.signout-btn:hover{border-color:var(--accent);color:var(--text)}.cm-nav{display:flex;gap:1.5rem}.cm-nav a{color:var(--text-muted);transition:color .2s}.cm-nav a:hover{color:var(--accent)}.cm-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.cm-main:has(.campaign-page),.cm-main:has(.public-wiki-container){max-width:100%;padding:0;margin:0}.cm-home h2{font-size:2rem;margin-bottom:.5rem}.cm-home>p{color:var(--text-muted);margin-bottom:2rem}.hero-section{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#a855f71a,#3b82f61a);border-radius:16px;margin-bottom:3rem}.hero-section h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--accent),#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-tagline{font-size:1.25rem;color:var(--text-muted);max-width:600px;margin:0 auto 2rem;line-height:1.6}.cta-button{display:inline-block;background:var(--accent);color:#fff;padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s;border:none;cursor:pointer}.cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a855f766}.cta-button.secondary{background:transparent;border:2px solid var(--accent);color:var(--accent)}.cta-button.secondary:hover{background:var(--accent);color:#fff}.features-section{margin-bottom:3rem}.features-section h2,.search-section h2,.get-started-section h2{text-align:center;margin-bottom:.5rem}.features-section>p,.search-section>p,.get-started-section>p{text-align:center;color:var(--text-muted);margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-align:center;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:var(--accent);transform:translateY(-2px)}.feature-icon{font-size:2rem;display:block;margin-bottom:.75rem}.feature-card h3{margin-bottom:.5rem}.feature-card p{color:var(--text-muted);font-size:.875rem}.search-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:3rem 2rem;margin-bottom:3rem}.search-form{display:flex;gap:1rem;max-width:500px;margin:0 auto}.search-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-size:1rem}.search-input:focus{outline:none;border-color:var(--accent)}.search-button{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:opacity .2s}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-button:hover:not(:disabled){opacity:.9}.search-results{margin-top:2rem}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.campaign-card{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1.25rem;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}.campaign-card:hover{border-color:var(--accent);transform:translateY(-2px)}.campaign-card h4{margin:0 0 .5rem;color:var(--accent)}.campaign-card p{color:var(--text-muted);font-size:.875rem;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.campaign-owner{font-size:.75rem;color:var(--text-muted);opacity:.7}.no-results{text-align:center;color:var(--text-muted);padding:2rem}.search-filters{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border);background:var(--background);color:var(--text-muted);border-radius:20px;cursor:pointer;font-size:.875rem;transition:all .2s}.filter-btn:hover{border-color:var(--accent);color:var(--text)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.discover-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s;display:flex;flex-direction:column}.discover-card:hover{transform:translateY(-2px)}.discover-card.world{border-left:3px solid #10b981}.discover-card.world:hover{border-color:#10b981}.discover-card.campaign{border-left:3px solid #3b82f6}.discover-card.campaign:hover{border-color:#3b82f6}.discover-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.discover-type-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.discover-card.world .discover-type-badge{background:#10b98126;color:#10b981}.discover-card.campaign .discover-type-badge{background:#3b82f626;color:#3b82f6}.discover-world-link{font-size:.75rem;color:var(--text-muted);font-style:italic}.discover-card h4{margin:0 0 .5rem;color:var(--text);font-size:1.1rem}.discover-description{color:var(--text-muted);font-size:.875rem;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.discover-card-footer{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:.75rem;margin-top:auto}.discover-owner{flex:1}.discover-stats{opacity:.7}.get-started-section{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#3b82f61a,#a855f71a);border-radius:16px;margin-bottom:2rem}.coming-soon{text-align:center;padding:4rem;color:var(--text-muted);font-size:1.5rem}.cm-footer{padding:1.5rem 2rem;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.cm-header{flex-direction:column;gap:.75rem;padding:1rem}.header-brand{flex-direction:column;gap:.5rem}.header-right{flex-direction:column;gap:.75rem}.header-logo{height:40px;width:40px}.logo{font-size:1.25rem}.cm-nav{gap:1rem}.user-menu{flex-direction:column;gap:.5rem}.cm-main{padding:1rem}.features-grid{grid-template-columns:1fr}}.auth-required,.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.auth-required h2{margin:0 0 .5rem;color:var(--text)}.auth-required p,.loading{color:var(--text-muted)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3b0085;--primary-hover: #2d0066;--accent: #a855f7;--background: #1a1a1a;--surface: #2d2d2d;--text: #ffffff;--text-muted: rgba(255, 255, 255, .7);--border: rgba(255, 255, 255, .2)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}.calendar-date-link{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent);cursor:pointer}.calendar-date-link:hover{color:var(--primary);border-bottom-style:solid}.calendar-event-link{color:var(--accent);text-decoration:none;background:#a855f71a;padding:.1em .4em;border-radius:4px}.calendar-event-link:hover{background:#a855f733}.timeline-container{margin:1.5rem 0;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.timeline-header{font-size:1.1rem;font-weight:600;color:var(--text);padding-bottom:.75rem;margin-bottom:1rem;border-bottom:2px solid var(--primary)}.timeline-events{position:relative;padding-left:1.5rem}.timeline-events:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--border)}.timeline-event{position:relative;padding:.75rem 0 .75rem 1rem}.timeline-event:before{content:"";position:absolute;left:-1.5rem;top:1rem;width:10px;height:10px;background:var(--primary);border-radius:50%;transform:translate(-4px)}.timeline-event-date{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.timeline-event-title{color:var(--accent);text-decoration:none;font-weight:500}.timeline-event-title:hover{text-decoration:underline}.timeline-empty{text-align:center;color:var(--text-muted);padding:2rem}.mini-calendar{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;min-width:220px}.mini-calendar-header{text-align:center;margin-bottom:.75rem}.mini-calendar-title{font-weight:600;color:var(--text);text-decoration:none}.mini-calendar-title:hover{color:var(--accent)}.mini-calendar-weekdays{display:grid;grid-template-columns:repeat(var(--weekday-count, 7),1fr);gap:2px;margin-bottom:.5rem}.mini-calendar-weekday{text-align:center;font-size:.65rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.mini-calendar-days{display:grid;grid-template-columns:repeat(var(--weekday-count, 7),1fr);gap:2px}.mini-calendar-day{text-align:center;padding:.35rem;font-size:.8rem;border-radius:4px;color:var(--text)}.mini-calendar-day.empty{color:transparent}.mini-calendar-day.current{background:var(--primary);color:#fff;font-weight:600}.mini-calendar-error{padding:1rem;text-align:center;color:var(--text-muted);background:var(--surface);border-radius:8px}.event-header-infobox{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.event-header-infobox h3{margin:0 0 .5rem;font-size:1rem;color:var(--accent)}.event-header-infobox .event-date{font-size:.9rem;color:var(--text)}.event-header-infobox .event-time{font-size:.85rem;color:var(--text-muted)}.event-header-infobox .event-type{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;text-transform:uppercase}
