@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Barlow+Condensed:wght@600;700;800;900&display=swap');
:root{--bg:#0c0d11;--surface:#18191f;--line:#32343e;--ink:#f2f2f5;--muted:#aaaebc;--win:#719bff;--win-solid:#2857c7;--loss:#ff7183;--loss-solid:#ab2f42;--red:#ff8a85;--blue:#85c6ff;--amber:#ffd27a;--font:'Noto Sans TC',sans-serif;color-scheme:dark;font-family:var(--font);font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}
button,input{font:inherit}
button{cursor:pointer;color:inherit;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #82a8ff;outline-offset:4px}
a{color:inherit;text-decoration:none}
a:hover{color:#a7c4ff}
img{display:block;max-width:100%}
.skip{position:fixed;top:-100px;left:20px;background:var(--win);color:#111;padding:12px;z-index:20}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.header{display:flex;align-items:center;justify-content:space-between;padding:12px 4%;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:900}
.brand b{display:grid;place-items:center;width:32px;height:36px;background:var(--win);color:#10120f;font:900 34px 'Barlow Condensed',sans-serif;line-height:1;transform:skew(-8deg)}
.brand small{display:block;font:500 12px Arial,sans-serif;letter-spacing:.08em;color:var(--muted)}
.header-right{display:flex;align-items:center;gap:28px;font-size:14px}
.internal{color:var(--muted);border:1px solid var(--line);padding:5px 10px;font-size:12px}
main{max-width:1800px;margin:auto;padding:0 4%}
.intro{display:flex;align-items:center;justify-content:space-between;padding:16px 0 12px;gap:20px}
.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.14em;color:var(--win)}
h1{font-size:clamp(26px,2.4vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1.3;margin:0}
h1 span{color:var(--win);margin-left:14px}
.intro>div>p{margin:0;color:var(--muted);font-size:14px}
.current{border-left:3px solid var(--win);padding:0 0 0 15px;min-width:0}
.current strong{display:block;font:800 25px 'Barlow Condensed',sans-serif;line-height:1.4}
.current strong span{font:700 16px var(--font);margin-left:8px}
.current p{color:var(--muted);font-size:12px!important}
.snapshot{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-bottom:10px}
.stage-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stage-button{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:10px 14px;text-align:left;transition:border-color .15s;min-width:0}
.stage-button:hover{border-color:var(--win)}
.stage-button.active{border-color:var(--win);background:#1b2235}
.rail-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;grid-column:1/-1}
.rail-top b{color:var(--win);font:700 19px 'Barlow Condensed',sans-serif}
.rail-title{font-size:14px;font-weight:700;margin:3px 0}
.rail-number{font:700 27px 'Barlow Condensed',sans-serif;line-height:1.15;text-align:right;grid-column:2;grid-row:2/4}
.rail-number small{display:block;font:400 12px var(--font);color:var(--muted);margin:3px 0 0}
.rail-track{height:3px;background:#30333e;margin:8px 0 6px;grid-column:1/-1}
.rail-track span{display:block;background:var(--win);height:100%}
.rail-bottom{font-size:12px;color:var(--muted);grid-column:1/-1;line-height:1.5}
.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-top:12px}
.view-tabs{display:flex;gap:22px;overflow-x:auto}
.view-tabs button{flex:none;background:none;color:var(--muted);padding:10px 0;border-bottom:3px solid transparent;font-size:14px;font-weight:700}
.view-tabs button[aria-selected=true]{color:var(--win);border-bottom-color:var(--win)}
.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);padding:5px 10px;margin-bottom:4px;max-width:235px}
.search span{font-size:23px;line-height:1}
.search input{width:100%;min-width:0;background:none;color:var(--ink);border:0;font-size:14px}
.search kbd{font:12px Arial;color:var(--muted);border:1px solid var(--line);padding:1px 5px}
.legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:10px 0 12px;color:var(--muted);font-size:14px}
.legend>span{display:flex;align-items:center;gap:7px}
.legend>span:last-child{margin-left:auto}
.legend i{width:8px;height:8px;border-radius:50%}
.win-key{background:var(--win)}
.red{background:var(--red)}
.amber{background:var(--amber)}
.blue{background:var(--blue)}
.panel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px}
.panel-heading h2{font-size:21px;letter-spacing:-.02em;margin:0 0 2px;font-weight:900}
.panel-heading p{font-size:14px;color:var(--muted);margin:0}
.count-label{font:700 18px 'Barlow Condensed',sans-serif;color:var(--muted);white-space:nowrap}
.badge{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;padding:2px 7px;line-height:1.5;border:1px solid transparent;background:#282a34;color:#d6d9e3;white-space:nowrap}
.badge.win{color:#fff;background:var(--win);border-color:var(--win)}
.badge.loss{color:#fff;background:var(--loss-solid);border-color:var(--loss)}
.badge.pending{color:var(--amber);background:#3a3020;border-color:#594a30}
.badge.paired{color:var(--blue);background:#1a2332;border-color:#36475e}
.badge.muted{color:#b5b8c3;background:#292b34}
.box{border:1px solid var(--line);background:var(--surface);padding:18px}
.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-bottom:18px}
.box-title{font-weight:700;font-size:16px;margin:0 0 5px}
.box-caption{color:var(--muted);font-size:12px;margin:0 0 12px}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.flow-node{background:#202229;border:1px solid #3a3d49;padding:10px;text-align:center}
.flow-node b{display:block;font:700 38px 'Barlow Condensed',sans-serif}
.flow-node small{display:block;color:var(--muted);font-size:12px}
.flow-node strong{font-size:14px}
.flow-node.good{border-color:#34558c;background:#17243b;color:var(--win)}
.flow-node.paired{border-color:#3e4e65;background:#1c2533;color:var(--blue)}
.flow-note{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;color:var(--muted);font-size:13px}
.flow-note b{color:var(--blue)}
.feedback-bar{display:grid;grid-template-columns:62px 1fr 30px;gap:12px;align-items:center;margin:12px 0;font-size:14px}
.feedback-bar .bar{height:8px;background:#2b2e38;overflow:hidden}
.feedback-bar .bar span{height:100%;display:block;background:var(--win)}
.feedback-bar strong{font:700 21px 'Barlow Condensed',sans-serif}
.minor-note{font-size:12px;color:var(--muted);margin:10px 0 0}
.notice{background:#272419;border:1px solid #50472b;padding:10px 14px;margin-bottom:16px;color:#e1cca0;font-size:14px}
.notice summary{cursor:pointer;font-weight:700}
.notice ul{margin:14px 0 3px;padding-left:20px}
.notice li+li{margin-top:6px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
.lineup-table{border-collapse:collapse;width:100%;min-width:800px;text-align:left}
.lineup-table th{font-size:12px;color:var(--muted);background:#22242c;padding:13px 17px;font-weight:500;white-space:nowrap}
.lineup-table td{padding:7px 14px;border-top:1px solid #30323b;font-size:14px}
.lineup-table tr:hover td{background:#252832}
.name-button{display:flex;align-items:center;gap:12px;background:none;text-align:left;padding:0;min-width:180px}
.name-button img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:center 30%;border:1px solid #717786;background:#262932;flex:none}
.name-button strong{display:block;font-size:14px}
.name-button small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.matches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.match-card{border:1px solid var(--line);background:var(--surface);min-width:0;overflow:hidden;border-radius:6px}
.match-head{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-bottom:1px solid var(--line);font:700 13px 'Barlow Condensed',sans-serif;letter-spacing:.09em;color:var(--muted)}
.match-head .badge{font:700 12px var(--font);letter-spacing:0}
.fighters{display:grid;grid-template-columns:minmax(0,1fr);position:relative}
.vs{position:absolute;top:80px;left:50%;transform:translate(-50%,-50%) skew(-9deg);background:var(--bg);color:var(--win);border:1px solid var(--line);padding:5px 8px;font:900 24px 'Barlow Condensed';z-index:2;pointer-events:none}
.fighter{background:none;min-width:0;display:flex;align-items:center;gap:9px;text-align:left;padding:7px 10px;position:relative;border:0;border-left:3px solid transparent;min-height:62px}
.fighter:last-child{border-right:0}
.fighter-image{position:relative;width:44px;height:44px;flex:0 0 44px;border-radius:50%;overflow:hidden;background:#292c36;border:2px solid #677080}
.fighter img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 28%;transition:transform .2s}
.fighter:hover img{transform:scale(1.06)}
.fighter-image:after{content:none}
.fighter.winner{box-shadow:none;background:#17243b;border-left-color:var(--win)}
.fighter.loser img{filter:grayscale(100%) brightness(.65);opacity:.62}
.outcome{position:static;flex:none;background:var(--win);color:#fff;font:900 14px var(--font);padding:2px 7px;border-radius:3px;white-space:nowrap;margin-left:auto}
.loser .outcome{background:var(--loss-solid);color:#fff}
.fighter-info{padding:0;min-height:0;min-width:0;flex:1;width:auto}
.fighter-info strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.fighter-info small{display:block;font-size:12px;color:var(--muted);margin:2px 0 0}
.fighter-info .song{font-size:12px;color:#b7bac5;overflow-wrap:anywhere}
.match-feedback{padding:5px 10px;background:#15161c;min-height:0;border-top:1px solid var(--line)}
.match-feedback small{color:var(--muted);font-size:12px}
.match-feedback p{font-size:14px;margin:8px 0;line-height:1.7;display:block;overflow-wrap:anywhere}
.group-head{display:flex;align-items:center;gap:12px;margin:18px 0 10px}
.group-head h3{font-size:16px;margin:0}
.group-head>span{font:700 23px 'Barlow Condensed';color:var(--muted)}
.group-head:after{content:'';flex:1;height:1px;background:var(--line)}
.portrait-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.portrait-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);padding:9px;text-align:left;min-width:0;border-radius:6px}
.portrait-card:hover{border-color:#84caff}
.portrait-card .portrait{position:relative;width:44px;height:44px;flex:0 0 44px;aspect-ratio:1;overflow:hidden;background:#292c35;border:2px solid #636b7a;border-radius:50%}
.portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 28%;transition:transform .2s}
.portrait-card:hover img{transform:scale(1.06)}
.portrait .badge{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 16px);white-space:normal}
.portrait-card .copy{padding:0;min-width:0;flex:1}
.portrait-card strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.portrait-card small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.cypher-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.cypher-group{padding:12px;border:1px solid var(--line);background:var(--surface);min-width:0;border-radius:6px}
.cypher-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:12px;gap:5px}
.cypher-title h3{margin:0;font-size:16px}
.cypher-title .beat{color:var(--blue);font:800 23px 'Barlow Condensed';margin-right:6px}
.cypher-group .portrait-grid{grid-template-columns:minmax(0,1fr);gap:6px}
.cypher-group .copy{padding:0}
.cypher-group .portrait .badge{left:4px;bottom:4px;padding:3px 5px}
.cypher-feedback{margin-top:10px;border-top:1px solid var(--line);padding-top:7px;font-size:14px;color:var(--muted)}
.cypher-feedback p{color:var(--ink);font-size:14px;margin:8px 0 0}
.pair-card .outcome{background:#8bc7ff;color:#102638}
.pair-card .vs{color:var(--blue);font-size:27px}
.pair-card .fighter-info{min-height:0}
.pair-card .fighter{box-shadow:none;border-left-color:#35455e;background:#1c2029}
.pair-caption{padding:5px 10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.empty{padding:70px 24px;text-align:center;border:1px dashed var(--line);color:var(--muted)}
.loading{padding:90px;text-align:center;color:var(--muted)}
footer{margin-top:30px;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:12px;flex-wrap:wrap}
dialog{color:var(--ink);background:#18191f;border:1px solid #464b59;padding:0;width:min(840px,94vw);max-height:90vh;overflow-y:auto;box-shadow:0 25px 100px #000a}
dialog::backdrop{background:#01081dcc;backdrop-filter:blur(5px)}
.close{position:sticky;top:14px;left:calc(100% - 53px);z-index:5;width:38px;height:38px;background:#18191fed;border:1px solid #626b7b;border-radius:50%;font:30px Arial;margin-bottom:-38px}
.profile-hero{display:flex;align-items:center;gap:20px;background:#20232d;padding:24px}
.profile-photo{width:80px;height:80px;flex:none;border-radius:50%;border:3px solid #717786;object-fit:cover;object-position:center 25%}
.profile-heading{padding:0 24px 0 0;min-width:0}
.profile-heading h2{font-size:26px;line-height:1.4;margin:6px 0;overflow-wrap:anywhere}
.profile-heading p{font-size:14px;color:var(--muted);margin:6px 0}
.profile-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:14px;color:var(--win)}
.profile-body{padding:28px}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 28px}
.milestone{border:1px solid var(--line);padding:14px 12px;background:#20222b;min-width:0}
.milestone>small{display:block;font:700 13px Arial;color:var(--muted);margin-bottom:10px}
.milestone .badge{white-space:normal;justify-content:flex-start}
.milestone p{font-size:12px;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}
.review-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.review-tabs button{padding:7px 15px;border:1px solid var(--line);background:#252833;font-size:14px}
.review-tabs button[aria-pressed=true]{color:#142009;background:var(--win);border-color:var(--win)}
.review{border-left:2px solid #6eadff;padding:2px 0 2px 18px;margin:23px 0}
.review .byline{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}
.review p{font-size:16px;line-height:1.8;margin:8px 0;white-space:pre-line}
.review a{color:#a9d2ff}
.profile-notice{font-size:13px;color:var(--amber);border:1px solid #594c2b;padding:12px 15px;margin:14px 0}
.profile-rounds{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;margin:10px 0 24px}
.profile-rounds span{padding:6px 10px;background:#252833}
.count-chip{background:#252a34;padding:3px 7px;color:var(--win);font-size:14px}
.no-review{border:1px dashed var(--line);padding:24px;color:var(--muted);font-size:14px}
.roster-note{font-size:12px;color:var(--muted);margin:12px 0}


.loss-key{background:var(--loss)}

.legend>span:last-child{font-size:12px}

.match-format{font:400 12px var(--font);letter-spacing:0}

.fighter+.fighter{border-top:1px solid #34343d}

.fighter.winner .fighter-image,.tone-win .portrait,.tone-win.profile-hero .profile-photo{border-color:var(--win);box-shadow:0 0 0 2px #719bff1c}

.fighter.winner strong,.portrait-card.tone-win strong{color:var(--win);font-weight:900}

.fighter.loser{background:#1c1c1c;border-left-color:#4b4b4b}

.fighter.loser .fighter-image{background:#292929;border-color:var(--loss)}

.fighter.loser strong,.portrait-card.tone-loss strong{color:#b1b1b1;font-weight:500}

.fighter.loser small,.portrait-card.tone-loss small{color:#929292}

.fighter.paired .fighter-image,.tone-paired .portrait{border-color:var(--blue)}

.fighter:hover{outline:1px solid #85c9ff;outline-offset:-2px}

.match-feedback summary,.cypher-feedback summary{cursor:pointer;font-size:12px;color:var(--muted);padding:1px 0}

.match-feedback .feedback-hint{font-size:12px;color:var(--muted)}

.portrait-card .copy .badge{margin-top:3px;white-space:normal;justify-content:flex-start;max-width:100%;font-size:14px;padding:1px 5px}

.portrait-card.tone-win{background:#17243b;border-color:#34558c}

.portrait-card.tone-loss{background:#1e1e1e;border-color:#393939}

.tone-loss .portrait,.tone-loss.profile-hero .profile-photo{border-color:var(--loss)}

.tone-loss .portrait img,.tone-loss.profile-hero .profile-photo{filter:grayscale(100%) brightness(.65);opacity:.62}

.tone-pending .portrait{border-color:var(--amber)}

.tone-paired.profile-hero .profile-photo{border-color:var(--blue)}

.tone-pending.profile-hero .profile-photo{border-color:var(--amber)}

@media(max-width:1400px){
.matches{grid-template-columns:repeat(4,minmax(0,1fr))}

.portrait-grid{grid-template-columns:repeat(5,minmax(0,1fr))}

.header-right{gap:18px}
.internal{display:none}

}

@media(max-width:1100px){
.matches{grid-template-columns:repeat(3,minmax(0,1fr))}

.portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

.cypher-groups{grid-template-columns:repeat(2,minmax(0,1fr))}

.rail-number{font-size:24px}
.rail-number small{max-width:75px}

.rail-top{gap:5px;flex-wrap:wrap}
.stage-button{padding:10px;column-gap:6px}

.view-toolbar{flex-wrap:wrap;gap:5px}
.view-tabs{gap:16px}
.search{max-width:190px}

.legend{gap:8px 16px}
.legend>span:last-child{margin-left:0}

.overview-grid{grid-template-columns:1fr 1fr}

}

@media(max-width:760px){
.header{padding:10px 4%;gap:12px}
.brand{font-size:16px}
.brand small{font-size:12px;letter-spacing:0}

.header-right{flex-direction:column;align-items:flex-end;gap:3px;font-size:12px}

main{padding:0 4%}
.intro{gap:14px;padding:12px 0}
.current{padding-left:10px;max-width:230px}

.current strong{font-size:23px}
.current strong span{font-size:14px}
.current .eyebrow{letter-spacing:0}

.snapshot{flex-wrap:wrap;gap:2px}
.stage-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

.rail-top{flex-wrap:nowrap}
.rail-number{font-size:27px}
.rail-number small{max-width:none}
.rail-title{font-size:14px}

.view-toolbar{flex-direction:column;align-items:stretch;gap:0}
.search{max-width:none;margin:0 0 4px;order:-1}

.view-tabs{gap:20px;max-width:100%;width:100%}
.legend{font-size:14px}
.legend>span:last-child{width:100%}

.matches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.portrait-card{gap:7px;padding:7px}
.portrait-card .portrait{width:38px;height:38px;flex-basis:38px}

.panel-heading{align-items:flex-start;gap:10px}
.panel-heading h2{font-size:20px}
.panel-heading p{font-size:14px}

.count-label{font-size:16px}
.overview-grid{grid-template-columns:1fr}

.cypher-group{padding:10px}
.cypher-title{align-items:flex-start;flex-direction:column}

.cypher-group .portrait-card .portrait{width:44px;height:44px;flex-basis:44px}

.profile-hero{padding:20px;gap:14px;align-items:flex-start}
.profile-photo{width:64px;height:64px}

.profile-heading h2{font-size:23px}
.profile-heading .eyebrow{letter-spacing:.03em}
.profile-body{padding:20px}

.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-links{font-size:14px;gap:10px}

}

@media(max-width:520px){
.matches{grid-template-columns:1fr}
.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.cypher-groups{grid-template-columns:1fr}
.cypher-title{flex-direction:row;align-items:center}

.current{max-width:175px}
.current strong span{display:block;margin:0}
.intro h1{font-size:25px}
h1 span{margin-left:4px}

.current p{max-width:175px}
.stage-button{padding:9px;column-gap:5px}
.rail-top{flex-wrap:wrap}

.rail-title{font-size:14px}
.rail-number{font-size:23px}
.rail-number small{font-size:12px;max-width:65px}

.panel-heading{flex-wrap:wrap}
.panel-heading p{font-size:14px}
.count-label{white-space:normal}

.profile-hero{gap:12px;padding:20px 14px}
.profile-heading{padding-right:22px}
.profile-photo{width:56px;height:56px}

.flow{gap:6px}
.flow-node{padding:8px 5px}
.flow-node b{font-size:30px}
.box{padding:14px}

}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}



/* Charcoal working surface, blue identity, blue wins and red losses. */
:root{--brand:#3669ff;--link:#9bbcff;--paper:#f5f6fa}
body{background:var(--bg);min-height:100vh}
.header{position:relative;background:#0735cb url('keyvisual.webp') left top / 1600px auto;border-bottom:1px solid #3155ad;gap:20px;min-height:82px}
.brand{font-size:24px;font-weight:900;font-style:italic;letter-spacing:-.06em;color:#fff}
.brand b{background:#fff;color:#0735cb;box-shadow:3px 3px 0 #001e7b;border:1px solid #fff;width:36px;height:42px;font-size:40px}
.brand small{color:#d6e8ff;font-style:normal;font-size:12px;letter-spacing:.08em;margin-top:3px}
.brand-art{width:240px;height:62px;flex:none;background:url('keyvisual.webp') center center / 200% auto no-repeat;mix-blend-mode:screen}
.header-right a{color:#f0f6ff}.header-right a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.internal{color:#d1e2ff;border-color:#6685cf;background:#11296966}
.intro{padding:19px 0 14px}.intro h1{color:var(--paper);font-style:italic;font-weight:900;letter-spacing:-.04em;text-shadow:none}
h1 span{color:var(--brand)}.eyebrow{color:var(--link)}
.current{border-left-color:var(--brand)}.current strong{color:var(--paper)}.current p{margin:3px 0 0;color:var(--muted)}
.snapshot{color:var(--muted)}
.stage-button{background:var(--surface);border-color:var(--line);border-radius:6px;box-shadow:none}
.stage-button:hover{border-color:#596782}.stage-button.active{background:#1a2132;border-color:#527cf1;box-shadow:inset 0 2px 0 var(--brand)}
.rail-top b{color:#9ebcff;font-size:22px;font-style:italic}.rail-top{color:var(--muted)}.rail-title{color:var(--paper)}.rail-number{color:var(--paper);font-style:italic;font-weight:900}
.rail-number small,.rail-bottom{color:var(--muted)}.rail-track{background:#2e313b}.rail-track span{background:#657187}.stage-button.active .rail-track span{background:var(--brand)}
.view-toolbar{border-bottom-color:var(--line);margin-top:16px}.view-tabs button{color:#b1b4c0}.view-tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--brand);text-shadow:none}
.search{background:#191b23;border-color:#393d49;border-radius:5px}.search input::placeholder{color:#a8adbc}
.legend{color:#c4c6d0;padding:12px 0 14px}.legend>span:last-child{color:var(--muted)}
.panel-heading h2{font-weight:900;font-style:italic;color:var(--paper)}.panel-heading p{color:var(--muted)}.count-label{color:#b9bdca;font-style:italic;letter-spacing:.025em}
.match-card{border-radius:6px;border-color:#3d3d48;box-shadow:none}
.match-head{background:#202128;border-bottom-color:#36363f;color:#d8d9e1;font-size:15px;font-style:italic;font-weight:800}
.match-format{color:#a8acba}.match-head .badge{font-style:normal}
.badge.win,.fighter.winner .outcome{background:var(--win-solid);border-color:#729cff;color:#fff}
.fighter.winner{background:#17243b;border-left-color:#5b8fff}
.fighter.winner strong,.portrait-card.tone-win strong{color:#aac7ff;font-weight:900}
.fighter.winner .fighter-image,.tone-win .portrait,.tone-win.profile-hero .profile-photo{border-color:#719bff;box-shadow:0 0 0 2px #719bff14}
.fighter.loser{background:#231b20;border-left-color:var(--loss)}.fighter.loser strong{color:#aaaeb8}.fighter.loser small{color:#9397a3}
.outcome{border-radius:3px;transform:none;font-weight:900}.loser .outcome{background:var(--loss-solid);color:#fff;border:1px solid var(--loss)}
.fighter:hover{outline-color:#707788}.fighter:focus-visible{outline-offset:-3px;z-index:1}.portrait-card:focus-visible{outline-offset:1px}
.portrait-card,.cypher-group{border-radius:6px}.portrait-card.tone-win{background:#17243b;border-color:#34558c}.portrait-card.tone-loss{background:#231b20;border-color:#61343e}
.portrait-card.tone-loss strong{color:#aaaeb8}.portrait-card.tone-loss small{color:#9397a3}
.cypher-title .beat{color:#b6c4e4;font-style:italic}.count-chip{color:#d2d6e1;background:#292c36;border:1px solid #424652}
.pair-card .match-head{background:#20232c}.pair-card .fighter{background:#1c2029;border-left-color:#3a4c68}.pair-card .fighter-image{border-color:#7b9ecb}.pair-card .outcome{background:#28364a;color:#bad7ff;border:1px solid #4a6285}.pair-caption{background:#171920}
.box,.cypher-group,.table-wrap{border-color:var(--line)}.box-title{color:var(--paper)}.flow-node{background:#202229;border-color:#3b3e49}
.flow-node.good{background:#17243b;border-color:#34558c;color:#aac7ff}.flow-node.paired{background:#202530;border-color:#3d4d64;color:#b2cef0}
.lineup-table th{color:#b9becc}.lineup-table tr:hover td{background:#252832}.name-button strong{color:var(--paper)}
.feedback-bar .bar span{background:#647ba9}.profile-hero{background:#20232d;border-top:3px solid #3669ff}.profile-heading h2{font-style:italic;font-weight:900}
.profile-links,.review a{color:var(--link)}.review{border-left-color:#6176a3}.review-tabs button[aria-pressed=true]{color:#fff;background:#234ec2;border-color:#6389ed}
footer{color:var(--muted);border-top-color:var(--line)}a:hover{color:var(--link)}.skip{background:#2c59d6;color:white}
@media(max-width:1100px){.brand-art{display:none}.header-right{gap:14px}.brand{font-size:21px}}
@media(max-width:760px){.header{min-height:70px;gap:12px;padding:10px 4%}.brand-art{display:none}.brand{font-size:20px}.brand b{width:32px;height:38px;font-size:35px}.brand small{font-size:12px;letter-spacing:0}.header-right{font-size:12px}.intro h1{font-size:27px}.match-head{padding-top:5px;padding-bottom:5px}}
@media(max-width:520px){.brand{font-size:18px}.brand small{font-size:12px}.intro h1{font-size:25px}.current{max-width:175px}}

/* Distinguish special passes, contestant roles, and round outcomes. */
:root{--superpass:#ffdf60;--seed:#ff9b45}
.superpass-key{background:var(--superpass)}
.badge.superpass{background:var(--superpass);border-color:var(--superpass);color:#241c06}
.superpass-title,.portrait-card.tone-superpass strong{color:var(--superpass)}
.portrait-card.tone-superpass{background:#2c2719;border-color:#776132}
.tone-superpass .portrait,.tone-superpass.profile-hero .profile-photo{border-color:var(--superpass);box-shadow:none}
.cypher-groups .role-aware .portrait,.pair-card .role-aware .fighter-image{border-color:transparent;box-shadow:none;overflow:visible}
.cypher-groups .role-aware.is-seed .portrait,.pair-card .role-aware.is-seed .fighter-image{border:2px solid var(--seed)}
.seed-mark{position:absolute;right:-5px;bottom:-3px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#191b20;color:var(--seed);border:1px solid var(--seed);font:12px/1 Arial,sans-serif;pointer-events:none}
.legend .seed-key{display:inline-grid;place-items:center;width:17px;height:17px;border:2px solid var(--seed);border-radius:50%;background:none;color:var(--seed);font:12px/1 Arial,sans-serif}
.pair-card .fighter.paired{border-left-color:transparent;background:#1b1d24}
.music-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.music-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.music-link{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid #4c6596;border-radius:6px;background:#19253b;font-size:14px;color:#dbe7ff}
.music-link:hover{background:#203358;border-color:#8eb2ff;color:#fff}
.music-link span{font-size:14px}.music-link.unavailable{background:#202127;border-color:var(--line);color:var(--muted)}
@media(max-width:520px){.music-links{grid-template-columns:1fr}}
