:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--border: #2b3040;--text: #e8eaf0;--text-muted: #9aa1b2;--primary: #d4453b;--primary-hover: #b8382f;--success: #3fb27f;--warning: #d7a13a;--radius: 8px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--primary)}h1,h2,h3{font-weight:700;line-height:1.25}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius);padding:.5rem .9rem;font-size:.95rem;cursor:pointer;transition:background .15s}.btn:hover:not(:disabled){background:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{background:transparent;border-color:var(--primary);color:var(--primary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--border);border-color:var(--primary)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.85rem;color:var(--text-muted)}.checkbox-field{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.9rem;cursor:pointer;font-size:.9rem}.checkbox-field input[type=checkbox],.checkbox-field input[type=radio]{width:auto;margin-top:.2rem;padding:0;flex-shrink:0}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.5rem .65rem;font-size:.95rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary)}textarea{width:100%;resize:vertical}table{width:100%;border-collapse:collapse;font-size:.9rem}table th,table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}table th{color:var(--text-muted);font-weight:600}.table-wrap{overflow-x:auto}.nowrap{white-space:nowrap}.subtext{font-size:.82em;color:var(--text-muted)}@media (max-width: 640px){table{font-size:.78rem}table th,table td{padding:.35rem .4rem}}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.badge-pending{color:var(--warning);border-color:var(--warning)}.badge-accepted{color:var(--text)}.badge-awaiting_confirmation{color:var(--warning);border-color:var(--warning)}.badge-completed{color:var(--success);border-color:var(--success)}.badge-declined,.badge-cancelled{color:var(--text-muted);text-decoration:line-through}.badge-roster-created{color:var(--text-muted)}.badge-roster-submitted{color:var(--warning);border-color:var(--warning)}.badge-roster-validated{color:var(--success);border-color:var(--success)}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#d4453b1f;border:1px solid var(--primary);color:#ff9c94}.alert-info{background:#d4a13a1f;border:1px solid var(--warning);color:var(--warning)}.muted{color:var(--text-muted)}.field-error{color:#ff9c94;font-size:.85rem;margin:0}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem;flex-wrap:wrap}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:.6rem .9rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--text);border-bottom-color:var(--primary)}.tabs-sub{border-bottom:none;margin-bottom:1rem}.tabs-sub .tab-btn{padding:.35rem .7rem;font-size:.85rem;border:1px solid var(--border);border-radius:999px}.tabs-sub .tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.match-group-start td{border-top:2px solid var(--primary)}.match-group-alt{background:var(--surface-2)}.challenge-group-start{border-top:2px solid var(--primary);padding-top:1rem;margin-top:1rem}.link-copy{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.link-copy input{flex:1;min-width:200px}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.team-facts{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0;flex:1;min-width:200px}.team-facts dt{color:var(--text-muted);font-size:.85rem}.team-facts dd{margin:0;font-weight:600}.title-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap}.title-row h1,.title-row h2{margin:0}.markdown-body{line-height:1.6}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:1.2em;margin-bottom:.5em}.markdown-body p{margin:0 0 .9em}.markdown-body ul,.markdown-body ol{margin:0 0 .9em;padding-left:1.4em}.markdown-body a{color:var(--primary)}.markdown-body code{background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.9em}.markdown-body pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.75em;overflow-x:auto}.markdown-body pre code{background:none;padding:0}.markdown-body blockquote{margin:0 0 .9em;padding-left:1em;border-left:3px solid var(--border);color:var(--text-muted)}.markdown-body img{max-width:100%}.markdown-body table{width:100%;border-collapse:collapse;margin:0 0 .9em}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:.4em .6em}.markdown-preview{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;min-height:160px}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.roster-thumb-btn{display:block;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:zoom-in;line-height:0;transition:border-color .15s}.roster-thumb-btn:hover{border-color:var(--primary)}.lightbox-backdrop{z-index:200;flex-direction:column;gap:1rem}.lightbox-close{align-self:flex-end}.lightbox-image{display:block;max-width:95vw;max-height:85vh;object-fit:contain;border-radius:var(--radius);cursor:default}
