@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');

:root {
  color-scheme:dark;
  --bg:#101112;
  --surface:#181a1b;
  --line:#303334;
  --text:#f3f2ee;
  --muted:#a9afad;
  --pink:#ff9fc4;
  --green:#b6d8ac;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:105px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.65 'DM Sans',sans-serif;
}

a {
  color:inherit;
  text-decoration:none;
}

a:focus-visible,summary:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:6px;
}

header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  max-width:1280px;
  margin:auto;
  padding:25px 48px;
  border-bottom:1px solid var(--line);
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.35;
}

.brand small {
  display:block;
  font-size:12px;
  letter-spacing:.25em;
  color:var(--muted);
  margin-top:3px;
}

.flower {
  color:var(--pink);
  font-size:36px;
  line-height:1;
}

nav {
  display:flex;
  gap:26px;
  align-items:center;
  font-size:14px;
}

nav a:hover {
  color:var(--pink);
}

.nav-cta {
  border:1px solid var(--line);
  border-radius:6px;
  padding:9px 17px;
}

main {
  max-width:1280px;
  margin:auto;
  padding:0 48px;
}

section {
  padding:86px 0;
  border-bottom:1px solid var(--line);
}

.hero {
  padding-top:65px;
  padding-bottom:26px;
}

.eyebrow {
  font-size:12px;
  letter-spacing:.13em;
  font-weight:700;
  color:var(--green);
  display:block;
}

.hero>.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
}

.hero>.eyebrow span {
  width:18px;
  height:1px;
  background:var(--green);
}

.hero-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:70px;
  align-items:center;
  margin:29px 0 62px;
}

h1,h2,h3 {
  font-family:Manrope,sans-serif;
  line-height:1.13;
  letter-spacing:-.045em;
  margin:0;
}

h1 {
  font-size:clamp(44px,5.9vw,76px);
  font-weight:800;
}

em {
  font-style:normal;
  color:var(--pink);
}

.intro {
  color:var(--muted);
  font-size:18px;
  margin:27px 0;
}

.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.button {
  display:inline-block;
  padding:12px 19px;
  border-radius:6px;
  font-size:14px;
  font-weight:700;
}

.primary {
  background:var(--pink);
  color:#181217;
}

.secondary {
  border:1px solid var(--line);
}

.button:hover {
  filter:brightness(1.12);
}

.edition {
  background:var(--surface);
  padding:29px;
  border:1px solid var(--line);
  border-top:3px solid var(--pink);
  border-radius:8px;
}

.edition-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  letter-spacing:.12em;
  color:var(--muted);
}

.edition-no {
  font-size:38px;
  font-family:Manrope;
  color:var(--pink);
}

.edition h2 {
  font-size:32px;
  margin-top:18px;
}

.edition p {
  color:var(--muted);
  margin:15px 0 23px;
}

.edition-stats {
  display:flex;
  gap:40px;
  border-bottom:1px solid var(--line);
  padding-bottom:20px;
}

.edition-stats b {
  display:block;
  font-size:30px;
  line-height:1.3;
}

.edition-stats span {
  font-size:12px;
  color:var(--muted);
}

.prize {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:21px;
  gap:10px;
}

.prize span {
  font-size:14px;
}

.prize strong {
  color:var(--green);
  font-size:28px;
  white-space:nowrap;
}

.edition small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:10px;
}

.hero-bottom {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:12px;
  gap:15px;
}

.section-head {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:65px;
  align-items:end;
  margin-bottom:35px;
}

.section-head h2 {
  font-size:clamp(28px,3.5vw,42px);
  margin-top:15px;
}

.section-head p {
  color:var(--muted);
  margin:0;
}

.series-grid,.hall-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.series-card {
  padding:30px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
}

.series-card h3 {
  font-size:29px;
  margin:18px 0;
}

.series-card p {
  color:var(--muted);
  max-width:430px;
}

.current {
  border-color:#70505d;
}

.card-footer {
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:14px;
}

.card-footer span {
  color:var(--muted);
}

.format-banner {
  display:flex;
  gap:30px;
  padding:16px 0;
  border-block:1px solid var(--line);
  font-size:12px;
  letter-spacing:.09em;
  color:var(--green);
}

.stage {
  display:grid;
  grid-template-columns:45px 1fr 125px;
  gap:24px;
  padding:36px 0;
  border-bottom:1px solid var(--line);
}

.stage:last-child {
  border:0;
}

.stage-number {
  font-size:14px;
  color:var(--muted);
  padding-top:2px;
}

.stage h3 {
  font-size:25px;
  margin:10px 0 15px;
}

.stage p {
  max-width:760px;
  color:var(--muted);
  margin:0 0 15px;
}


.stage-count b {
  display:block;
  font:600 48px/1.2 Manrope;
  color:var(--pink);
}

.stage-count span {
  font-size:12px;
  color:var(--muted);
}

.chips,.ranks {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.chips span,.ranks span {
  font-size:14px;
  padding:5px 11px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:4px;
}

.ranks span:nth-child(1) {
  color:#d8a783;
}

.ranks span:nth-child(2) {
  color:#c8d3db;
}

.ranks span:nth-child(3) {
  color:#e6ce88;
}

.ranks span:nth-child(4) {
  color:#b7d8d3;
}

.stage .note {
  font-size:14px;
  color:var(--text);
  margin:17px 0 0;
}

.nishino-challenge {
  display:flex;
  gap:25px;
  background:#1e181d;
  border-left:3px solid var(--pink);
  padding:30px;
  margin-top:20px;
  border-radius:0 8px 8px 0;
}

.nishino-challenge h3 {
  font-size:27px;
  margin:12px 0;
}

.nishino-challenge p {
  max-width:850px;
  color:var(--muted);
  margin:0;
}

.rules-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 45px;
}

.rules-grid h3 {
  font-size:20px;
}

.rules-grid p {
  color:var(--muted);
  margin:12px 0 0;
}

details {
  margin-top:34px;
  padding:19px 23px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:6px;
}

summary {
  cursor:pointer;
  font-weight:600;
}

details p {
  color:var(--muted);
}

.winner {
  padding:32px;
  border:1px solid var(--line);
  border-radius:8px;
  display:flex;
  flex-direction:column;
  background:var(--surface);
}

.winner-heading {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--green);
}

.winner h3 {
  font-size:44px;
  margin:30px 0 15px;
}

.team {
  color:var(--muted);
  font-size:14px;
}

blockquote {
  border-left:2px solid var(--pink);
  margin:20px 0;
  padding-left:18px;
  font-size:18px;
}

.winner .card-footer {
  margin-top:auto;
}

.upcoming {
  background:transparent;
}

.upcoming h3 {
  color:var(--muted);
}

.upcoming p {
  color:var(--muted);
  padding-bottom:55px;
}

.signup {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:60px;
  align-items:center;
}

.signup h2 {
  font-size:40px;
  margin:15px 0;
}

.signup p {
  color:var(--muted);
}

.signup-status {
  padding:28px;
  border:1px solid var(--line);
  border-radius:8px;
}

.signup-status>span {
  font-size:12px;
  color:var(--green);
  letter-spacing:.1em;
}

.signup-status strong {
  display:block;
  font-size:24px;
  margin:10px 0;
}

.signup-status p {
  font-size:14px;
  margin:0;
}

footer {
  max-width:1280px;
  margin:auto;
  padding:35px 48px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}

footer p,footer>span {
  font-size:12px;
  color:var(--muted);
}

@media(max-width:900px) {
  header {
    padding:22px 25px;
    align-items:flex-start;
    flex-wrap:wrap;
  }

  nav {
    flex-wrap:wrap;
    gap:16px;
  }

  main {
    padding:0 25px;
  }

  .hero-grid {
    gap:30px;
  }

  .section-head {
    gap:30px;
  }

  .edition {
    padding:23px;
  }

  .edition-stats {
    gap:20px;
  }

  .prize {
    flex-wrap:wrap;
  }

  footer {
    padding:30px 25px;
    flex-wrap:wrap;
  }

}

@media(max-width:650px) {
  section {
    padding:56px 0;
  }

  .hero {
    padding-top:37px;
  }

  .hero-grid,.section-head,.signup {
    grid-template-columns:1fr;
    gap:30px;
  }

  .hero-grid {
    margin-bottom:35px;
  }

  h1 {
    font-size:48px;
  }

  .edition {
    max-width:none;
  }

  .series-grid,.hall-grid,.rules-grid {
    grid-template-columns:1fr;
  }

  .hero-bottom {
    flex-direction:column;
    gap:3px;
  }

  .stage {
    grid-template-columns:27px 1fr;
    gap:12px;
  }

  .stage-count {
    grid-column:2;
    text-align:center;
    display:flex;
    align-items:center;
    gap:12px;
  }

  .stage-count b {
    font-size:30px;
  }

  .format-banner {
    flex-wrap:wrap;
    gap:9px 20px;
  }

  .nishino-challenge {
    padding:24px 18px;
    gap:15px;
  }

  .signup h2 {
    font-size:34px;
  }

  nav {
    font-size:14px;
  }

  .nav-cta {
    padding:4px 10px;
  }

  .upcoming p {
    padding-bottom:30px;
  }

  footer {
    align-items:flex-start;
  }

  footer p {
    margin:0;
  }

  html {
    scroll-padding-top:20px;
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

}

.champion-showcase {
  display:grid;
  grid-template-columns:1fr 1.3fr 1fr;
  gap:30px;
  align-items:center;
  padding:35px 0;
}

.champion-info h3 {
  font-size:48px;
  margin:17px 0 5px;
}

.champion-concept {
  font-size:20px;
  color:var(--pink)!important;
  margin:0 0 23px;
}

.champion-info p,.champion-team p {
  color:var(--muted);
}

.champion-info blockquote {
  font-size:17px;
}

.champion-info dl {
  margin:30px 0 0;
}

.champion-info dl div {
  padding:12px 0;
  border-top:1px solid var(--line);
}

.champion-info dt {
  font-size:12px;
  color:var(--muted);
}

.champion-info dd {
  margin:3px 0 0;
  font-size:14px;
}

.trophy {
  margin:0;
  text-align:center;
}

.trophy img {
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
  border:1px solid var(--line);
}

.trophy figcaption {
  font-size:12px;
  color:var(--muted);
  margin-top:12px;
}

.champion-team h4 {
  font:700 26px/1.25 Manrope;
  letter-spacing:-.035em;
  margin:15px 0 25px;
}

.champion-team ol {
  list-style:none;
  padding:0;
  margin:0;
}

.champion-team li {
  display:flex;
  gap:15px;
  border-top:1px solid var(--line);
  padding:18px 0;
}

.champion-team li>span {
  font-size:12px;
  color:var(--pink);
  padding-top:3px;
}

.champion-team small {
  display:block;
  color:var(--muted);
  font-size:14px;
}

.champion-team p {
  font-size:14px;
  margin-top:20px;
}

.result-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}

.result-grid h4 {
  font-size:18px;
  margin:15px 0;
}

.table-scroll {
  overflow-x:auto;
}

table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
  text-align:center;
}

th {
  color:var(--muted);
  font-weight:500;
}

th,td {
  padding:11px 8px;
  border-bottom:1px solid var(--line);
}

tbody tr:first-child {
  color:var(--green);
}

.next-champion {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
  padding:26px 0 0;
  margin-top:30px;
  border-top:1px solid var(--line);
}

.next-champion h3 {
  font-size:22px;
  margin-top:10px;
}

.next-champion>span {
  font-size:14px;
  color:var(--muted);
}

@media(max-width:900px) {
  .champion-showcase {
    grid-template-columns:1fr 1.2fr;
    gap:25px;
  }

  .champion-team {
    grid-column:1/-1;
  }

  .champion-team ol {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;
  }

  .champion-team h4 br {
    display:none;
  }

}

@media(max-width:650px) {
  .champion-showcase {
    grid-template-columns:1fr;
    padding:10px 0;
  }

  .trophy {
    grid-row:1;
    max-width:360px;
    margin:0 auto;
    width:100%;
  }

  .champion-info {
    text-align:center;
  }

  .champion-info blockquote {
    text-align:center;
  }

  .champion-team ol,.result-grid {
    grid-template-columns:1fr;
  }

  .champion-team {
    grid-column:auto;
  }

  .next-champion {
    align-items:flex-start;
    flex-direction:column;
  }

  .champion-info h3 {
    font-size:40px;
  }

}

[hidden] {
  display:none!important;
}

.hall-title {
  display:block;
  text-align:center;
}

.hall-title h2 {
  margin-top:15px;
}

.trophy-carousel {
  position:relative;
  padding:0 38px;
}

.trophy-nav {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:64px;
  border:0;
  background:transparent;
  color:var(--pink);
  font-size:52px;
  line-height:1;
  cursor:pointer;
}

.trophy-nav:hover {
  color:var(--text);
}

.trophy-nav:disabled {
  opacity:.2;
  cursor:default;
}

.previous {
  left:0;
}

.next {
  right:0;
}

.trophy-nav:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:3px;
}

.trophy-page {
  text-align:center;
  font-size:14px;
  color:var(--muted);
}

.future-trophy {
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  padding:30px;
  border-block:1px solid var(--line);
}

.future-trophy h3 {
  font-size:42px;
  margin:22px 0;
}

.future-trophy p {
  color:var(--muted);
  max-width:440px;
}

.basic-stages {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin:32px 0;
}

.basic-stages h3 {
  font-size:22px;
}

.basic-stages p {
  color:var(--muted);
}

.rules-intro {
  padding-bottom:35px;
}

.rules-intro h1 {
  font-size:48px;
  margin:18px 0;
}

.rules-intro p {
  color:var(--muted);
}

.full-rules {
  max-width:900px;
  margin:0 auto;
  padding:35px 0 70px;
}

.full-rules h2,.full-rules h3 {
  font-size:28px;
  margin:48px 0 22px;
  line-height:1.3;
}

.full-rules h4 {
  font-size:20px;
  margin:28px 0 16px;
  line-height:1.35;
}

.full-rules p {
  margin:14px 0;
  color:var(--muted);
}

.full-rules strong {
  color:var(--text);
}

.full-rules table {
  margin:20px 0;
}

