:root,[data-theme=dark]{--bg-gradient:linear-gradient(135deg, #0a0e27 0%, #1a1f3a 100%);--bg:#0f1115;--bg-solid:#0f1115;--panel:#151822b3;--panel-popup:#0f1115eb;--panel-glass:#ffffff0d;--text:#e6e6e6;--muted:#9aa0aa;--accent:#ff6b35;--accent-glow:#ff6b354d;--border:#ffffff1a;--border-light:#ffffff0d;--shadow:#00000040;--glass-shadow:0 8px 32px 0 #0000005e;--glass-border:1px solid #ffffff2e}[data-theme=light]{--bg-gradient:linear-gradient(135deg, #e8f4f8 0%, #f5f9fc 100%);--bg:#fff;--bg-solid:#fff;--panel:#ffffffb3;--panel-popup:#ffffffeb;--panel-glass:#fff6;--text:#1a1a1a;--muted:#666;--accent:#ff6b35;--accent-glow:#ff6b3533;--border:#0000001a;--border-light:#0000000d;--shadow:#0000001a;--glass-shadow:0 8px 32px 0 #1f268726;--glass-border:1px solid #fff9}[data-theme=light] .heading img{filter:invert()}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-transition-wrapper{opacity:1!important}.section-dropdown{opacity:1!important;animation:none!important;transform:none!important}.content-fade-in{opacity:1!important;animation:none!important}}.pre-line{white-space:pre-line}html,body{background:var(--bg-gradient);color:var(--text);background-attachment:fixed;min-height:100vh;margin:0;padding:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial}.glass-panel{background:var(--panel);-webkit-backdrop-filter:blur(16px)saturate(180%);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}a{color:var(--accent);text-decoration:none}.rich-text{width:100%;max-width:100%;color:inherit;font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.6;overflow-x:auto}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text ul,.rich-text ol{margin:.5rem 0;padding-left:1.25rem}.rich-text li{margin:.25rem 0}.rich-text ul li::marker{color:var(--accent)}.rich-text ol li::marker{color:var(--accent)}.rich-text table{border-collapse:collapse;width:100%;margin:.75rem 0}.rich-text table th,.rich-text table td{border:1px solid var(--border);text-align:left;padding:.45rem .6rem}.rich-text pre{border:1px solid var(--border-light);background:var(--panel);border-radius:10px;margin:.75rem 0;padding:.75rem;overflow-x:auto}.rich-text code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rich-text img{max-width:100%;height:auto;margin:.5rem auto;display:block}.rich-text blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.75rem 0;padding-left:1rem}.rich-text a{color:var(--accent);text-decoration:underline}.container{max-width:900px;margin:0 auto;padding:.25rem .5rem .5rem;transition:padding-bottom .3s}@media (min-width:769px){.container{max-width:calc(100vw - 280px - 1.5rem);margin-left:280px;padding-left:1.5rem;padding-right:1.5rem;transition:padding-bottom .3s}.container.sidebar-collapsed{max-width:calc(100vw - 80px - 1.5rem);margin-left:80px;transition:padding-bottom .3s}}@media (max-width:768px){.container{padding:.25rem .75rem 120px}}.card{background:var(--panel);-webkit-backdrop-filter:blur(16px)saturate(180%);border:var(--glass-border);box-shadow:var(--glass-shadow);box-sizing:border-box;border-radius:16px;width:100%;max-width:100%;margin:.5rem 0;padding:1rem;transition:transform .15s ease-out,box-shadow .15s ease-out}.card:hover{transform:translateY(-1px);box-shadow:0 12px 40px #00000073}.card.popup-panel,.popup-panel{background:var(--panel-popup)}.card.popup-panel:hover{box-shadow:var(--glass-shadow);transform:none}.header-sticky{z-index:100;margin-bottom:.5rem;position:sticky;top:0}@media (max-width:768px){.header-sticky{margin-bottom:.75rem}.header-sticky .heading h1{font-size:1.25rem!important}.header-sticky .heading img{width:2rem!important;height:2rem!important}}.header-top-row{padding-left:3.5rem;padding-right:3.5rem}@media (max-width:640px){.header-top-row{padding-left:4rem;padding-right:3.5rem}}@media (max-width:480px){.header-top-row{padding-left:3.5rem;padding-right:3.5rem}.heading h1{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 8rem);overflow:hidden;letter-spacing:.05em!important;font-size:1.1rem!important}.heading img{flex-shrink:0;width:2rem!important;height:2rem!important}.heading{max-width:100%;gap:.5rem!important}}@media (max-width:360px){.header-top-row{padding-left:3rem;padding-right:3.5rem}.heading h1{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 7rem);overflow:hidden;letter-spacing:.03em!important;font-size:.9rem!important}.heading img{flex-shrink:0;width:1.75rem!important;height:1.75rem!important}.heading{max-width:100%;gap:.4rem!important}}@media (max-width:480px){.header-controls{gap:.5rem!important}}.rules-page [id^=game-concept-],.rules-page [id^=terrain-concept-],.rules-page [id^=universal-action-],.rules-page [id^=mission-action-],.rules-page [id^=weapon-rule-],.rules-page [id^=equipment-]{scroll-margin-top:11rem}@media (max-width:768px){.rules-page [id^=game-concept-],.rules-page [id^=terrain-concept-],.rules-page [id^=universal-action-],.rules-page [id^=mission-action-],.rules-page [id^=weapon-rule-],.rules-page [id^=equipment-]{scroll-margin-top:13rem}}.killteam-selector-sticky{z-index:99;-webkit-backdrop-filter:blur(20px)saturate(180%);border:var(--glass-border);background:#0f1115b3;margin-bottom:.5rem;position:sticky;top:0;overflow:visible;box-shadow:0 4px 32px #0006}.killteam-selector-sticky.card{box-shadow:var(--glass-shadow)}.killteam-selector-sticky .killteam-tabs{box-shadow:none;margin:0}[data-theme=light] .killteam-selector-sticky{background:#ffffffb3}.killteam-selector{width:100%}.killteam-dropdown{-webkit-backdrop-filter:blur(20px)saturate(180%);max-width:calc(100vw - 2rem)}input,select,button{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.6rem .8rem;transition:border-color .15s ease-out,box-shadow .15s ease-out}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.nav-links{width:100%}.nav-links-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:0;width:100%;margin-top:0;display:flex}.nav-links-row .pill{text-align:center;border:none;border-right:1px solid var(--border);border-top:1px solid var(--border);background:var(--bg);min-width:fit-content;color:var(--text);white-space:nowrap;text-transform:uppercase;border-left:none;border-radius:0;flex:auto;padding:.5rem 1rem;font-size:.85rem;transition:background .2s,color .2s}.nav-links-row .pill:first-child{border-left:1px solid var(--border)}.nav-links-row .pill:hover{color:var(--text);background:var(--panel)}.nav-links-row .pill.active{z-index:1;margin-bottom:-1px;font-weight:600;position:relative;background:var(--accent)!important;color:var(--text)!important;border-bottom:1px solid var(--accent)!important}.pill{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.2rem .5rem;font-size:.8rem;display:inline-block}.action-card .pill{color:#000}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.4rem}th{background:0 0;position:sticky;top:0}.muted{color:var(--muted)}.results-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.results-pagination{align-items:center;gap:.5rem;display:flex}.pill-button{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .1s ease-out,box-shadow .15s ease-out}.pill-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg)}.pill-button:active:not(:disabled){transform:scale(.98)}.pill-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill-button:disabled{opacity:.4;cursor:not-allowed}.app-footer{border-top:1px solid var(--border);margin-top:2rem;padding:1.5rem 1rem 2rem;position:relative}@media (max-width:768px){.app-footer{padding-bottom:calc(5rem + 60px + max(.75rem, env(safe-area-inset-bottom)));margin-bottom:0}}@media (min-width:769px){.app-footer{padding-left:2rem;padding-right:2rem}}.app-footer-inner{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;display:flex}.app-footer-text{color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}.app-footer-text a{color:var(--accent)}.app-footer-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.app-footer-credit{color:var(--muted);font-size:.95rem}.app-footer-credit a{color:var(--accent);font-weight:600}.app-footer-link{color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;transition:color .2s,border-color .2s,background .2s;display:flex}.app-footer-link:hover{color:var(--accent);border-color:var(--accent);background:#fb923c1a}.killteam-card-link{border:1px solid var(--border);transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out}.killteam-card-link:hover,.killteam-card-link:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 32px #00000059}.killteam-card-link:focus-visible{outline:none}.app-footer-icon{width:1rem;height:1rem}.heading{align-items:baseline;gap:.5rem;display:flex}.badge{color:#fed7aa;background:#1a1f2b;border:1px solid #2a3142;border-radius:8px;padding:.15rem .45rem;font-size:.75rem}.menu{background:var(--panel);border:1px solid var(--border);min-width:200px;box-shadow:0 12px 32px var(--shadow);z-index:50;border-radius:12px;position:absolute;top:3.25rem;right:1rem}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:.65rem .8rem;display:block}.menu button:hover{background:var(--bg)}.menu .sep{background:var(--border);height:1px;margin:.25rem 0}.operatives-grid{column-count:auto;column-width:560px;column-gap:1rem;margin-top:.5rem}.operatives-grid .card,.operatives-grid .operative-card{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;width:100%;margin-bottom:1rem;display:inline-block}.operative-card{background:#e0e0e0;border:1px solid #262a36;border-radius:12px;padding:.75rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.operative-card:hover{border-color:#3a4050;box-shadow:0 2px 12px #0000004d}.operative-header{background:#141414;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:.25rem;margin:-.75rem -.75rem .75rem;padding:.75rem;display:flex}.operative-header-title{border-bottom:2px solid var(--accent);flex:1;align-items:flex-end;gap:.35rem;min-width:0;padding-bottom:.25rem;display:flex}.operative-header h4{color:#fff;text-transform:uppercase;font-size:1.1rem}.operative-photo-button{color:#fff;cursor:pointer;background:0 0;border:0 solid #2a2f3f;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.operative-photo-button:hover,.operative-photo-button:focus-visible{color:var(--accent);background:#ff6b3500;outline:none;transform:translateY(-1px)}.operative-photo-button svg{width:1.1rem;height:1.1rem}.operative-header-stats{text-align:center;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.4rem;display:flex}.operative-header-stat{text-align:center;flex-direction:column;align-items:center;min-width:2.75rem;display:flex}.operative-header-stat .label{color:#fff;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.operative-header-stat .value{color:#fff;font-size:1.25rem;font-weight:400;line-height:1.2}.operative-keywords{color:#fff;background:#141414;border-radius:0 0 12px 12px;margin:.75rem -.75rem -.75rem;padding:.75rem}.operative-keywords strong{color:var(--accent)}.operative-keywords-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.operative-keywords-list{flex-wrap:wrap;flex:auto;gap:.25rem;display:flex}.operative-keywords-list span{color:#fff;font-size:.85rem;font-weight:600}.operative-keywords-list .faction-keyword,.faction-keyword-highlight{color:var(--accent);font-weight:600}.faction-keyword-skull{color:var(--accent);margin-left:.15em;font-weight:600;display:inline-block}.asterisk-orange{color:var(--accent)}.operative-base-size{color:#fff;letter-spacing:.03em;background:#131722;border:1px solid #fff;border-radius:999px;align-items:center;margin-left:auto;padding:.2rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex}.operative-tags{flex-wrap:wrap;gap:.25rem;display:flex}.operative-stats{margin:.75rem 0}.table-scroll{-webkit-overflow-scrolling:touch;margin:.5rem 0;overflow-x:auto}.result-selected,.result-selected td{background-color:#fb923c26!important}kbd{background-color:var(--border);border:1px solid var(--border);box-shadow:0 1px 2px var(--shadow);color:var(--text);text-align:center;border-radius:4px;min-width:1.5em;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em;display:inline-block}.skeleton-line,.skeleton-circle,.skeleton-box{background:linear-gradient(90deg, var(--border) 0%, var(--panel) 50%, var(--border) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.content-fade-in{animation:.2s ease-out content-fade-in}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}.skeleton-line{vertical-align:middle;display:inline-block}.skeleton-circle{display:inline-block}.skeleton-box{display:block}.progress-bar-container{width:100%}.progress-bar-track{position:relative;overflow:hidden}.progress-bar-fill{min-width:2px;transition:width .2s ease-out}.progress-bar-fill-indeterminate{animation:1.5s ease-in-out infinite progress-indeterminate}@keyframes progress-indeterminate{0%{width:30%;left:-30%}50%{width:30%;left:100%}to{width:30%;left:100%}}.progress-steps{width:100%}.table-scroll table{border-collapse:collapse;width:100%;min-width:100%}.stats-table{table-layout:fixed;font-size:.9rem}.stats-table th{color:var(--muted);text-align:center;border-bottom:1px solid var(--border);word-break:break-word;background:0 0;padding:.4rem .3rem;font-size:.85rem;font-weight:600}.stats-table td{text-align:center;border-bottom:1px solid var(--border);word-break:break-word;padding:.5rem .3rem;font-weight:500}.operative-weapons{margin-top:.75rem;font-size:.9rem}.operative-weapons strong{color:#000;margin-bottom:.25rem;font-weight:400;display:block}.operative-weapons ul{list-style-type:disc}.operative-weapons li{margin:.25rem 0;line-height:1.4}.operative-abilities,.operative-actions,.card-section{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.operative-abilities-title,.operative-actions-title,.card-section-title{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;font-size:.95rem}.operative-abilities-list,.operative-actions-list{flex-direction:column;gap:.5rem;display:flex}.card-section-list{column-count:auto;column-width:400px;column-gap:.75rem;margin-top:.75rem}.card-section-list .card,.card-section-list .ability-card,.card-section-list .ability-card-item,.card-section-list .ploy-card,.card-section-list .equipment-card,.card-section-list .faction-rule-card,.card-section-list .operation-card,.card-section-list .action-card,.card-section-list .weapon-rule-card{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;width:100%;margin-bottom:.75rem;display:inline-block}.ability-card{box-shadow:none;box-sizing:border-box;background:0 0;border:none;border-radius:10px;width:100%;min-width:400px;max-width:100%;padding:.5rem}.ability-card-item,.ploy-card,.equipment-card,.faction-rule-card{box-sizing:border-box;border-radius:10px;width:100%;min-width:400px;max-width:100%;overflow:hidden;background:#e0e0e0!important}.operation-card,.action-card,.weapon-rule-card{border-radius:10px;background:#e0e0e0!important}.operation-card{overflow:hidden}.action-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:2px solid var(--accent)!important;padding:0!important}.action-card .ability-card-body{padding:0 .75rem .5rem}.action-card>div:last-child{margin-bottom:0!important;margin-left:0!important;margin-right:0!important}.ability-card-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.action-card .ability-card-header{border-radius:8px 8px 0 0;background:var(--accent)!important;margin:0 0 .5rem!important;padding:.5rem .75rem!important}.card-section-list>.ability-card.action-card:has(>.ability-card-header:last-child) .ability-card-header{border-radius:8px!important;margin-bottom:0!important}.equipment-card .action-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.equipment-card .action-card .ability-card-header{border-radius:8px 8px 0 0;margin-left:0!important;margin-right:0!important}.equipment-card .action-card>div:first-child:not(.ability-card-body),.equipment-card .action-card>div:last-child{margin-left:0!important;margin-right:0!important}.equipment-card .action-card .ability-card-body{padding:0 .75rem .5rem!important}.operative-card .action-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.operative-card .action-card .ability-card-header{border-radius:8px 8px 0 0;margin-left:0!important;margin-right:0!important}.operative-card .action-card>div:first-child:not(.ability-card-body){margin-left:0!important;margin-right:0!important}.operative-card .action-card .ability-card-body{padding:0 .75rem .5rem!important}.operation-card .action-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.operation-card .action-card .ability-card-header{border-radius:8px 8px 0 0;margin-left:0!important;margin-right:0!important}.operation-card .action-card>div:first-child:not(.ability-card-body),.operation-card .action-card>div:last-child{margin-left:0!important;margin-right:0!important}.operation-card .action-card .ability-card-body{padding:0 .75rem .5rem!important}.redacted-card-notice{text-align:center;text-transform:uppercase;letter-spacing:.35rem;color:#333;background:#0000000d;border:2px dashed #00000026;border-radius:12px;justify-content:center;align-items:center;min-height:60px;padding:.75rem;font-size:1rem;font-weight:700;display:flex}.ability-card-item .ability-card-header{border-bottom:2px solid var(--accent);border-radius:8px 8px 0 0;background:#e0e0e0!important;margin:-.5rem -.5rem .5rem!important;padding:.5rem .75rem!important}.ability-card-title{color:#000;margin:0;font-size:1rem;font-weight:600}.action-card .ability-card-title{text-transform:uppercase;color:#fff!important}.ability-card-item .ability-card-title{text-transform:uppercase;color:var(--accent)!important}.weapon-rule-card .ability-card-header{background:var(--accent);color:#fff;border-radius:8px 8px 0 0;margin:-.5rem -.5rem .5rem!important;padding:.5rem .75rem!important}.weapon-rule-card .ability-card-title{text-transform:uppercase;color:#fff!important}.weapon-rule-card.weapon-rule-card-description-collapsed{overflow:hidden;padding:0!important}.weapon-rule-card.weapon-rule-card-description-collapsed>.ability-card-header{margin:0!important}.weapon-rule-card.weapon-rule-card-description-collapsed:not(.weapon-rule-card-has-team-footer)>.ability-card-header{border-radius:10px!important}.weapon-rule-card.weapon-rule-card-description-collapsed.weapon-rule-card-has-team-footer>.ability-card-header{border-radius:10px 10px 0 0!important}.rules-reference-links-footer{background:#00000012;border-radius:0 0 10px 10px;margin:0 -.5rem -.5rem;padding:.5rem .75rem .6rem}.weapon-rule-card:not(.weapon-rule-card-description-collapsed) .rules-reference-links-footer{border-radius:0 0 8px 8px}.rules-reference-links-footer-label{opacity:.85;text-transform:uppercase;letter-spacing:.04em;color:#1a1a1a;margin-bottom:.35rem;font-size:.7rem;font-weight:600}.rules-reference-links-footer-buttons{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.rules-reference-link{text-transform:none;padding:.2rem .55rem;font-size:.78rem;font-weight:600;text-decoration:none}.rules-reference-link:hover{text-decoration:none}.weapon-rule-card:has(.rules-reference-links-footer) .rules-terrain-pack-footer{border-radius:0!important}.action-card>div:first-child:not(.ability-card-body){background:var(--accent)!important;margin:0 0 .5rem!important;padding:.5rem .75rem!important}.action-card>div:first-child:not(.ability-card-body) .ability-card-title{text-transform:uppercase;color:#fff!important}.ability-card-item>div:first-child:not(.ability-card-body){border-bottom:2px solid var(--accent);background:#e0e0e0!important;margin:-.5rem -.5rem .5rem!important;padding:.5rem .75rem!important}.ability-card-item>div:first-child:not(.ability-card-body) .ability-card-title{text-transform:uppercase;color:var(--accent)!important}.ability-card-ap{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:none;align-items:center;padding:.2rem .6rem;font-size:1rem;font-weight:600;display:inline-flex}.action-card .ability-card-ap,.ability-card-item .ability-card-ap{background:0 0;border:none;color:#fff!important}.ability-card-body{color:#000;font-size:.9rem;line-height:1.6}.ability-card-body p{margin:.35rem 0}.ability-card-body p:first-child{margin-top:0}.ability-card-body ul,.ability-card-body ol{margin:.35rem 0 .35rem 1.25rem;padding:0}.ability-card-body ul li::marker{color:var(--accent)}.ability-card-body ol li::marker{color:var(--accent)}.ability-card-body ul li,.ability-card-body ol li{color:#000}.weapons-table{border-collapse:collapse;table-layout:auto;background:#e0e0e0;width:100%;margin-top:.5rem;font-size:.85rem}.weapons-table th{color:#000;text-align:left;border-bottom:1px solid var(--accent);text-transform:uppercase;background:0 0;padding:.3rem;font-size:.8rem;font-weight:600}.weapons-table td{vertical-align:middle;word-break:break-word;border-bottom:none;width:auto;padding:.3rem}.weapons-table .weapon-profile-row td{width:auto;min-width:0}.weapons-table .weapon-profile-row td:first-child{flex:0 auto;width:auto}.weapons-table tbody tr td{background:#e0e0e0!important}.weapons-table .weapon-header-row td{color:#000;padding:.75rem .3rem .5rem;font-weight:400;background:#e0e0e0!important}.weapons-table thead th{background:0 0!important}.weapons-table tbody tr:not(.weapon-header-row):nth-child(2n) td{background:#d5d5d5!important}.weapons-table tbody tr:not(.weapon-header-row):nth-child(odd) td{background:#e0e0e0!important}.weapons-table .weapon-profile-row:nth-child(2n) td{background:#d5d5d5!important}.weapons-table .weapon-profile-row:nth-child(odd) td{background:#e0e0e0!important}.weapons-table th:nth-child(2),.weapons-table th:nth-child(3),.weapons-table th:nth-child(4){text-align:center;color:#000;white-space:nowrap;width:25px;min-width:25px}.weapons-table td:nth-child(2),.weapons-table td:nth-child(3),.weapons-table td:nth-child(4){text-align:center;color:#000;white-space:nowrap;width:25px;min-width:25px;font-weight:400}.weapons-table .weapon-profile-row td:first-child{color:#000;vertical-align:middle;padding-left:1rem;font-style:italic;font-weight:400}.weapons-table td.muted,.weapons-table td strong{color:#000;font-weight:400}@media (max-width:768px){.card-section-list{column-count:1;column-width:auto}.card-section-list .ability-card,.card-section-list .ability-card-item,.card-section-list .ploy-card,.card-section-list .equipment-card,.card-section-list .faction-rule-card{width:100%!important;min-width:0!important;max-width:100%!important}.operatives-grid{column-count:1;column-width:auto}.operatives-grid .operative-card{width:100%!important;min-width:0!important;max-width:100%!important}}@media (max-width:640px){.container{padding:.25rem .5rem .5rem}.card{box-sizing:border-box;border-radius:14px;width:100%;max-width:100%;padding:.85rem}.operative-card{box-sizing:border-box;width:100%;max-width:100%;padding:.6rem}.ability-card,.ability-card-item,.ploy-card,.equipment-card,.faction-rule-card{width:100%!important;min-width:0!important;max-width:100%!important}.weapons-table{table-layout:fixed;font-size:.8rem}.weapons-table th:first-child,.weapons-table td:first-child{text-overflow:ellipsis;white-space:nowrap;width:40%;min-width:0;overflow:hidden}.weapons-table .weapon-header-row td{white-space:normal!important;text-overflow:clip!important;width:100%!important;padding:.75rem .3rem .5rem!important;overflow:visible!important}.weapons-table th:nth-child(2),.weapons-table th:nth-child(3),.weapons-table th:nth-child(4),.weapons-table td:nth-child(2),.weapons-table td:nth-child(3),.weapons-table td:nth-child(4){text-align:center;white-space:nowrap;width:30px;min-width:30px}.weapons-table th:nth-child(5),.weapons-table td:nth-child(5){overflow-wrap:break-word;word-break:break-word;width:36%}.weapons-table .weapon-profile-row td:first-child{white-space:nowrap;text-overflow:ellipsis;padding-left:.5rem;font-style:italic;overflow:hidden}.operative-header{flex-direction:column;align-items:flex-start}.operative-header-stats{justify-content:space-around;width:100%;margin-top:.5rem}.operative-header-stat{flex:1;max-width:none}.table-scroll{background:0 0;border:none;border-radius:12px;margin:.5rem 0;padding:.25rem}.table-scroll table{min-width:100%}.nav-links-row .pill{flex:calc(50% - .5rem)}}.killteam-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px solid var(--border);scroll-behavior:smooth;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:0;height:auto;margin:0;padding:0;display:flex;position:relative;overflow:auto hidden}.killteam-tabs::-webkit-scrollbar{display:none}.killteam-tabs:before,.killteam-tabs:after{content:"";pointer-events:none;z-index:0;width:40px;transition:opacity .2s ease-out;position:absolute;top:0;bottom:0}.killteam-tabs:before{opacity:0;background:linear-gradient(90deg,#0f1115b3,#0000);left:0}[data-theme=light] .killteam-tabs:before{background:linear-gradient(90deg,#ffffffb3,#0000)}.killteam-tabs:after{opacity:0;background:linear-gradient(270deg,#0f1115b3,#0000);right:0}[data-theme=light] .killteam-tabs:after{background:linear-gradient(270deg,#ffffffb3,#0000)}.killteam-tabs.fade-left:before,.killteam-tabs.fade-right:after{opacity:1}.killteam-tab{min-width:80px;color:var(--text);cursor:pointer;text-align:center;white-space:nowrap;text-transform:uppercase;z-index:1;background:0 0;border-top:2px solid #0000;border-bottom:none;border-left:none;border-right:1px solid #ffffff1a;flex:none;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:background .15s ease-out,border-top-color .15s ease-out,color .15s ease-out;position:relative}[data-theme=light] .killteam-tab{border-top:1px solid #0000001a;border-right:1px solid #0000001a}.killteam-tab:first-child{border-left:1px solid #ffffff1a}[data-theme=light] .killteam-tab:first-child{border-left:1px solid #0000001a}.killteam-tab:hover:not(.active){color:var(--text);background:#ffffff0d}[data-theme=light] .killteam-tab:hover:not(.active){background:#fff6}.killteam-tab.active{border-top-color:var(--accent);color:var(--accent);background:0 0;font-weight:600}.section-dropdown-trigger{width:100%;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px)saturate(180%);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.55rem 1rem;font-size:.9rem;transition:border-color .2s,background .2s,color .2s;display:flex}[data-theme=light] .section-dropdown-trigger{background:#fff6;border:1px solid #0000001a}.section-dropdown-trigger.icon{border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:auto;min-width:40px;height:100%;min-height:44px;margin-top:0;padding:.55rem;font-size:1.1rem;display:inline-flex}[data-theme=light] .section-dropdown-trigger.icon{border:1px solid #0000001a}.section-dropdown-trigger.icon span{line-height:1}.section-dropdown-trigger{transition:border-color .15s ease-out,background .15s ease-out,transform .1s ease-out}.section-dropdown-trigger:hover:not(:disabled){border-color:var(--accent);background:#ffffff14}.section-dropdown-trigger:active:not(:disabled){transform:scale(.98)}.section-dropdown-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme=light] .section-dropdown-trigger:hover:not(:disabled){background:#fff9}.section-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.section-dropdown-caret{color:var(--muted);font-size:.8rem}.section-dropdown{background:var(--panel-popup);-webkit-backdrop-filter:blur(20px)saturate(180%);border:var(--glass-border);z-index:200;opacity:0;border-radius:16px;flex-direction:column;gap:.25rem;min-width:240px;max-width:min(400px,100vw - 2rem);max-height:70vh;padding:.5rem;animation:.15s ease-out forwards dropdown-fade-in;display:flex;position:absolute;top:calc(100% + .25rem);left:auto;right:0;overflow-y:auto;transform:scale(.98)translateY(-4px);box-shadow:0 8px 32px #0006}@keyframes dropdown-fade-in{to{opacity:1;transform:scale(1)translateY(0)}}[data-theme=light] .section-dropdown{box-shadow:0 8px 32px #1f268726}.section-navigator-compact{align-items:stretch;display:inline-flex}.section-navigator-compact .section-dropdown{min-width:240px;max-width:calc(100vw - 2rem);left:auto;right:0}.section-dropdown-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:.9rem;transition:background .2s,color .2s;display:block;position:relative}.section-dropdown-item.active{color:var(--accent);background:#f55a072e;font-weight:600}[data-theme=light] .section-dropdown-item.active{color:#7a2b00;background:#f55a0740}.section-dropdown-item:hover:not(:disabled){background:var(--bg)}.section-dropdown-item:disabled{cursor:default;opacity:.6}.section-dropdown-item.heading{color:var(--accent);cursor:pointer;font-weight:600}.section-dropdown-item.indented{padding-left:2rem}.section-navigator-floating{z-index:260;pointer-events:none;position:fixed;top:1rem;right:max(1rem,50vw - 450px + 1rem)}.section-navigator-floating .section-navigator-compact{pointer-events:auto}.section-navigator-floating .section-dropdown-trigger.icon{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:999px;box-shadow:0 12px 32px #00000073}.section-navigator-floating .section-dropdown{left:auto;right:0}@media (max-width:640px){.section-navigator-floating{top:.75rem;bottom:auto;right:.75rem}}.language-switcher{z-index:100;position:relative}.language-switcher-button{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;padding:.5rem .75rem;font-size:.85rem;transition:all .15s ease-out;display:flex}.language-switcher-button:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.language-switcher-dropdown{background:var(--panel-popup);-webkit-backdrop-filter:blur(16px)saturate(180%);border:var(--glass-border);box-shadow:var(--glass-shadow);z-index:101;border-radius:10px;min-width:150px;position:absolute;top:calc(100% + .5rem);left:0;right:auto;overflow:hidden}.language-switcher-dropdown.open-upward{top:auto;bottom:calc(100% + .5rem)}.language-switcher-option{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;padding:.6rem .75rem;font-size:.85rem;transition:background .15s ease-out;display:flex}.language-switcher-option:last-child{border-bottom:none}.language-switcher-option:hover{background:var(--bg);color:var(--accent)}.language-switcher-option.active{color:var(--accent);background:#fb923c1a;font-weight:600}@media (max-width:640px){.language-switcher{top:.5rem;right:.5rem}}mark{color:#fb923c;background-color:#fb923c4d;border-radius:2px;padding:.1em .2em;font-weight:500}.tier-list-container{-webkit-overflow-scrolling:touch;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.tier-list-container::-webkit-scrollbar{height:8px}.tier-list-container::-webkit-scrollbar-track{background:var(--panel);border-radius:4px}.tier-list-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tier-list-container::-webkit-scrollbar-thumb:hover{background:var(--accent)}.tier-column{flex-shrink:0;width:250px;min-width:250px}.tier-column-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;display:flex}.tier-column-header h3{cursor:pointer;flex:1;margin:0;font-size:1.2rem;font-weight:700}.tier-column-content{min-height:100px;padding:.75rem}.tier-killteam-card{cursor:grab;margin-bottom:.5rem;padding:.75rem;transition:opacity .2s,transform .2s}.tier-killteam-card:active{cursor:grabbing}.tier-killteam-card.dragging{opacity:.5;transform:rotate(5deg)}.tier-drop-zone{border:2px dashed #0000;border-radius:8px;min-height:200px;transition:border-color .2s,background-color .2s}.tier-drop-zone.drag-over{border-color:var(--accent);background-color:#fb923c0d}.tier-empty-state{color:var(--muted);text-align:center;padding:2rem 0;font-size:.9rem}.floating-section-dropdown{z-index:1000;position:fixed;bottom:5.75rem;right:2rem}@media (max-width:768px){.floating-section-dropdown{bottom:calc(4.5rem + max(.5rem, env(safe-area-inset-bottom)) + 2.5rem + .75rem)!important}}@media (max-width:640px){.floating-section-dropdown{right:1.5rem;bottom:calc(4.5rem + max(.5rem, env(safe-area-inset-bottom)) + 2.5rem + .75rem)!important}.floating-section-dropdown .section-dropdown{max-width:calc(100vw - 1.5rem);right:0}}@media (max-width:480px){.floating-section-dropdown{right:1rem;bottom:calc(4.5rem + max(.5rem, env(safe-area-inset-bottom)) + 2.25rem + .75rem)!important}.floating-section-dropdown .section-dropdown{max-width:calc(100vw - 1rem);right:0}}@media (max-width:768px){.floating-section-dropdown .section-dropdown{max-width:calc(100vw - 1.5rem);right:0}.tier-column{width:200px;min-width:200px}.tier-list-container{gap:.75rem}.section-navigator>div{display:flex}.section-navigator .killteam-tabs{order:1}.section-navigator .section-navigator-controls{order:2}}@media (max-width:640px){.tier-column{width:180px;min-width:180px}.tier-column-header h3{font-size:1rem}.tier-killteam-card{padding:.5rem;font-size:.9rem}}@media print{.header-sticky,.nav-links,.killteam-selector-sticky,.killteam-tabs,.language-switcher,.theme-toggle,button:not(.print-keep),.pill-button:not(.print-button),.share-button,.section-navigator-floating,.section-navigator-compact,.app-footer,.recent-killteams,.update-notification,.install-prompt,.print-button{display:none!important}@page{size:A4;margin:1.5cm}*{box-shadow:none!important;text-shadow:none!important}html,body{color:#000!important;background:#fff!important}.card{page-break-inside:avoid;background:#fff!important;border:1px solid #ccc!important;border-radius:0!important;margin:.5rem 0!important;padding:1rem!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;color:#000!important}a{color:#000!important;text-decoration:underline!important}a[href^=http]:after{content:" (" attr(href) ")";color:#666;font-size:.8em}table{page-break-inside:avoid}img{page-break-inside:avoid;max-width:100%!important;height:auto!important}.weapon-rule-inline,.ability-card{page-break-inside:avoid;background:#fff!important;border:1px solid #ccc!important}.container{max-width:100%!important;padding:0!important}.killteam-tab-panel{page-break-before:auto;page-break-after:auto;page-break-inside:avoid}.operatives-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;display:grid!important}[data-tooltip],.tooltip,.portal{display:none!important}.operative-card{page-break-inside:avoid;border:1px solid #000!important;margin-bottom:1rem!important}.weapons-table{font-size:9pt!important}.ability-card{page-break-inside:avoid;background:#fff!important;border:1px solid #000!important}.ploy-card,.faction-rule-card,.tacop-card{page-break-inside:avoid;border:1px solid #000!important}.killteam-tab-panel>h2,.killteam-tab-panel>h3{page-break-after:avoid;border-bottom:2px solid #000!important}.muted{color:#333!important}.nav-links-row .pill.active{color:#000!important;background:#fff!important;border:1px solid #000!important}.scoreboard-card,section{page-break-inside:avoid}.killteam-tab-panel{margin-bottom:1.5rem!important}.section-navigator,.killteam-selector{display:none!important}.card+.card{margin-top:1rem!important}.weapons-table,.stats-table{font-size:8pt!important}.weapons-table th,.weapons-table td,.stats-table th,.stats-table td{padding:.3rem .4rem!important}.tier-list-container,.tier-column{page-break-inside:avoid}}.faction-keyword-skull-icon{width:auto;height:1em;display:block;transform:translateY(0)}.rich-text .faction-keyword-skull-icon{height:.8em;transform:translateY(0)}.faction-keyword-highlight{color:var(--accent);white-space:nowrap;align-items:baseline;gap:.2em;font-weight:600;display:inline-flex}.faction-keyword{white-space:nowrap;align-items:baseline;gap:.2em;display:inline-flex}@media print{.sidebar-desktop,.bottom-nav-mobile,.bottom-nav-quick-actions,.header-sticky,.killteam-selector-sticky,.footer,.print-fab-container,button:not(.to-be-printed),[role=button]:not(.to-be-printed){display:none!important}.container,.container.sidebar-collapsed{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}.card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important;border-radius:4px!important}.card.killteam-tab-panel{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;color:#000!important}p,li{color:#000!important}a[href]:after{content:none!important}.operatives-grid{column-count:1!important;width:100%!important;display:block!important}.operatives-grid .card,.operatives-grid .operative-card{break-inside:avoid!important;page-break-inside:avoid!important;width:100%!important;max-width:100%!important;margin-bottom:1.5rem!important}.operative-header{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#141414!important;border:1px solid #000!important}.operative-header h4,.operative-header-title h4,.operative-header-stat .label,.operative-header-stat .value{color:#fff!important}.operative-header-stat .value img{object-fit:contain!important;vertical-align:middle!important;width:.7em!important;height:.7em!important}.ability-card-header{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.ability-card-title,.ability-card-header h4,.ability-card-header h5{color:#fff!important}.equipment-card .ability-card-title,.equipment-card .ability-card-header h4,.faction-rule-card .ability-card-title,.faction-rule-card .ability-card-header h4{color:#000!important;border-bottom-color:#000!important}.operative-card .ability-card{box-shadow:none!important;border:none!important}.markdown-content,.editable-card-content,.editable-card-content .markdown-content>*{color:#fff!important;text-shadow:none!important}}.tier-items-container{flex-flow:wrap;flex:1;justify-content:flex-start;align-items:flex-start;gap:.5rem;min-height:60px;padding:.05rem;display:flex}.killteam-node{color:inherit;cursor:grab;background:0 0;border-radius:8px;flex-direction:column;flex-shrink:0;width:70px;margin:0;padding:0;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.killteam-node:hover{z-index:10;transform:scale(1.05)}.killteam-node-img-container{border-radius:8px;flex-shrink:0;width:70px;height:70px;overflow:hidden}.killteam-node-img{object-fit:cover;width:100%;height:100%;transition:filter .2s;display:block}.killteam-node:hover .killteam-node-img{filter:brightness(1.2) drop-shadow(0 0 8px var(--accent))}.killteam-node-label{color:var(--text);text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;text-align:center;-webkit-box-orient:vertical;min-height:2.5em;padding:.25rem .15rem;font-size:.7rem;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}
