@layer reset,base,layout,components,utilities;@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/fa-solid-900-subset.woff2') format('woff2')}@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fa-brands-400-subset.woff2') format('woff2')}.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands{-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-solid,.fas{font-family:'Font Awesome 6 Free';font-weight:900}.fa-brands,.fab{font-family:'Font Awesome 6 Brands';font-weight:400}.fa-crosshairs::before{content:"\f05b"}.fa-table-columns::before{content:"\f0db"}.fa-chart-simple::before{content:"\f080"}.fa-tower-broadcast::before{content:"\f519"}.fa-map-location-dot::before{content:"\f5a0"}.fa-satellite-dish::before{content:"\f7c0"}.fa-ranking-star::before{content:"\f358"}.fa-check::before{content:"\f00c"}.fa-github::before{content:"\f09b"}.fa-bars::before{content:"\f0c9"}.fa-xmark::before{content:"\f00d"}@layer reset{*{box-sizing:border-box;margin:0;padding:0}html{height:100%;background:var(--bg)}body{display:flex;height:100dvh;overflow:hidden;background:radial-gradient(circle at 80% 0%,rgba(138,15,15,0.06),transparent 34rem),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}code,pre,textarea{font-family:"Fira Code","Cascadia Code",Consolas,Monaco,monospace}}@layer base{:root{color-scheme:dark;--bg:#090b11;--bg-sidebar:#0f131f;--bg-panel:rgba(22,28,45,0.7);--bg-panel-header:#141b2a;--bg-input:#070912;--border:rgba(255,255,255,0.05);--border-strong:#262833;--text:#cbd5e1;--text-bright:#ffffff;--muted:#94a3b8;--green:#10b981;--blue:#38bdf8;--purple:#a855f7;--lp-crimson:#8a0f0f;--lp-crimson-hover:#b01414;--lp-crimson-accent:#f87171;--danger:#ef4444;--warning:#f59e0b;--radius:8px;--shadow:0 4px 30px rgba(0,0,0,0.4);--sidebar-width:230px;--top-bar-height:56px}::selection{background:rgba(138,15,15,0.55);color:var(--text-bright)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid transparent;border-radius:999px;background-clip:padding-box;&:hover{background:#353947}}:focus-visible{outline:2px solid var(--lp-crimson);outline-offset:2px}}@layer layout{.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100dvh;background-color:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:relative;z-index:30;.sidebar-brand{min-height:66px;padding:18px 16px;border-bottom:1px solid var(--border);color:var(--text-bright);display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;letter-spacing:0.2px;.sidebar-brand-icon{width:18px;height:18px;flex-shrink:0;display:inline-block;color:var(--lp-crimson-accent)}.sidebar-brand-accent{color:var(--lp-crimson-accent)}}.sidebar-menu{flex:1;padding:16px 8px;display:flex;flex-direction:column;overflow-y:auto}.sidebar-link{min-height:38px;padding:10px 12px;border-radius:var(--radius);color:var(--text);display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:color 150ms ease,background-color 150ms ease;.sidebar-link-icon{width:16px;color:var(--muted);text-align:center;transition:color 150ms ease}&:hover,&.active{color:var(--text-bright);background:rgba(138,15,15,0.12)}&.active{color:#fca5a5;box-shadow:inset 4px 0 var(--lp-crimson);.sidebar-link-icon{color:var(--lp-crimson-accent)}}}.sidebar-footer{padding:15px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;.sidebar-footer-link{display:inline-flex;align-items:center;gap:6px;transition:color 150ms ease;&:hover{color:var(--text-bright)}}}.sidebar-user{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-top:1px solid var(--border)}}.sidebar-overlay{display:none}.workspace{flex:1;min-width:0;height:100dvh;display:flex;flex-direction:column;overflow-y:auto}.top-bar{height:var(--top-bar-height);min-height:var(--top-bar-height);flex-shrink:0;padding:0 24px;border-bottom:1px solid var(--border);background:rgba(15,19,31,0.72);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:20;.top-bar-title{flex:1;min-width:0;color:var(--text-bright);font-size:14px;font-weight:800;letter-spacing:0.65px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-button{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);display:none;align-items:center;justify-content:center;cursor:pointer}}.content{width:100%;margin:0 auto;padding:24px}.page-heading{margin-bottom:20px;.page-eyebrow{margin-bottom:5px;color:var(--lp-crimson-accent);font-size:12px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.page-title{color:var(--text-bright);font-size:24px;line-height:1.25;font-weight:800}.page-description{max-width:760px;margin-top:6px;color:var(--muted);font-size:14px}}.split-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:20px;align-items:start;&.generator-grid{grid-template-columns:minmax(0,2fr) minmax(260px,0.9fr)}}.stack{width:100%;display:flex;flex-direction:column}}@layer components{.panel,.match-card,.portal-card,.bot-job-card,.transaction-activity-card,.meta-banner,.notice,.auth-card,.bot-job-details-panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow)}.controls-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:end;.field{flex:1 1 200px}.checkbox-field,.btn{flex:0 0 auto}}.selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{min-width:0;display:flex;flex-direction:column;gap:5px;label{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase}}.checkbox-field{min-height:32px;display:flex;align-items:center;gap:8px;.checkbox-input{width:15px;height:15px;accent-color:var(--lp-crimson);cursor:pointer}.checkbox-label{color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}}.input-dense{width:100%;height:34px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);color:var(--text-bright);outline:none;font-size:14px;transition:border-color 150ms ease;&::placeholder{color:#566176}&:hover{border-color:rgba(255,255,255,0.1)}&:disabled{color:#64748b;cursor:not-allowed;opacity:0.68}}select.input-dense{padding-right:28px;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 10px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.inline-edit-input{width:100%;min-width:120px;padding:3px 0;border:0;border-bottom:1px dashed rgba(148,163,184,0.28);background:transparent;color:var(--text-bright);outline:none;font-size:13px}.btn{min-height:32px;padding:7px 16px;border:0;border-radius:var(--radius);background:var(--lp-crimson);color:var(--text-bright);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:0.35px;text-transform:uppercase;transition:background-color 150ms ease,opacity 150ms ease,transform 150ms ease;&:hover{background:var(--lp-crimson-hover)}&:active{transform:translateY(1px)}&:disabled{opacity:0.48;cursor:not-allowed;transform:none}&[aria-busy="true"]{cursor:wait}&.btn-secondary{border:1px solid var(--border);background:transparent;color:var(--text);&:hover{border-color:rgba(255,255,255,0.11);background:rgba(255,255,255,0.035)}}&.btn-small{min-height:25px;padding:4px 8px;font-size:11px}&.btn-block{width:100%}&.btn-large{min-height:42px;font-size:14px}&.btn-discord{background-color:#5865F2;color:#ffffff;&:hover{background-color:#4752C4}}}.badge,.user-role-badge,.badge-bot-status{width:fit-content;padding:2px 7px;border-radius:var(--radius);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase}.badge::before{width:5px;height:5px;border-radius:50%;content:"";background:currentColor}.badge-live,.badge-editor,.badge-trans-joined,.badge-bot-status.active{border:1px solid rgba(16,185,129,0.3);background:rgba(16,185,129,0.12);color:var(--green)}.badge-upcoming,.badge-reviewer,.badge-admin,.badge-trans-roleChange{border:1px solid rgba(56,189,248,0.3);background:rgba(56,189,248,0.12);color:var(--blue)}.badge-trans-left{border:1px solid rgba(239,68,68,0.3);background:rgba(239,68,68,0.12);color:var(--danger)}.badge-trans-teamNameChange{border:1px solid rgba(168,85,247,0.3);background:rgba(168,85,247,0.12);color:var(--purple)}.badge-trans-unknown,.badge-bot-status.inactive{border:1px solid rgba(148,163,184,0.25);background:rgba(148,163,184,0.1);color:var(--muted)}.pywikibot-icon{width:1em;height:1em;vertical-align:-0.125em;display:inline-block;flex-shrink:0;fill:currentColor;&.sidebar-link-icon,&.panel-header-icon{width:16px;height:16px;vertical-align:middle}}.panel{overflow:hidden;.panel-header{min-height:42px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-panel-header);color:var(--text-bright);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;letter-spacing:0.55px;text-transform:uppercase;.panel-header-group{min-width:0;display:flex;align-items:center;gap:8px}.panel-header-icon{color:var(--lp-crimson-accent)}}.panel-content{padding:16px}}.meta-banner{padding:12px;background:rgba(15,19,31,0.8);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;.meta-item{min-width:0;display:flex;gap:8px;align-items:baseline;.meta-label{flex:0 0 auto;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:0.45px;text-transform:uppercase}.meta-value{min-width:0;overflow-wrap:anywhere;color:var(--text-bright);font-family:monospace;font-size:13px}}}.notice{padding:12px 14px;background:rgba(56,189,248,0.055);display:flex;align-items:flex-start;gap:10px;&.warning{background:rgba(245,158,11,0.055);.notice-icon{color:var(--warning)}}.notice-icon{margin-top:2px;color:var(--blue)}.notice-title{color:var(--text-bright);font-size:13px}.notice-text{margin-top:2px;color:var(--muted);font-size:13px}}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none;.toast{max-width:360px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius);background:#111827;color:var(--text-bright);box-shadow:var(--shadow);font-size:13px;animation:toast-enter 180ms ease-out;&.error{color:#fca5a5}}}@keyframes toast-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-profile .user-details{display:flex;flex-direction:column;gap:2px;line-height:1.2;.user-name{font-size:13px;font-weight:700;color:var(--text-bright)}}.output-textarea{width:100%;min-height:260px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);color:var(--blue);outline:none;overflow:auto;resize:vertical;white-space:pre;font-size:12px;line-height:1.5;tab-size:4}.output-state-loading{.output-textarea{opacity:0.55;cursor:wait}.output-indicator-badge-loading{display:inline-block;color:var(--blue)}}.output-state-stale{border-color:rgba(245,158,11,0.38);.output-textarea{color:var(--muted);opacity:0.76}.output-indicator-badge-stale{display:inline-block;color:var(--warning)}}.output-state-current{border-color:rgba(16,185,129,0.18)}.output-indicator-badge{margin-left:auto;font-size:11px;letter-spacing:0.5px;font-weight:600;display:none}.table-wrap{max-height:520px;overflow:auto}.dense-table{width:100%;border-collapse:collapse;font-size:13px;th{padding:9px 10px;border-bottom:1px solid var(--border);background:rgba(15,19,31,0.92);color:var(--muted);position:sticky;top:0;z-index:5;text-align:left;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:0.35px;text-transform:uppercase}td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}tbody tr:hover td{background:rgba(255,255,255,0.018)}}.match-list{display:flex;flex-direction:column;gap:12px;height:clamp(30rem,65vh,46rem);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;contain:layout paint}.match-card-skeleton{min-height:140px;opacity:0.6;pointer-events:none;.skeleton-line{border-radius:4px;background:rgba(255,255,255,0.06);animation:skeleton-pulse 1.5s infinite ease-in-out;&.skeleton-eyebrow{width:120px;height:12px;margin-bottom:8px}&.skeleton-title{width:220px;height:18px;margin-bottom:10px}&.skeleton-meta{width:160px;height:14px;margin-bottom:12px}&.skeleton-actions{width:180px;height:28px}}}@keyframes skeleton-pulse{0%,100%{opacity:0.4}50%{opacity:0.8}}.match-card{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;transition:border-color 150ms ease,transform 150ms ease;&:hover{border-color:rgba(255,255,255,0.1);transform:translateY(-1px)}.match-card-body{min-width:0;width:100%}.match-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;.page-eyebrow{margin-bottom:0}}.match-title{margin-bottom:6px;color:var(--text-bright);font-size:16px;font-weight:800;line-height:1.3}.match-meta{margin-bottom:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;line-height:1.4;.match-region{color:var(--text-bright);font-weight:700}.match-series-id{font-size:11.5px;color:var(--text);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);padding:2px 6px;border-radius:4px;user-select:all}}.match-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}}.portal-list{display:flex;flex-direction:column;gap:12px;.portal-card{min-height:78px;padding:15px;display:flex;align-items:center;gap:14px;transition:border-color 150ms ease,background-color 150ms ease,transform 150ms ease;&:hover{border-color:rgba(255,255,255,0.11);background:rgba(255,255,255,0.025);transform:translateY(-1px)}.portal-card-icon{width:24px;height:24px;flex-shrink:0;color:var(--lp-crimson-accent);text-align:center;font-size:19px}.portal-card-title{color:var(--text-bright);font-size:14px;font-weight:800}.portal-card-description{margin-top:3px;color:var(--muted);font-size:13px}}}.auth-wrapper{display:flex;justify-content:center;align-items:center;padding:40px 16px;.auth-card{max-width:460px;width:100%}.auth-message{display:flex;flex-direction:column;gap:8px;.auth-title{font-size:18px;font-weight:800;color:var(--text-bright)}.auth-description{font-size:14px;color:var(--text);line-height:1.5}}}.transactions-panel{overflow:hidden;.transactions-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(15,19,31,0.65);.transaction-search{flex:1 1 280px;min-width:200px;.transaction-search-input{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center;background-size:16px 16px}}select{flex:0 0 160px;width:160px;min-width:130px}.btn-clear{flex:0 0 auto;height:34px;padding:0 14px;display:inline-flex;align-items:center;gap:6px}}.transactions-activity-list{display:flex;flex-direction:column;gap:10px}.transaction-activity-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;transition:border-color 150ms ease;&:hover{border-color:rgba(255,255,255,0.1)}.transaction-activity-content{min-width:0;display:flex;flex-direction:column;gap:4px;.transaction-activity-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;.transaction-activity-title{color:var(--text);font-size:14px;line-height:1.3;strong{color:var(--text-bright);font-weight:700}}}.transaction-activity-meta{color:var(--muted);font-size:12px}}.transaction-activity-time{color:var(--muted);font-size:12px;white-space:nowrap;flex-shrink:0;align-self:flex-start}}}}@layer utilities{.hidden{display:none!important}.muted{color:var(--muted);font-size:12px;font-weight:600}.empty-text{padding:24px;color:var(--muted);text-align:center}.status{min-height:18px;margin-top:10px;color:var(--muted);font-size:13px;&.loading{color:var(--blue)}&.success{color:var(--green)}&.error{color:var(--danger)}&.warning{color:var(--warning)}}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:8px 12px;border:1px solid var(--blue);border-radius:var(--radius);background:var(--bg-panel-header);color:var(--text-bright);font-weight:800;transform:translateY(-160%);transition:transform 150ms ease;&:focus{transform:translateY(0)}}.visually-hidden{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;position:absolute;white-space:nowrap;border:0;clip:rect(0,0,0,0);clip-path:inset(50%)}}@media (max-width:820px){.split-grid,.split-grid.generator-grid,.selector-grid{grid-template-columns:1fr}.match-list{height:auto;min-height:380px;max-height:600px}.sidebar{position:fixed;inset:0 auto 0 0;transform:translateX(-100%);transition:transform 180ms ease}body.sidebar-open{.sidebar{transform:translateX(0)}.sidebar-overlay{display:block}}.sidebar-overlay{position:fixed;inset:0;z-index:25;border:0;background:rgba(0,0,0,0.6)}.mobile-menu-button{display:inline-flex}.top-bar{padding:0 14px;gap:10px}#bot-status-indicator{margin-left:auto;flex-shrink:0}.content{padding:16px}.controls-grid,.meta-banner{grid-template-columns:1fr}}@media (max-width:640px){.transactions-controls{gap:10px;.transaction-search{flex:1 1 100%;width:100%}select{flex:1 1 calc(50% - 5px);width:calc(50% - 5px);min-width:0}.btn-clear{flex:1 1 100%;width:100%;justify-content:center}}.transaction-activity-card,.match-card{flex-direction:column;align-items:flex-start;gap:10px;.transaction-activity-time,.match-actions{align-self:stretch;width:100%}.match-actions .btn{width:100%}}}.bot-job-card{padding:13px;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease;&:hover,&:focus-visible{border-color:rgba(56,189,248,0.55);background:rgba(56,189,248,0.09)}}.bot-job-card-header,.bot-job-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.bot-job-title{overflow:hidden;color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap}.bot-job-summary{display:grid;gap:4px;margin-top:10px;font-size:12px}.bot-job-summary-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:6px;span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.bot-job-progress{display:grid;gap:5px;margin-top:10px;color:var(--muted);font-size:11px}.bot-job-card-footer{margin-top:11px}.bot-job-log-preview{overflow:hidden;color:var(--muted);font-family:monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.bot-job-details-modal{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,0.72);&.is-open{display:flex}}.bot-job-details-panel{width:min(850px,100%);max-height:min(800px,90vh);overflow:auto;background:var(--bg-panel-header)}.bot-job-details-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);h2{overflow:hidden;color:var(--text-bright);font-size:16px;text-overflow:ellipsis;white-space:nowrap}}.bot-job-details-body{display:grid;gap:12px;padding:16px}.bot-job-detail-row{display:grid;gap:4px;strong{color:var(--muted);font-size:11px;letter-spacing:0.4px;text-transform:uppercase}pre{max-width:100%;margin:0;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-size:12px}}