.result-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:900px) {
  .result-grid {
    grid-template-columns:1fr;
  }

  .champion-showcase {
    grid-template-columns:1fr;
  }

  .trophy {
    grid-row:1;
    max-width:390px;
    margin:auto;
  }

  .champion-info {
    text-align:center;
  }

  .champion-team ol {
    grid-template-columns:1fr;
  }

  .champion-info blockquote {
    text-align:center;
  }

}

@media(max-width:650px) {
  .basic-stages {
    grid-template-columns:1fr;
  }

  .trophy-carousel {
    padding:0 24px;
  }

  .trophy-nav {
    width:24px;
    font-size:40px;
  }

  .future-trophy {
    min-height:460px;
  }

  .rules-intro h1 {
    font-size:36px;
  }

}

/* Larger lateral trophy controls, with a separate gutter from the text. */
.trophy-carousel {
  padding:0 90px;
}

.trophy-nav {
  width:100px;
  height:320px;
  font-size:260px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial,sans-serif;
  font-weight:200;
}

.previous {
  left:-40px;
}

.next {
  right:-40px;
}

.trophy-nav:disabled {
  opacity:.17;
}

.score-example {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:25px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
}

.score-example>div>span {
  color:var(--green);
  font-size:12px;
  letter-spacing:.1em;
}

.score-example h4 {
  margin:12px 0!important;
}

.score-example p {
  margin:0!important;
}

.versus {
  color:var(--pink);
  font-size:18px;
  font-weight:700;
}

@media(max-width:900px) {
  .trophy-carousel {
    padding:0 65px;
  }

  .trophy-nav {
    width:70px;
    font-size:200px;
    height:300px;
  }

  .previous {
    left:-25px;
  }

  .next {
    right:-25px;
  }

}

@media(max-width:650px) {
  .trophy-carousel {
    padding:0 40px;
  }

  .trophy-nav {
    width:44px;
    font-size:200px;
    height:320px;
    overflow:hidden;
  }

  .previous {
    left:-17px;
  }

  .next {
    right:-17px;
  }

  .score-example {
    grid-template-columns:1fr;
    gap:14px;
  }

  .versus {
    text-align:center;
  }

}

.series-dropdown {
  position:relative;
}

.series-toggle {
  font:inherit;
  color:var(--text);
  border:0;
  background:transparent;
  padding:9px 0;
  cursor:pointer;
}

.series-toggle:hover,.series-toggle[aria-expanded=true] {
  color:var(--pink);
}

.series-toggle:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:5px;
}

.series-menu {
  position:absolute;
  top:calc(100% + 8px);
  left:-14px;
  min-width:205px;
  padding:8px;
  background:#1b1d1e;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 14px 35px #0007;
  z-index:10;
}

.series-menu a {
  display:block;
  padding:12px;
  border-radius:5px;
}

.series-menu a:hover {
  background:#292326;
}

.series-menu strong {
  display:block;
  font-size:14px;
}

.series-menu span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:3px;
}

.area-intro h1 {
  font-size:clamp(36px,5vw,58px);
  margin:20px 0;
}

.area-intro>p,.catalog-note {
  color:var(--muted);
}

.area-tools {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:35px;
}

.area-tool {
  padding:26px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
}

.area-tool h3 {
  font-size:24px;
}

.area-tool p {
  color:var(--muted);
}

.area-tool span {
  font-size:14px;
  color:var(--pink);
}

.future-tool span {
  color:var(--muted);
}

.catalog-controls {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:18px;
}

.catalog-controls label {
  font-size:14px;
  color:var(--muted);
}

.catalog-controls input,.catalog-controls select {
  display:block;
  width:100%;
  margin-top:7px;
  padding:12px;
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:6px;
  font:inherit;
}

.catalog-controls input:focus,.catalog-controls select:focus {
  outline:2px solid var(--pink);
}

.catalog-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px 17px;
  margin:28px 0;
}

.catalog-item img {
  width:100%;
  height:210px;
  object-fit:contain;
  background:var(--surface);
  border-radius:7px;
}

.catalog-item h3 {
  font:600 14px/1.4 'DM Sans',sans-serif;
  letter-spacing:0;
  margin:10px 0 4px;
}

.catalog-item p,.catalog-note {
  font-size:12px;
  line-height:1.5;
}

.catalog-item p {
  color:var(--muted);
  margin:0;
}

.catalog-controls select:disabled {
  opacity:.4;
}

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

  nav {
    gap:14px;
  }

}

@media(max-width:650px) {
  .area-tools,.catalog-controls {
    grid-template-columns:1fr;
  }

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

  .catalog-item img {
    height:220px;
  }

}

.planner-main {
  max-width:1450px;
}

.planner-intro {
  padding:44px 0 28px;
}

.planner-intro h1 {
  font-size:clamp(32px,4vw,48px);
  margin:12px 0;
}

.planner-intro>p {
  color:var(--muted);
}

.planner-toolbar {
  display:flex;
  gap:14px;
  align-items:end;
  flex-wrap:wrap;
}

.planner-toolbar label {
  font-size:14px;
  color:var(--muted);
}

.planner-toolbar input,.planner-toolbar select {
  display:block;
  margin-top:6px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
}

.planner-toolbar .import-label {
  color:var(--text);
  cursor:pointer;
}

.save-status {
  font-size:14px;
}

.events-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin:28px 0;
}

.event-plan {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  padding:15px;
  min-width:0;
}

.event-plan-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.event-plan-head h2 {
  font-size:20px;
  letter-spacing:-.02em;
}

.event-plan-head>span {
  font-size:12px;
  color:var(--muted);
}

.event-track {
  font-size:12px;
  color:var(--green);
  line-height:1.5;
  min-height:36px;
}

.uma-deck {
  margin-top:12px;
}

.uma-row-label {
  font-size:12px;
  color:var(--muted);
}

.six-cards {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
  margin-top:5px;
}

.plan-slot {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  height:105px;
  border:1px solid var(--line);
  border-radius:4px;
  padding:0;
  background:#101112;
  color:var(--muted);
  cursor:pointer;
  overflow:hidden;
}

.plan-slot img {
  width:100%;
  height:100%;
  object-fit:contain;
}

.plan-slot:has(img) .slot-name {
  display:none;
}

.plan-slot:hover {
  border-color:var(--pink);
}

.plan-slot:focus-visible {
  outline:2px solid var(--pink);
}

.borrow-slot {
  border-color:#657050;
}

.empty-slot {
  font-size:24px;
}

.attribute-card {
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid #647861;
  background:linear-gradient(145deg,#26382b,#111b15);
  color:var(--green);
  width:100%;
  height:100%;
  font-size:clamp(10px,1.2vw,18px);
  font-weight:700;
}

.planned-team {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:14px;
}

.planned-uma .plan-slot {
  height:100px;
}

.planned-uma .empty-slot {
  font-size:12px;
}

.planned-uma select {
  width:100%;
  font:inherit;
  font-size:14px;
  background:#101112;
  color:var(--text);
  border:1px solid var(--line);
  padding:6px;
  margin-top:6px;
  border-radius:4px;
}

.plan-memo {
  width:100%;
  min-height:70px;
  resize:vertical;
  background:#101112;
  color:var(--text);
  border:1px solid var(--line);
  font:inherit;
  font-size:14px;
  padding:9px;
  margin-top:13px;
  border-radius:4px;
}

.picker {
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:10px;
  width:min(1000px,94vw);
  max-height:88vh;
  padding:24px;
}

.picker::backdrop {
  background:#000b;
}

.picker-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}

.picker-head h2 {
  font-size:28px;
  margin-top:9px;
}

.picker-head button {
  font-size:30px;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  padding:8px;
}

.picker-filters {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.picker-filters input,.picker-filters select {
  padding:10px;
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:5px;
  font:inherit;
  font-size:14px;
}

.picker-items {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin:24px 0;
}

.picker-item {
  padding:8px;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  min-width:0;
  text-align:center;
}

.picker-item:hover {
  border-color:var(--pink);
}

.picker-item img {
  width:100%;
  height:150px;
  object-fit:contain;
}

.picker-item strong {
  display:block;
  font-size:14px;
  line-height:1.4;
  margin:8px 0;
}

.picker-item small {
  font-size:12px;
  color:var(--muted);
}

.picker-item .attribute-card {
  height:150px;
}

.picker-item:focus-visible {
  outline:2px solid var(--pink);
}

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

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

}

@media(max-width:650px) {
  .events-grid {
    grid-template-columns:1fr;
  }

  .picker {
    padding:16px;
  }

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

  .picker-item img {
    height:110px;
  }

  .plan-slot {
    height:95px;
  }

  .picker-filters input {
    width:100%;
  }

}

header {
  gap:28px;
}

.tools-nav {
  margin-left:12px;
  gap:22px;
  flex-shrink:0;
}

.main-nav {
  margin-left:auto;
  gap:22px;
}

.tools-nav a[aria-current=page] {
  color:var(--pink);
}

.back-to-top {
  position:fixed;
  bottom:26px;
  right:26px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid #d47c9f;
  background:var(--pink);
  color:#171015;
  font-size:27px;
  cursor:pointer;
  box-shadow:0 5px 20px #0005;
}

.back-to-top:focus-visible {
  outline:2px solid var(--text);
  outline-offset:4px;
}

.back-to-top:hover {
  filter:brightness(1.1);
}

@media(max-width:1100px) {
  header {
    flex-wrap:wrap;
    gap:20px;
  }

  .tools-nav {
    margin-left:0;
  }

  .main-nav {
    gap:16px;
  }

}

@media(max-width:650px) {
  .main-nav {
    margin-left:0;
    width:100%;
  }

  .tools-nav {
    gap:18px;
    margin-left:0;
  }

  .back-to-top {
    width:48px;
    height:48px;
    right:16px;
    bottom:16px;
  }

}

.card-filter-panel {
  flex-basis:100%;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:4px;
}

.card-filter-panel[hidden] {
  display:none;
}

.card-filter-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.card-filter {
  min-height:48px;
  min-width:58px;
  padding:9px 12px;
  background:#17191b;
  color:#899097;
  border:1px solid var(--line);
  border-radius:7px;
  font:600 14px/1.2 sans-serif;
  cursor:pointer;
  transition:background .15s,color .15s,box-shadow .15s;
}

.attribute-filter {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
}

.filter-icon {
  font-size:24px;
  line-height:1;
}

.card-filter[aria-pressed="true"] {
  background:#372332;
  border-color:var(--pink);
  color:#ffe3ef;
  box-shadow:0 0 12px #f49ac033;
}

.attribute-filter[aria-pressed="true"] .filter-icon {
  color:var(--pink);
  text-shadow:0 0 9px #f49ac077;
}

.card-filter:hover {
  border-color:var(--pink);
  color:var(--text);
}

.card-filter:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:3px;
}

.real-attribute {
  display:inline-block;
  flex-shrink:0;
  width:34px;
  height:34px;
  background-image:url(assets/icons/attributes.png);
  background-repeat:no-repeat;
  background-size:306px 62px;
  border-radius:7px;
  vertical-align:middle;
}

.icon-Speed {
  background-position:-18px -13px;
}

.icon-Stamina {
  background-position:-59px -13px;
}

.icon-Power {
  background-position:-99px -13px;
}

.icon-Guts {
  background-position:-139px -13px;
}

.icon-Wit {
  background-position:-179px -13px;
}

.icon-Friend {
  background-position:-219px -13px;
}

.icon-Group {
  background-position:-259px -13px;
}

.attribute-filter .real-attribute {
  filter:grayscale(1);
  opacity:.55;
}

.attribute-filter[aria-pressed="true"] .real-attribute {
  filter:none;
  opacity:1;
  box-shadow:0 0 10px #f49ac066;
}

.plan-slot {
  position:relative;
}

.slot-attribute {
  position:absolute;
  top:3px;
  right:3px;
  transform:scale(.6);
  transform-origin:top right;
  pointer-events:none;
  box-shadow:0 0 0 2px #111;
}

.attribute-card {
  flex-direction:column;
  gap:9px;
}

.strategy-row {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
}

.strategy-icon {
  width:28px;
  height:28px;
  object-fit:contain;
}

.strategy-icon[hidden] {
  display:none;
}

.strategy-row select {
  margin-top:0;
  min-width:0;
  flex:1;
}

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

.plan-slot {
  height:138px;
}

.planned-uma .plan-slot {
  height:130px;
}

@media(max-width:800px) {
  .events-grid {
    grid-template-columns:1fr;
  }

}

@media(max-width:450px) {
  .plan-slot {
    height:100px;
  }

  .planned-uma .plan-slot {
    height:105px;
  }

  .slot-attribute {
    transform:scale(.5);
  }

  .strategy-icon {
    width:24px;
    height:24px;
  }

  .strategy-row {
    gap:3px;
  }

}

.picker-item {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.picker-item>img {
  display:block;
  flex:none;
  height:170px;
  object-fit:contain;
  object-position:center top;
}

.picker-item strong {
  margin:14px 0 6px;
  min-height:40px;
}

.picker-item small {
  margin-top:auto;
}

.real-attribute {
  background-size:contain!important;
  background-position:center!important;
  background-color:transparent;
  width:41px;
  height:41px;
  border-radius:0;
}

.attribute-filter .real-attribute,.attribute-filter[aria-pressed="true"] .real-attribute {
  filter:none;
  opacity:1;
  box-shadow:none;
}

.slot-attribute {
  transform:scale(.6);
  box-shadow:none;
}

.strategy-icon {
  position:absolute;
  top:3px;
  right:3px;
  width:34px;
  height:34px;
  pointer-events:none;
}

.strategy-row {
  display:block;
}

.strategy-row select {
  width:100%;
}

@media(max-width:650px) {
  .picker-item>img {
    height:130px;
  }

}

@media(max-width:450px) {
  .slot-attribute {
    transform:scale(.6);
  }

  .strategy-icon {
    width:29px;
    height:29px;
  }

}

.icon-Speed {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_00.png);
}

.icon-Stamina {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_01.png);
}

.icon-Power {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_02.png);
}

.icon-Guts {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_03.png);
}

.icon-Wit {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_04.png);
}

.icon-Friend {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_05.png);
}

