:root{font-family:'Segoe UI',Arial,sans-serif;color-scheme:light;--bg:#f7f6f6;--surface:#fff;--soft:#eeedf0;--text:#242a32;--muted:#657383;--line:#e2e2e5;--nav:#3e4247;--accent:#324e71;--accent2:#4c8bcb;--light:#e1ecf7;--shadow:0 10px 32px #182b3811}
:root[data-theme=dark]{color-scheme:dark;--bg:#131b27;--surface:#202c3c;--soft:#28384a;--text:#f1f4f8;--muted:#b6c6d7;--line:#3b4b5f;--nav:#101721;--accent:#4c8bcb;--accent2:#8bc0f0;--light:#2c425b;--shadow:0 10px 32px #0002}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}a{color:var(--accent2);text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.12;letter-spacing:-.035em}h2{font-size:1.14rem}h3{font-size:.96rem}small{font-size:.76rem}input,select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:9px 10px;min-width:0;max-width:100%}input:focus,select:focus{outline:2px solid var(--accent2);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent2)}label{display:flex;flex-direction:column;gap:5px;font-weight:600}button:focus-visible,a:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}
.topbar{background:var(--nav);color:white;padding:0 24px}.top-inner{max-width:1450px;min-height:76px;margin:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.brand{font-weight:800;font-size:1.18rem;display:flex;align-items:center;gap:10px;color:white;white-space:nowrap}.brand-logo{font-size:12px;border-radius:8px;padding:8px;background:#4c8bcb}.navlinks{display:flex;gap:3px;flex-wrap:wrap}.navlinks a{color:#e2e8ee;padding:8px 11px;border-radius:7px;font-size:.88rem}.navlinks a.active,.navlinks a:hover{background:#ffffff25}.nav-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.competition-indicator{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.dirty{color:#ffc278}.top-error{padding:12px 5%;background:#ffe6e6;color:#901c21;display:flex;gap:15px}.page-container{max-width:1450px;margin:auto;min-height:calc(100vh - 175px);padding:32px 26px 60px}.footer{max-width:1450px;padding:18px 26px 32px;margin:auto;font-size:.78rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 14px;font-weight:650;white-space:nowrap;line-height:1.25}.btn:hover:not(:disabled){border-color:var(--accent2);color:var(--accent2)}.btn-primary{color:#fff;background:var(--accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){color:#fff;background:var(--accent2)}.btn-outline{border-color:var(--accent2);color:var(--accent2);background:transparent}.btn-danger{color:#ba4852;border-color:#df999e;background:transparent}.btn-sm{font-size:.78rem;padding:7px 10px}.btn-lg{padding:13px 19px}.full-width{width:100%}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-action{position:relative;overflow:hidden;cursor:pointer}.file-action input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:21px;margin-bottom:19px;box-shadow:var(--shadow)}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}.page-head h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 5px}.eyebrow{color:var(--accent2);font-weight:800;letter-spacing:.16em;font-size:.72rem;margin:0 0 12px}.muted{color:var(--muted);font-weight:400}.lead{font-size:1.04rem;color:var(--muted);max-width:530px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}.section-head h2,.section-head p{margin-bottom:4px}.search{min-width:200px}.empty-state{max-width:500px;text-align:center;margin:13vh auto}.empty-inline{padding:20px;text-align:center;color:var(--muted)}.alert{padding:12px 16px;border:1px solid var(--accent2);border-radius:9px;margin:0 0 18px;background:var(--light)}.alert-error{background:#fff1f1;color:#9a2222;border-color:#d77}.separator{height:1px;background:var(--line);margin:17px 0}.hint{margin:10px 0 0}
.welcome-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:38px;min-height:400px}.welcome-copy{padding:36px 4px}.welcome-copy h1{font-size:clamp(2.7rem,5.1vw,4.8rem)}.welcome-copy h1 span{color:var(--accent2)}.welcome-actions{display:flex;gap:10px;margin:30px 0;flex-wrap:wrap}.hero-photo{border-radius:18px;min-height:330px;display:flex;align-items:end;background:linear-gradient(180deg,#15243722,#152437e0),url('/splash.jpg') center/cover}.hero-overlay{color:white;padding:30px;display:flex;flex-direction:column}.hero-overlay span{font-size:.7rem;letter-spacing:.17em}.hero-overlay strong{font-size:2rem}.hero-overlay small{color:#e0e9f4}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:32px}.feature{border:1px solid var(--line);border-radius:10px;padding:23px;background:var(--surface)}.feature>strong{color:var(--accent2)}.feature h3{margin:12px 0 5px}.feature p{color:var(--muted);margin:0}.resume-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px}.resume-card p{margin:0}.new-card{margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.form-grid label{font-size:.85rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:21px}.stat span,.stat small{color:var(--muted)}.stat strong{font-size:2.45rem;line-height:1.2}.table-scroll{overflow-x:auto;width:100%}table{width:100%;min-width:780px;border-collapse:collapse;text-align:left}th{padding:11px;font-size:.76rem;background:var(--soft);color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:10px 11px;border-bottom:1px solid var(--line);font-size:.85rem}tbody tr:hover{background:var(--light)}td .btn{margin-right:4px}.chip-row{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:8px 12px;border:1px solid var(--line);background:var(--light);border-radius:9px}.check{flex-direction:row;align-items:center}.modal-backdrop{position:fixed;inset:0;background:#101725b9;z-index:100;display:flex;justify-content:center;align-items:center;padding:20px}.modal{width:min(650px,100%);max-height:90vh;overflow-y:auto}.modal .button-row{justify-content:flex-end}
.bracket-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;align-items:start}.bracket-sidebar{padding:16px}.list-choice{border:0;border-radius:7px;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;padding:11px}.list-choice:hover{background:var(--soft)}.list-choice.selected{background:var(--light);box-shadow:inset 3px 0 var(--accent2);font-weight:750}.list-choice small{color:var(--muted);white-space:nowrap}.mini-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.mini-fields label{font-size:.76rem}.mini-fields input{width:100%;padding:7px}.bracket-content{min-width:0}.category-toolbar{display:flex;flex-direction:column;gap:12px}.tabs{display:flex;gap:5px}.tab{padding:8px 20px;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent;font-weight:750}.tab.active{color:var(--accent2);border-color:var(--accent2)}.category-tabs{display:flex;gap:6px;overflow-x:auto}.category-pill{border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--surface);color:var(--text);white-space:nowrap}.category-pill small{color:var(--muted)}.category-pill.active{background:var(--accent);color:white}.category-pill.active small{color:#cbe0f4}.settings-card{padding:17px}.compact-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.compact-controls label{font-size:.76rem}.compact-controls input{width:105px;padding:7px}.rounds-scroller{overflow:auto;border:1px solid var(--line);background:var(--soft);border-radius:11px;margin-bottom:18px}.rounds{display:flex;align-items:start;gap:14px;padding:20px;min-width:max-content}.round-column{width:238px;display:flex;flex-direction:column;gap:12px}.round-column h3{display:flex;justify-content:space-between;margin:0}.round-column small{color:var(--muted)}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px;box-shadow:var(--shadow);min-height:112px}.match-title{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);font-weight:650;margin-bottom:8px}.match-contestant{display:flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:5px;margin-top:5px}.match-contestant.winner{background:var(--light);border-color:var(--accent2)}.contestant-name{border:0;background:transparent;color:var(--text);padding:5px;flex:1;min-width:0;text-align:left;font-size:.76rem;display:flex;flex-direction:column}.contestant-name span{overflow-wrap:anywhere}.contestant-name.picked{outline:2px solid orange}.win-action{border:0;border-left:1px solid var(--line);background:transparent;color:var(--accent2);padding:6px 3px;font-size:.67rem;font-weight:750}.consolation{border-style:dashed}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.results-grid>div{padding:12px;background:var(--soft);border-radius:7px;display:flex;flex-direction:column}.results-grid span{color:var(--muted);font-size:.84rem}.kata-table input{width:76px;padding:7px}
.groups-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;align-items:start}.groups-layout>aside{padding:16px}.groups-content{min-width:0}.division-picker{padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:8px;margin:14px 0}.division-option{display:flex;flex-direction:row;gap:9px;align-items:center;padding:7px;font-weight:450}.division-option small{margin-left:auto;color:var(--muted)}.division-list{display:flex;flex-direction:column;gap:6px}.division-row{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:11px}.division-row>div{flex:1;display:flex;flex-direction:column}.division-row small{color:var(--muted)}.order-number{font-weight:750;color:var(--accent2)}.inline-name{border:0;background:transparent;text-decoration:underline;text-decoration-color:var(--line);color:var(--text);text-align:left}.inline-name:hover,.result-winner{color:var(--accent2)}.print-report{display:none}
@media(max-width:1050px){.nav-tools{margin-left:0}.top-inner{padding:12px 0}.bracket-layout,.groups-layout{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.page-head{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.page-container{padding:20px 14px 45px}.topbar{padding:0 14px}.navlinks{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto}.navlinks a{white-space:nowrap;padding:7px}.welcome-grid{grid-template-columns:1fr;gap:12px}.welcome-copy{padding:15px 0}.hero-photo{min-height:185px}.feature-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.card{padding:15px}.stat-grid{grid-template-columns:1fr 1fr}.results-grid{grid-template-columns:1fr 1fr}.section-head{flex-wrap:wrap}}

/* Multi-user competition portal additions */
.access-gate{max-width:640px;margin:45px auto}.access-gate h1{font-size:1.6rem}
.public-bracket{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;background:var(--surface)}
.public-bracket summary{cursor:pointer;font-weight:650}
.bracket-grid{display:flex;gap:14px;overflow:auto;padding:16px 3px}
.bracket-round{min-width:210px;display:flex;flex-direction:column;gap:10px}
.public-match{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--light)}
.public-match div{padding:6px;border-bottom:1px solid var(--line)}
.invite-code{padding:16px;margin:20px 0;border:1px solid var(--accent2);border-radius:10px;overflow-wrap:anywhere}
.invite-code code{font-size:1.1em;user-select:all}

/* Public views, manage dropdown and batch registration */
.public-tabs{display:flex;gap:8px;margin:0 0 20px}
.public-tabs a{padding:11px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:700}
.public-tabs a.active{background:var(--accent);color:white;border-color:var(--accent)}
.selection-label{max-width:540px;margin:0 0 20px}
.selection-label select{width:100%}
.progress-strip,.batch-summary{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:15px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}
.progress-strip span,.batch-summary span{font-size:.85rem;color:var(--muted)}
.current-match-row{background:var(--light)}
.folder-heading{padding:12px 8px 5px;color:var(--muted);font-size:.77rem}
.folder-editor{display:flex;gap:4px;margin:7px 0}.folder-editor input{width:100%;min-width:0;font-size:.77rem;padding:5px}
.review-batch{padding:17px;margin:14px 0;border:1px solid var(--line);border-radius:10px}
.review-batch>summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;list-style-position:inside}
.review-batch>.button-row{margin:13px 0}
.nav-dropdown{position:relative;color:#e2e8ee;font-size:.88rem}
.nav-dropdown>summary{padding:8px 11px;border-radius:7px;cursor:pointer;list-style:none;white-space:nowrap}
.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:#ffffff25}
.nav-dropdown-items{position:absolute;z-index:20;top:100%;left:0;min-width:235px;background:var(--nav);box-shadow:0 12px 28px #0005;border-radius:0 0 10px 10px;padding:8px}
.nav-dropdown-items a{display:block;white-space:nowrap}
@media(max-width:700px){.nav-dropdown-items{position:fixed;left:14px;right:14px;top:auto;min-width:0}}


/* October 2026: management group tabs, colored match status and connected brackets */
.group-panel-tabs{display:flex;gap:7px;margin:18px 0 0;border-bottom:1px solid var(--line);padding:0 2px}
.group-panel-tab{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:12px 19px;font-size:.9rem;font-weight:750;cursor:pointer}
.group-panel-tab:hover{color:var(--accent2);background:var(--soft)}
.group-panel-tab.active{color:var(--accent2);border-bottom-color:var(--accent2)}
.group-tab-body{padding-top:18px}
.group-tab-body>.card{margin-bottom:0}
.match-table tbody tr.match-completed{background:#e7f7ec;color:#163a29}
.match-table tbody tr.match-completed:hover{background:#caebd5;color:#143b27}
.match-table tbody tr.match-ongoing{background:#e8f1fc;box-shadow:inset 4px 0 var(--accent2)}
.match-table tbody tr.match-ongoing:hover{background:#d2e4f8}
.match-table tbody tr.match-pending:hover{background:var(--light)}
.match-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-weight:750;font-size:.7rem;line-height:1.2;background:var(--soft);color:var(--muted);white-space:nowrap}
.match-completed .match-status{background:#c6efd4;color:#1f6840}
.match-ongoing .match-status{background:#d7e9fd;color:#245b91}
.match-pending .match-status{background:var(--soft);color:var(--muted)}
.match-table .inline-name{cursor:pointer}
.match-table .inline-name:hover{text-decoration-color:currentColor}
.public-bracket-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 22px}
.public-bracket-filters label{font-size:.86rem;min-width:0}
.public-bracket-filters select{width:100%;min-width:0}
.tree-scroll{overflow:auto;max-width:100%;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--soft);overscroll-behavior-x:contain}
.tree-scroll:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.tree-canvas{position:relative;min-height:260px;padding:0;background:var(--soft)}
.tree-connectors{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.tree-connectors path{fill:none;stroke:#95a6b8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tree-round-label{position:absolute;top:17px;width:240px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.84rem;color:var(--text);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.tree-round-label small{font-size:.69rem;color:var(--muted);font-weight:500;text-transform:none;letter-spacing:normal}
.tree-match{position:absolute;width:240px;min-height:116px;border:1px solid var(--line);border-left:3px solid var(--accent2);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;font-size:.78rem;transition:background-color .14s,border-color .14s}
.tree-match:hover{border-color:var(--accent2)}
.tree-match.match-completed{background:#eaf8ee;border-left-color:#29885a;border-color:#b1e2c1;color:#163a29}
.tree-match.match-completed:hover{background:#d2efdb}
.tree-match.match-ongoing{background:#e8f1fc;border-left-color:#3a7bb7}
.tree-match.match-ongoing:hover{background:#d9e9fa}
.tree-match.match-pending:hover{background:var(--light)}
.tree-match-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px 5px;font-size:.72rem;font-weight:800}
.tree-contestant{min-height:33px;padding:0 7px;display:flex;align-items:center;gap:5px;border-top:1px solid var(--line)}
.tree-contestant.tree-winner{background:#d9f6e2;color:#15562e;font-weight:800}
.tree-athlete{flex:1;min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;text-align:left;color:inherit;padding:7px 3px}
button.tree-athlete{cursor:pointer;background:transparent;border:0}
button.tree-athlete:hover{color:var(--accent2);text-decoration:underline}
.tree-athlete.tree-picked{outline:2px solid #e6a73a;outline-offset:-2px}
.tree-winner-mark{color:#138347;font-weight:900}
.tree-advance{cursor:pointer;border:1px solid var(--accent2);border-radius:5px;padding:3px 5px;color:var(--accent2);background:transparent;font-size:.69rem;font-weight:800}
.tree-advance:hover{background:var(--accent2);color:white}
.tree-third{border-left-color:#cb7a26}
.tree-hint{font-size:.78rem;margin:8px 0 16px}
[data-theme="dark"] .match-table tbody tr.match-completed,
[data-theme="dark"] .tree-match.match-completed{background:#173d2b;color:#c6f3d4;border-color:#376b4d}
[data-theme="dark"] .match-table tbody tr.match-completed:hover,
[data-theme="dark"] .tree-match.match-completed:hover{background:#235038;color:#e5ffee}
[data-theme="dark"] .match-table tbody tr.match-ongoing,
[data-theme="dark"] .tree-match.match-ongoing{background:#183752;color:#d5eafe}
[data-theme="dark"] .match-table tbody tr.match-ongoing:hover,
[data-theme="dark"] .tree-match.match-ongoing:hover{background:#245273}
[data-theme="dark"] .tree-contestant.tree-winner{background:#234c36;color:#cdf9d9}
@media(max-width:700px){.public-bracket-filters{grid-template-columns:1fr}.group-panel-tab{padding:10px 12px}}

/* Spacious bracket viewport, retaining the original AdaptiveFiller palette. */
.bracket-display{
    min-width:0;
    margin:14px 0 18px;
    padding:22px 24px 28px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
}
.bracket-display .tree-scroll{margin:0;max-width:100%}
.category-tabs .category-pill{white-space:normal;text-align:left;max-width:280px}
@media(max-width:700px){.bracket-display{padding:12px 10px 18px}}

/* Vector, A4-compatible print/PDF output based on the original WPF bracket format. */
.pdf-bracket-svg{display:block;width:100%;height:auto;max-height:228mm;overflow:visible}
.pdf-bracket-lines path{fill:none;stroke:#111;stroke-width:.95;stroke-linejoin:miter}
.pdf-bracket-person rect,.pdf-third-place rect{fill:#fff;stroke:#111;stroke-width:1.05}
.pdf-bracket-person.pdf-bracket-winner rect{stroke:#4d9873;stroke-width:1.5}
.pdf-person-name{font-family:Arial,sans-serif;font-weight:700;font-size:8px;fill:#111}
.pdf-person-details{font-family:Arial,sans-serif;font-size:7px;fill:#333}
.pdf-match-number,.pdf-third-place text{font-family:Arial,sans-serif;font-size:8px;fill:#222}
.print-report{display:none}
@media print{
    @page{size:A4 portrait;margin:12mm 12mm 13mm}
    html,body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
    .topbar,.footer,.page-head,.bracket-layout,.alert,.button-row,.page-container>.card,
    .page-container>.bracket-display{display:none!important}
    .page-container{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
    .print-report{display:block!important;margin:0!important;padding:0!important;color:#111!important;background:white!important}
    .print-toc{break-after:page;page-break-after:always;min-height:259mm;padding:2mm 2mm 0;box-sizing:border-box}
    .print-toc h1{font:700 17px/1.2 Arial,sans-serif;text-align:left;margin:0 0 5mm;color:#111}
    .print-toc-competition{font:11px Arial,sans-serif;margin:0 0 4mm;color:#333}
    .print-toc-row{display:flex;align-items:baseline;gap:3px;font:9px/1.24 Arial,sans-serif;min-height:3.7mm;white-space:nowrap}
    .print-toc-row>span:first-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
    .print-toc-row>span:last-child{font-variant-numeric:tabular-nums;text-align:right;min-width:12px}
    .print-toc-leader{flex:1;min-width:10px;border-bottom:1px dotted #999;height:8px}
    .print-category{break-before:page;page-break-before:always;break-after:page;page-break-after:always;
        box-sizing:border-box;width:100%;min-height:259mm;padding:2mm 0 0;margin:0;overflow:hidden}
    .print-category-header{text-align:center;margin:0 0 9mm;font-family:Arial,sans-serif;color:#111}
    .print-category-header .print-folder{font-size:10px;font-weight:400;margin:0 0 2mm;color:#555}
    .print-category-header h2{font:700 15px/1.2 Arial,sans-serif;margin:0 0 1.5mm;color:#111}
    .print-category-header h3{font:700 13px/1.2 Arial,sans-serif;margin:0;color:#111}
    .pdf-bracket-svg{width:100%!important;max-height:227mm!important;margin:0;display:block}
    .pdf-bracket-lines path{stroke:#000;stroke-width:.95}
    .pdf-bracket-person rect,.pdf-third-place rect{stroke:#111;fill:white}
    .pdf-bracket-winner rect{stroke:#4d9873}
    .print-category-footer{position:absolute;bottom:0;font:9px Arial,sans-serif;color:#888;display:none}
    .print-empty{padding:15mm 5mm}
    .print-empty h1{font:700 18px Arial,sans-serif}
}

/* Accessible interior bracket spacing: offsets are also applied to SVG geometry. */
.tree-scroll {
    padding:16px 20px 22px;
    background:var(--surface);
    box-shadow:inset 0 4px 20px #182a3814, inset 0 -4px 18px #182a3810;
}
.tree-canvas {
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:inset 0 0 34px #15283a12;
}
.bracket-display { padding:24px 27px 30px;box-shadow:0 12px 32px #13243b0d; }
.bronze-policy-control {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}
.bronze-policy-control label{font-weight:750;font-size:.86rem}
.bronze-policy-control select{max-width:100%;min-width:240px}
.bronze-policy-control small{flex-basis:100%}
.home-header {display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 0 25px}
.home-header h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 5px}
.competition-home-row{margin-top:9px}
@media(max-width:700px){.tree-scroll{padding:10px 12px 14px}.bracket-display{padding:14px 12px 20px}}

/* Printed pages use their own internal padding: zero @page margins suppress the
   browser-generated URL/title/date footer/header in Chromium print-to-PDF. */
.pdf-third-place .pdf-third-connector{fill:none;stroke:#111;stroke-width:1.1;stroke-linecap:square}
@media print {
    @page { size:A4 portrait; margin:0; }
    .print-toc { min-height:297mm; padding:15mm 12mm 15mm; }
    .print-category { min-height:297mm; padding:15mm 12mm 15mm; }
    .print-category-header{margin-bottom:8mm}
    .pdf-bracket-svg{max-height:236mm!important;max-width:100%;}
    .pdf-third-place .pdf-third-connector{stroke:#111}
}


/* Dedicated manager workspace: conventional, non-sticky left navigation. */
.manager-page-container{max-width:1540px;padding-top:26px}
.manager-shell{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:22px;min-width:0}
.manager-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:14px 10px;display:flex;flex-direction:column;gap:8px;min-height:460px}
.manager-sidebar-home{display:flex;align-items:center;gap:10px;color:var(--text);padding:12px 9px 17px;border-bottom:1px solid var(--line);min-width:0}
.manager-sidebar-symbol{font-size:.7rem;font-weight:900;letter-spacing:.04em;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;min-width:38px;height:38px}
.manager-sidebar-home span:last-child{display:flex;flex-direction:column;min-width:0}
.manager-sidebar-home strong{font-size:.85rem}
.manager-sidebar-home small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}
.manager-sidebar-label{letter-spacing:.13em;font-size:.65rem;font-weight:800;color:var(--muted);margin:10px 10px 2px}
.manager-sidebar-links{display:flex;flex-direction:column;gap:3px}
.manager-sidebar-links a{display:block;padding:11px 12px;border-radius:8px;font-size:.88rem;font-weight:630;color:var(--text);border-left:3px solid transparent}
.manager-sidebar-links a:hover{background:var(--soft);color:var(--accent2)}
.manager-sidebar-links a.active{background:var(--light);color:var(--accent);border-left-color:var(--accent2);font-weight:800}
:root[data-theme=dark] .manager-sidebar-links a.active{color:var(--accent2)}
.manager-sidebar-foot{margin-top:auto;padding:18px 11px 5px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:.77rem}
.manager-sidebar-foot span{color:var(--muted)}
.manager-main{min-width:0;max-width:100%}
.manager-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.manager-dashboard-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.manager-dashboard-links a{display:flex;flex-direction:column;gap:4px;padding:17px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text);min-width:0}
.manager-dashboard-links a:hover{border-color:var(--accent2);box-shadow:var(--shadow)}
.manager-dashboard-links small{color:var(--muted)}
.property-card{max-width:1000px}
.property-policy-label select{width:min(100%,680px)}
.property-warning{margin:17px 0 0;max-width:760px}
.property-danger-zone{border-color:#cc6b714d}
.group-add-action{margin-top:14px}
.match-progress-hero{margin:14px 0 20px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--accent2);border-radius:12px}
.match-progress-hero>div{display:flex;flex-direction:column;gap:4px}
.match-progress-label{font-size:.7rem;letter-spacing:.13em;font-weight:800;color:var(--muted)}
.match-progress-hero strong{font-size:clamp(2.4rem,5vw,4rem);line-height:1.06;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--text)}
@media(max-width:1050px){.manager-shell{grid-template-columns:195px minmax(0,1fr);gap:15px}.manager-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.manager-shell{display:block}.manager-sidebar{min-height:0;margin-bottom:18px;padding:12px}.manager-sidebar-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}.manager-sidebar-links a{border-left:none;border-bottom:2px solid transparent;padding:8px 10px}.manager-sidebar-links a.active{border-bottom-color:var(--accent2)}.manager-sidebar-foot{margin-top:5px}.manager-dashboard-links{grid-template-columns:1fr}.manager-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  .manager-sidebar{display:none!important}
  .manager-shell{display:block!important;grid-template-columns:none!important;width:100%!important;margin:0!important;padding:0!important}
  .manager-main{display:block!important;width:100%!important;margin:0!important;padding:0!important}
}

/* 2026-10 Reports and manager refinements */
.manager-page-container{max-width:none;padding-left:8px;padding-right:16px}
.manager-shell{grid-template-columns:195px minmax(0,1fr);gap:13px}
.manager-sidebar{margin-left:0;min-width:0}
.manager-main{width:100%}
.bracket-display{padding:0!important;background:var(--soft);border-radius:12px;box-shadow:0 8px 24px #13243b12}
.bracket-display .tree-scroll{padding:0!important;background:var(--soft);box-shadow:inset 0 3px 20px #162e4a13;border:none}
.bracket-display .tree-canvas{min-width:100%;border:0;box-shadow:none;background:var(--soft)}
.brand-logo,.manager-sidebar-symbol{display:none!important}
.report-filter-card{margin-bottom:18px}
.report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-filter-grid label{display:flex;flex-direction:column;font-size:.8rem;font-weight:700;gap:7px}
.report-filter-grid select{width:100%}
.report-result-card{margin-bottom:13px}
.report-state{border-radius:30px;background:var(--soft);color:var(--muted);padding:6px 11px;font-size:.74rem;font-weight:800;white-space:nowrap}
.report-final{background:#e8f8ec;color:#186c37}
.report-provisional{background:#fff4dd;color:#855700}
.report-athlete{border:1px solid var(--line);border-radius:10px;margin-top:8px;overflow:hidden}
.report-athlete summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;cursor:pointer;padding:13px 15px;background:var(--soft)}
.report-athlete summary:hover{filter:brightness(.97)}
.report-athlete summary strong{min-width:200px}
.report-place{margin-left:auto;font-size:.8rem;font-weight:800;color:var(--accent)}
.report-athlete-detail{padding:13px 15px}
.report-athlete-detail table{font-size:.83rem}
.certificate-studio{margin:18px 0}
.certificate-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:15px 0}
.certificate-tools>label:not(.file-action){display:flex;flex-direction:column;gap:6px;min-width:170px;font-weight:700;font-size:.81rem}
.certificate-tools input[type=range]{width:150px}
.certificate-tools input:not([type=range]){max-width:260px}
.certificate-placeholder{padding:45px 25px;border:2px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}
.certificate-preview{position:relative;background-color:white;background-position:center;background-size:100% 100%;aspect-ratio:297/210;max-width:850px;margin:12px auto;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.certificate-field{position:absolute;text-align:center;width:90%;left:5%;color:#15243b;text-shadow:0 1px 3px #fff8;overflow-wrap:anywhere}
.certificate-preview-title{top:18%;font-size:clamp(.9rem,2vw,1.7rem);font-weight:900;letter-spacing:.14em}
.certificate-preview-name{font-size:clamp(1.15rem,3vw,2.8rem);font-weight:900;transform:translateY(-50%)}
.certificate-preview-place{font-size:clamp(.8rem,1.7vw,1.5rem);font-weight:800;transform:translateY(-50%)}
.reports-print-sheet,.certificates-print-sheet{display:none}
@media(max-width:950px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-filter-grid{grid-template-columns:1fr}.manager-page-container{padding-left:10px;padding-right:10px}}

/* Separate PDF output modes. Browser Print > Save as PDF; background graphics ON for certificates. */
@media print{
  body.af-print-reports *,body.af-print-certificates *{visibility:hidden!important}
  body.af-print-reports .reports-print-sheet,body.af-print-reports .reports-print-sheet *,
  body.af-print-certificates .certificates-print-sheet,body.af-print-certificates .certificates-print-sheet *{visibility:visible!important}
  body.af-print-reports .reports-print-sheet,body.af-print-certificates .certificates-print-sheet{
    display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;
    margin:0!important;padding:0!important;background:#fff!important;z-index:999999!important
  }
  body.af-print-reports .print-report,body.af-print-certificates .print-report{display:none!important}
  .reports-print-head{padding:12mm 12mm 3mm;color:#111;font:12px Arial,sans-serif}
  .reports-print-head h1{font:700 18px Arial,sans-serif;margin:0 0 3mm}
  .reports-print-category{padding:5mm 12mm 8mm;color:#111;break-inside:avoid-page;font:10px Arial,sans-serif}
  .reports-print-category h2{font:700 14px Arial,sans-serif;margin:0 0 1mm}
  .reports-print-category p{color:#444;margin:0 0 3mm}
  .reports-print-person{break-inside:avoid-page;margin-bottom:5mm}
  .reports-print-person>span{margin-left:5mm;color:#666}
  .reports-print-person table{border-collapse:collapse;width:100%;margin:2mm 0 0;font-size:9px}
  .reports-print-person th,.reports-print-person td{border:1px solid #bcbcbc;padding:1.5mm;text-align:left}
  .certificate-page{position:relative!important;display:block!important;box-sizing:border-box!important;
    width:297mm!important;height:210mm!important;break-after:page;page-break-after:always;
    background-size:100% 100%!important;background-repeat:no-repeat!important;background-position:center!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#16243b}
  .certificate-page:last-child{break-after:auto;page-break-after:auto}
  .certificate-print-title{top:18%;font:900 23pt Arial,sans-serif;letter-spacing:.09em}
  .certificate-print-name{font:900 33pt Arial,sans-serif;transform:translateY(-50%)}
  .certificate-print-place{font:800 22pt Arial,sans-serif;transform:translateY(-50%)}
  .certificate-print-detail{top:76%;font:700 13pt Arial,sans-serif}
  .certificate-print-event{top:87%;font:12pt Arial,sans-serif}
}

/* 2026-10: compact reports, printed in exactly the same two layouts */
.report-roster{padding:12px 20px 26px}
.report-roster h2{font-size:1.18rem;margin:0 0 14px}
.roster-entry{padding:8px 4px;border-bottom:1px solid var(--line);break-inside:avoid}
.roster-entry strong{font-size:.95rem}
.roster-place{margin-left:10px;color:var(--muted);font-size:.8rem}
.roster-match-numbers{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;padding-left:12px}
.roster-number{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}
.roster-number:not(:last-child)::after{content:',';color:var(--muted)}
.roster-number.won{color:#168b43}.roster-number.lost{color:#c83438}.roster-number.unfinished{color:#777e88}
.report-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.report-placement-card{background:var(--surface);border:1px solid var(--line);padding:15px 18px;border-radius:7px;break-inside:avoid;min-width:0}
.report-placement-card header{margin-bottom:9px}
.report-placement-card h3{margin:0;font-size:1.03rem;font-weight:650}
.report-placement-card header small{color:var(--muted)}
.placement-line{display:flex;gap:12px;line-height:1.45;font-size:1rem}
.placement-line strong{font-variant-numeric:tabular-nums;min-width:24px}
@media(max-width:700px){.report-placement-grid{grid-template-columns:1fr}}
@media print{
  .reports-print-sheet{color:#111;font:12px Arial,sans-serif}
  .reports-print-roster{padding:5mm 13mm}
  .reports-print-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm;padding:5mm 12mm;align-content:start}
  .reports-print-placement-grid .report-placement-card{border:1px solid #777;padding:3mm;break-inside:avoid;color:#111;box-shadow:none}
  .reports-print-placement-grid .report-placement-card h3{font:600 12px Arial,sans-serif}
  .reports-print-placement-grid .placement-line{font:11px Arial,sans-serif}
  .reports-print-roster .roster-entry{color:#111;break-inside:avoid;font-size:11px}
  .reports-print-roster .roster-number.won{color:#00883d!important}
  .reports-print-roster .roster-number.lost{color:#ce1721!important}
  .reports-print-roster .roster-number.unfinished{color:#6f6f6f!important}
  body.af-print-reports .report-screen{display:none!important}
}

.notification-wrap{position:relative}
.notification-toggle{white-space:nowrap}.notification-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:#bd3434;color:#fff;font-size:.72rem;margin-left:3px}
.notification-panel{position:absolute;z-index:40;right:0;top:calc(100% + 9px);width:min(355px,92vw);max-height:60vh;overflow:auto;box-shadow:0 18px 60px #14223540;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:13px}
.notification-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--line)}
.notification-item{padding:10px 6px;border-bottom:1px solid var(--line)}.notification-item.unread{background:var(--light);border-radius:6px}
.notification-item p{font-size:.83rem;margin:4px 0}.notification-actions{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:.77rem}

/* Bounded, map-like bracket explorer. Scrollbars remain keyboard accessible. */
.bracket-display .tree-scroll,.tree-scroll{height:min(74vh,760px);min-height:320px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.tree-scroll::-webkit-scrollbar{display:none}
.bracket-map-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--soft);border-radius:10px 10px 0 0}
.bracket-map-tools .muted{margin-right:auto;font-size:.77rem}
.bracket-display{min-width:0}
/* A touch more breathing room without sacrificing workspace width. */
.manager-page-container{padding-left:17px;padding-right:23px}
.manager-shell{gap:17px}
.public-no-select,.public-no-select *{user-select:none;-webkit-user-select:none}
.public-no-select input,.public-no-select select{user-select:auto;-webkit-user-select:auto}
@media(max-width:700px){.manager-page-container{padding-left:12px;padding-right:12px}}
@media print{.bracket-map-tools{display:none!important}.tree-scroll{height:auto!important;overflow:visible!important}}

.match-list-scroll{max-height:590px;overflow:auto;scroll-behavior:smooth}
.match-list-scroll tr{scroll-margin:130px}

.af-choice-veil{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#08172d99;padding:16px}
.af-choice-dialog{width:min(525px,100%);padding:24px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 25px 70px #0005}
.af-choice-dialog h2{margin:0 0 8px}.af-choice-options{display:grid;gap:9px;margin:19px 0}
.af-choice-options button{display:flex;flex-direction:column;text-align:left;gap:5px;padding:13px 15px;border:1px solid var(--line);background:var(--soft);border-radius:10px;color:var(--text)}
.af-choice-options button:hover,.af-choice-options button:focus{border-color:var(--accent2)}
.af-choice-options small{color:var(--muted)}.af-choice-cancel{padding:9px 15px;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--text)}

@media print{
  .reports-print-roster .roster-number,.reports-print-placement-grid *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Linked bracket navigation: each entry points to its feeder and successor matches. */
.match-link-cell{min-width:105px;white-space:normal;vertical-align:top}
.match-link-cell>strong{font-size:1rem}
.match-route{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:5px;font-size:.71rem;line-height:1.35}
.match-route>span:first-child{color:var(--muted)}
.match-route-link{border:0;background:var(--light);color:var(--accent);font-weight:750;border-radius:5px;padding:2px 6px;cursor:pointer;line-height:1.35}
.match-route-link:hover{background:var(--accent);color:white}
.match-table tbody tr.match-target{outline:2px solid var(--accent2);outline-offset:-2px}
/* Map-style panning should not accidentally select text inside the bracket. */
.tree-scroll{cursor:grab;user-select:none;-webkit-user-select:none}
.tree-scroll.bracket-dragging{cursor:grabbing;scroll-behavior:auto}
.tree-scroll.bracket-dragging *{cursor:grabbing!important}
.tree-scroll button,.tree-scroll a{cursor:pointer}

/* vNext: compact category-group match schedule and interactive bracket selection. */
.group-match-table-wrap{border:1px solid var(--line);border-radius:9px}
.group-match-table{width:100%;border-collapse:collapse;min-width:900px;table-layout:auto}
.group-match-table thead th{background:var(--surface);text-align:left;position:sticky;top:0;z-index:1;white-space:nowrap}
.group-match-table th,.group-match-table td{padding:10px 11px;vertical-align:middle;border-bottom:1px solid var(--line)}
.group-match-table .match-table-number{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.group-match-table .match-table-links{white-space:nowrap;min-width:70px}
.group-match-table .match-route-link{margin:1px 2px 1px 0}
.group-match-table .inline-name{text-align:left}
.group-match-table tbody tr:last-child td{border-bottom:0}
.bracket-display,.bracket-display *, .tree-scroll,.tree-scroll *{
    user-select:none;-webkit-user-select:none;
}
.bracket-display button,.tree-scroll button{cursor:pointer}
/* Compact result register: athlete, group, placement and results share a row. */
.roster-entry{display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap}
.roster-entry .roster-person{display:inline-flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.roster-entry .roster-group{font-size:1.05rem;font-weight:800;color:var(--text)}
.roster-entry .roster-details{font-size:.77rem;color:var(--muted)}
.roster-entry .roster-place{margin-left:0}
.roster-entry .roster-match-numbers{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;margin:0;padding:0}
.roster-entry .roster-number{display:inline}
@media print{
  .reports-print-roster .roster-entry{display:flex!important;gap:2mm 3mm;align-items:baseline;flex-wrap:wrap}
  .reports-print-roster .roster-group{font-weight:800;font-size:11px}
  .reports-print-roster .roster-match-numbers{display:inline-flex!important;margin:0!important;padding:0!important}
}

/* Revision: results data grid and separate Kata judging rounds */
.report-grid-frame{padding:0;overflow:hidden}
.report-data-grid{width:100%;border-collapse:separate;border-spacing:0;min-width:950px;font-size:.83rem;color:var(--text)}
.report-data-grid th{background:var(--soft);font-size:.75rem;text-align:left;white-space:nowrap;letter-spacing:.015em;color:var(--muted);border-bottom:1px solid var(--line);padding:13px 12px}
.report-data-grid td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.report-data-grid tbody tr:last-child td{border-bottom:0}
.report-data-grid tbody tr:hover{background:var(--soft)}
.report-tatami{min-width:105px;font-weight:650}.report-name{min-width:145px}.report-name strong{display:block}.report-name small{display:block;color:var(--muted);margin-top:2px}
.report-result{font-weight:750;white-space:nowrap}
.report-match-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:90px}
.report-match-chip{display:inline-flex;min-width:26px;align-items:center;justify-content:center;font-weight:750;font-size:.76rem;border:1px solid var(--line);background:var(--soft);padding:4px 6px;border-radius:5px;font-variant-numeric:tabular-nums}
.report-match-chip.won{background:#e0f6e8;color:#176a37;border-color:#9adab0}
.report-match-chip.lost{background:#fde8e8;color:#a52a2a;border-color:#edb5b5}
.report-match-chip.unfinished{background:var(--soft);color:var(--muted)}
.match-route-link.match-route-text{border:0!important;background:transparent!important;padding:2px 4px!important;color:var(--text)!important;text-decoration:underline!important;text-underline-offset:3px;border-radius:0!important;box-shadow:none!important;font-size:inherit!important}
.match-route-link.match-route-text:hover{text-decoration-thickness:2px!important}
.tree-contestant{min-height:46px}
.tree-athlete{display:flex;flex-direction:column;justify-content:center;gap:3px;white-space:normal;text-overflow:clip;overflow:hidden;line-height:1.1;padding:6px 3px}
.tree-person-name{display:block;font-weight:800;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.tree-person-details{display:block;color:var(--muted);font-size:.63rem;font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.tree-winner .tree-person-details{color:inherit;opacity:.75}
.kata-rounds h3,.kata-rounds h4{margin:18px 0 7px}
@media print{
  body.af-print-reports .report-print-grid{margin:2mm 10mm 5mm;width:calc(100% - 20mm);min-width:0;border-collapse:collapse;font:9px Arial,sans-serif;color:#111}
  body.af-print-reports .report-print-grid th{background:#eee!important;color:#222!important;font-size:8px;padding:2mm 1.5mm;border:1px solid #bbb}
  body.af-print-reports .report-print-grid td{border:1px solid #bbb!important;padding:1.5mm;vertical-align:top;overflow-wrap:anywhere}
  body.af-print-reports .report-print-grid tr{break-inside:avoid-page}
  body.af-print-reports .report-print-grid small{display:block;color:#555}
  body.af-print-reports .report-print-grid .report-match-chip{font-size:8px;padding:1mm;min-width:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

@media print{body.af-print-reports .report-print-grid td:nth-child(2){font-weight:650}}

/* Mobile workspace refinement — desktop tables and bracket geometry are unchanged.
   Match rows switch from eight narrow columns to compact, readable cards on phones.
   The status word stays in the DOM for assistive technology; a symbol is shown visually. */
@media screen and (max-width:700px) {
    .page-container,
    .manager-page-container {
        padding-left:10px;
        padding-right:10px;
    }
    .card { padding:12px; }
    .group-tab-body { padding-top:10px; }
    .group-panel-tabs { margin-top:10px; }
    .group-panel-tab { padding:9px 12px; font-size:.81rem; }
    .match-list-scroll { max-height:min(68vh,650px); }
    .match-progress-hero {
        margin:10px 0 12px;
        padding:10px 12px;
        gap:6px;
        border-radius:9px;
    }
    .match-progress-hero strong { font-size:clamp(1.75rem,8vw,2.5rem); }
    .match-progress-label { font-size:.63rem; }
    .match-progress-hero>.muted { font-size:.72rem; }

    /* Public and Manager category-group match tables. */
    .group-match-table-wrap {
        overflow-x:hidden;
        border:0;
        border-radius:0;
        background:transparent;
    }
    .group-match-table {
        display:block;
        width:100%;
        min-width:0;
        table-layout:auto;
        font-size:.76rem;
    }
    /* Visually hide the header while leaving its labels available to readers. */
    .group-match-table thead {
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip-path:inset(50%);
        white-space:nowrap;
    }
    .group-match-table tbody {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:8px;
    }
    .group-match-table tbody tr {
        display:grid;
        grid-template-columns:24px 42px minmax(0,1fr) minmax(0,1fr);
        align-items:center;
        column-gap:6px;
        row-gap:5px;
        min-width:0;
        padding:9px;
        background:var(--surface);
        border:1px solid var(--line);
        border-radius:9px;
        box-shadow:0 2px 10px #13243b0b;
        overflow:hidden;
    }
    .group-match-table tbody tr.match-completed {
        background:#e7f7ec;
        border-color:#bae4c9;
        box-shadow:none;
    }
    .group-match-table tbody tr.match-ongoing {
        background:#e8f1fc;
        border-color:#bed7f3;
        box-shadow:inset 3px 0 var(--accent2);
    }
    .group-match-table tbody tr.match-pending { background:var(--surface); }
    .group-match-table td {
        display:block;
        min-width:0;
        min-height:0;
        padding:0;
        font-size:.76rem;
        line-height:1.32;
        border:0;
        overflow-wrap:anywhere;
    }
    /* Compact first row: status, match number, feeder links, successor link. */
    .group-match-table td:nth-child(1) { grid-column:1; }
    .group-match-table td:nth-child(2) { grid-column:2; font-size:.88rem; }
    .group-match-table td:nth-child(2)::before {
        content:"#";
        color:var(--muted);
        font-size:.72rem;
    }
    .group-match-table td:nth-child(3) { grid-column:3; }
    .group-match-table td:nth-child(4) { grid-column:4; }
    .group-match-table td:nth-child(3)::before,
    .group-match-table td:nth-child(4)::before {
        display:block;
        font-size:.58rem;
        font-weight:750;
        line-height:1.2;
        text-transform:uppercase;
        letter-spacing:.045em;
        color:var(--muted);
    }
    .group-match-table td:nth-child(3)::before { content:"Before"; }
    .group-match-table td:nth-child(4)::before { content:"Next"; }
    .group-match-table .match-table-links { min-width:0; white-space:normal; }
    .group-match-table .match-route-link {
        margin:0 3px 0 0;
        padding:1px 2px!important;
        font-size:.74rem!important;
    }
    /* Division is displayed once, as a compact secondary heading. */
    .group-match-table td:nth-child(5) {
        grid-column:1/-1;
        border-top:1px solid var(--line);
        padding-top:5px;
        color:var(--muted);
    }
    .group-match-table td:nth-child(5) .inline-name { font-size:.71rem; }
    /* Two competitor columns, with labels visible on a small screen. */
    .group-match-table td:nth-child(6) { grid-column:1/3; align-self:stretch; }
    .group-match-table td:nth-child(7) { grid-column:3/5; align-self:stretch; }
    .group-match-table td:nth-child(6)::before,
    .group-match-table td:nth-child(7)::before {
        display:block;
        margin-bottom:2px;
        font-size:.58rem;
        font-weight:800;
        letter-spacing:.065em;
        color:var(--muted);
    }
    .group-match-table td:nth-child(6)::before { content:"SHIRO"; }
    .group-match-table td:nth-child(7)::before { content:"AKA"; }
    .group-match-table td:nth-child(6) .inline-name,
    .group-match-table td:nth-child(7) .inline-name {
        padding:0;
        width:100%;
        font-size:.74rem;
        line-height:1.3;
        overflow-wrap:anywhere;
    }
    .group-match-table td:nth-child(8) {
        grid-column:1/-1;
        border-top:1px solid var(--line);
        padding-top:5px;
        font-size:.69rem;
    }
    .group-match-table td:nth-child(8)::before {
        content:"Winner: ";
        font-weight:750;
        color:var(--muted);
    }
    /* Redundant status text is visually replaced by a colored indicator. */
    .group-match-table .match-status {
        display:inline-grid;
        place-items:center;
        width:20px;
        height:20px;
        padding:0;
        font-size:0;
        line-height:1;
        border-radius:50%;
        background:var(--soft);
        color:var(--muted);
    }
    .group-match-table .match-status::before { content:"·"; font-size:1.15rem; }
    .group-match-table .match-completed .match-status {
        background:#c6efd4;
        color:#146b36;
    }
    .group-match-table .match-completed .match-status::before { content:"✓"; font-size:.75rem; }
    .group-match-table .match-ongoing .match-status {
        background:#cfe4fd;
        color:#245b91;
    }
    .group-match-table .match-ongoing .match-status::before { content:"▶"; font-size:.54rem; }
    [data-theme="dark"] .group-match-table tbody tr.match-completed {
        background:#173d2b; border-color:#376b4d;
    }
    [data-theme="dark"] .group-match-table tbody tr.match-ongoing {
        background:#183752; border-color:#356181;
    }

    /* Reduce bracket canvas and controls only on phones; SVG paths and cards
       share the same zoom factor, so all tournament connectors remain aligned. */
    .bracket-display { margin:9px 0 12px; border-radius:9px; }
    .bracket-display .tree-scroll,
    .tree-scroll {
        height:min(57vh,530px);
        min-height:215px;
        border-radius:0 0 9px 9px;
    }
    .tree-canvas { zoom:.76; }
    .bracket-map-tools {
        padding:6px 7px;
        gap:4px;
        border-radius:9px 9px 0 0;
    }
    .bracket-map-tools .muted {
        flex-basis:100%;
        margin:0;
        font-size:.66rem;
    }
    .bracket-map-tools .btn { padding:5px 9px; font-size:.7rem; }
    .tree-hint { font-size:.67rem; margin:5px 0 8px; }
    .public-bracket-filters { gap:8px; margin-bottom:12px; }
    .public-bracket-filters label { font-size:.76rem; }
    .public-bracket-filters select { padding:7px 9px; }
    .bracket-content .category-toolbar { padding:10px; gap:8px; }
    .category-tabs .category-pill { padding:6px 9px; font-size:.76rem; }
    .settings-card { padding:11px; }
    .settings-card .section-head { gap:8px; }
}
@media screen and (max-width:380px) {
    .group-match-table tbody tr {
        grid-template-columns:22px 37px minmax(0,1fr) minmax(0,1fr);
        column-gap:5px;
        padding:7px;
    }
    .group-match-table td { font-size:.7rem; }
    .tree-canvas { zoom:.69; }
}


/* 2026 mobile-only Reports and connected-match navigation. Desktop remains unchanged. */
@media screen and (max-width:700px) {
    .report-screen, .report-screen .card, .report-screen .table-scroll {
        min-width:0; max-width:100%;
    }
    .report-screen .report-filter-card { padding:12px; }
    .report-screen .report-filter-card .section-head { align-items:stretch; }
    .report-screen .report-filter-card .section-head .btn { width:100%; white-space:normal; }
    .report-screen .report-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .report-screen .report-filter-grid label { min-width:0; font-size:.72rem; }
    .report-screen .report-filter-grid select { width:100%; min-width:0; padding:8px 5px; font-size:.76rem; }
    .report-screen .report-grid-frame { padding:0; overflow:visible; }
    .report-screen .report-grid-frame .table-scroll { overflow-x:visible; }
    .report-screen .report-data-grid, .report-screen .report-data-grid tbody {
        display:block; width:100%; min-width:0; border-spacing:0;
    }
    .report-screen .report-data-grid thead { display:none; }
    .report-screen .report-data-grid tbody tr {
        display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px 11px; margin:0; padding:13px 11px;
        border-bottom:1px solid var(--line); min-width:0; background:var(--surface);
    }
    .report-screen .report-data-grid tbody tr:last-child { border-bottom:0; }
    .report-screen .report-data-grid tbody tr:nth-child(even) { background:var(--soft); }
    .report-screen .report-data-grid tbody tr:hover { background:var(--light); }
    .report-screen .report-data-grid td {
        display:block; padding:0; margin:0; border:0; width:auto; min-width:0;
        font-size:.77rem; overflow-wrap:anywhere;
    }
    .report-screen .report-data-grid td::before {
        content:attr(data-label); display:block; font-size:.61rem; line-height:1.25;
        font-weight:800; color:var(--muted); letter-spacing:.04em; text-transform:uppercase;
        margin:0 0 2px;
    }
    .report-screen .report-data-grid td[data-label="Name"],
    .report-screen .report-data-grid td[data-label="Division"],
    .report-screen .report-data-grid td[data-label="Matches"] { grid-column:1/-1; }
    .report-screen .report-data-grid td[data-label="Name"] strong { font-size:.9rem; }
    .report-screen .report-data-grid td[data-label="Division"] { border-top:1px solid var(--line); padding-top:6px; }
    .report-screen .report-data-grid td[data-label="Matches"] { border-top:1px solid var(--line); padding-top:7px; }
    .report-screen .report-match-chips { min-width:0; gap:5px; }
    .report-screen .report-match-chip { min-width:27px; padding:5px 7px; font-size:.7rem; }
    .match-route-link.match-route-text {
        display:inline-flex!important; align-items:center; justify-content:center;
        padding:5px 9px!important; margin:2px 2px 2px 0!important;
        font-size:.76rem!important; font-weight:750!important;
        border:1px solid var(--line)!important;
        border-radius:7px!important; background:var(--soft)!important;
        text-decoration:none!important; color:var(--text)!important;
        min-height:30px; min-width:31px;
    }
    .match-route-link.match-route-text:hover,
    .match-route-link.match-route-text:focus-visible {
        background:var(--light)!important; border-color:var(--accent2)!important;
    }
}
@media screen and (max-width:380px) {
    .report-screen .report-filter-grid { grid-template-columns:1fr; }
    .report-screen .report-data-grid tbody tr { padding:11px 8px; gap:6px 8px; }
    .report-screen .report-data-grid td { font-size:.72rem; }
}

/* Language selector: top-right on desktop and compact on mobile. */
.language-menu { display:inline-flex; align-items:center; gap:6px; margin:0; color:white; font-size:.8rem; white-space:nowrap; }
.language-menu select { min-width:98px; max-width:135px; padding:7px 24px 7px 9px; border-radius:9px; border:1px solid var(--border, #cdd5df); background:var(--surface, #fff); color:var(--text, #17243d); font:inherit; cursor:pointer; }
.language-menu select:focus-visible { outline:2px solid var(--accent, #2a6cce); outline-offset:2px; }
@media(max-width:700px) { .language-menu-caption { display:none; } .language-menu select { min-width:78px; max-width:115px; padding:6px 20px 6px 7px; font-size:12px; } }


/* Account menu and unobtrusive language selector; no competition page changes. */
.language-menu-subtle { position:relative; color:inherit; }
.language-menu-subtle::after { content:"⌄"; position:absolute; pointer-events:none; right:2px; top:50%; transform:translateY(-58%); font-size:.82rem; color:inherit; }
.language-menu-subtle select,
.language-menu-subtle select:hover,
.language-menu-subtle select:focus { appearance:none; border:0; border-radius:5px; background:transparent; color:inherit; font:inherit; font-size:.82rem; font-weight:550; padding:7px 15px 7px 5px; min-width:0; max-width:115px; box-shadow:none; }
.language-menu-subtle select:hover { background:#ffffff1b; }
.language-menu-subtle select option { color:#17243d; background:white; }
.account-menu { position:relative; }
.account-menu-toggle { color:inherit; font-size:.83rem; font-weight:650; list-style:none; padding:8px 10px; border-radius:7px; cursor:pointer; white-space:nowrap; }
.account-menu-toggle { display:inline-flex; align-items:center; gap:7px; max-width:220px; }
.account-menu-name { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; }
.account-menu-icon { flex-shrink:0; opacity:.88; }
.account-menu-toggle:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.account-menu-toggle::-webkit-details-marker { display:none; }
.account-menu-toggle::after { content:"⌄"; font-size:.8rem; margin-left:6px; opacity:.7; }
.account-menu[open] .account-menu-toggle,.account-menu-toggle:hover { background:#ffffff23; }
.account-menu-list { position:absolute; z-index:90; right:0; top:calc(100% + 7px); background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:11px; box-shadow:0 12px 28px #0002; min-width:210px; padding:6px; display:flex; flex-direction:column; }
.account-menu-list a { color:var(--text); border-radius:7px; font-size:.85rem; padding:10px 13px; }
.account-menu-list a:hover { background:var(--soft); }
.account-site-header { background:var(--nav); color:white; padding:16px max(18px,calc((100vw - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.account-site-brand { color:white; font-size:1.12rem; font-weight:800; }
.account-language-form select { appearance:none; background:transparent; border:none; padding:6px; color:white; cursor:pointer; font-weight:550; }
.account-language-form select option { background:white; color:#17243d; }
.account-page { max-width:1120px; margin:30px auto 70px; padding:0 18px; }
.account-page h1 { margin:18px 0 10px; }
.account-links { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.account-section { min-width:0; margin:0; }
.account-section h2 { margin-top:0; margin-bottom:16px; }
.account-section label { display:block; font-weight:650; font-size:.87rem; margin:12px 0; }
.account-section input { width:100%; display:block; margin-top:7px; max-width:100%; }
.account-section form>.btn { margin-top:6px; }
.account-section .muted { font-size:.84rem; }
.account-detail { font-size:.88rem; overflow-wrap:anywhere; }
.account-feedback { background:#e7f6eb; border:1px solid #8bc99a; color:#206439; padding:12px 15px; border-radius:9px; }
.account-feedback-error { background:#fff2f2; border-color:#df9898; color:#9c2634; }
.account-competitions { grid-column:1/-1; }
.account-competition-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 1px; border-bottom:1px solid var(--line); }
.account-competition-row>div:first-child { display:flex; flex-direction:column; gap:3px; min-width:0; overflow-wrap:anywhere; }
.account-competition-row small { color:var(--muted); }
.account-competition-actions { display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0; }
@media(max-width:760px) { .account-grid { grid-template-columns:1fr; } .account-site-header { padding:14px 18px; } .account-page { padding:0 14px; } .account-competition-row { flex-wrap:wrap; } }
@media(max-width:440px) { .account-menu-list { right:-50px; } .language-menu-subtle select { font-size:.76rem; } }

@media (max-width:700px) { .account-menu-toggle { max-width:150px; } }

/* ==============================================
   Platform homepage & dedicated competition portal
   The existing tournament controls remain intact.
   ============================================== */
.platform-frame {background:var(--bg)}
.platform-home {max-width:1320px;margin:0 auto}
.platform-hero {position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);min-height:385px;overflow:hidden;border-radius:20px;padding:clamp(28px,4.5vw,62px);background:linear-gradient(119deg,#172c42 1%,#273f5f 54%,#42678b 100%);color:#fff;gap:22px}
.platform-hero .eyebrow {color:#a5d1ff}
.platform-hero-copy{position:relative;z-index:2;align-self:center}
.platform-hero h1{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1.04;letter-spacing:-.047em;margin-bottom:20px}
.platform-hero h1 span{color:#b1d7ff}
.platform-hero-description{color:#e0eafa;font-size:1.04rem;line-height:1.75;max-width:490px}
.platform-hero-actions {margin-top:26px}
.platform-hero .btn-primary {background:#dcecff;border-color:#dcecff;color:#19314b}
.platform-hero .btn-primary:hover:not(:disabled){background:#fff;border-color:#fff;color:#102942}
.platform-hero .btn-outline{border-color:#a9bfd5;color:#fff}
.platform-hero .btn-outline:hover:not(:disabled){background:#ffffff1b;color:#fff}
.platform-hero-art{position:relative;min-height:270px;align-self:stretch;isolation:isolate}
.platform-art-orbit{position:absolute;left:50%;top:50%;width:380px;height:380px;border:1px solid #ffffff26;border-radius:50%;transform:translate(-50%,-50%)}
.platform-art-orbit-two{width:520px;height:520px;border-color:#ffffff15}
.platform-art-card{position:absolute;border:1px solid #d7e7f36b;backdrop-filter:blur(15px);border-radius:16px;box-shadow:0 24px 65px #08182744}
.platform-art-card-back{width:54%;height:68%;left:4%;top:5%;background:#ffffff1d;transform:rotate(-9deg);padding:22px}
.platform-art-card-front{width:76%;min-height:205px;right:0;top:18%;background:linear-gradient(135deg,#f6faffee,#d6e9f3f0);color:#233a52;padding:26px;transform:rotate(4deg)}
.platform-art-label{font-size:.65rem;letter-spacing:.16em;font-weight:850;opacity:.73}
.platform-art-title{font-weight:850;font-size:clamp(1.1rem,2.1vw,1.7rem);margin:19px 0}
.platform-art-line{height:12px;margin-top:16px;border-radius:5px;background:#ffffff6b;width:80%}
.platform-art-line.short{width:51%}
.platform-art-progress{height:9px;background:#8ea4b5a6;border-radius:15px;overflow:hidden}
.platform-art-progress span{width:68%;background:#527ca5;display:block;height:100%;border-radius:15px}
.platform-art-squares{display:flex;gap:10px;margin-top:22px}
.platform-art-squares span{display:block;height:28px;width:30%;border:1px solid #67839e70;border-radius:7px;background:#ffffff9e}
.platform-create-card{margin-top:22px;border-color:var(--accent2)}
.platform-quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 32px}
.platform-quick-stats>div{padding:21px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:8px}
.platform-quick-stats span{font-size:.8rem;color:var(--muted)}
.platform-quick-stats strong{font-size:2rem;line-height:1.2;font-weight:800;letter-spacing:-.035em}
.platform-library,.platform-recent{margin:42px 0 32px;scroll-margin-top:16px}
.platform-section-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}
.platform-section-title h2{font-size:1.6rem;margin:0 0 5px}
.platform-section-title .eyebrow{margin-bottom:7px}
.platform-section-title p{margin:0}
.platform-competition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}
.platform-competition-card{display:flex;flex-direction:column;min-height:203px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);padding:21px;transition:transform .15s,border-color .15s,box-shadow .15s}
.platform-competition-card:hover{transform:translateY(-2px);border-color:var(--accent2);box-shadow:var(--shadow);color:var(--text)}
.platform-competition-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-event-token{display:inline-flex;align-items:center;justify-content:center;height:40px;width:40px;border-radius:10px;background:var(--light);color:var(--accent2);font-weight:800;font-size:.82rem}
.platform-role{font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:25px;padding:4px 9px}
.platform-competition-card h3{margin:18px 0 3px;font-size:1.11rem;line-height:1.3;overflow-wrap:anywhere}
.platform-competition-card p{font-size:.79rem;margin:0}
.platform-competition-card-bottom{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--accent2)}
.platform-library-empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--surface)}
.platform-library-empty p{margin:6px auto 16px}
.platform-recent-list{display:flex;flex-direction:column;gap:7px}
.platform-recent-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 18px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.platform-recent-row:hover{border-color:var(--accent2)}
.platform-recent-row strong,.platform-recent-row small{display:block}
.platform-recent-row small{color:var(--muted);margin-top:3px}
.platform-recent-row>span:last-child{color:var(--accent2);white-space:nowrap;font-weight:700;font-size:.8rem}
.platform-pricing{margin:50px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid var(--line);border-radius:16px;padding:28px;background:linear-gradient(120deg,var(--surface),var(--soft));scroll-margin-top:20px}
.platform-pricing h2{font-size:1.45rem;margin-bottom:7px}
.platform-pricing p{margin:0;max-width:520px}
.platform-pricing-features{display:flex;gap:8px;flex-wrap:wrap;max-width:350px}
.platform-pricing-features span{border:1px solid var(--line);border-radius:22px;padding:7px 11px;font-size:.75rem;background:var(--surface);font-weight:650}

/* Portal header and restrained public overview */
.competition-topbar{background:var(--nav)}
.portal-frame .top-inner{max-width:1540px;gap:14px}
.portal-header-context{display:flex;flex-direction:column;min-width:120px;max-width:235px;border-left:1px solid #ffffff38;padding-left:15px;gap:2px}
.portal-back-link{font-size:.68rem;color:#c2d5e5!important;white-space:nowrap}
.portal-header-name{font-size:.84rem;font-weight:750;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-navlinks a{padding:7px 9px;font-size:.8rem}
.portal-navlinks a.active{background:#ffffff24;box-shadow:inset 0 -2px #98caff}
.portal-frame .page-container{max-width:1540px}
.portal-overview{max-width:1240px;margin:0 auto}
.portal-banner{width:100%;aspect-ratio:4.6/1;min-height:150px;max-height:290px;border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-bottom:25px;background:var(--soft)}
.portal-banner img{display:block;width:100%;height:100%;object-fit:cover}
.portal-introduction{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:23px}
.portal-introduction .eyebrow{margin-bottom:7px;letter-spacing:.12em}
.portal-introduction h1{font-size:clamp(1.8rem,3.8vw,2.9rem);margin:0 0 7px}
.portal-event-date{color:var(--muted);margin:0}
.portal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 23px}
.portal-metric{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:17px 20px}
.portal-metric span{color:var(--muted);font-size:.76rem}
.portal-metric strong{font-size:1.9rem;line-height:1.15;font-weight:800}
.portal-overview-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:19px;align-items:start}
.portal-overview-columns .card{box-shadow:none}
.portal-information{min-height:200px}
.portal-information h2,.portal-quick-links h2{font-size:1.1rem}
.portal-quick-links>a{display:flex;justify-content:space-between;gap:9px;padding:12px 2px;border-top:1px solid var(--line);font-weight:650;color:var(--text);font-size:.85rem}
.portal-quick-links>a span{color:var(--accent2)}
.portal-quick-links>a:hover{color:var(--accent2)}
.portal-quick-links>a.portal-private-link{font-weight:750}
.portal-markdown{font-size:.91rem;line-height:1.75;overflow-wrap:anywhere}
.portal-markdown h2{font-size:1.35rem;margin:19px 0 7px}
.portal-markdown h3{font-size:1.1rem;margin:17px 0 7px}
.portal-markdown h4{font-size:1rem;margin:14px 0 5px}
.portal-markdown p{margin:0 0 13px}
.portal-markdown ul,.portal-markdown ol{padding-left:24px;margin:8px 0 17px}
.portal-markdown li{padding:3px 0}
.portal-markdown a{text-decoration:underline}
.portal-property-preview{margin:14px 0}
.portal-property-banner{width:100%;max-height:210px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.portal-property-placeholder{display:flex;align-items:center;justify-content:center;min-height:95px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);background:var(--soft)}
.portal-markdown-label{margin:20px 0 12px;font-size:.86rem}
.portal-markdown-label textarea{width:100%;resize:vertical;padding:12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);color:var(--text);font:400 .85rem/1.6 Consolas,monospace}
.portal-markdown-label textarea:focus{outline:2px solid var(--accent2)}
@media(max-width:1150px){
  .platform-hero{grid-template-columns:1fr .7fr}
  .portal-navlinks{order:3;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .portal-navlinks::-webkit-scrollbar{display:none}
  .portal-navlinks a{white-space:nowrap}
}
@media(max-width:820px){
  .platform-hero{grid-template-columns:1fr;min-height:0;padding:30px}
  .platform-hero-art{display:none}
  .platform-quick-stats{grid-template-columns:repeat(3,1fr)}
  .platform-pricing{flex-direction:column;align-items:flex-start}
  .portal-overview-columns{grid-template-columns:1fr}
  .portal-header-context{max-width:170px}
}
@media(max-width:700px){
  .platform-hero{padding:25px;border-radius:14px}
  .platform-hero h1{font-size:clamp(2.15rem,9vw,3.3rem)}
  .platform-hero-description{font-size:.96rem}
  .platform-quick-stats{gap:7px}
  .platform-quick-stats>div{padding:12px}
  .platform-quick-stats strong{font-size:1.4rem}
  .platform-quick-stats span{font-size:.67rem}
  .platform-section-title h2{font-size:1.35rem}
  .platform-recent-row{padding:12px;gap:9px}
  .portal-introduction{align-items:flex-start;flex-direction:column;gap:10px}
  .portal-banner{aspect-ratio:2.1/1;min-height:140px;margin-bottom:17px}
  .portal-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .portal-metric{padding:12px}
  .portal-metric strong{font-size:1.5rem}
  .portal-header-context{max-width:50%;min-width:0}
  .portal-navlinks{margin-top:3px}
  .portal-frame .top-inner{gap:10px}
}
@media print{
  .platform-hero,.platform-pricing,.platform-home .platform-library,.platform-home .platform-recent{display:none!important}
}

/* ================================================================
   Platform redesign: marketing pages ONLY. Competition workspaces
   retain their restrained, functional interface and dimensions.
   ================================================================ */
.platform-frame { background:var(--bg); }
.platform-topbar {
  background:#192a40;
  border-bottom:1px solid #ffffff1c;
}
.platform-topbar .top-inner { max-width:1320px; }
.platform-topbar .brand { font-size:1.35rem;letter-spacing:-.045em; }
.platform-topbar .platform-navlinks { gap:7px; }
.platform-topbar .platform-navlinks a { font-weight:650;color:#d5e5f6; }
.platform-topbar .platform-navlinks a:hover { background:#ffffff20;color:#fff; }
.platform-frame .page-container { max-width:1420px; }
.platform-home { max-width:1320px;margin:0 auto; }
.platform-home .platform-hero {
  min-height:475px;
  border-radius:26px;
  padding:clamp(32px,6vw,80px);
  background:
    radial-gradient(ellipse at 82% 12%,#8bc5fa45 0%,transparent 42%),
    radial-gradient(ellipse at 30% 110%,#2b719252 0%,transparent 57%),
    linear-gradient(118deg,#10283d 0%,#203f5c 56%,#315c79 100%);
  box-shadow:0 26px 65px #091b3030;
}
.platform-home .platform-hero h1 {font-size:clamp(2.8rem,5.5vw,5.5rem);letter-spacing:-.065em;line-height:1.03;}
.platform-home .platform-hero h1 span {color:#bbdcfb;}
.platform-home .platform-hero-description {font-size:clamp(1rem,1.3vw,1.13rem);line-height:1.7;max-width:560px;}
.platform-home .platform-hero .btn {border-radius:11px;}
.platform-home .platform-art-card-front {background:linear-gradient(135deg,#ffffffec,#d9eefff2);box-shadow:0 28px 80px #051a306b;}
.platform-home .platform-art-card-back {background:#ffffff20;}
.platform-home .platform-feature-showcase {padding:clamp(42px,6vw,78px) 0 44px;}
.platform-feature-intro {max-width:720px;margin-bottom:27px;}
.platform-feature-intro h2 {font-size:clamp(1.85rem,3.8vw,3.2rem);letter-spacing:-.05em;line-height:1.12;margin-bottom:13px;}
.platform-feature-intro>p:last-child{color:var(--muted);font-size:1rem;line-height:1.65;}
.platform-feature-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.platform-feature-card {
  min-width:0;min-height:275px;position:relative;overflow:hidden;
  padding:26px;border:1px solid var(--line);border-radius:20px;
  background:var(--surface);box-shadow:0 9px 27px #142c3810;
  transition:transform .2s, box-shadow .2s;
}
.platform-feature-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px #142c381b;}
.platform-feature-number {display:inline-block;font-size:.71rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent2);font-weight:850;margin-bottom:25px;}
.platform-feature-card h3{font-size:1.3rem;letter-spacing:-.025em;margin:0 0 9px;}
.platform-feature-card p{font-size:.9rem;color:var(--muted);line-height:1.65;max-width:31ch;}
.platform-feature-graphic{position:absolute;bottom:20px;right:20px;display:flex;gap:7px;align-items:end;opacity:.45;}
.platform-feature-graphic span{display:block;width:19px;height:29px;border:2px solid var(--accent2);background:var(--light);border-radius:6px;}
.platform-feature-graphic span:nth-child(2){height:43px;}
.platform-feature-graphic span:nth-child(3){height:21px;}
.platform-feature-bracket{position:absolute;right:25px;bottom:20px;display:flex;align-items:center;gap:9px;opacity:.55;}
.platform-feature-bracket i{display:block;width:18px;height:45px;border:2px solid var(--accent2);border-left:0;border-radius:0 11px 11px 0;}
.platform-feature-bracket i:nth-child(2){height:26px;}
.platform-feature-bracket i:nth-child(3){height:10px;}
.platform-closing-banner {
  display:flex;justify-content:space-between;align-items:center;gap:25px;
  margin:12px 0 24px;padding:34px clamp(24px,4.5vw,50px);
  border-radius:20px;border:1px solid var(--line);
  background:linear-gradient(110deg,var(--surface),var(--light));
}
.platform-closing-banner h2{font-size:clamp(1.4rem,2.3vw,2.2rem);letter-spacing:-.035em;margin:0;max-width:550px;}
.platform-closing-banner .eyebrow{margin-bottom:7px;}
.platform-closing-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;}
.platform-closing-actions .btn{border-radius:10px;}
.platform-create-card{margin-top:25px;}

/* Dedicated platform pages (/pricing, /about and /contact). */
.platform-page {max-width:1160px;margin:0 auto;padding:8px 0 32px;}
.platform-page-hero {
  margin-bottom:34px;padding:clamp(28px,5vw,70px);
  border:1px solid #294d6a30;border-radius:23px;
  background:linear-gradient(130deg,var(--surface),var(--light));
}
.platform-page-hero h1{max-width:820px;letter-spacing:-.055em;font-size:clamp(2.2rem,4.6vw,4.4rem);margin-bottom:19px;}
.platform-page-lead{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:750px;margin:0;}
.platform-page-hero-about{background:radial-gradient(circle at 95% 25%,#6aa5d733 0%,transparent 45%),linear-gradient(110deg,var(--surface),var(--light));}
.platform-pricing-stage{display:grid;gap:16px;margin-bottom:25px;}
.platform-pricing-message{display:flex;align-items:center;gap:11px;padding:16px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-weight:750;}
.platform-status-dot{width:9px;height:9px;background:var(--accent2);border-radius:50%;box-shadow:0 0 0 5px #4c8bcb1b;flex-shrink:0;}
.platform-pricing-panel{display:grid;grid-template-columns:1fr .8fr;gap:35px;padding:35px;border:1px solid var(--line);border-radius:19px;background:var(--surface);}
.platform-pricing-panel h2{font-size:clamp(1.45rem,2.4vw,2.1rem);letter-spacing:-.035em;}
.platform-pricing-panel p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:480px;}
.platform-check-list{list-style:none;display:grid;gap:13px;margin:0;padding:0;align-content:center;}
.platform-check-list li{position:relative;padding-left:28px;line-height:1.4;font-weight:650;}
.platform-check-list li::before{content:"✓";position:absolute;left:0;color:var(--accent2);font-size:1.1em;font-weight:900;}
.platform-page-cta{padding:28px 32px;border:1px solid var(--line);background:var(--surface);border-radius:17px;}
.platform-page-cta h2{font-size:1.5rem;letter-spacing:-.025em;}
.platform-page-cta p{color:var(--muted);}
.platform-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:27px;}
.platform-value-panel{padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:16px;min-height:210px;}
.platform-value-panel>span{font-weight:900;color:var(--accent2);letter-spacing:.1em;}
.platform-value-panel h2{font-size:1.3rem;margin:24px 0 9px;}
.platform-value-panel p{color:var(--muted);line-height:1.65;}
.platform-contact-card{display:flex;align-items:center;gap:25px;padding:36px;border:1px solid var(--line);background:var(--surface);border-radius:20px;max-width:830px;}
.platform-contact-mark{width:77px;height:77px;display:grid;place-items:center;background:var(--light);color:var(--accent2);font-size:2rem;font-weight:900;border-radius:17px;flex-shrink:0;}
.platform-contact-card h2{font-size:1.45rem;}
.platform-contact-card p{color:var(--muted);line-height:1.6;}
.platform-contact-address{display:inline-block;font-size:1rem;font-weight:750;word-break:break-all;}

/* Portal overview: portrait posters retain their full original framing. */
.portal-overview-lead{display:grid;grid-template-columns:minmax(210px,320px) minmax(0,1fr);gap:clamp(18px,3vw,34px);margin-bottom:27px;align-items:start;}
.portal-poster{margin:0;width:100%;max-width:320px;aspect-ratio:5 / 7;overflow:hidden;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px #101c2916;}
.portal-poster img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.portal-lead-details{min-width:0;display:flex;flex-direction:column;gap:14px;}
.portal-lead-details .portal-introduction{margin:0;align-items:flex-start;}
.portal-lead-details .portal-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;}
.portal-overview-hint{color:var(--muted);font-size:.85rem;max-width:55ch;line-height:1.7;margin:0;}
.portal-overview:not(:has(.portal-poster)) .portal-overview-lead{grid-template-columns:1fr;}
.portal-overview:not(:has(.portal-poster)) .portal-lead-details .portal-summary{grid-template-columns:repeat(4,minmax(0,1fr));}
.portal-property-preview{display:flex;justify-content:flex-start;}
.portal-property-banner{width:min(100%,240px);height:auto;max-height:none;aspect-ratio:5 / 7;object-fit:contain;background:var(--soft);}

/* Markdown tables are escaped on the server and rendered in a local scroll container. */
.portal-markdown{min-width:0;}
.portal-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:17px 0 22px;border:1px solid var(--line);border-radius:10px;}
.portal-md-table{width:100%;min-width:0;border-collapse:collapse;text-align:left;table-layout:auto;}
.portal-md-table th,.portal-md-table td{padding:11px 13px;text-align:left;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:normal;font-size:.86rem;}
.portal-md-table tr>*:last-child{border-right:0;}
.portal-md-table tbody tr:last-child>td{border-bottom:0;}
.portal-md-table th{font-weight:800;background:var(--soft);color:var(--text);}
.portal-md-table tbody tr:hover{background:var(--light);}

@media(max-width:900px){
  .platform-feature-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .platform-feature-card:last-child{grid-column:1/-1;min-height:190px;}
  .portal-overview-lead{grid-template-columns:minmax(185px,260px) minmax(0,1fr);}
}
@media(max-width:700px){
  .platform-home .platform-hero{padding:30px 22px;border-radius:16px;min-height:0;}
  .platform-feature-cards{grid-template-columns:1fr;}
  .platform-feature-card,.platform-feature-card:last-child{grid-column:auto;min-height:205px;padding:23px;}
  .platform-home .platform-feature-showcase{padding:42px 0 30px;}
  .platform-closing-banner{flex-direction:column;align-items:flex-start;padding:23px;}
  .platform-page-hero{padding:27px 22px;border-radius:16px;}
  .platform-pricing-panel,.platform-values-grid{grid-template-columns:1fr;gap:14px;}
  .platform-pricing-panel{padding:24px;}
  .platform-contact-card{align-items:flex-start;padding:23px;gap:14px;}
  .platform-contact-mark{width:48px;height:48px;font-size:1.4rem;border-radius:12px;}
  .portal-overview-lead{grid-template-columns:1fr;gap:21px;}
  .portal-poster{width:min(100%,285px);margin:0 auto;}
  .portal-overview:not(:has(.portal-poster)) .portal-lead-details .portal-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .portal-lead-details .portal-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .portal-property-preview{justify-content:center;}
}
@media(max-width:370px){.platform-contact-mark{display:none}}
@media print{.platform-feature-showcase,.platform-closing-banner,.platform-page{display:none!important}}

/* =============================================================
   Visual refresh: public/manager elimination trees + platform site
   Design-only. Existing bracket geometry, actions, and print styles
   remain unchanged. All movement respects reduced-motion settings.
   ============================================================= */
@media screen {
  /* Tournament viewer: spatial canvas with a quieter, premium finish. */
  .bracket-display {
    --bracket-ink:#20364d;
    --bracket-edge:#ccd8e6;
    --bracket-canvas:#edf2f8;
    --bracket-surface:#fff;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid var(--bracket-edge)!important;
    border-radius:18px!important;
    box-shadow:0 14px 37px #182c4512,0 1px 3px #1d34500a!important;
  }
  [data-theme="dark"] .bracket-display {
    --bracket-ink:#e4edf9;
    --bracket-edge:#33475d;
    --bracket-canvas:#1e2e40;
    --bracket-surface:#223346;
  }
  .bracket-map-tools {
    position:relative;
    z-index:2;
    min-height:55px;
    padding:10px 15px!important;
    gap:6px;
    border-radius:0!important;
    background:linear-gradient(115deg,var(--surface),var(--soft))!important;
    border-bottom:1px solid var(--bracket-edge);
  }
  .bracket-map-tools .muted {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 auto 0 0;
    font-weight:650;
    font-size:.75rem;
    letter-spacing:.01em;
  }
  .bracket-map-tools .muted::before {
    content:'✥';
    color:var(--accent2);
    font-size:1.15rem;
    line-height:1;
  }
  .bracket-map-tools .btn {
    min-width:34px;
    min-height:33px;
    padding:6px 10px;
    border-radius:9px;
    border-color:var(--line);
    background:var(--surface);
    color:var(--text);
    font-weight:750;
    box-shadow:0 2px 4px #132b4010;
    transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;
  }
  .bracket-map-tools .btn:hover:not(:disabled) {
    transform:translateY(-1px);
    background:var(--light);
    border-color:var(--accent2);
    box-shadow:0 4px 10px #1c40611a;
  }
  .bracket-display .tree-scroll {
    border:0!important;
    border-radius:0!important;
    background:var(--bracket-canvas)!important;
    background-image:
      radial-gradient(ellipse at 50% 0%,#fff9,transparent 60%),
      radial-gradient(#90a9c11d .85px,transparent 1px)!important;
    background-size:auto,23px 23px!important;
    box-shadow:inset 0 3px 15px #13263e12!important;
  }
  [data-theme="dark"] .bracket-display .tree-scroll {
    background-image:radial-gradient(ellipse at 50% 0%,#435e772b,transparent 60%),radial-gradient(#83a5c41b .85px,transparent 1px)!important;
  }
  .bracket-display .tree-canvas {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    min-height:260px;
  }
  .tree-connectors path {
    stroke:#839ab6;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 1px 0 #ffffff82);
  }
  [data-theme="dark"] .tree-connectors path {stroke:#7f9cbe;filter:none;}
  .tree-round-label {
    top:13px;
    height:39px;
    width:240px;
    padding:7px 12px;
    color:var(--bracket-ink);
    background:color-mix(in srgb,var(--bracket-surface) 89%,transparent);
    border:1px solid var(--bracket-edge);
    border-radius:10px;
    box-shadow:0 3px 13px #172e4011;
    font-size:.73rem;
    letter-spacing:.105em;
    backdrop-filter:blur(6px);
  }
  .tree-round-label small {
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    background:var(--soft);
    color:var(--muted);
    border-radius:7px;
    font-size:.62rem;
    font-weight:650;
    letter-spacing:normal;
  }
  .tree-match {
    width:240px;
    height:144px;
    min-height:0;
    border:1px solid var(--bracket-edge);
    border-radius:12px;
    background:var(--bracket-surface);
    box-shadow:0 5px 17px #1b334718,0 1px 2px #1b334711;
    color:var(--text);
    font-size:.76rem;
    transition:box-shadow .2s,border-color .2s,transform .2s,background-color .2s;
  }
  .tree-match::before {
    content:'';
    position:absolute;
    left:0;top:0;bottom:0;width:3px;
    background:var(--accent2);
    z-index:1;
  }
  .tree-match:hover {
    transform:translateY(-2px);
    border-color:#90adca;
    box-shadow:0 12px 25px #1b334728,0 2px 4px #1b334715;
  }
  .tree-match-meta {
    height:35px;
    padding:6px 9px 6px 12px;
    background:linear-gradient(90deg,#e7eef8a6,#f6f9fcb8);
    border-bottom:1px solid var(--bracket-edge);
    color:var(--bracket-ink);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.01em;
  }
  [data-theme="dark"] .tree-match-meta {background:linear-gradient(90deg,#2d4058,#27384a);}
  .tree-match-meta .match-status {
    display:inline-flex;
    align-items:center;
    gap:5px;
    max-width:97px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:4px 7px;
    border-radius:20px;
    background:#e4e9f0;
    color:#5e6c7c;
    font-size:.61rem;
    font-weight:800;
    letter-spacing:0;
  }
  .tree-match-meta .match-status::before {
    content:'';
    display:inline-block;
    width:5px;
    height:5px;
    flex:0 0 5px;
    background:currentColor;
    border-radius:50%;
  }
  .tree-match.match-completed,.tree-match.match-ongoing,.tree-match.match-pending {
    background:var(--bracket-surface);
    color:var(--text);
    border-color:var(--bracket-edge);
  }
  .tree-match.match-completed::before {background:#32a06b;}
  .tree-match.match-ongoing::before {background:#4b9cdb;}
  .tree-match.match-pending::before {background:#91a3b7;}
  .tree-match.match-completed .match-status {background:#e4f8eb;color:#23754d;}
  .tree-match.match-ongoing .match-status {background:#e5f1fd;color:#2f72b1;}
  .tree-match.match-ongoing .match-status::before {animation:af-bracket-status-pulse 2s ease-in-out infinite;}
  .tree-match.match-completed:hover,.tree-match.match-ongoing:hover,.tree-match.match-pending:hover {
    background:var(--bracket-surface);
    border-color:#90adca;
  }
  .tree-contestant {
    min-height:54px;
    height:54px;
    padding:0 8px 0 11px;
    border-top:0;
    border-bottom:1px solid color-mix(in srgb,var(--bracket-edge) 77%,transparent);
    gap:5px;
    transition:background-color .16s;
  }
  .tree-contestant:last-child {border-bottom:0;}
  .tree-contestant.tree-winner {
    background:linear-gradient(90deg,#e1f9e9,#f1fff4);
    color:#1c5c3a;
  }
  [data-theme="dark"] .tree-contestant.tree-winner {background:linear-gradient(90deg,#1d4937,#24523c);color:#d3fae3;}
  .tree-athlete {
    padding:7px 2px;
    gap:4px;
    border-radius:5px;
    min-width:0;
  }
  .tree-person-name {
    font-size:.75rem;
    line-height:1.16;
    font-weight:790;
    color:inherit;
  }
  .tree-person-details {font-size:.61rem;line-height:1.2;letter-spacing:.007em;}
  .tree-winner-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:21px;
    height:21px;
    border-radius:50%;
    background:#c5efd6;
    font-size:.79rem;
    color:#187447;
    flex:0 0 auto;
  }
  .tree-advance {
    border:1px solid #9bbbd5;
    color:var(--accent);
    background:color-mix(in srgb,var(--surface) 93%,var(--light));
    border-radius:7px;
    padding:5px 7px;
    font-size:.64rem;
    transition:background .15s,transform .15s;
  }
  .tree-advance:hover {transform:translateY(-1px);background:var(--accent);color:#fff;}
  .tree-third::before {background:#d39950;}
  .tree-third .tree-match-meta {background:linear-gradient(90deg,#fff3e2,#fffaf3);}
  [data-theme="dark"] .tree-third .tree-match-meta {background:linear-gradient(90deg,#54412c,#393c40);}
  .tree-hint {margin:10px 3px 15px;color:var(--muted);font-size:.74rem;}
  [data-theme="dark"] .tree-match-meta .match-status {background:#34465a;color:#a8c0d8;}
  [data-theme="dark"] .tree-match.match-completed .match-status {background:#24513b;color:#b5eecf;}
  [data-theme="dark"] .tree-match.match-ongoing .match-status {background:#244564;color:#b3dcff;}

  /* The public platform, not the formal competition portal, gets the visual theater. */
  .platform-frame {
    --platform-night:#10263c;
    --platform-sky:#8bd9fb;
  }
  .platform-frame .page-container {max-width:1480px;padding-top:35px;}
  .platform-topbar {background:#101f32;position:relative;isolation:isolate;}
  .platform-topbar::after {
    content:'';pointer-events:none;position:absolute;bottom:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,#81c7f68c,#c6b6ff68,transparent);
  }
  .platform-topbar .brand {font-size:1.23rem;letter-spacing:-.038em;}
  .platform-topbar .brand::before {content:'◈';color:#90dfff;font-size:1.2rem;line-height:1;}
  .platform-navlinks a {transition:color .2s,background .2s;}
  .platform-navlinks a:hover {background:#ffffff15;color:#fff;}
  .platform-home {max-width:1390px;}
  .platform-home .platform-hero {
    isolation:isolate;
    position:relative;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    min-height:550px;
    gap:clamp(24px,3vw,48px);
    padding:clamp(38px,5.4vw,79px);
    border:1px solid #6ca2d14d;
    border-radius:30px;
    background:
      radial-gradient(ellipse at 83% 16%,#4875ba90 0%,transparent 39%),
      radial-gradient(ellipse at 36% 105%,#1f71896c 0%,transparent 56%),
      linear-gradient(118deg,#0b1c30 6%,#173753 55%,#22385d 100%);
    box-shadow:0 34px 75px #0a1f3c34,0 4px 13px #0c234321;
  }
  .platform-home .platform-hero::before {
    content:'';
    position:absolute;inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.4;
    background-image:linear-gradient(#c8eafa0d 1px,transparent 1px),linear-gradient(90deg,#c8eafa0d 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,transparent 3%,#000 100%);
  }
  .platform-home .platform-hero::after {
    content:'';
    position:absolute;
    z-index:0;
    pointer-events:none;
    width:min(50vw,680px);
    aspect-ratio:1;
    border-radius:50%;
    right:-19%;top:-55%;
    background:radial-gradient(circle,#6ea8ee36 0%,#76b0fc0c 54%,transparent 72%);
    animation:af-art-aurora 15s ease-in-out infinite alternate;
  }
  .platform-hero-copy {position:relative;z-index:2;}
  .platform-home .platform-hero .eyebrow {
    display:inline-flex;align-items:center;gap:11px;
    font-size:.7rem;color:#b4e6ff;
    letter-spacing:.21em;margin-bottom:26px;
  }
  .platform-home .platform-hero .eyebrow::before {
    content:'';display:block;width:31px;height:1px;background:#8fceec;
  }
  .platform-home .platform-hero h1 {
    font-size:clamp(3.15rem,5.35vw,6rem);
    max-width:12ch;
    line-height:1.02;
    letter-spacing:-.073em;
    text-wrap:balance;
    text-shadow:0 2px 18px #05152d20;
  }
  .platform-home .platform-hero h1 span {
    color:#a5dffd;
    background:linear-gradient(95deg,#a3e1ff,#c3d0ff 61%,#f0c3df);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
  .platform-home .platform-hero-description {color:#d3e3f4;font-size:clamp(1rem,1.2vw,1.14rem);max-width:48ch;}
  .platform-home .platform-hero-actions {margin-top:32px;gap:12px;}
  .platform-home .platform-hero .btn {
    border-radius:12px;padding:14px 22px;
    transition:transform .22s,box-shadow .22s,background-color .22s;
  }
  .platform-home .platform-hero .btn:hover {transform:translateY(-3px);box-shadow:0 11px 23px #07172545;}
  .platform-home .platform-hero .btn-primary {
    background:#c8ecfc;border-color:#c8ecfc;color:#0d2b45;
  }
  .platform-home .platform-hero .btn-primary:hover:not(:disabled) {background:white;color:#092942;}
  .platform-home .platform-hero .btn-outline {background:#ffffff0d;border-color:#d0e8fa85;}
  .platform-hero-art {position:relative;z-index:1;min-height:365px;align-self:center;perspective:1100px;}
  .platform-art-orbit {border:1px solid #9fcbf723;pointer-events:none;animation:af-art-breathe 10s ease-in-out infinite alternate;}
  .platform-art-orbit-one {width:460px;height:460px;}
  .platform-art-orbit-two {width:580px;height:580px;animation-delay:-3s;}
  .platform-art-orbit-three {width:700px;height:700px;border-color:#9fcbf70e;animation-delay:-6s;}
  .platform-art-composition {
    position:absolute;z-index:2;inset:8% 5% 11% 3%;
    display:flex;flex-direction:column;overflow:hidden;
    border:1px solid #c6e8ff5c;border-radius:20px;
    color:#f4faff;
    background:linear-gradient(145deg,#233b5bc9,#10253eea 72%);
    box-shadow:0 28px 76px #03162e81,0 2px 10px #050c1d45,inset 0 1px #ffffff29;
    backdrop-filter:blur(19px);
    transform:rotateY(-6deg) rotateX(2deg);
    transition:transform .6s cubic-bezier(.21,.8,.24,1),box-shadow .6s;
  }
  .platform-hero-art:hover .platform-art-composition {transform:rotateY(0deg) rotateX(0deg) translateY(-5px);box-shadow:0 36px 85px #03162e95;}
  .platform-art-head {
    flex:0 0 auto;display:flex;align-items:center;gap:11px;
    padding:16px 20px;border-bottom:1px solid #ffffff21;
    font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;
  }
  .platform-art-head-symbol {font-size:1.18rem;color:#9ee5ff;line-height:1;}
  .platform-art-live-dot {margin-left:auto;display:block;width:8px;height:8px;border-radius:50%;background:#7bedc9;box-shadow:0 0 0 5px #64d5ac16;animation:af-art-signal 2.5s infinite;}
  .platform-art-stage {position:relative;flex:1;min-height:205px;padding:12px 7px 7px;}
  .platform-art-diagram {display:block;width:100%;height:100%;max-height:270px;overflow:visible;}
  .platform-art-track {stroke:#8eb8e56e;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
  .platform-art-trace {
    stroke:url(#afHeroBracketStroke);stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:570;stroke-dashoffset:570;animation:af-art-draw 5.5s ease-in-out infinite;
    filter:drop-shadow(0 0 6px #74d4fa9e);
  }
  .platform-art-seeds rect {fill:#ffffff0a;stroke:#a8d3f46e;stroke-width:1.4;}
  .platform-art-lines path {stroke:#d4e9fd9e;stroke-width:3;stroke-linecap:round;}
  .platform-art-winner {fill:#a1e9da30;stroke:#a4f3d5;stroke-width:1.8;filter:drop-shadow(0 0 8px #8beccd5b);}
  .platform-art-secondary {fill:#ffffff0d;stroke:#a1bad871;stroke-width:1.6;}
  .platform-art-final {fill:#a9cdfd2b;stroke:#acdffe;stroke-width:1.9;filter:drop-shadow(0 0 7px #85d4ff79);}
  .platform-art-spark {fill:#c0faff;filter:drop-shadow(0 0 8px #c0faff);animation:af-art-signal 2.6s infinite;}
  .platform-art-stage-caption {display:flex;justify-content:space-between;position:absolute;bottom:11px;left:23px;right:23px;font-size:.57rem;color:#8db2d4;letter-spacing:.23em;font-weight:850;}
  .platform-art-stage-caption b {color:#739ab9;}
  .platform-art-foot {display:flex;align-items:center;gap:10px;padding:13px 20px;border-top:1px solid #ffffff20;color:#d5e7f4;font-size:.72rem;font-weight:700;}
  .platform-art-pulse {display:block;width:7px;height:7px;border-radius:50%;background:#82e3bf;box-shadow:0 0 0 4px #82e3bf1e;}
  .platform-art-foot-arrow {margin-left:auto;font-size:1rem;color:#a9dcff;}
  .platform-art-float {
    display:flex;align-items:center;gap:9px;position:absolute;z-index:3;
    border:1px solid #f5ffff60;border-radius:12px;
    padding:11px 13px;
    background:#f7fbffe8;
    color:#213d58;
    box-shadow:0 15px 30px #031a365c;
    backdrop-filter:blur(12px);
    font-size:.7rem;
    animation:af-art-float 6s ease-in-out infinite;
  }
  .platform-art-float span {color:#427ba5;font-size:1rem;}
  .platform-art-float small {color:#678099;font-size:.66rem;}
  .platform-art-float-one {left:-5%;bottom:5%;transform:rotate(-5deg);}
  .platform-art-float-two {right:-5%;top:0;transform:rotate(4deg);animation-delay:-2.5s;}
  .platform-home .platform-feature-showcase {padding:clamp(64px,7vw,100px) 0 44px;}
  .platform-home .platform-feature-intro h2 {font-size:clamp(2.2rem,4.3vw,4rem);max-width:19ch;}
  .platform-feature-cards {gap:18px;}
  .platform-feature-card {
    min-height:315px;
    border-radius:22px;
    border-color:color-mix(in srgb,var(--line) 82%,var(--accent2));
    background:linear-gradient(145deg,var(--surface) 30%,var(--soft));
    box-shadow:0 10px 30px #172e4510;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;
  }
  .platform-feature-card::before {
    content:'';position:absolute;pointer-events:none;
    width:230px;height:230px;border-radius:50%;
    background:radial-gradient(circle,#7dbaf12c,transparent 70%);
    right:-75px;bottom:-105px;
    transition:transform .35s;
  }
  .platform-feature-card:hover {transform:translateY(-7px);box-shadow:0 22px 50px #172e4523;border-color:#86b1d66b;}
  .platform-feature-card:hover::before {transform:scale(1.38);}
  .platform-feature-number {letter-spacing:.145em;}
  .platform-feature-card h3 {font-size:1.43rem;}
  .platform-feature-graphic,.platform-feature-bracket {opacity:.7;transform:translateY(0);transition:transform .4s;}
  .platform-feature-card:hover .platform-feature-graphic,.platform-feature-card:hover .platform-feature-bracket {transform:translateY(-5px);}
  .platform-closing-banner {
    position:relative;isolation:isolate;overflow:hidden;
    border-radius:24px;
    background:radial-gradient(ellipse at 95% 0%,#9ec7fc50,transparent 44%),linear-gradient(110deg,var(--surface),var(--light));
    padding:clamp(30px,4vw,53px);
  }
  .platform-closing-banner::after {content:'✧';position:absolute;right:24%;bottom:-70px;font-size:14rem;line-height:1;color:#7eafd51a;z-index:-1;pointer-events:none;}
  .platform-closing-banner h2 {font-size:clamp(1.6rem,2.65vw,2.6rem);max-width:19ch;}
  .platform-page-hero {
    position:relative;isolation:isolate;overflow:hidden;
    border-radius:27px;
    background:radial-gradient(ellipse at 89% 4%,#71b7ed3c,transparent 42%),linear-gradient(132deg,var(--surface),var(--light));
  }
  .platform-page-hero::after {
    content:'✳';position:absolute;right:-4%;top:-28%;font-size:23rem;line-height:1;
    color:#73a9d41a;pointer-events:none;z-index:-1;
    animation:af-art-turn 38s linear infinite;
  }
  /* Transition in only when JS successfully installs an observer. */
  .platform-home.motion-enabled .platform-reveal:not(.is-visible) {opacity:0;transform:translateY(24px);}
  .platform-home.motion-enabled .platform-reveal {transition:opacity .65s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
  .platform-home.motion-enabled .platform-reveal.is-visible {opacity:1;transform:translateY(0);}
  .platform-home.motion-enabled .platform-feature-card:nth-child(2) {transition-delay:.08s;}
  .platform-home.motion-enabled .platform-feature-card:nth-child(3) {transition-delay:.16s;}
}
@keyframes af-bracket-status-pulse {50% {opacity:.35;transform:scale(.76);}}
@keyframes af-art-aurora {to {transform:translate(-9%,13%) scale(1.17);}}
@keyframes af-art-breathe {to {opacity:.45;transform:translate(-50%,-50%) scale(1.14);}}
@keyframes af-art-signal {50% {opacity:.55;box-shadow:0 0 0 9px #64d5ac08;}}
@keyframes af-art-draw {0% {stroke-dashoffset:570;opacity:.1;}45%,77%{stroke-dashoffset:0;opacity:1;}100%{stroke-dashoffset:-570;opacity:0;}}
@keyframes af-art-float {50% {translate:0 -11px;}}
@keyframes af-art-turn {to {transform:rotate(360deg);}}
@media screen and (max-width:1100px) {
  .platform-home .platform-hero {grid-template-columns:minmax(0,1fr) minmax(0,.85fr);min-height:470px;padding:45px;}
  .platform-home .platform-hero h1 {font-size:clamp(3rem,5vw,4.3rem);}
  .platform-art-composition {inset:12% 2% 13% 3%;}
  .platform-art-float-two {right:-2%;}
}
@media screen and (max-width:820px) {
  .platform-home .platform-hero {grid-template-columns:1fr;min-height:0;padding:34px 30px;gap:20px;}
  .platform-home .platform-hero h1 {max-width:none;font-size:clamp(3rem,7vw,4.7rem);}
  .platform-home .platform-hero-art {display:block;min-height:320px;max-width:590px;width:100%;margin:auto;}
  .platform-art-composition {inset:5% 8% 11%;transform:none;}
  .platform-art-float-one {left:1%;bottom:2%;}
  .platform-art-float-two {right:1%;top:0;}
  .platform-home .platform-feature-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
  .platform-home .platform-feature-card:last-child {grid-column:1/-1;}
}
@media screen and (max-width:700px) {
  .bracket-map-tools {min-height:48px;padding:8px 9px!important;}
  .bracket-map-tools .btn {min-width:32px;min-height:30px;padding:5px 8px;}
  .bracket-map-tools .muted {font-size:.67rem;}
  .tree-canvas {zoom:.76;}
  .platform-home .platform-hero {padding:31px 22px 22px;border-radius:20px;}
  .platform-home .platform-hero h1 {font-size:clamp(2.8rem,10.6vw,4.1rem);}
  .platform-home .platform-hero-art {min-height:270px;}
  .platform-art-composition {inset:8% 5% 12%;}
  .platform-art-head {padding:10px 13px;}
  .platform-art-stage {min-height:155px;padding:0 4px;}
  .platform-art-foot {padding:8px 13px;}
  .platform-art-float {padding:7px 9px;font-size:.61rem;}
  .platform-home .platform-feature-cards {grid-template-columns:1fr;}
  .platform-home .platform-feature-card,.platform-home .platform-feature-card:last-child {grid-column:auto;min-height:215px;}
  .platform-home .platform-feature-showcase {padding:50px 0 26px;}
  .platform-home .platform-feature-intro h2 {font-size:clamp(2rem,8vw,3rem);}
}
@media screen and (max-width:380px) {
  .tree-canvas {zoom:.69;}
  .platform-home .platform-hero {padding:26px 18px 19px;}
  .platform-home .platform-hero-art {min-height:235px;}
  .platform-art-composition {inset:7% 0 15%;}
  .platform-art-float-two {right:-2%;}
  .platform-art-float-one {left:-2%;}
}
@media (prefers-reduced-motion:reduce) {
  .platform-home .platform-hero::after,
  .platform-art-orbit,
  .platform-art-live-dot,
  .platform-art-trace,
  .platform-art-spark,
  .platform-art-float,
  .platform-page-hero::after,
  .tree-match.match-ongoing .match-status::before {animation:none!important;}
  .platform-art-trace {stroke-dashoffset:0;opacity:1;}
  .platform-home.motion-enabled .platform-reveal {opacity:1!important;transform:none!important;transition:none!important;}
  .tree-match,.platform-feature-card,.platform-art-composition,.bracket-map-tools .btn {transition:none!important;}
}

/* Keep the platform account dropdown above the animated homepage artwork.
   The hero uses isolation and transforms, so its own children have separate
   stacking contexts; the header must explicitly stack above the main content. */
.platform-frame .platform-topbar {
  position:relative;
  z-index:100;
}
.platform-frame .account-menu-list {
  z-index:101;
}

 .report-exclude-placed{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.8rem;font-weight:600}
.report-exclude-placed input{width:auto;margin:0}
/* Compact results export; scoped so certificate printing keeps its own layout. */
@media print {
  body.af-print-reports { margin:0!important; padding:0!important; background:#fff!important; }
  body.af-print-reports > :not(#af-report-print-root) { display:none!important; }
  body.af-print-reports #af-report-print-root {
    position:static!important; width:100%!important; font:7pt/1.15 Arial,sans-serif;
  }
  #af-report-print-root .reports-print-head { padding:0 0 3mm; break-inside:avoid; }
  #af-report-print-root .reports-print-kicker { font-size:6pt; letter-spacing:.08em; text-transform:uppercase; color:#555; }
  #af-report-print-root .reports-print-head h1 { font:700 13pt/1.15 Arial,sans-serif; margin:1.5mm 0; overflow-wrap:anywhere; }
  #af-report-print-root .reports-print-head p { margin:1mm 0; font:6.5pt/1.2 Arial,sans-serif; color:#444; }
  #af-report-print-root .reports-print-filters { font-weight:600!important; }
  #af-report-print-root .reports-print-note { font-size:6pt!important; }
  body.af-print-reports #af-report-print-root .report-print-grid {
    width:100%; margin:0; table-layout:fixed; min-width:0; font:6.5pt/1.15 Arial,sans-serif;
  }
  #af-report-print-root thead { display:table-header-group; }
  body.af-print-reports #af-report-print-root .report-print-grid th {
    font-size:6pt; padding:1.2mm 1mm; white-space:normal; border:0; border-top:1pt solid #333; border-bottom:.6pt solid #777;
    background:#ededed!important; print-color-adjust:exact; -webkit-print-color-adjust:exact;
  }
  body.af-print-reports #af-report-print-root .report-print-grid td {
    font:6.5pt/1.15 Arial,sans-serif; padding:.8mm 1mm; border:0!important; border-bottom:.4pt solid #ccc!important; overflow-wrap:anywhere;
  }
  #af-report-print-root .report-match-chips { display:block; min-width:0; }
  #af-report-print-root .report-print-bout { display:inline-block; margin:0 1mm .3mm 0; font-size:6pt; }
}

/* v123: the management header and sidebar frame a separately scrolling tab. */
@media screen {
  .management-site-frame {
    height:100vh;height:100dvh;min-height:0;overflow:hidden;
    display:flex;flex-direction:column;
  }
  .management-site-frame > .topbar {flex:0 0 auto;width:100%;z-index:30;}
  .management-site-frame > .topbar .top-inner {max-width:none;width:100%;margin:0;}
  .management-site-frame > .topbar .nav-tools {margin-left:auto;}
  .management-site-frame > .page-container {
    flex:1 1 0;min-height:0;max-width:none;width:100%;margin:0;
    overflow:auto;
  }
  .management-site-frame > .manager-page-container {padding:0;overflow:hidden;}
  .management-site-frame .manager-shell {
    height:100%;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);
    gap:0;align-items:stretch;
  }
  .management-site-frame .manager-sidebar {
    height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;
    margin:0;padding:14px 10px;border:0;border-right:1px solid var(--line);
    border-radius:0;box-shadow:none;
  }
  .management-site-frame .manager-sidebar-links {flex-direction:column;flex-wrap:nowrap;gap:3px;}
  .management-site-frame .manager-sidebar-links a {
    border-bottom:0;border-left:3px solid transparent;padding:11px 12px;
  }
  .management-site-frame .manager-sidebar-links a.active {border-left-color:var(--accent2);}
  .management-site-frame .manager-sidebar-foot {margin-top:auto;}
  .management-site-frame .manager-main {
    min-width:0;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;
    padding:28px 26px 48px;scrollbar-gutter:stable;
  }
  .management-site-frame > .footer {display:none;}
}
@media screen and (max-width:760px) {
  .management-site-frame .manager-shell {grid-template-columns:160px minmax(0,1fr);}
  .management-site-frame .manager-sidebar {padding:10px 5px;}
  .management-site-frame .manager-sidebar-home {padding:10px 5px 14px;}
  .management-site-frame .manager-sidebar-home small {max-width:130px;}
  .management-site-frame .manager-sidebar-links a {padding:10px 7px;font-size:.8rem;}
  .management-site-frame .manager-main {padding:18px 12px 32px;}
}
/* v124: management home follows the compact competition-list sketch. */
.my-competitions-panel{min-height:360px;padding:24px;}
.my-competitions-list{max-width:780px;}
.my-competitions-heading{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px;}
.my-competitions-heading h2{display:flex;align-items:center;gap:10px;margin:0;}
.competition-list-count{font-size:.75rem;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 9px;}
.competition-list-row{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px;background:var(--surface);}
.competition-list-row:hover{border-color:var(--accent2);}
.competition-row-name{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0;color:var(--text);}
.competition-row-name strong{overflow-wrap:anywhere;font-size:1rem;}
.competition-row-name small{font-size:.73rem;color:var(--muted);overflow-wrap:anywhere;}
.competition-row-actions{display:flex;gap:8px;flex-shrink:0;}
.competition-icon-action{width:36px;min-width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;margin:0;}
.competition-create-form{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:18px;}
.competition-list-empty{padding:24px 0;}
@media(max-width:600px){.my-competitions-panel{padding:16px;}.competition-list-row{gap:10px;padding:12px;}.competition-row-actions{gap:4px;}}
/* v125: full-width public header and a thumbnail-led competition feed. */
.public-site-frame > .topbar{width:100%;}
.public-site-frame > .topbar .top-inner{max-width:none;width:100%;margin:0;}
.public-feed{max-width:1240px;margin:0 auto;}
.public-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:30px;}
.public-feed-heading h1{margin:5px 0 9px;}
.public-feed-search{display:flex;flex-direction:column;gap:6px;min-width:260px;font-size:.8rem;color:var(--muted);}
.public-feed-search input{border-radius:999px;padding:11px 17px;}
.public-competition-feed{display:flex;flex-direction:column;gap:26px;}
.public-feed-row{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:24px;align-items:start;}
.public-feed-thumbnail{display:block;aspect-ratio:16/9;border-radius:13px;overflow:hidden;background:var(--soft);border:1px solid var(--line);}
.public-feed-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease;}
.public-feed-thumbnail:hover img{transform:scale(1.025);}
.public-feed-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#142942,#284b67);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e5f4ff;gap:8px;}
.public-feed-placeholder span{font-size:2.8rem;line-height:1;}.public-feed-placeholder strong{font-size:1rem;letter-spacing:.02em;}
.public-feed-details{padding:4px 0;min-width:0;}
.public-feed-title{color:var(--text);}.public-feed-title h2{font-size:1.2rem;line-height:1.4;margin:0 0 9px;overflow-wrap:anywhere;}
.public-feed-title:hover{color:var(--accent);}
.public-feed-date{font-size:.85rem;color:var(--muted);margin:0 0 12px;}
.public-feed-status{display:inline-flex;font-size:.72rem;font-weight:650;padding:5px 9px;border-radius:6px;background:var(--soft);color:var(--accent);border:1px solid var(--line);}
.public-feed-details > .muted{font-size:.85rem;line-height:1.6;margin:12px 0;}
.public-feed-open{font-size:.85rem;font-weight:650;}
@media(max-width:760px){.public-feed-heading{align-items:stretch;flex-direction:column;gap:12px;}.public-feed-search{min-width:0;}.public-feed-row{grid-template-columns:minmax(155px,38%) minmax(0,1fr);gap:14px;}.public-feed-title h2{font-size:1rem;}.public-feed-details > .muted{display:none;}}
@media(max-width:460px){.public-feed-row{grid-template-columns:1fr;gap:10px;}.public-feed-details{padding:0 2px 10px;}}
/* v126: focused headings do not acquire the browser's black navigation outline.
   Keyboard focus on interactive controls stays visible. */
h1[tabindex="-1"]:focus{outline:none;}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;}
.matchmaking-bronze-control{display:flex;flex-direction:column;gap:4px;font-size:.68rem;color:var(--muted);max-width:230px;}
.matchmaking-bronze-control select{padding:8px 10px;min-height:36px;font-size:.8rem;}
/* Dedicated promotional site. These rules do not touch competition workspaces. */
.marketing-site-frame{--mk-bg:#f5f6f2;--mk-ink:#18221f;--mk-muted:#69736b;--mk-card:#fff;--mk-line:#dce1d7;--mk-accent:#d6fa79;background:var(--mk-bg);color:var(--mk-ink);}
:root[data-theme=dark] .marketing-site-frame{--mk-bg:#101713;--mk-ink:#edf2e8;--mk-muted:#a8b3a7;--mk-card:#1b241e;--mk-line:#334137;}
.marketing-site-frame > .page-container{max-width:none;width:100%;padding:0;margin:0;}
.marketing-site-frame > .topbar{position:sticky;top:0;z-index:40;background:#111d19;border-bottom:1px solid #ffffff12;}
.marketing-site-frame > .topbar .top-inner{max-width:1400px;min-height:76px;}
.marketing-site-frame > .footer{max-width:1400px;width:100%;padding:26px 40px;}
.marketing-home{overflow:hidden;}
.mk-hero{max-width:1400px;margin:auto;padding:100px 48px 108px;display:grid;grid-template-columns:1.03fr 1fr;gap:58px;align-items:center;}
.mk-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--mk-line);padding:8px 13px;border-radius:99px;color:var(--mk-muted);font-size:.73rem;font-weight:650;}
.mk-kicker > span{width:7px;height:7px;border-radius:50%;background:#6f9832;box-shadow:0 0 0 4px #bce36b25;}
.mk-hero h1{font-size:clamp(3rem,5.7vw,5.5rem);line-height:1.02;letter-spacing:-.068em;margin:25px 0;font-weight:750;}
.mk-hero h1 em,.mk-final-cta h2 em{font-style:normal;color:#718e3f;}
.mk-hero-description{font-size:1.03rem;line-height:1.85;color:var(--mk-muted);max-width:470px;margin-bottom:28px;}
.mk-actions{display:flex;flex-wrap:wrap;gap:11px;}
.mk-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 20px;border-radius:8px;font-size:.86rem;font-weight:700;transition:transform .2s,box-shadow .2s;}
.mk-button:hover{transform:translateY(-3px);box-shadow:0 9px 22px #18261b15;}
.mk-button-primary{background:var(--mk-accent);color:#1d2918;border:1px solid #b8dd66;}
.mk-button-secondary{background:transparent;color:var(--mk-ink);border:1px solid var(--mk-line);}
.mk-caption{font-size:.72rem;color:var(--mk-muted);margin-top:19px;}
.mk-preview{position:relative;min-width:0;perspective:1400px;}
.mk-preview-glow{position:absolute;inset:-70px -55px;background:radial-gradient(ellipse,#a4c96d40,transparent 65%);pointer-events:none;}
.mk-product-window{position:relative;border:1px solid #34463d;border-radius:16px;overflow:hidden;background:#14201b;color:#edf3e9;box-shadow:0 35px 85px #12231826;transform:rotateY(-7deg) rotateX(3deg);animation:mk-window-arrive 1.1s both;}
.mk-window-bar{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff13;font-size:.67rem;}
.mk-window-dots{color:#6b8072;font-size:.55rem;letter-spacing:3px;}.mk-preview-label{color:#a8baab;font-size:.6rem;}
.mk-preview-body{display:flex;min-height:305px;}.mk-preview-sidebar{width:46px;border-right:1px solid #ffffff12;padding:18px 11px;display:flex;flex-direction:column;gap:20px;align-items:center;}
.mk-preview-sidebar span{font-size:.65rem;color:#dbf5b0;}.mk-preview-sidebar i{width:13px;height:13px;border:1px solid #586f5f;border-radius:3px;}.mk-preview-sidebar i.active{background:#c6ed83;border-color:#c6ed83;}
.mk-preview-content{padding:25px 22px;flex:1;min-width:0;}.mk-preview-eyebrow{font-size:.55rem;letter-spacing:.14em;color:#8ca892;margin:0 0 10px;}.mk-preview-content h2{font-size:1.15rem;font-weight:600;letter-spacing:-.025em;margin:0 0 22px;}
.mk-demo-stats{display:flex;gap:10px;margin-bottom:28px;}.mk-demo-stats > div{flex:1;padding:12px;background:#ffffff06;border:1px solid #ffffff12;border-radius:7px;display:flex;flex-direction:column;gap:6px;}.mk-demo-stats span{font-size:.56rem;color:#a2b3a7;}.mk-demo-stats strong{font-size:1.25rem;font-weight:500;color:#e0f1c7;}
.mk-demo-bracket{display:flex;align-items:center;min-height:125px;font-size:.52rem;}.mk-demo-seeds,.mk-demo-finalists{display:flex;flex-direction:column;flex:1;gap:9px;}.mk-demo-seeds span,.mk-demo-finalists span,.mk-demo-final{padding:8px 6px;border:1px solid #435a48;border-radius:4px;background:#213529;white-space:nowrap;}.mk-demo-finalists{gap:38px;}.mk-demo-connectors{width:18px;display:flex;flex-direction:column;gap:25px;}.mk-demo-connectors i{height:32px;border:1px solid #6e955a;border-left:0;}.mk-demo-connector{height:60px;width:18px;border:1px solid #82b35d;border-left:0;margin-right:5px;}.mk-demo-final{color:#d8f5b3;border-color:#a4ce78;animation:mk-final-glow 4s ease-in-out infinite;}
.mk-floating-note{position:absolute;display:flex;align-items:center;gap:11px;padding:13px 16px;background:var(--mk-card);border:1px solid var(--mk-line);border-radius:10px;box-shadow:0 14px 34px #18261b12;font-size:.72rem;animation:mk-float 6s ease-in-out infinite;}.mk-floating-note > span{background:#d9edbe;color:#496c23;width:29px;height:29px;display:grid;place-items:center;border-radius:8px;}.mk-floating-note strong,.mk-floating-note small{display:block;}.mk-floating-note small{font-size:.61rem;color:var(--mk-muted);margin-top:4px;}.mk-floating-note-one{left:-30px;bottom:16px;}.mk-floating-note-two{right:-30px;top:-22px;animation-delay:-3s;}
.mk-hero-copy > *{animation:mk-rise .8s both;}.mk-hero-copy h1{animation-delay:.08s;}.mk-hero-copy .mk-hero-description{animation-delay:.16s;}.mk-hero-copy .mk-actions{animation-delay:.24s;}
.mk-marquee{overflow:hidden;border-top:1px solid var(--mk-line);border-bottom:1px solid var(--mk-line);padding:24px 0;}.mk-marquee-track{display:flex;width:max-content;animation:mk-marquee 38s linear infinite;}.mk-marquee-track > div{display:flex;align-items:center;gap:40px;padding-right:40px;}.mk-marquee span{font-size:1.02rem;white-space:nowrap;font-weight:600;color:var(--mk-muted);}.mk-marquee b{color:#95ad69;font-size:1rem;}
.mk-section{max-width:1304px;padding:100px 0 0;margin:auto;}.mk-section-heading{max-width:650px;margin-bottom:35px;}.mk-eyebrow{font-size:.65rem;letter-spacing:.15em;font-weight:750;color:#79924f;margin:0 0 16px;}.mk-section-heading h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.13;letter-spacing:-.05em;margin:0 0 20px;}.mk-section-heading h2 span{color:var(--mk-muted);}.mk-section-heading > p:last-child{font-size:1rem;line-height:1.8;color:var(--mk-muted);}
.mk-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}.mk-feature{background:var(--mk-card);border:1px solid var(--mk-line);border-radius:18px;padding:30px;overflow:hidden;min-height:300px;transition:transform .25s,border-color .25s;}.mk-feature:hover{transform:translateY(-4px);border-color:#93ac6e;}.mk-feature-wide{grid-column:span 2;}.mk-feature h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.25;margin:20px 0 13px;}.mk-feature p{font-size:.88rem;line-height:1.8;color:var(--mk-muted);max-width:440px;}.mk-feature-number{font-size:.61rem;letter-spacing:.1em;color:var(--mk-muted);font-weight:700;}.mk-feature-list{max-width:460px;margin-top:28px;display:grid;gap:9px;}.mk-feature-list > div{background:var(--mk-bg);border:1px solid var(--mk-line);border-radius:7px;padding:11px 13px;display:flex;align-items:center;gap:10px;font-size:.75rem;}.mk-feature-list b{margin-left:auto;color:#7a9e49;}.mk-mini-dot{width:7px;height:7px;border-radius:50%;background:#9bbb70;}.mk-feature-dark{grid-row:span 2;background:#192b22;color:#edf5e6;}.mk-feature-dark .mk-feature-number,.mk-feature-dark p{color:#b4c3b4;}.mk-feature-dark a{color:#d4efac;font-size:.85rem;display:inline-block;margin-top:15px;}.mk-signal-art{position:relative;height:235px;display:grid;place-items:center;}.mk-signal-art span{position:absolute;width:160px;height:160px;border:1px solid #cbe9a824;border-radius:50%;animation:mk-signal 5s ease-in-out infinite;}.mk-signal-art span:nth-child(2){width:120px;height:120px;animation-delay:-1.7s;}.mk-signal-art span:nth-child(3){width:80px;height:80px;animation-delay:-3.4s;}.mk-signal-art b{font-size:2.2rem;font-weight:400;color:#cbe9a8;}
.mk-feature-accent{background:#e4f0d2;color:#23321d;}.mk-feature-accent p,.mk-feature-accent .mk-feature-number{color:#61744c;}.mk-privacy-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:23px;}.mk-privacy-pills span{border:1px solid #a5bc8c;border-radius:99px;padding:6px 9px;font-size:.64rem;}.mk-podium{height:80px;display:flex;justify-content:center;align-items:flex-end;gap:7px;margin-top:23px;}.mk-podium > span{width:60px;height:50px;background:var(--mk-bg);border:1px solid var(--mk-line);border-radius:5px 5px 0 0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--mk-muted);}.mk-podium > span:nth-child(2){height:78px;background:#d6edb3;color:#3c5925;gap:4px;}.mk-podium > span:nth-child(3){height:37px;}.mk-podium b{font-size:.65rem;}
.mk-workflow{padding-bottom:20px;}.mk-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid var(--mk-line);padding-top:30px;}.mk-steps > article > span{font-size:.75rem;color:#85a358;}.mk-steps h3{font-size:1.1rem;margin:20px 0 12px;letter-spacing:-.02em;}.mk-steps p{font-size:.85rem;line-height:1.85;color:var(--mk-muted);}
.mk-faq{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-bottom:90px;}.mk-faq details{border-top:1px solid var(--mk-line);padding:20px 0;}.mk-faq details:last-child{border-bottom:1px solid var(--mk-line);}.mk-faq summary{font-size:.92rem;font-weight:650;cursor:pointer;}.mk-faq details p{color:var(--mk-muted);font-size:.85rem;line-height:1.8;margin:16px 0 0;}
.mk-final-cta{background:#17271e;text-align:center;color:#eef6e8;padding:85px 30px 90px;}.mk-final-cta h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.07;letter-spacing:-.055em;margin:18px 0 30px;}.mk-final-cta h2 em{color:#caeaa3;}.mk-final-secondary{display:block;color:#a7b8a7;font-size:.75rem;margin-top:20px;}
.marketing-home.motion-enabled .platform-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1);}.marketing-home.motion-enabled .platform-reveal.is-visible{opacity:1;transform:translateY(0);}
@keyframes mk-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes mk-window-arrive{from{opacity:0;transform:rotateY(-12deg) rotateX(6deg) translateY(30px)}to{opacity:1;transform:rotateY(-7deg) rotateX(3deg)}}
@keyframes mk-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes mk-marquee{to{transform:translateX(-50%)}}
@keyframes mk-final-glow{0%,100%{box-shadow:0 0 0 #a6d07700}50%{box-shadow:0 0 20px #a6d07735}}
@keyframes mk-signal{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@media(max-width:1400px){.mk-section{margin:0 48px;}}
@media(max-width:1000px){.mk-hero{gap:35px;padding:65px 30px 80px;}.mk-hero h1{font-size:3.8rem;}.mk-preview-content{padding:20px 13px;}.mk-floating-note-two{right:-12px;}.mk-floating-note-one{left:-12px;}.mk-section{margin:0 30px;padding-top:75px;}.mk-feature{padding:23px;}.mk-faq{gap:35px;}.mk-bento{grid-template-columns:repeat(2,minmax(0,1fr));}.mk-feature-wide{grid-column:auto;}.mk-feature-dark{grid-row:auto;}.mk-signal-art{height:130px;}.mk-signal-art span{width:120px;height:120px;}.mk-signal-art span:nth-child(2){width:90px;height:90px;}.mk-signal-art span:nth-child(3){width:60px;height:60px;}}
@media(max-width:760px){.mk-hero{grid-template-columns:1fr;padding:55px 22px 65px;gap:60px;}.mk-hero h1{font-size:clamp(2.8rem,10vw,4.3rem);}.mk-preview{max-width:540px;width:100%;margin:auto;}.mk-floating-note-one{bottom:-20px;left:0;}.mk-floating-note-two{right:0;}.mk-section{margin:0 22px;padding-top:60px;}.mk-steps,.mk-faq{grid-template-columns:1fr;gap:22px;}.mk-steps{gap:25px;}.mk-steps h3{margin-top:12px;}.mk-faq{padding-bottom:60px;}.mk-faq .mk-section-heading{margin-bottom:0;}.mk-final-cta{padding:65px 22px;}.mk-marquee{padding:19px 0;}}
@media(max-width:480px){.mk-bento{grid-template-columns:1fr;}.mk-window-bar{padding:12px 9px;font-size:.59rem;}.mk-preview-label{display:none;}.mk-preview-sidebar{width:33px;padding:18px 7px;}.mk-preview-content{padding:20px 12px;}.mk-preview-content h2{font-size:1rem;}.mk-floating-note{padding:10px;font-size:.65rem;}.mk-demo-bracket{font-size:.45rem;}}
@media(prefers-reduced-motion:reduce){.marketing-home *,.marketing-home *::before,.marketing-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.marketing-home.motion-enabled .platform-reveal{opacity:1;transform:none;}.mk-product-window{transform:none;}}
/* v129: manager diagnostics and discipline-specific participant transfers. */
.diagnostics-panel{border-top:3px solid var(--accent2);}
.diagnostics-panel h2{display:flex;align-items:center;gap:10px;}
.diagnostics-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:3px 7px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.1;}
.diagnostics-clear{color:var(--accent2);font-size:.86rem;}
.diagnostics-group{border-top:1px solid var(--line);padding:12px 0;}
.diagnostics-group summary{cursor:pointer;font-size:.84rem;font-weight:650;}
.diagnostics-group summary .diagnostics-count{margin-left:8px;}
.diagnostics-group ul{list-style:none;margin:12px 0 0;padding:0;}
.diagnostics-group li{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px dashed var(--line);padding:11px 0;font-size:.8rem;line-height:1.65;}
.diagnostics-group li a{flex-shrink:0;font-weight:650;}
.transfer-form-grid{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;}
.transfer-form-grid > label{display:flex;flex-direction:column;gap:6px;flex:1 1 210px;min-width:0;font-size:.8rem;}
.transfer-form-grid select{width:100%;min-width:0;}
.transfer-form-grid > .btn{flex-shrink:0;}
.transfer-current{font-size:.78rem;margin-top:14px;}
.transfer-reset-note{font-size:.75rem;line-height:1.7;margin-bottom:0;}
@media(max-width:700px){.diagnostics-group li{flex-direction:column;gap:5px;}.transfer-form-grid > label{flex-basis:100%;}}
@media print{.diagnostics-panel,.participant-transfers{display:none!important;}}
/* v130: participant actions are hosted outside bracket zoom/overflow containers. */
.participant-action-target{display:contents;}
.participant-menu-dismiss{position:fixed;inset:0;z-index:3000;background:transparent;}
.participant-context-menu{position:fixed;z-index:3001;width:250px;max-width:calc(100vw - 16px);padding:7px;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 45px #0004;background:var(--surface);color:var(--text);outline:none;}
.participant-menu-name{display:block;padding:8px 10px;border-bottom:1px solid var(--line);font-size:.75rem;font-weight:650;overflow-wrap:anywhere;margin-bottom:4px;}
.participant-context-menu button{display:block;width:100%;padding:11px 10px;text-align:left;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:.82rem;cursor:pointer;}
.participant-context-menu button:hover,.participant-context-menu button:focus-visible{background:var(--soft);color:var(--accent2);}
.participant-context-menu button:disabled{opacity:.5;cursor:default;}
.participant-dialog-backdrop{position:fixed;inset:0;z-index:3002;background:#050c19a6;display:flex;align-items:center;justify-content:center;padding:20px;}
.participant-action-dialog{width:min(850px,100%);max-height:calc(100dvh - 40px);overflow:auto;margin:0;outline:none;}
.participant-action-dialog .participant-transfers{margin:0;border:0;padding:0;box-shadow:none;}
.participant-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 25px;}
.participant-details-grid > div{border-bottom:1px solid var(--line);padding-bottom:11px;min-width:0;}
.participant-details-grid dt{font-size:.72rem;color:var(--muted);margin-bottom:5px;}
.participant-details-grid dd{font-size:.88rem;line-height:1.6;margin:0;overflow-wrap:anywhere;}
.participant-details-wide{grid-column:1/-1;}
.category-participant-roster summary{cursor:pointer;font-weight:650;font-size:.87rem;}
.category-participant-roster summary small{font-weight:400;color:var(--muted);margin-left:12px;font-size:.73rem;}
.category-roster-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.category-roster-person{display:flex;flex-direction:column;gap:5px;padding:10px 13px;border:1px solid var(--line);border-radius:7px;background:var(--soft);font-size:.8rem;cursor:context-menu;}
.category-roster-person small{font-size:.71rem;color:var(--muted);}
.participant-action-target strong[tabindex],.participant-action-target .tree-athlete{cursor:context-menu;}
@media(max-width:600px){.participant-dialog-backdrop{padding:10px;}.participant-action-dialog{max-height:calc(100dvh - 20px);}.participant-details-grid{grid-template-columns:1fr;}.category-participant-roster summary small{display:block;margin:8px 0 0;}}
@media print{.participant-context-menu,.participant-menu-dismiss,.participant-dialog-backdrop,.category-participant-roster{display:none!important;}}