.icon-Group {
  background-image:url(https://gametora.com/images/umamusume/icons/utx_ico_obtain_06.png);
}

.plan-slot>img:not(.strategy-icon) {
  width:100%;
  height:100%;
  object-fit:contain;
}

.planned-uma .plan-slot>img.strategy-icon {
  position:absolute;
  top:3px;
  right:3px;
  width:34px;
  height:34px;
  max-width:34px;
  max-height:34px;
  object-fit:contain;
  flex:none;
  z-index:2;
}

.planned-uma .plan-slot>img.strategy-icon[hidden] {
  display:none;
}

@media(max-width:450px) {
  .planned-uma .plan-slot>img.strategy-icon {
    width:29px;
    height:29px;
    max-width:29px;
    max-height:29px;
  }

}

.attribute-filter {
  width:78px;
  height:82px;
  min-width:78px;
  flex:0 0 78px;
  padding:8px 6px;
  box-sizing:border-box;
}

.copy-team {
  font-size:14px;
  padding:8px 10px;
  white-space:nowrap;
}

.compact-filter {
  min-width:0;
  min-height:40px;
  padding:8px 10px;
  font-size:14px;
}

.card-filter-panel {
  flex-direction:column;
}

.planner-toolbar {
  gap:12px;
}

@media(max-width:650px) {
  header {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:22px 16px;
    gap:18px;
  }

  header>.brand {
    justify-content:center;
    text-align:center;
  }

  .tools-nav {
    width:100%;
    justify-content:center;
    margin:0;
    gap:24px;
  }

  .main-nav {
    display:grid;
    grid-template-columns:repeat(3,max-content);
    justify-content:center;
    align-items:center;
    gap:12px 16px;
    width:100%;
    margin:0;
    font-size:14px;
  }

  .main-nav .nav-cta {
    grid-column:1/-1;
    justify-self:center;
  }

  .planner-intro {
    padding:28px 0 20px;
    text-align:center;
  }

  .planner-intro h1 {
    font-size:30px;
    line-height:1.2;
  }

  .planner-intro .eyebrow {
    font-size:12px;
  }

  .planner-toolbar {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
    text-align:center;
  }

  .planner-toolbar label {
    min-width:0;
  }

  .planner-toolbar input,.planner-toolbar select {
    width:100%;
    min-width:0;
  }

  .planner-toolbar .button {
    text-align:center;
    justify-content:center;
  }

  .picker-filters {
    display:grid;
    grid-template-columns:1fr;
  }

  .card-filter-panel {
    width:100%;
    gap:12px;
  }

  .card-filter-row[aria-label="Tipo de carta"] {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
  }

  .attribute-filter {
    width:100%;
    min-width:0;
    height:75px;
    padding:7px 2px;
    flex:unset;
    font-size:12px;
  }

  .attribute-filter .real-attribute {
    width:35px;
    height:35px;
  }

  .card-filter-row[aria-label="Raridade"] {
    gap:7px;
  }

  .compact-filter {
    font-size:13px;
  }

  .picker-head h2 {
    font-size:24px;
  }

  .series-menu {
    left:50%;
    transform:translateX(-50%);
  }

}

@media(max-width:360px) {
  .main-nav {
    gap:12px 9px;
    font-size:13px;
  }

}

.picker-usage-note {
  font-size:14px;
  color:var(--muted);
  margin:16px 0 0;
}

.carat-toggle {
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  padding:5px;
  cursor:pointer;
}

.carat-toggle img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.45;
}

.carat-toggle[aria-pressed=true] {
  border-color:var(--pink);
  box-shadow:0 0 12px #f49ac044;
}

.carat-toggle[aria-pressed=true] img {
  filter:none;
  opacity:1;
}

.carat-toggle:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:3px;
}

.nishino-filter-guide {
  position:relative;
  width:180px;
  height:180px;
  margin:18px 0 0;
}

.nishino-guide-image {
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:8px;
}

.nishino-filter-guide .carat-toggle {
  position:absolute;
  left:2px;
  top:0;
  width:44px;
  height:44px;
}

.picker-filters .carat-toggle {
  align-self:center;
}

.picker-filters {
  align-items:center;
}

@media(max-width:650px) {
  .nishino-filter-guide {
    margin:18px auto 0;
  }

  .picker-filters {
    grid-template-columns:1fr auto;
  }

  .picker-card-filters {
    grid-column:1/-1;
  }

  .picker-filters>input {
    grid-column:1/-1;
  }

  .picker-filters>#clear-slot {
    justify-self:start;
  }

}

.picker {
  box-sizing:border-box;
  max-width:calc(100vw - 24px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:auto;
}

.picker-head,.picker-filters,.picker-items {
  min-width:0;
  max-width:100%;
}

.picker-head>div {
  min-width:0;
}

.picker-head h2 {
  overflow-wrap:anywhere;
}

.picker-filters {
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.picker-filters>input {
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

.picker-rarity-row {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  width:100%;
}

.picker-rarity-row [hidden] {
  display:none;
}

.picker-card-filters {
  width:100%;
  min-width:0;
}

.card-filter-panel {
  align-items:center;
}

.card-filter-row[aria-label="Tipo de carta"] {
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:8px;
  width:min(100%,480px);
  justify-items:center;
}

.card-filter-row[aria-label="Tipo de carta"] .attribute-filter {
  grid-column:span 2;
  width:100%;
  min-width:0;
  max-width:88px;
  flex:unset;
}

.card-filter-row[aria-label="Tipo de carta"] .attribute-filter:nth-child(6) {
  grid-column:4 / span 2;
}

.card-filter-row[aria-label="Tipo de carta"] .attribute-filter:nth-child(7) {
  grid-column:6 / span 2;
}

.picker-filters>#clear-slot {
  align-self:center;
  justify-self:center;
}

.picker-items {
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.picker-item {
  overflow:hidden;
  overflow-wrap:anywhere;
  min-width:0;
}

.carat-explanation {
  max-width:550px;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  margin:16px 0 30px;
}

.planner-intro .save-status {
  margin-top:30px;
}

@media(max-width:1100px) {
  .picker-items {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

}

@media(max-width:650px) {
  .picker {
    width:calc(100vw - 24px);
    padding:14px;
  }

  .picker-items {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .card-filter-row[aria-label="Tipo de carta"] {
    gap:5px;
  }

  .attribute-filter {
    font-size:12px;
    height:72px;
    padding:6px 2px;
  }

  .attribute-filter .real-attribute {
    width:32px;
    height:32px;
  }

  .carat-explanation {
    margin:16px auto 30px;
  }

  .picker-filters>#clear-slot {
    align-self:center;
  }

  .picker-rarity-row .card-filter {
    min-width:58px;
  }

}

.portrait-unavailable {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  font-size:12px;
  color:var(--muted);
  text-align:center;
}

.picker-item>img[hidden],.plan-slot>img[hidden] {
  display:none;
}

/* Center every line of picker labels without shifting portrait alignment. */
.picker-item {
  text-align:center;
}

.picker-item strong,.picker-item small {
  width:100%;
  text-align:center;
  overflow-wrap:anywhere;
}

.plan-slot .slot-name {
  text-align:center;
  width:100%;
}

/* Planner footer stays centered; the floating back-to-top control retains its position. */
body:has(.planner-main) footer {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:24px;
}

body:has(.planner-main) footer .brand {
  justify-content:center;
}

.catalog-note {
  text-align:center;
}

.planner-main>#more-events {
  display:block;
  margin:28px auto;
}

.planner-main>#more-events[hidden] {
  display:none;
}

.save-status:empty {
  display:none;
}

body[data-planner="team-trials"] .planner-toolbar {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}

.team-recognition {
  width:min(1100px,calc(100vw - 24px));
  text-align:center;
}

.team-recognition .picker-head {
  align-items:center;
}

.team-recognition h2 {
  font-size:clamp(24px,4vw,32px);
}

.team-recognition p {
  font-size:14px;
}

.recognition-preview {
  display:block;
  width:100%;
  max-width:690px;
  height:auto;
  margin:18px auto;
  border-radius:10px;
}

.recognition-controls {
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  margin:20px 0;
}

.recognition-controls label {
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:180px;
}

.recognition-results {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}

.recognition-category {
  min-width:0;
}

.recognition-category h3 {
  color:#b6d7a8;
}

.recognition-entry {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:12px 8px;
  border:1px solid #36393b;
  border-radius:10px;
  margin:12px 0;
  min-width:0;
}

.recognition-entry canvas {
  width:100%;
  max-width:130px;
  height:auto;
}

.recognition-entry select {
  width:100%;
  min-width:0;
  padding:10px 5px;
  font-size:14px;
}

.recognition-confidence {
  min-height:40px;
  margin:0!important;
  overflow-wrap:anywhere;
}

.team-recognition>button {
  margin:12px auto;
}

.team-recognition>button[hidden] {
  display:none;
}

@media(max-width:700px) {
  .recognition-results {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .recognition-category:last-child {
    grid-column:1/-1;
    max-width:300px;
    width:100%;
    justify-self:center;
  }

  .recognition-controls {
    gap:10px;
  }

  .recognition-controls label {
    min-width:0;
    width:45%;
  }

}

/* Team Trials lion mode is intentionally scoped away from CM and LoH. */
body[data-planner="team-trials"] .carat-toggle[aria-pressed="true"] {
  border-color:#ff777b;
  background:#472529;
  box-shadow:0 0 18px #ef4e5d33;
}

body[data-planner="team-trials"] .carat-toggle[aria-pressed="true"] img {
  filter:sepia(.35) saturate(2) hue-rotate(285deg);
}

body[data-planner="team-trials"] .carat-toggle[aria-pressed="false"] img {
  filter:grayscale(1);
  opacity:.5;
}

.tt-lion-control {
  max-width:700px;
  margin:32px auto;
  text-align:center;
}

.tt-guide-image {
  position:relative;
  width:min(260px,75vw);
  margin:auto;
}

.tt-guide-image>img {
  display:block;
  width:100%;
  aspect-ratio:63 / 64;
  object-fit:contain;
  border-radius:12px;
}

.tt-guide-image .carat-toggle {
  position:absolute;
  top:0;
  left:0;
  width:64px;
  height:64px;
}

.tt-guide-image .carat-toggle img {
  width:46px;
  height:46px;
  object-fit:contain;
}

.tt-lion-description {
  color:#ff979b;
  font-weight:700;
}

.tt-scenario-label {
  display:grid;
  gap:12px;
  max-width:440px;
  margin:28px auto 16px;
  text-align:center;
}

.tt-scenario-label select {
  width:100%;
  min-width:0;
  padding:12px;
  border:1px solid #624044;
  border-radius:12px;
  background:#1a1b1d;
  color:#f3f0ed;
  font:inherit;
}

.tt-reference {
  font-size:.86rem;
  color:#bdb9b8;
  line-height:1.6;
}

.tt-reference p {
  margin:8px 0;
}

.tt-source-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  justify-content:center;
}

.tt-source-links a {
  color:#f9a6aa;
}

.tt-assessment {
  margin:40px auto;
  padding:28px;
  border:1px solid #624044;
  border-radius:20px;
  text-align:center;
  max-width:1200px;
}

.tt-assessment h2 {
  margin:12px 0;
  font-size:clamp(1.6rem,5vw,2.7rem);
}

.tt-assessment-stats {
  display:grid;
  gap:8px;
}

.tt-assessment-stats>strong {
  font-size:2.5rem;
  color:#ff969c;
}

.tt-assessment-stats>span {
  color:#bab7b5;
}

.tt-assessment-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}

.tt-assessment-grid section {
  padding:14px;
  border:1px solid #323336;
  border-radius:12px;
  min-width:0;
}

.tt-assessment-grid strong,.tt-assessment-grid small {
  display:block;
  overflow-wrap:anywhere;
}

.tt-assessment-grid strong {
  margin-top:16px;
  font-size:.94rem;
}

.tt-assessment-grid small {
  font-size:.78rem;
  color:#bab7b5;
  margin:7px 0;
  line-height:1.5;
}

.tt-assessment details {
  font-size:.84rem;
  line-height:1.65;
  color:#bab7b5;
  max-width:850px;
  margin:auto;
}

.tt-assessment summary {
  cursor:pointer;
  color:#f6b2b5;
}

.tt-coverage-warning {
  color:#ffd0b0;
}

.tt-item-reference {
  line-height:1.4;
  font-size:.75rem;
  color:#eea9ad;
  min-height:2.8em;
}

.tt-reference .muted {
  color:#aaa;
}

@media(max-width:800px) {
  .tt-assessment-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tt-assessment-grid section:last-child {
    grid-column:1/-1;
  }

  .tt-assessment {
    padding:18px;
  }

  .tt-scenario-label {
    max-width:100%;
  }

  .tt-lion-control>p {
    font-size:.9rem;
  }

  .tt-lion-control {
    margin:24px auto;
  }

}

/* Compact TT controls; CM/LoH layout and filter remain independent. */
body[data-planner="team-trials"] #tt-scenario {
  display:none!important;
}

.tt-scenario-picker {
  position:relative;
  width:min(100%,340px);
  margin:0 auto;
}

#tt-scenario-button,.tt-scenario-options button {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:1.3;
  width:100%;
  padding:8px 12px;
  text-align:center;
  min-height:46px;
}

#tt-scenario-button img,.tt-scenario-options img {
  width:34px;
  height:34px;
  object-fit:contain;
  flex:none;
}

#tt-scenario-button span:last-child {
  margin-left:auto;
}

.tt-scenario-options {
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  max-height:340px;
  overflow-y:auto;
  background:#181a1b;
  border:1px solid #444;
  border-radius:12px;
  z-index:20;
}

.tt-scenario-options[hidden] {
  display:none;
}

.tt-scenario-options button {
  border:0;
  border-radius:0;
  background:transparent;
}

.tt-scenario-options button[aria-pressed="true"] {
  background:#452e3b;
}

body[data-planner="team-trials"] .tt-item-reference {
  font-size:11px!important;
  line-height:1.35;
  min-height:0!important;
  margin-top:4px;
}

body[data-planner="team-trials"] .picker-item strong {
  font-size:14px!important;
  line-height:1.35;
}

body[data-planner="team-trials"] .picker-usage-note,body[data-planner="team-trials"] .tt-reference p {
  font-size:13px;
  line-height:1.5;
}

.team-recognition {
  max-width:760px;
  width:calc(100% - 24px);
  box-sizing:border-box;
  overflow-x:hidden;
  padding:20px;
}

.team-recognition h2 {
  font-size:22px!important;
}

.team-recognition p {
  font-size:13px!important;
  line-height:1.5;
}

.team-recognition .recognition-controls {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.recognition-controls label {
  font-size:13px;
  min-width:0;
}

.recognition-controls input {
  width:100%;
  min-width:0;
}

.recognition-choice {
  width:100%;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1.3;
  padding:6px;
  min-width:0;
}

.recognition-choice img {
  width:34px;
  height:34px;
  object-fit:contain;
}

.recognition-choice span {
  overflow-wrap:anywhere;
}

.tt-recognition-chooser {
  background:#101214;
  color:#f4f2ef;
  border:1px solid #444;
  border-radius:16px;
  width:min(660px,calc(100% - 24px));
  max-height:85dvh;
  box-sizing:border-box;
  padding:16px;
  overflow:auto;
}

.tt-recognition-chooser input {
  width:100%;
  box-sizing:border-box;
  font-size:14px;
}

.tt-mini-roster {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.tt-mini-roster button {
  min-width:0;
  padding:6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}

.tt-mini-roster img {
  width:54px;
  height:54px;
  object-fit:contain;
}

.tt-mini-roster span {
  font-size:11px;
  line-height:1.3;
  text-align:center;
  overflow-wrap:anywhere;
}

.team-recognition .recognition-entry select {
  font-size:12px!important;
  padding:6px;
  min-width:0;
  width:100%;
}

.team-recognition .recognition-entry strong {
  font-size:13px;
}

@media(max-width:480px) {
  .team-recognition {
    padding:16px;
  }

  .tt-mini-roster {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .recognition-results {
    gap:10px;
  }

  .recognition-category {
    min-width:0;
  }

}

.team-recognition .recognition-controls label {
  width:100%;
  min-width:0;
}

.tt-scenario-label {
  font-size:13px!important;
}

.tt-scenario-options button:hover {
  background:#30242b;
}

/* Shared planner controls: the same dimensions for native buttons and upload labels. */
body:has(.planner-main) .planner-toolbar {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:end;
  width:100%;
  max-width:680px;
  margin-inline:auto;
}

.planner-toolbar>label:not(.button) {
  display:grid;
  gap:7px;
  margin:0;
  font-size:14px;
  line-height:1.3;
  align-self:stretch;
}

.planner-toolbar input,.planner-toolbar select {
  margin-top:0;
  height:48px;
  padding:10px 12px;
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  width:100%;
  min-width:0;
}

.planner-toolbar>.button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:6px;
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  text-align:center;
  box-sizing:border-box;
}

.planner-toolbar input[hidden],.planner-toolbar>[hidden] {
  display:none!important;
}

body[data-planner="team-trials"] .planner-toolbar>.import-label:has(#team-screenshot-input) {
  grid-column:1/-1;
  justify-self:center;
}

/* Recognition review: equal rows regardless of name length or confidence. */
.team-recognition {
  max-height:calc(100dvh - 32px);
  margin:auto;
  overflow-y:auto;
}

.team-recognition .recognition-results {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}

.team-recognition .recognition-category {
  padding:0;
  border:0;
  display:grid;
  grid-template-rows:32px repeat(3,auto);
  gap:12px;
  align-content:start;
  min-width:0;
}

.team-recognition .recognition-category h3 {
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  margin:0;
}

.team-recognition .recognition-entry {
  margin:0;
  padding:12px 8px;
  display:grid;
  grid-template-rows:22px auto 40px 70px 40px;
  gap:8px;
  align-items:center;
  justify-items:stretch;
  min-width:0;
}

.team-recognition .recognition-entry canvas {
  aspect-ratio:13/14;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}

.team-recognition .recognition-entry strong {
  text-align:center;
  line-height:22px;
}

.team-recognition .recognition-confidence {
  height:40px;
  min-height:40px;
  overflow:auto;
  line-height:1.4;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px!important;
}

.team-recognition .recognition-choice {
  height:70px;
  min-height:70px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:5px;
  font-family:inherit;
  line-height:1.3;
  font-size:12px;
}

.team-recognition .recognition-choice:not(:has(img)) {
  grid-template-columns:1fr;
}

.team-recognition .recognition-entry select {
  height:40px;
  margin:0;
  font-family:inherit;
  line-height:1.3;
}

.tt-mini-roster button {
  display:grid;
  grid-template-rows:54px 48px;
  justify-items:center;
  align-items:start;
}

.tt-mini-roster span {
  height:48px;
  line-height:1.35;
  overflow:auto;
  font-size:12px;
}

@media(max-width:700px) {
  .team-recognition .recognition-results {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .team-recognition .recognition-category:last-child {
    grid-column:1/-1;
    width:calc((100% - 12px)/2);
    max-width:none;
    justify-self:center;
  }

  .team-recognition .recognition-entry {
    grid-template-rows:22px auto 40px 70px 40px;
  }

}

/* Centered presentation while preserving race-table readability and the scroll-up control. */
.hero,.section-head,.series-card,.edition,.champion-info,.champion-team,.next-champion,.signup,.signup-status,.rules-grid,.stage,.nishino-challenge,.hero-bottom {
  text-align:center;
}

.hero>.eyebrow,.actions,.edition-top,.edition-stats,.prize,.hero-bottom,.card-footer,.format-banner,.chips,.ranks,.champion-team li,.next-champion {
  justify-content:center;
}

.hero>.eyebrow {
  max-width:100%;
  margin-inline:auto;
}

.hero>.eyebrow span {
  display:none;
}

.intro,.series-card p,.stage p,.nishino-challenge p {
  margin-left:auto;
  margin-right:auto;
}

.champion-info blockquote {
  text-align:center;
}

.stage-count {
  text-align:center;
}

.planner-toolbar>label:not(.button) {
  text-align:center;
}

.event-plan-head h2,.event-track,.uma-row-label {
  text-align:center;
}

.uma-row-label {
  display:block;
}

.event-plan-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

.event-plan-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.section-reset {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  padding:0;
  border:1px solid var(--line);
  border-radius:6px;
  background:transparent;
  color:var(--pink);
  font:28px/1 Arial,sans-serif;
  cursor:pointer;
}

.section-reset:focus-visible {
  outline:2px solid var(--pink);
  outline-offset:3px;
}

.reset-feedback {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
  font-size:14px;
}

.reset-feedback .button {
  padding:6px 12px;
  font-family:inherit;
}

.carat-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.carat-toggle img {
  display:block;
  flex:none;
  margin:0;
  vertical-align:middle;
}

@media(max-width:650px) {
  .hero-grid .actions {
    align-items:center;
  }

  .hero-grid .actions .button {
    min-width:220px;
  }

  .stage-count {
    justify-content:center;
  }

  .event-plan-head {
    gap:8px;
  }

  .copy-team {
    font-size:12px;
    padding:8px;
  }

  .event-plan-actions {
    gap:5px;
  }

}

/* Final alignment exceptions: event headings and track conditions stay left. */
.basic-stages,.basic-stages article,section:has(>.basic-stages) {
  text-align:center;
}

.basic-stages p {
  margin-inline:auto;
}

footer {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

footer .brand {
  justify-content:center;
}

footer p,footer>span {
  text-align:center;
}

.event-plan-head h2,.event-track {
  text-align:center;
}

.event-plan-head h2 {
  justify-self:start;
}

.event-plan-actions .copy-team {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  min-width:38px;
  flex:0 0 38px;
  padding:0;
  border:1px solid var(--line);
  border-radius:6px;
  line-height:1;
  font-size:22px;
  font-family:inherit;
}

.copy-team svg {
  display:block;
  width:22px;
  height:22px;
}

/* Site default: every page and new component inherits centered content.
   Only event/distance titles and their track conditions use left alignment. */
body {
  text-align:center;
}

button,input,select,textarea {
  text-align:center;
}

main ul,main ol {
  list-style-position:inside;
}

.next-champion {
  align-items:center;
}

#tt-scenario-button,.tt-scenario-options button {
  justify-content:center;
}

.event-plan-title {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-width:0;
}

.event-plan-title h2 {
  margin:0;
  min-width:0;
}

.event-plan-head h2,.event-track {
  text-align:left;
}

@media(max-width:650px) {
  .event-plan-title {
    gap:8px;
  }

}

/* Dominator decks keep their saved choices, but cannot be edited while sealed. */
.dominator-deck .sealed-slot {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  opacity:1;
  cursor:not-allowed;
  border-color:#663c88;
  background:radial-gradient(ellipse at 50% 75%,#422058 0%,#1d1127 55%,#0e0a12 100%);
  box-shadow:inset 0 0 16px #7c25bc33,0 0 7px #7124a629;
}

.sealed-slot>img,.sealed-slot>.slot-name,.sealed-slot>.slot-attribute,.sealed-slot>.attribute-card {
  opacity:.14;
  filter:grayscale(.8) brightness(.5);
}

.sealed-slot>.empty-slot {
  visibility:hidden;
}

.deck-lock {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#c7a0e6;
  background:linear-gradient(150deg,#6d1c9a18,#10091b88);
  z-index:2;
}

.deck-lock svg {
  width:22px;
  height:22px;
  filter:drop-shadow(0 0 6px #b54aff99);
}

.sealed-deck-note {
  display:block;
  text-align:center;
  margin-top:5px;
  font-size:12px;
  color:#c7a0e6;
}


/* Center the guide at every viewport; keep the Carat anchored to its image. */
.nishino-filter-guide{margin:18px auto 0}
.carat-explanation{margin-inline:auto;text-align:center}
/* Centered picker headings, with independent close and slot navigation controls. */
#picker .picker-head{position:relative;justify-content:center;padding-inline:42px;align-items:center}
#picker .picker-head>div{width:100%;text-align:center}
#picker #picker-close{position:absolute;right:0;top:0}
#picker .picker-slot-navigation{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}
#picker .picker-slot-navigation h2{margin:0;font-size:clamp(20px,3vw,28px);text-align:center}
#picker .picker-slot-arrow{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:1px solid var(--line);border-radius:6px;color:var(--pink);background:var(--surface)}
#picker .picker-slot-arrow[hidden]{display:none}
#picker .picker-slot-arrow:disabled{opacity:.35;cursor:default}
#picker .picker-current-choice,#picker .picker-selection-status{margin:8px 0 0;font-size:13px;line-height:1.45;text-align:center;overflow-wrap:anywhere}
#picker .picker-current-choice{color:var(--muted)}
#picker .picker-selection-status{color:var(--green)}
#picker .picker-selection-status:empty{display:none}
#picker .picker-item.is-picked{border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}
@media(max-width:480px){#picker .picker-head{padding-inline:30px}#picker .picker-slot-navigation{gap:6px}#picker .picker-slot-arrow{width:32px;height:40px;flex-basis:32px}#picker .picker-slot-navigation h2{font-size:20px}}

.future-release-option{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto;color:var(--muted);font-size:14px}.future-release-option input{width:16px;height:16px;accent-color:var(--pink)}.sealed-deck-note{display:block;min-height:20px;line-height:20px;text-align:center}#picker .picker-selection-status{padding:8px 12px;border:1px solid var(--green);border-radius:6px;background:rgba(168,204,159,.08)}

.picker-deck-progress{display:flex;justify-content:center;gap:8px;margin:14px auto}.picker-deck-progress[hidden]{display:none}.picker-progress-slot{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted)}.picker-progress-slot.is-filled{color:var(--green);border-color:var(--green)}.picker-progress-slot.is-current{color:var(--bg);border-color:var(--pink);background:var(--pink);box-shadow:0 0 0 3px rgba(244,154,192,.18)}.future-card-note{color:var(--pink)}

.next-champion{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.next-champion>span{width:100%;text-align:center}
@media(min-width:700px){
 #picker .picker-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:14px}
 #picker #picker-search{flex:0 0 100%;height:40px}
 #picker .picker-rarity-row{margin:0;gap:8px}
 #picker .card-filter-panel{width:auto;max-width:none;margin:0}
 #picker .card-filter-row{display:flex;flex-wrap:nowrap;gap:6px;margin:0}
 #picker .attribute-filter{width:58px;min-width:58px;height:62px;padding:6px}
 #picker .attribute-filter .real-attribute{width:28px;height:28px}
 #picker .rarity-filter{min-width:48px;width:48px;height:48px;padding:6px}
 #picker #clear-slot{min-height:40px;margin:0;padding:8px 12px}
 #picker .picker-usage-note{margin:12px auto 6px}
 #picker .future-release-option{margin:8px auto 14px}
 #picker .picker-selection-status{max-width:680px;margin-inline:auto}
 #picker .picker-items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-width:850px;margin-inline:auto}
}

/* Center an unpaired TT category while preserving the two-column card width. */
@media(min-width:801px){body[data-planner="team-trials"] .events-grid>.event-plan:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 22px)/2);justify-self:center}}

/* Undo stays with the event heading and its actions. */
.event-plan-actions .reset-feedback{margin:0;padding:0;display:flex;align-items:center;justify-content:center}
.event-plan-actions .reset-undo{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem .85rem;border:1px solid var(--pink,#f49ac0);border-radius:12px;background:linear-gradient(135deg,#412335,#251a25);color:#ffc1dd;box-shadow:inset 0 0 0 1px #f49ac022;font-size:.9rem;white-space:nowrap}
.event-plan-actions .reset-undo:hover{background:#513047}
.event-plan-actions .reset-undo:focus-visible{outline:2px solid #ffc1dd;outline-offset:3px}
/* Special event entry and compact, aligned section controls. */
.edition-top{display:flex;align-items:center;justify-content:center;gap:1.25rem}
.edition-top>span{line-height:1.2}
.event-plan-title .reset-feedback{margin:0;padding:0;flex:none}
.event-plan-title .reset-undo{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.45rem .65rem;border:1px solid #f49ac0;border-radius:10px;background:linear-gradient(135deg,#412335,#251a25);color:#ffc1dd;font-size:.85rem;white-space:nowrap}
.event-plan-title .reset-undo:hover{background:#513047}
.event-plan-title .reset-undo:focus-visible{outline:2px solid #ffc1dd;outline-offset:3px}
.nishino-special-link{display:flex;align-items:center;justify-content:center;width:64px;height:70px;border-radius:10px;flex:none}
.nishino-special-link img{display:block;width:100%;height:100%;object-fit:contain}
.nishino-special-link:hover{background:#f49ac012}
.nishino-special-link:focus-visible{outline:2px solid #f49ac0;outline-offset:3px}
.special-event-page{max-width:1200px;margin:auto;padding:2rem 1rem;text-align:center}
.special-event-intro h1{font-size:clamp(2rem,5vw,3.5rem);margin:1.5rem 0 1rem}
.special-event-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.special-uma{min-width:0;background:#191a1b;border:1px solid #343638;border-radius:16px;padding:1rem;text-align:center}
.special-portrait{height:180px;display:flex;align-items:center;justify-content:center}
.special-portrait img{height:100%;max-width:100%;object-fit:contain}
.special-uma h3{min-height:3em;display:flex;align-items:center;justify-content:center;margin:.75rem 0}
.special-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.special-deck-card{min-width:0;min-height:110px;border:1px solid #343638;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem;gap:.35rem}
.special-deck-card img{width:100%;height:90px;object-fit:contain}
.special-deck-card small{font-size:.875rem;overflow-wrap:anywhere}
.special-simulation-status{margin-top:2rem;padding:1.5rem;border-top:1px solid #343638}
@media(max-width:650px){.event-plan-title{gap:5px;flex-wrap:wrap}.event-plan-title h2{font-size:1.2rem}.event-plan-title .reset-undo{padding:.35rem .5rem}.nishino-special-link{width:46px;height:56px}.special-event-team{grid-template-columns:1fr}}

/* Compact special-event teams, with identical slots and reserved labels. */
.nishino-special-link{width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.nishino-special-link .flower{display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;margin:0;color:var(--pink)}
.special-event-page{max-width:980px;padding:1.5rem 1rem;font-size:14px}
.special-event-team{gap:.75rem;align-items:stretch}
.special-uma{padding:.75rem;border-radius:12px}
.special-uma h2{font-size:19px;margin:0 0 .6rem}
.special-portrait{height:120px}
.special-uma h3{font-size:16px;line-height:1.4;height:2.8em;min-height:0;margin:.5rem 0;overflow-wrap:anywhere}
.special-uma .special-strategy{display:flex;align-items:center;justify-content:center;height:2.8em;font-size:13px;line-height:1.4;margin:.25rem 0}
.special-uma h4{font-size:14px;margin:.5rem 0}
.special-deck{gap:.4rem;grid-auto-rows:132px}
.special-deck-card{height:132px;min-height:0;padding:.3rem;gap:.3rem;box-sizing:border-box;overflow:hidden}
.special-deck-card img{flex:none;height:78px;width:100%;object-fit:contain}
.special-deck-card small{display:flex;align-items:center;justify-content:center;flex:none;height:3.6em;font-size:10px;line-height:1.2;width:100%;overflow-wrap:anywhere;text-align:center}
.special-deck-card .empty-slot{font-size:12px}
.special-uma .sealed-deck-note{height:1.6em;line-height:1.6;margin:.45rem 0 0;font-size:11px}
.save-status:empty{display:none}
@media(max-width:650px){.special-event-team{max-width:380px;margin:auto}.special-portrait{height:110px}.nishino-special-link{width:40px;height:40px}.special-deck{grid-auto-rows:132px}}

/* Reduce the special-event team footprint by a further 30 percent. */
.special-event-team{max-width:664px;margin-inline:auto;gap:.525rem}
.special-uma{padding:.525rem;border-radius:9px}
.special-uma h2{font-size:16px;margin:0 0 .42rem}
.special-portrait{height:84px}
.special-uma h3{font-size:14px;height:2.8em;margin:.35rem 0}
.special-uma .special-strategy{font-size:12px;height:1.8em;margin:.175rem 0}
.special-uma h4{font-size:13px;margin:.35rem 0}
.special-deck{gap:.28rem;grid-auto-rows:98px}
.special-deck-card{height:98px;padding:.21rem;gap:.21rem}
.special-deck-card img{height:54px}
.special-deck-card small{font-size:10px;height:3.6em}
.special-uma .sealed-deck-note{font-size:10px;margin:.315rem 0 0;height:1.6em}
.special-simulation-status{margin:1rem 0 1.5rem;padding:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.special-simulation-status h2{margin:0 0 .5rem}
.special-simulation-status p{margin:0}
@media(max-width:650px){.special-event-team{max-width:266px}.special-portrait{height:77px}.special-deck{grid-auto-rows:98px}}
/* Embedded simulator: centered controls, lazy modules and isolated track diagram. */
.special-simulation-status{border-radius:12px;background:var(--surface);padding:1rem;margin-top:1rem}
.simulation-workbench{font-size:14px;color:var(--text);text-align:center}
.simulation-server,.simulation-conditions,.simulation-comparison-controls,.simulation-skill-filters,.simulation-uma-tabs,.simulation-pagination{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:.75rem auto}
.simulation-server label,.simulation-field,.simulation-conditions label,.simulation-comparison-controls label,.simulation-skill-filters label,.simulation-stats label{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:13px}
.simulation-workbench input,.simulation-workbench select,.simulation-server select{background:#101112;color:#f5f5f0;border:1px solid #424446;border-radius:7px;text-align:center;min-height:36px;padding:.3rem .5rem;max-width:100%;font:inherit}
.simulation-workbench button{border:1px solid #4c4248;background:#242024;color:#f5f5f0;border-radius:7px;padding:.4rem .7rem;min-height:36px;font:inherit;cursor:pointer;text-align:center}
.simulation-workbench button:disabled{opacity:.45;cursor:default}
.simulation-workbench button[aria-pressed="true"]{border-color:var(--pink);background:#572d41}
.simulation-workbench button:focus-visible,.simulation-workbench input:focus-visible,.simulation-workbench select:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.simulation-base-note,.simulation-help,.simulation-count{font-size:12px;line-height:1.6;color:var(--muted);margin:.5rem auto;max-width:750px;text-align:center}
.simulation-track-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:.8rem auto;border-radius:8px;background:#f8f8f8;padding:.5rem 0;color:#794016}
.simulation-track-scroll .racetrackWrapper{margin:auto;min-width:920px}
.simulation-track-scroll .racetrackView{display:block;max-width:none;overflow:visible}
.simulation-track-scroll .racetrackName{font-size:20px}
.simulation-panel{margin:1rem 0;border:1px solid var(--line);border-radius:10px;padding:.75rem}
.simulation-panel>summary{font-size:16px;font-weight:700;cursor:pointer;text-align:center}
.simulation-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin:.75rem auto;padding:.75rem;border:1px solid var(--line);border-radius:8px;max-width:740px;min-width:0}
.simulation-stats legend{text-align:center;padding:0 .5rem;font-size:14px}
.simulation-stats label{min-width:0}.simulation-stats input,.simulation-stats select{width:100%;box-sizing:border-box}
.simulation-selected-skills{margin:1rem auto}.simulation-selected-skills h3{font-size:14px;margin:.4rem}.simulation-selected-skills button{font-size:12px;margin:.2rem}
.simulation-checkbox{flex-direction:row!important;align-self:end;min-height:36px}.simulation-checkbox input{min-height:0}
.simulation-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.simulation-skill{border:1px solid var(--line);border-radius:8px;padding:.65rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.35rem;min-width:0;text-align:center}
.simulation-skill.selected{border-color:var(--pink);background:#f49ac010}
.simulation-skill h4{font-size:14px;margin:0;overflow-wrap:anywhere;line-height:1.4}
.simulation-skill p{font-size:12px;line-height:1.5;margin:0}.simulation-skill>div{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}
.simulation-skill button{font-size:12px}.simulation-available{color:var(--green)}
.simulation-skill-detail{position:fixed;max-width:580px;width:calc(100vw - 3rem);max-height:75vh;overflow:auto;margin:auto;background:#191a1b;color:#f5f5f0;border:1px solid #f49ac066;border-radius:12px;padding:2rem 1rem 1rem;text-align:center;font-size:14px;z-index:100}
.simulation-skill-detail::backdrop{background:#000a}.simulation-skill-detail .simulation-close{position:absolute;right:.4rem;top:.4rem;font-size:24px}
.simulation-skill-detail ul,.simulation-results ul{list-style:none;margin:.5rem auto;padding:0}.simulation-skill-detail li,.simulation-results li{font-size:12px;margin:.3rem;overflow-wrap:anywhere;line-height:1.5}
.simulation-comparison{margin:1rem auto;border-top:1px solid var(--line);padding-top:1rem}
.simulation-comparison h3{font-size:17px}.simulation-comparison-controls label{max-width:240px}.simulation-comparison-controls input{width:130px}
.simulation-results{overflow-x:auto;border-top:1px solid var(--line);margin-top:1rem;padding-top:.5rem}.simulation-results table{border-collapse:collapse;width:100%;font-size:13px}.simulation-results th,.simulation-results td{padding:.6rem .3rem;text-align:center;border-bottom:1px solid var(--line)}.simulation-results caption{padding:.5rem;font-size:14px;font-weight:700}
.simulation-results h4{font-size:15px}.simulation-results h5{font-size:14px;margin:.65rem}.simulation-results p{font-size:13px;line-height:1.6}
.simulation-error{color:#ffb4b4}.simulation-license-links{display:flex;justify-content:center;gap:1rem;font-size:12px;margin:1rem}
@media(max-width:650px){.special-simulation-status{padding:.6rem}.simulation-stats{grid-template-columns:repeat(3,minmax(0,1fr));padding:.5rem}.simulation-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-uma-tabs button{font-size:12px;flex:1 1 100%;max-width:300px}.simulation-results table{font-size:12px}}
.hakuraku-replay{max-width:1100px;margin:2rem auto;padding:1.2rem;border:1px solid #333;border-radius:16px;text-align:center}.hakuraku-replay input[type=file]{max-width:100%;margin:1rem auto}.replay-controls{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap}.replay-controls button,.replay-controls select{min-height:44px;padding:.5rem 1rem}.replay-controls input[type=range]{flex-basis:100%;width:100%}.replay-track{margin:1rem 0}.replay-row{display:grid;grid-template-columns:150px minmax(80px,1fr) 175px;gap:12px;align-items:center;min-height:46px;font-size:14px}.replay-lane{height:34px;border-bottom:1px solid #444;position:relative;margin:0 18px}.replay-runner{position:absolute;top:0;transform:translateX(-50%);width:32px;height:32px;display:grid;place-items:center;background:#ee9bbb;color:#161616;border-radius:50%;font-weight:700}.replay-runner img{width:32px;height:32px;object-fit:contain}.replay-table{overflow:auto}.replay-table table{width:100%;border-collapse:collapse}.replay-table td,.replay-table th{padding:.65rem;border-bottom:1px solid #333;text-align:center}.replay-skill-log{min-height:80px}.hakuraku-replay details{margin-top:1rem}.hakuraku-replay summary{text-align:center;cursor:pointer}@media(max-width:600px){.replay-row{grid-template-columns:1fr;gap:0;padding:.4rem 0}.replay-lane{margin:4px 24px}.replay-row small{font-size:12px}.hakuraku-replay{padding:.8rem}.replay-table{font-size:14px}}
/* Special event workspace: reserve the available screen for the tools. */
.special-event-page{max-width:1800px;width:100%;box-sizing:border-box;padding:1.5rem clamp(.6rem,2vw,2rem)}
.special-simulation-status{width:100%;box-sizing:border-box}
.simulation-track-scroll .racetrackWrapper{min-width:620px;width:100%!important}
.simulation-track-scroll .racetrackView{width:100%;height:auto}
.simulation-catalog{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}
.simulation-catalog>summary{cursor:pointer;font-size:15px;font-weight:700}
.simulation-base-note{max-width:950px;margin:.5rem auto!important}
@media(min-width:1100px){
.simulation-workbench{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:1rem;align-items:start}
.simulation-base-note,.simulation-workbench>.simulation-field,.simulation-workbench>.simulation-help{grid-column:1/-1}
.simulation-track-scroll{grid-column:2;width:100%;box-sizing:border-box;margin:0}
.simulation-conditions{grid-column:2;margin:0}
.simulation-panel{grid-column:1;grid-row:2/span 4;margin:0;position:sticky;top:1rem}
.simulation-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.simulation-uma-tabs{gap:.3rem}.simulation-uma-tabs button{flex:1 1 100%}
.simulation-comparison{grid-column:2;margin:0;width:100%;box-sizing:border-box}
.simulation-skills{grid-template-columns:repeat(2,minmax(0,1fr))}
.simulation-panel .simulation-help{font-size:13px;line-height:1.5}
.simulation-workbench>p:last-child{grid-column:1/-1}
}
@media(min-width:1100px){.simulation-workbench>.simulation-field{grid-row:2}.simulation-track-scroll{grid-row:3}.simulation-panel{grid-row:3/span 4}.simulation-conditions{grid-row:4}.simulation-comparison{grid-row:5}}
.simulation-partner{margin:1rem auto;padding:.7rem;border:1px solid var(--line);border-radius:8px;text-align:center}.simulation-partner h3{font-size:15px;margin:.4rem}.simulation-partner label{display:flex;align-items:center;flex-direction:column;gap:.3rem}.simulation-partner input{max-width:210px;text-align:center}.simulation-partner p{font-size:13px;line-height:1.5;margin:.7rem!important}.simulation-partner button,.simulation-partner a{min-height:40px;font-size:13px;margin:.25rem;padding:.5rem .75rem}
/* Race analysis: recorded telemetry + contested simulation */
.race-analysis{max-width:1600px;margin:2rem auto;padding:1.5rem;border:1px solid #414047;border-radius:18px;text-align:center;background:#121317}.race-analysis h2,.race-analysis h3,.race-analysis h4{margin:1rem auto}.analysis-drop{border:2px dashed #c58aa2;border-radius:12px;padding:1.8rem;margin:1rem auto}.analysis-drop.dragging{background:#3e2231;border-color:#ffa3c9}.analysis-drop button{min-height:48px;background:#b67391;color:white;padding:.8rem 1.2rem;border-radius:8px}.analysis-note{font-size:14px;color:#bbb}.analysis-probability{padding:1.2rem;background:#181921;border:1px solid #775765;border-radius:14px;margin-bottom:2rem}.analysis-controls{display:flex;gap:.8rem;justify-content:center;align-items:end;flex-wrap:wrap;margin:1rem auto}.analysis-controls label{display:grid;gap:.3rem}.analysis-controls select,.analysis-controls input,.simulation-library select{min-height:44px;padding:.4rem;background:#23232a;color:#fff;border:1px solid #68636c;border-radius:6px;max-width:100%;text-align:center}.analysis-controls input{width:145px}.analysis-participants{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;margin:1rem auto}.analysis-participants label{display:grid;grid-template-columns:22px 38px 1fr;align-items:center;padding:.5rem;border:1px solid #5b4c54;border-radius:8px;min-height:65px;font-size:14px}.analysis-participants label:has(input:checked){border-color:#f3a5c8;background:#30222b}.analysis-participants img{width:36px;height:42px;object-fit:contain;grid-row:span 2}.analysis-participants small{grid-column:3;font-size:12px;color:#ccc}.analysis-participants input{width:18px;height:18px}.race-analysis button{min-height:44px;padding:.6rem 1rem;border-radius:7px;margin:.25rem;background:#aa627f;color:#fff;border:1px solid #d28da9;cursor:pointer}.race-analysis button:disabled{opacity:.5;cursor:default}.analysis-table{overflow-x:auto;margin:1rem auto}.analysis-table table{width:100%;border-collapse:collapse;font-size:14px}.analysis-table th,.analysis-table td{padding:.75rem .65rem;border-bottom:1px solid #383840;text-align:center;vertical-align:middle}.analysis-histogram{height:48px;display:flex;align-items:end;justify-content:center;gap:3px;min-width:100px}.analysis-histogram span{width:9px;background:#d792b1}.analysis-details{border-top:1px solid #48404a;margin-top:2rem;padding-top:1rem;scroll-margin-top:90px}.analysis-detail-heading{display:flex;align-items:center;justify-content:center;gap:.5rem}.analysis-detail-heading img{height:80px;width:75px;object-fit:contain}.analysis-stat-grid{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem auto}.analysis-stat-grid>div{display:grid;padding:.8rem 1.3rem;background:#25232c;border-radius:8px;min-width:90px}.analysis-stat-grid strong{font-size:22px}.analysis-chart{max-width:1000px;margin:1.5rem auto}.analysis-chart svg{width:100%;height:auto;min-width:360px}.analysis-chart{overflow:auto}.analysis-skill-list{max-width:900px;margin:auto;display:grid;gap:.4rem}.analysis-skill-list>div{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.7rem;background:#25232c;border-radius:6px;font-size:14px}.analysis-support-deck{display:grid;grid-template-columns:repeat(6,minmax(0,110px));gap:.6rem;justify-content:center;margin:1rem auto}.analysis-support-deck img{height:110px;max-width:100%;object-fit:contain}.analysis-support-deck small{display:block;font-size:12px}.simulation-library{margin:1rem auto;padding:1rem;border:1px solid #8b6076;border-radius:10px;text-align:center}.simulation-library label{display:grid;gap:.4rem}.simulation-library button{margin:.8rem auto;padding:.6rem 1rem;min-height:44px}.simulation-library p{font-size:14px}
@media(max-width:600px){.race-analysis{padding:.7rem;margin:1rem auto}.analysis-probability{padding:.7rem}.analysis-participants{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-participants label{grid-template-columns:20px 1fr;gap:.2rem;font-size:12px}.analysis-participants img{display:none}.analysis-participants small{grid-column:2}.analysis-controls{align-items:stretch}.analysis-controls label{width:100%}.analysis-controls input{width:100%}.analysis-skill-list>div{grid-template-columns:1fr}.analysis-support-deck{grid-template-columns:repeat(3,minmax(0,100px))}.analysis-stat-grid>div{min-width:65px;padding:.6rem}.analysis-stat-grid{gap:.3rem}}
.analysis-legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.race-analysis [role=status]{min-height:1.5em}.race-analysis [hidden]{display:none!important}
.analysis-runner{margin:16px 0;border:1px solid #36383c;border-radius:14px;overflow:hidden;text-align:center}.analysis-runner>summary{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;cursor:pointer;flex-wrap:wrap}.analysis-runner>summary:before{content:'▸'}.analysis-runner[open]>summary:before{content:'▾'}.analysis-runner>summary img{width:56px;height:56px;object-fit:contain}.analysis-runner .analysis-details{border:0;margin:0}.analysis-controls label:has(input[type=checkbox]){display:flex;align-items:center;justify-content:center;gap:8px}.analysis-controls input[type=checkbox]{width:auto}.analysis-controls button{min-height:40px}.analysis-legend{flex-wrap:wrap;justify-content:center}
/* Simulação: identidade e resultados compactos, pista responsiva. */
#recorded-track{width:100%;min-width:0}#recorded-track .recorded-track-scroll{display:block;grid-column:auto;grid-row:auto;margin:.8rem auto;padding:.5rem 10px;width:100%;overflow-x:auto;height:auto;min-height:0}#recorded-track .racetrackWrapper{width:auto!important;min-width:0}#recorded-track .racetrackView{width:auto!important;height:312px!important;max-width:none}#recorded-track .racetrackName{font-size:18px}#recorded-track .racetrackHeader{min-height:38px;height:auto}.recorded-track-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.recorded-track-controls>img{width:52px;height:58px;object-fit:contain}.recorded-track-controls label{display:grid;gap:4px;font-size:14px}.recorded-track-controls select{min-height:44px;padding:6px 12px;max-width:100%;border-radius:7px;border:1px solid #725c69;background:#24232b;color:#fff;text-align:center}.recorded-track-controls>span{font-size:14px;color:#c5c0c9}.recorded-skill-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-width:1300px;margin:1rem auto}.recorded-skill-key button{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;padding:10px;border-radius:8px;background:#24232b;border:1px solid #4d4350;color:#fff;cursor:pointer;min-height:64px;font-size:14px}.recorded-skill-key button[aria-pressed=true]{border-color:var(--skill-color);box-shadow:inset 0 0 0 1px var(--skill-color)}.recorded-skill-dot{width:10px;height:28px;background:var(--skill-color);border-radius:4px;flex:none}.recorded-skill-key small{display:block;font-size:12px;margin-top:3px;color:#c4c0c9}.recorded-show-all{padding:10px 16px;border-radius:8px;border:1px solid #b47892;background:#342532;color:white;min-height:44px}.analysis-identity{display:flex;justify-content:center;align-items:center;gap:10px;min-width:180px;text-align:center}.analysis-portrait{width:46px;height:54px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:7px;background:#292630;color:#bbb;font-size:12px}.analysis-portrait img{width:100%;height:100%;object-fit:contain}.analysis-identity small{display:block;font-size:12px;line-height:1.4;color:#bbb3c1;margin-top:3px}.race-analysis .analysis-name-button{background:none;border:0;color:inherit;min-height:0;margin:0;padding:0;font-weight:700;font-size:14px;border-radius:3px}.race-analysis .analysis-name-button:hover{text-decoration:underline;color:#ffc0da}.analysis-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px auto}.analysis-highlights>div{display:grid;align-content:center;gap:9px;padding:14px;border-radius:10px;background:#22212b;border:1px solid #765567}.analysis-highlights>div:last-child{border-color:#648367}.analysis-highlights>div>small{font-size:14px;color:#e4bad0}.analysis-highlights>div:last-child>small{color:#b9dca9}.analysis-results .analysis-table td{padding:8px}.analysis-results .analysis-table table{min-width:740px}.analysis-histogram{gap:2px;height:42px}.analysis-histogram span{width:7px;background:#9d7996}.analysis-histogram .recorded-position{background:#eac774}.analysis-participant-panel{border:1px solid #5b4c54;border-radius:10px;margin:14px auto}.analysis-participant-panel>summary{padding:12px;cursor:pointer;font-size:14px}.analysis-participant-panel .analysis-participants{padding:0 10px 10px;margin:0}.analysis-participants label:not(:has(img)){grid-template-columns:22px 1fr}.analysis-participants label:not(:has(img)) small{grid-column:2}.analysis-controls>label{min-width:150px;align-self:start}.analysis-controls .analysis-controls button{margin:0}.analysis-coverage{border:1px solid #645160;border-radius:8px;padding:10px;margin:12px auto}.analysis-coverage summary{cursor:pointer;color:#f5c796}.analysis-coverage p{font-size:14px}.analysis-results .analysis-note{font-size:14px}.analysis-details{padding:12px}.analysis-details>label{display:grid;gap:7px;max-width:480px;margin:12px auto}.analysis-details>label select{padding:8px;min-height:44px;background:#25232c;color:#fff;border:1px solid #68616c;border-radius:7px;text-align:center}.analysis-controls label:has(input[type=checkbox]){min-width:0;padding:8px 12px;background:#24232b;border:1px solid #544451;border-radius:7px}.analysis-chart svg{min-width:0}.analysis-controls label>button{margin:0!important}.analysis-identity button:focus-visible,.recorded-skill-key button:focus-visible{outline:2px solid #f6a8cc;outline-offset:3px}
@media(max-width:600px){.analysis-highlights{grid-template-columns:1fr}.recorded-track-controls label{max-width:calc(100% - 72px)}.recorded-track-controls select{width:100%}.recorded-skill-key{grid-template-columns:1fr}.analysis-identity{min-width:180px}.analysis-identity .analysis-portrait{display:flex}.analysis-participants label{font-size:14px}.analysis-participants label:not(:has(img)){grid-template-columns:20px 1fr}.analysis-participants small{font-size:12px}.analysis-runner>summary{gap:8px}.analysis-runner>summary strong{font-size:15px}.analysis-runner>summary span{font-size:14px}.analysis-controls label:has(input[type=checkbox]){width:auto}.analysis-details{padding:8px}.analysis-stat-grid strong{font-size:18px}}

.race-analysis .analysis-detail-heading{justify-content:center;gap:12px;flex-wrap:wrap}.race-analysis .analysis-detail-heading h3{margin:0;flex:none;width:auto}.race-analysis .analysis-detail-heading img{flex:none}.analysis-portrait{font-size:12px;line-height:1.2}
/* Skill groups and compact recorded results. */
#recorded-track .racetrackView{height:var(--track-height,312px)!important}.recorded-track-controls{gap:16px}.recorded-track-controls label{min-width:240px}.recorded-category-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px auto}.recorded-category-tabs button{padding:8px 12px;min-height:40px;border:1px solid #675563;border-radius:7px;background:#25232c;color:#eee;font-size:14px;cursor:pointer}.recorded-category-tabs button[aria-pressed=true]{border-color:#f5a1c8;background:#493041}.recorded-category-tabs button:disabled{opacity:.45;cursor:default}.recorded-skill-key button{min-height:52px;padding:7px 10px}.recorded-skill-key{max-height:340px;overflow:auto;overscroll-behavior:contain}.analysis-runner{margin:4px 0;border-radius:7px}.analysis-runner>summary{padding:6px 12px;min-height:42px;gap:10px}.analysis-runner>summary img{width:30px;height:34px}.analysis-runner>summary strong{font-size:14px}.analysis-runner>summary span{font-size:14px}.analysis-runner .analysis-controls{margin:8px auto}.analysis-runner .analysis-stat-grid{margin:8px auto;gap:5px}.analysis-stat-grid>div{padding:5px 12px;min-width:70px}.analysis-details .analysis-stat-grid strong{font-size:18px}.analysis-details .analysis-chart{margin:8px auto;max-width:1150px}.analysis-chart svg{min-width:700px}.analysis-chart-reading{font-size:14px;min-height:1.5em;margin:5px auto!important}.analysis-chart h4{margin:6px auto!important}.analysis-legend{gap:10px;font-size:14px}.analysis-legend span:before{content:'━';padding-right:5px}.analysis-gate-row>td{padding:5px 10px!important;background:#19191f}.analysis-gate-data{display:flex;align-items:center;justify-content:center;gap:24px;font-size:12px}.analysis-gate-data>div{display:grid;gap:3px;min-width:130px}.analysis-gate-data strong{font-size:14px}.analysis-gate-data small{font-size:12px;color:#c1bac6}.analysis-gate-histogram{height:32px}.analysis-gate-histogram span{background:#88b0c5;width:6px}.analysis-results .analysis-table tbody>tr:not(.analysis-gate-row)>td{border-bottom:0}.analysis-coverage p{margin:8px auto}.analysis-coverage>p:first-of-type{max-width:850px;color:#f4d4ae}.analysis-details .analysis-skill-list{max-height:350px;overflow:auto}.analysis-support-deck img{height:85px}.analysis-support-deck{margin:8px auto}.analysis-runner .analysis-details{padding:10px}.recorded-track-controls label{font-size:14px}.analysis-runner summary:focus-visible{outline:2px solid #f6a8cc;outline-offset:-2px}
@media(max-width:600px){.recorded-track-controls label{width:100%;max-width:100%;min-width:0}.recorded-category-tabs{gap:5px}.recorded-category-tabs button{font-size:13px;padding:7px 9px}.analysis-runner>summary{gap:6px;padding:5px 8px}.analysis-runner>summary strong{max-width:70%;font-size:14px}.analysis-runner>summary span{font-size:12px}.analysis-gate-data{gap:12px}.analysis-chart-reading{text-align:center;font-size:13px}.analysis-runner .analysis-details{padding:7px}.analysis-details .analysis-controls label:has(input[type=checkbox]){padding:7px 8px}}

.analysis-legend span[data-runner=B]:before{content:"┄"}.recorded-track-panel .recorded-skill-key button:disabled{opacity:.5}

.analysis-gate-data{flex-wrap:wrap}.analysis-gate-data>div{max-width:340px}.analysis-gate-data small{overflow-wrap:anywhere;white-space:normal}.recorded-category-tabs button:focus-visible{outline:2px solid #f6a8cc;outline-offset:2px}

/* Recorded race: compact identities and stable comparison columns. */
.analysis-runner>summary{display:grid;grid-template-columns:14px 30px minmax(0,1fr) auto;justify-content:initial;min-height:38px;padding:3px 10px;gap:8px}.analysis-runner>summary strong{margin:0;line-height:1.3}.analysis-runner>summary span{margin:0;line-height:1.3}.analysis-runner>summary img{height:30px;width:30px}.analysis-runner>summary:not(:has(img)){grid-template-columns:14px minmax(0,1fr) auto}.analysis-workspace{display:grid;grid-template-columns:minmax(220px,28%) minmax(0,1fr);gap:14px;align-items:start}.analysis-chart-panel,.analysis-skill-panel{min-width:0}.analysis-chart-panel>label{display:grid;gap:4px;max-width:440px;margin:8px auto}.analysis-chart-panel select{width:100%;padding:7px;background:#25232c;color:#fff;border:1px solid #68616c;border-radius:7px;text-align:center}.analysis-skill-panel .analysis-skill-list{max-height:420px}.analysis-skill-list>div{grid-template-columns:1fr;padding:6px;gap:2px}.analysis-skill-list>div span{font-size:12px;color:#c4bdc9}.analysis-gate-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:12px;align-items:center}.analysis-gate-data>div{min-width:0;max-width:none;min-height:65px;align-content:center}.analysis-chart-panel .analysis-chart{margin:0 auto}.analysis-chart-panel .analysis-controls{gap:5px}.analysis-chart-panel .analysis-controls label:has(input[type=checkbox]){padding:5px 8px}
@media(max-width:800px){.analysis-workspace{grid-template-columns:1fr}.analysis-chart-panel{grid-row:1}.analysis-skill-panel .analysis-skill-list{max-height:250px}.analysis-runner>summary{grid-template-columns:12px 28px minmax(0,1fr);gap:5px}.analysis-runner>summary span{grid-column:3;font-size:12px}.analysis-runner>summary img{grid-row:span 2;height:28px}.analysis-runner>summary strong{max-width:none}.analysis-runner>summary:not(:has(img)){grid-template-columns:12px minmax(0,1fr)}.analysis-runner>summary:not(:has(img)) span{grid-column:2}}

.analysis-workspace>section{padding:0;margin:0;border:0}.analysis-workspace{margin:12px 0}.analysis-skill-panel h4{margin:6px auto!important}
/* Special-event track demonstrator: independent from full-race analysis. */
.track-demonstrator{display:flex;flex-direction:column;gap:18px;min-width:0;text-align:center;width:100%}.demonstrator-conditions{font-size:clamp(16px,1.8vw,23px);font-weight:700;color:var(--green,#b5cfa7);padding:16px;border:1px solid #43513d;border-radius:12px;margin:0}.track-demonstrator .simulation-track-scroll{width:100%;grid-column:auto;min-width:0;overflow:auto}.demonstrator-samples,.track-demonstrator .simulation-uma-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.demonstrator-samples button{padding:9px 13px;font-size:13px}.demonstrator-samples button[aria-pressed=true],.demonstrator-skill button[aria-pressed=true]{border-color:#efa0c7;box-shadow:inset 0 0 0 1px #efa0c7}.demonstrator-families{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.demonstrator-families article{border:1px solid #343638;border-radius:12px;overflow:hidden;align-self:start}.demonstrator-skill{padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;border-bottom:1px solid #343638}.demonstrator-skill:last-child{border:0}.demonstrator-skill button{width:100%;font-size:14px}.demonstrator-skill small{font-size:12px;color:#b8b8b8}.demonstrator-skill p{font-size:13px;margin:0;line-height:1.5}.demonstrator-skill.gold{background:#b9891315}.demonstrator-skill.evolved{background:#bb66ce15}.demonstrator-skill.unique{background:#6ca4d515}.demonstrator-later{margin-top:28px;border-top:1px solid #343638;padding-top:20px}.demonstrator-later label{display:flex;flex-direction:column;align-items:center;gap:10px}.dominator-demo{padding:24px;border:1px solid #684086;background:#27162e;border-radius:12px}
.demonstrator-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.demonstrator-legend span{font-size:12px;border-left:5px solid #246b9c;padding:3px 8px}.demonstrator-legend .gold{border-color:#ae7800}.demonstrator-legend .evolved{border-color:#a441ac}
/* Compact Alpha skill accordion, scoped to CM/LoH special pages. */
.alpha-demonstrator{gap:12px}.alpha-demonstrator .simulation-uma-tabs{display:flex;flex-direction:row;gap:10px}.alpha-demonstrator .simulation-uma-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 1 300px;min-height:46px;padding:7px 12px;font-size:14px}.alpha-demonstrator .simulation-uma-tabs img{width:32px;height:32px;object-fit:contain}.alpha-marker-key,.alpha-skill-hint{font-size:14px;color:var(--muted,#b8b8b8);text-align:center}.alpha-skills-surface{max-width:1100px;width:100%;margin:0 auto}.alpha-skills-surface h3{font-size:18px;margin:12px 0}.alpha-skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:9px;align-items:start;margin-top:12px}.alpha-skill-family{display:flex;flex-direction:column;gap:5px}.alpha-skill-box{border:1px solid #777898;border-radius:7px;background:#33354d;color:#f3f1f8;font-size:14px;overflow:hidden;text-align:center}.alpha-skill-box.gold{background:#59451f;border-color:#b38a29}.alpha-skill-box.green{background:#293f29;border-color:#66845b}.alpha-skill-box.unique{background:#49334c;border-color:#b576ae}.alpha-skill-box.evolved{background:#53365d;border-color:#be83c3}.alpha-skill-box summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:7px 9px;cursor:pointer;list-style:none;line-height:1.3;font-weight:600}.alpha-skill-box summary::-webkit-details-marker{display:none}.alpha-skill-box summary>span:first-of-type{flex:1}.alpha-skill-check{display:flex;align-items:center;justify-content:center;flex:0 0 22px;margin:0}.alpha-skill-check input{width:17px;height:17px;accent-color:#eba3c8;margin:0;cursor:pointer}.alpha-expand{font-size:18px;flex:0 0 15px}.alpha-skill-box[open] .alpha-expand{transform:rotate(180deg)}.alpha-skill-box:has(input:checked){box-shadow:inset 0 0 0 1px #e6a3cb}.alpha-skill-detail{border-top:1px solid #ffffff25;padding:10px 12px;line-height:1.5;display:flex;flex-direction:column;gap:6px}.alpha-skill-detail p{font-size:14px;margin:0!important}.alpha-skill-detail .alpha-skill-source{font-size:12px;color:#d7c8d4}.alpha-effect-block{display:flex;flex-direction:column;gap:6px;padding-top:7px;border-top:1px solid #ffffff20}.alpha-effect-block code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:12px;color:#f3d7aa;margin:4px 0}.alpha-recommendations,.alpha-reference{border:1px solid var(--line,#343638);border-radius:10px;padding:12px;width:100%;box-sizing:border-box}.alpha-recommendations summary,.alpha-reference summary{cursor:pointer;font-size:14px;font-weight:600}.alpha-recommendations p,.alpha-reference p{font-size:13px!important;line-height:1.6;margin:12px auto!important;max-width:1000px}.alpha-recommendations button{font-size:14px;padding:8px 12px;margin:8px 4px}.alpha-table-scroll{overflow:auto}.alpha-table-scroll table{border-collapse:collapse;width:100%;font-size:14px}.alpha-table-scroll th,.alpha-table-scroll td{padding:7px;border-bottom:1px solid #404044;text-align:center;white-space:nowrap}.alpha-table-scroll th button{background:none;color:inherit;border:0;margin:0;padding:0;font-size:14px;cursor:pointer}.alpha-table-scroll th button[aria-pressed=true]{color:#efa0c7}.alpha-skill-lane text{pointer-events:none}.alpha-demonstrator .demonstrator-samples button{font-size:13px;min-height:36px}.alpha-demonstrator .demonstrator-later{margin-top:16px}@media(max-width:650px){.alpha-demonstrator .simulation-uma-tabs button{flex:1 1 100%;max-width:none}.alpha-skill-grid{grid-template-columns:1fr}.alpha-demonstrator .demonstrator-conditions{font-size:16px;padding:12px}}
.alpha-demonstrator .simulation-uma-tabs{width:100%;max-width:960px}.alpha-demonstrator .simulation-uma-tabs button{flex:1 1 0;max-width:310px}.alpha-skill-grid{display:block;columns:3 270px;column-gap:10px}.alpha-skill-family{display:inline-flex;width:100%;vertical-align:top;break-inside:avoid;margin:0 0 9px;box-sizing:border-box}@media(max-width:650px){.alpha-skill-grid{columns:1}.alpha-demonstrator .simulation-uma-tabs button{flex:1 1 100%;max-width:none}}

/* Compact skill tiles and per-Uma source visibility. */
.alpha-demonstrator .simulation-uma-tabs button{background:linear-gradient(145deg,#26332b,#19221d);border:1px solid #61714f;border-radius:12px;min-height:58px;color:#f3f1e6;box-shadow:0 3px 0 #0c120e}
.alpha-demonstrator .simulation-uma-tabs button[aria-pressed=true]{background:linear-gradient(135deg,#443048,#263c2a);border:2px solid #efa0c7;box-shadow:0 0 0 3px #efa0c71c;color:#fff}
.alpha-demonstrator .simulation-uma-tabs img{width:44px;height:44px}
.alpha-skills-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:8px auto}
.alpha-skills-heading h3{margin:0}.alpha-visibility{max-width:100%;width:340px;box-sizing:border-box;border:1px solid #aa7597;border-radius:10px;background:#24252b;overflow:hidden}
.alpha-visibility>summary{display:flex;align-items:center;justify-content:center;gap:12px;list-style:none;padding:11px 14px;cursor:pointer;font-size:14px;font-weight:700;background:linear-gradient(135deg,#443048,#263c2a)}
.alpha-visibility>summary::-webkit-details-marker{display:none}.alpha-visibility[open]>summary>span{transform:rotate(180deg)}
.alpha-source-options{padding:10px;display:grid;gap:7px}.alpha-source-actions{display:flex;justify-content:center;gap:7px}.alpha-source-actions button{flex:1;padding:7px!important;min-height:34px!important;font-size:14px!important;margin:0!important;border-radius:7px}
.alpha-source-option{display:flex!important;align-items:center;gap:9px;padding:7px!important;margin:0!important;border:1px solid #59505a;border-radius:7px;background:#1d2420;cursor:pointer;font-size:14px}
.alpha-source-option input{flex:0 0 18px;width:18px;height:18px;accent-color:#efa0c7;margin:0}.alpha-source-option img{width:36px;height:42px;object-fit:contain}.alpha-source-option span{flex:1;min-width:0}.alpha-source-option strong,.alpha-source-option small{display:block}.alpha-source-option small{font-size:12px;color:#c8c3c9;overflow-wrap:anywhere}.alpha-source-option b{font-size:12px;color:#efa0c7}
.alpha-skill-grid{columns:3 285px;column-gap:10px}.alpha-skill-family{gap:4px;margin-bottom:8px}
.alpha-skill-box{background:linear-gradient(105deg,#f7fafc,#e5e9f4);border:2px solid #c3ccde;border-radius:8px;color:#63432a;box-shadow:0 2px 0 #8b91a2;font-size:14px}
.alpha-skill-box.gold{background:linear-gradient(105deg,#fff1bd,#ffbc20);border-color:#ffbe2a;color:#774118}
.alpha-skill-box.green{background:linear-gradient(105deg,#ecffd7,#c6ed93);border-color:#a4cf80;color:#3c562c}
.alpha-skill-box.unique{background:linear-gradient(105deg,#a5eab8,#a3bcff 45%,#f1b2ec);border-color:#ee97d6;color:#733b1e}
.alpha-skill-box.evolved{background:linear-gradient(105deg,#ffdabe,#dcaff8 60%,#f5addb);border-color:#d891e3;color:#683875}
.alpha-skill-box summary{height:auto;min-height:44px!important;padding:4px 7px!important;gap:7px;box-sizing:border-box;line-height:1.2}
.alpha-skill-box summary .alpha-skill-name{flex:1;font-size:14px;overflow-wrap:anywhere;text-shadow:0 1px #fff8}
.alpha-skill-icon{width:34px!important;height:34px!important;object-fit:contain;flex:0 0 34px}
.alpha-skill-check{flex:0 0 18px}.alpha-skill-check input{width:16px;height:16px;accent-color:#8b477c}
.alpha-skill-box:has(input:checked){box-shadow:0 2px 0 #8b91a2}.alpha-skill-box:not(:has(input:checked)) summary{opacity:.72}
.alpha-expand{font-size:16px}.alpha-skill-detail{border-top:1px solid #784c3540;padding:10px;background:#fffaf2;color:#473e36}.alpha-skill-detail .alpha-skill-source{color:#68534e}.alpha-effect-block{border-color:#784c3530}.alpha-effect-block code{color:#76583c}
@media(max-width:650px){.alpha-skill-grid{columns:1}.alpha-skills-heading{flex-direction:column}.alpha-visibility{width:100%}.alpha-demonstrator .simulation-uma-tabs button{min-height:56px}.alpha-skill-box summary{min-height:44px!important}}

.alpha-skill-box{margin:0!important;padding:0!important}.alpha-visibility{margin:0;padding:0}.alpha-skill-detail p{color:#473e36}.alpha-skill-detail .alpha-skill-source{color:#68534e}

.alpha-course-facts{margin:0;padding:10px 12px;border:1px solid #665375;border-radius:9px;background:#202224}.alpha-course-facts summary{font-size:14px}.alpha-course-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alpha-course-sections h4{font-size:14px;margin:12px 0 6px}.alpha-course-sections table{width:100%;border-collapse:collapse;font-size:14px}.alpha-course-sections th,.alpha-course-sections td{padding:5px;border-bottom:1px solid #434047;text-align:center}.alpha-course-facts p{font-size:13px!important;margin:10px auto!important}.alpha-skill-search{display:flex;justify-content:center;align-items:end;gap:12px;flex-wrap:wrap;padding:10px 0}.alpha-skill-search label{display:grid;gap:5px;font-size:14px}.alpha-skill-search input,.alpha-skill-search select{box-sizing:border-box;width:250px;max-width:100%;min-height:38px;border:1px solid #846b85;border-radius:7px;padding:7px 10px;background:#202224;color:#fff;font-size:14px;text-align:center}.alpha-skill-search>span{font-size:12px;color:#c3b5c5;align-self:center}@media(max-width:650px){.alpha-course-sections{grid-template-columns:1fr}.alpha-skill-search label{width:100%}.alpha-skill-search input,.alpha-skill-search select{width:100%}}

/* Stable rows: opening a tile never repartitions columns. */
.alpha-skill-grid{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}.alpha-skill-family{display:flex;width:auto;margin:0;min-width:0;gap:5px}.alpha-skill-box summary{height:46px;min-height:46px!important}.alpha-skill-box summary .alpha-skill-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:17px}.alpha-carat-controls{display:flex;flex-direction:column;align-items:center;gap:5px;margin:12px auto}.alpha-carat-guide{position:relative;width:140px;height:150px}.alpha-guide-art{width:140px;height:150px;object-fit:contain}.alpha-carat-guide .alpha-carat{position:absolute;top:13px;left:0;width:39px;height:39px;min-height:39px;padding:4px;margin:0;border-radius:9px;border:2px solid #d1a2bf;background:#28242b;box-shadow:0 0 8px #efa0c75c}.alpha-carat img{width:27px;height:27px;object-fit:contain}.alpha-carat[aria-pressed=false]{filter:grayscale(1);opacity:.65;box-shadow:none}.alpha-carat-controls p{font-size:14px!important;margin:0!important}.alpha-carat-controls small{font-size:12px;max-width:660px;color:#beb2bf;line-height:1.5}@media(max-width:900px){.alpha-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.alpha-skill-grid{grid-template-columns:1fr}}

/* Fixed skill stacks: details expand only their own column. */
.alpha-skill-column{display:flex;flex-direction:column;gap:9px;min-width:0}
.alpha-skill-column .alpha-skill-family{display:flex;width:100%;margin:0;flex-direction:column;gap:5px}
.alpha-skill-box summary{height:60px;min-height:60px!important;box-sizing:border-box}
.alpha-skill-caption{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.alpha-skill-providers{display:flex;align-items:center;justify-content:center;gap:3px;height:20px}
.alpha-skill-providers img{display:block;width:18px;height:20px;object-fit:cover;object-position:top;border-radius:3px;border:1px solid #ffffff65;box-sizing:border-box}
.alpha-skill-box summary .alpha-skill-name{width:100%;font-size:13px;line-height:15px}

/* Source picker overlays the skill list without changing document height. */
.alpha-visibility{position:relative;overflow:visible;flex-shrink:0;z-index:5}
.alpha-visibility .alpha-source-options{position:absolute;top:calc(100% + 6px);right:0;width:100%;box-sizing:border-box;max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain;background:#24252b;border:1px solid #aa7597;border-radius:10px;box-shadow:0 12px 32px #0008;z-index:20}
.alpha-activation-label{font-family:sans-serif;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}

.alpha-quality-hint{font-size:13px;line-height:1.5;color:var(--muted,#b8b8b8);margin:0 auto!important;max-width:920px;text-align:center}

/* Larger skill checkbox and surrounding click target. */
.alpha-skill-box .alpha-skill-check{flex:0 0 44px;width:44px;height:44px;cursor:pointer;border-radius:6px;box-sizing:border-box}
.alpha-skill-box .alpha-skill-check input{width:28px;height:28px;min-width:28px;min-height:28px;margin:0;cursor:pointer}
.alpha-skill-box .alpha-skill-check:hover{background:#ffffff35}
.alpha-skill-box .alpha-skill-check:focus-within{outline:2px solid #8b477c;outline-offset:-2px}

.alpha-comparison-reference{text-align:center;font-size:14px;line-height:1.5;max-width:1000px;margin:8px auto}.alpha-comparison-reference p{font-size:13px!important;margin:5px 0!important}
.alpha-lengths-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:10px auto}.alpha-lengths-summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #aa7597;border-radius:12px;background:#24252b;padding:12px 18px;min-width:105px}.alpha-lengths-summary strong{font-size:26px;color:#efb8d8}.alpha-lengths-summary span{font-size:13px}.alpha-lengths-summary b{font-size:14px;margin-top:6px}

.alpha-current-lengths{display:flex;flex-direction:column;align-items:center;gap:4px;margin:12px auto;text-align:center}.alpha-current-lengths span{font-size:14px}.alpha-current-lengths strong{font-size:30px;color:#efb8d8}

/* Readable condition card, following the GameTora field order. */
.alpha-skill-box .alpha-skill-detail{background:#e1f0f1;color:#253a3b;text-align:left;align-items:stretch;padding:14px;gap:8px}
.alpha-skill-box .alpha-skill-detail p{color:inherit;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.alpha-skill-box .alpha-skill-detail .alpha-skill-source,.alpha-skill-id{font-size:12px;color:#53686a}
.alpha-activation-metadata{display:flex;flex-direction:column;gap:7px;margin:5px 0}
.alpha-skill-detail .alpha-effect-block{align-items:stretch;gap:14px;padding-top:12px;border-color:#526c6d40}
.alpha-technical-condition>strong{display:block;margin-bottom:7px;font-size:14px}
.alpha-skill-detail .alpha-technical-condition code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#243e40;font-size:13px;background:none;margin:0;white-space:normal;overflow-wrap:anywhere}
.alpha-technical-condition code>span{display:block;line-height:1.6}
.alpha-trigger-summary{padding:12px;background:#fff9ec;border:1px solid #baa888;border-radius:7px;display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.5;color:#453d32}
.alpha-trigger-summary ul{padding:0 0 0 18px;margin:0;display:flex;flex-direction:column;gap:5px;list-style:disc}
.alpha-trigger-summary li{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.alpha-trigger-summary small{font-size:12px;line-height:1.5}
.alpha-effect-values{display:flex;flex-direction:column;gap:4px}

/* Compact explanations and native accessible detail windows. */
.alpha-carat-guide .alpha-carat{top:-4px;left:10px;width:36px;height:36px;min-height:36px;padding:3px}
.alpha-condition-link{display:block;border:0!important;background:transparent!important;color:#416cdb!important;text-decoration:underline;text-underline-offset:3px;font:inherit;text-align:left;cursor:pointer;padding:4px 0!important;min-height:32px;overflow-wrap:anywhere;max-width:100%}
.alpha-help-dialog{max-width:620px;width:calc(100% - 32px);max-height:85vh;overflow:auto;background:#e4f0f2;color:#293b42;border:1px solid #aabcca;border-radius:16px;padding:20px;box-sizing:border-box}.alpha-help-dialog::backdrop{background:#0009}.alpha-help-dialog header{display:flex;justify-content:space-between;align-items:center;position:static;padding:0;background:transparent}.alpha-help-dialog header button{font-size:28px;padding:6px 14px}.alpha-help-dialog h3{margin:0}.alpha-help-dialog p{font-size:15px;line-height:1.6}.alpha-help-dialog a{color:#416cdb}.alpha-help-dialog code{overflow-wrap:anywhere;white-space:normal}.alpha-secret-races>div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #bdcfd4}.alpha-secret-races img{width:64px;object-fit:contain}.alpha-secret-races small{display:block;margin-top:4px}.alpha-trigger-summary p{margin:6px 0}.alpha-condition-link:focus-visible{outline:2px solid #416cdb;outline-offset:3px}

.nishino-filter-guide .carat-toggle{left:10px;top:-6px}.tt-guide-image .carat-toggle{left:15px;top:-8px}

.alpha-detail-name{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.alpha-detail-name label{display:flex;align-items:center;gap:8px}.alpha-detail-name select{width:64px;padding:8px;color:#293b42;background:#fff;border:1px solid #aabcca;border-radius:8px}.alpha-race-link{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:#416cdb;background:transparent;border:0;border-bottom:1px solid #bdcfd4;border-radius:0;padding:12px 0}.alpha-secret-races .alpha-race-link img{width:118px;height:auto}.alpha-race-banner{width:240px;max-width:100%;display:block;margin:18px auto}.alpha-race-link small{color:#293b42}.alpha-help-dialog .alpha-secret-races{margin-bottom:14px}

.alpha-help-overlay{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#0009}.alpha-help-overlay>.alpha-help-dialog{display:block;position:relative;margin:0;width:100%;max-height:calc(100dvh - 32px);text-align:left}.alpha-help-overlay .alpha-help-dialog header{gap:12px}.alpha-help-overlay .alpha-help-dialog header button{flex-shrink:0}

.alpha-skill-detail p.alpha-effect-last{display:flex;align-items:baseline;gap:8px}.alpha-effect-last>span{flex:1;min-width:0}.alpha-skill-box .alpha-skill-collapse{flex:none;align-self:baseline;display:inline-flex;align-items:baseline;gap:3px;color:#53686a!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:3px;padding:0 2px!important;margin:0!important;min-height:0!important;width:auto!important;min-width:0!important;font-size:12px!important;line-height:1.5;white-space:nowrap;cursor:pointer}.alpha-skill-box .alpha-skill-collapse:hover{color:#416cdb!important}.alpha-skill-collapse:focus-visible{outline:2px solid #416cdb;outline-offset:2px}

/* Uniform skill headers across every event and source combination. */
.alpha-skill-column .alpha-skill-box{width:100%;min-width:0;box-sizing:border-box;flex-shrink:0}
.alpha-skill-box>summary{display:grid;grid-template-columns:44px 34px minmax(0,1fr) 15px;align-items:center;gap:7px;height:64px;min-height:64px!important;padding:4px 7px!important;margin:0!important;width:100%;box-sizing:border-box}
.alpha-skill-box>summary .alpha-skill-check{display:flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;width:44px;height:44px;min-width:0}
.alpha-skill-box>summary .alpha-skill-caption{display:grid;grid-template-rows:30px 20px;gap:3px;align-items:center;justify-items:center;min-width:0;width:100%;height:53px;margin:0;padding:0}
.alpha-skill-box>summary .alpha-skill-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:30px;line-height:15px;overflow:hidden;margin:0;padding:0;min-width:0;text-align:center}
.alpha-skill-box>summary .alpha-skill-providers{width:100%;min-width:0;max-width:100%;height:20px;gap:2px;overflow:hidden;margin:0;padding:0}
.alpha-skill-box>summary .alpha-skill-providers img{flex:0 1 18px;min-width:0;max-width:18px;height:20px;margin:0;padding:0;object-fit:cover}
.alpha-skill-box>summary .alpha-expand{width:15px;margin:0;padding:0;text-align:center}
/* Skill purchase controls and event heading */
#special-event-title{color:#f7c6dd;text-shadow:0 2px 14px #d3649335;font-family:Georgia,serif;font-weight:700}#special-event-track{color:#dbe5bc;font-weight:600}#special-event-scenario{display:flex;align-items:center;justify-content:center;gap:10px;color:#efc58d;font-weight:600}#special-event-scenario img{width:42px;height:42px;object-fit:contain}
.alpha-hint-sources{display:flex;flex-direction:column;gap:6px}.alpha-hint-source{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.5}.alpha-hint-source>img{width:23px;height:30px;object-fit:contain;flex:none}.alpha-hint-source small{display:block;font-size:12px}.alpha-hint-source a{color:#416cdb}.alpha-skill-cost{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.alpha-skill-cost small{display:block;font-size:12px}.alpha-skill-box .alpha-skill-cost select{font-size:13px;padding:3px;min-height:28px;width:auto}.alpha-sp-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px solid #b780a6;border-radius:10px;background:#211a28}.alpha-fast-learner{display:flex;align-items:center;gap:8px;font-size:14px}.alpha-fast-learner input{width:25px;height:25px;accent-color:#e6a3cb}.alpha-bulk-hint{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alpha-bulk-hint label{display:flex;gap:5px;align-items:center;font-size:14px}.alpha-bulk-hint select{width:auto;max-width:190px;font-size:14px;padding:5px;min-height:32px}.alpha-bulk-hint button{padding:5px 10px;min-height:32px;font-size:14px}.alpha-total-sp{margin-left:auto;white-space:nowrap;font-size:16px;color:#f7c6dd}@media(max-width:650px){.alpha-bulk-hint{order:2;width:100%}.alpha-total-sp{order:1}.alpha-fast-learner{order:0}}
.alpha-source-actions{display:flex;gap:8px;flex-wrap:wrap}.alpha-demonstrator .alpha-source-actions button,.alpha-demonstrator .alpha-download-skills{color:#f9d9e7!important;background:linear-gradient(135deg,#563147,#302738)!important;border:1px solid #b780a6!important;border-radius:8px!important;box-shadow:inset 0 1px 0 #f7c6dd25;padding:7px 12px!important;font-size:14px!important;min-height:34px}.alpha-demonstrator .alpha-source-actions button:hover:not(:disabled),.alpha-demonstrator .alpha-download-skills:hover:not(:disabled){border-color:#f7c6dd!important;background:#603a51!important}.alpha-demonstrator .alpha-source-actions button:disabled{opacity:.6;cursor:default}.alpha-sp-total{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin-left:auto}.alpha-demonstrator .alpha-download-skills{font-size:13px!important;min-height:30px;padding:4px 9px!important}@media(max-width:650px){.alpha-sp-total{order:1}.alpha-source-actions button{flex:1}}

.uma-deck-heading{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-bottom:8px}.uma-deck-heading .uma-row-label{margin:0}.uma-deck-heading .uma-deck-reset{position:absolute;right:0;top:0;width:38px;height:38px;min-height:38px;margin:0;padding:4px;font-size:24px}

.signup-prizes{grid-column:1/-1;width:100%;min-width:0}.signup-prizes table{width:100%;border-collapse:collapse}.signup-prizes th,.signup-prizes td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.signup-prizes p{font-size:14px}.credit-entry{padding:12px 0;border-bottom:1px solid var(--line)}.full-rules a,.signup-prizes a,.credits-link{color:var(--pink,#efa0c7)}.credit-entry h3{margin-bottom:8px}.credits-link{font-size:14px}

/* Center the complete signup section and its prize columns. */
#inscricao.signup{grid-template-columns:minmax(0,1fr);justify-items:center;gap:40px;text-align:center}
#inscricao.signup>div:first-child{width:100%;max-width:720px;margin-inline:auto}
#inscricao .signup-prizes{width:100%;max-width:1000px;margin-inline:auto;text-align:center}
#inscricao .signup-prizes th,#inscricao .signup-prizes td{text-align:center}
#inscricao .signup-status{width:min(100%,640px);box-sizing:border-box;margin-inline:auto}
.credits-page .full-rules{text-align:center}
.credits-page .full-rules ul{list-style:none;padding-left:0}

/* Centered Series II registration information. */
.registration-deadline{padding:20px;border:1px solid var(--pink,#f49ac0);border-radius:14px}
.registration-discord{width:min(100%,720px);text-align:center}
