@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Orbitron:wght@600;700;800&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');
/* AUTO HACK foundations: tokens, navigation, forms, challenge cards and shared layout. */
:root,[data-bs-theme=dark],[data-bs-theme=light] {
  color-scheme:dark;
  --bs-body-bg:#02060d;
  --bs-body-color:#e7ecf2;
  --bs-primary:#197dff;
  --bs-primary-rgb:36,99,255;
  --bs-secondary-color:#8fa5bd;
  --bs-tertiary-bg:#10151e;
  --bs-border-color:#24364c;
  --bs-link-color:#75cdff;
  --bs-link-hover-color:#c2e8ff;
  --ah-blue:#197dff;
  --ah-chrome:linear-gradient(110deg,#556174,#e8f0fc 26%,#65758d 54%,#c5d2e6 80%,#3e4b60)
}
 [x-cloak] {
  display:none!important
}
html {
  scroll-padding-top:25px
}
body.ah-app {
  background:#02060d;
  color:#e7ecf2;
  font-family:Inter,"Pretendard","Apple SD Gothic Neo",Arial,sans-serif;
  padding-top:0;
  font-size:16px
}
a {
  text-decoration:none
}
a:focus-visible,button:focus-visible {
  outline:2px solid #93c4ff;
  outline-offset:4px
}
.ah-app main {
  margin-left:210px;
  padding:32px 32px 50px;
  min-height:calc(100vh - 68px)
}
.ah-app main>.container {
  width:100%;
  max-width:1460px;
  padding:0
}
.ah-app .footer {
  margin-left:210px;
  background:#02060d!important;
  border-top:1px solid #202b38;
  padding:22px;
  color:#78869b
}
.ah-sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:210px;
  background:#030405;
  border-right:1px solid #243140;
  padding:28px 17px;
  z-index:1030;
  overflow-y:auto;
  align-items:start
}
.ah-sidebar>.container {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  max-width:none;
  padding:0
}
.ah-logo {
  width:153px;
  height:79px;
  object-fit:contain
}
.ah-sidebar .navbar-brand {
  margin:0 0 28px;
  padding:0;
  text-align:center
}
.ah-sidebar .navbar-collapse {
  flex-direction:column;
  align-items:stretch;
  width:100%
}
.ah-sidebar .navbar-nav {
  flex-direction:column!important;
  width:100%;
  margin:0!important;
  gap:3px
}
.ah-sidebar .navbar-nav+.navbar-nav {
  border-top:1px solid #232f3e;
  margin-top:24px!important;
  padding-top:17px
}
.ah-sidebar .nav-link {
  font-size:14px;
  color:#a3aec0;
  padding:10px 12px!important;
  border-radius:0;
  text-align:left;
  width:100%
}
.ah-sidebar .nav-link:hover {
  background:#121927;
  color:#d9e6fc
}
.ah-sidebar .nav-link[aria-current=page] {
  background:#197dff1c;
  color:#91c2ff;
  border-left:2px solid #197dff
}
.ah-sidebar .dropdown-menu {
  position:static;
  background:#111722;
  border:1px solid #344157;
  max-height:240px;
  overflow:auto;
  font-size:14px;
  min-width:0
}
.ah-sidebar hr {
  display:none!important
}
.ah-sidebar .fa-wrench,.ah-sidebar .fa-cogs {
  opacity:.7
}
.jumbotron {
  background:transparent!important;
  padding:0 0 26px;
  margin:0 0 28px;
  border-bottom:1px solid #303747
}
.jumbotron h1 {
  font-size:30px;
  letter-spacing:-1px;
  font-weight:550
}
.jumbotron h2 {
  font-size:23px
}
.jumbotron>.container {
  padding:0
}
.btn {
  border-radius:0;
  font-size:14px;
  padding:10px 15px
}
.btn-primary {
  --bs-btn-bg:#197dff;
  --bs-btn-border-color:#197dff;
  --bs-btn-hover-bg:#2b8eff;
  --bs-btn-hover-border-color:#59a4ff;
  color:white;
  box-shadow:inset 0 1px #d0e2ff40
}
.btn-outline-secondary {
  --bs-btn-color:#bac9e1;
  --bs-btn-border-color:#43516a;
  --bs-btn-hover-bg:#263950;
  --bs-btn-hover-border-color:#738cb5
}
.btn-dark {
  --bs-btn-bg:#0e131c;
  --bs-btn-border-color:#343e4f
}
.form-control,.form-select {
  background-color:#0b1018;
  border-color:#3a475d;
  border-radius:0;
  color:#ecf5ff;
  min-height:42px
}
.form-control:focus,.form-select:focus {
  background-color:#111927;
  color:#fff;
  border-color:#5c9ae5;
  box-shadow:0 0 0 3px #197dff25
}
.form-control::placeholder {
  color:#8798b1
}
.form-control:disabled {
  background:#19222c;
  color:#a3b0c4
}
label {
  font-size:14px
}
.modal-content {
  background:#0d121c;
  border:1px solid #62718a;
  border-radius:0;
  color:#dce6f7
}
.modal-header,.modal-footer {
  border-color:#303c50
}
.btn-close {
  filter:invert(1) grayscale(1)
}
.nav-tabs {
  border-color:#34455a
}
.nav-tabs .nav-link {
  color:#a8bfdc
}
.nav-tabs .nav-link.active {
  background:#1a2841;
  border-color:#445d83;
  color:#bed7ff
}
.alert {
  border-radius:0
}
.table {
  --bs-table-bg:#090d14;
  --bs-table-striped-bg:#121925;
  --bs-table-striped-color:#dce6f7;
  --bs-table-color:#dce6f7;
  --bs-table-border-color:#2c3b4d
}
.table thead {
  font-size:13px;
  color:#a2b6d6
}
.card,.list-group-item {
  background:#0e141f;
  border-color:#303d53
}
.text-muted,.text-secondary {
  color:#97a7c0!important
}
.bg-light {
  background:#131d2c!important;
  color:#e5efff!important
}
code {
  color:#75cdff
}
.ah-overline {
  font:11px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:1.3px;
  color:#90a2be
}
.ah-console {
  display:grid;
  grid-template-columns:minmax(185px,.9fr) minmax(290px,1.2fr) minmax(235px,1fr);
  border:1px solid #515d71;
  border-radius:0;
  overflow:hidden;
  min-height:328px;
  background:#030405;
  position:relative;
  margin-bottom:24px
}
.ah-console:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:var(--ah-chrome);
  z-index:2
}
.ah-console-copy {
  padding:33px 24px
}
.ah-console-copy h1 {
  font-size:36px;
  letter-spacing:-1.4px;
  font-weight:620;
  margin:25px 0 9px;
  overflow-wrap:anywhere;
  background:linear-gradient(165deg,#fff,#aebed5 55%,#eff5ff);
  background-clip:text;
  color:transparent
}
.ah-console-copy p {
  color:#a0aec2;
  font-size:14px;
  margin-bottom:25px
}
.ah-console-copy .btn span {
  margin-left:24px
}
.ah-spec {
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  margin-top:34px;
  color:#7288a7;
  font:10px monospace
}
.ah-vehicle {
  position:relative;
  min-height:328px
}
.ah-vehicle>img {
  height:290px;
  width:200px;
  object-fit:contain;
  position:absolute;
  left:50%;
  top:14px;
  transform:translateX(-50%)
}
.ah-system {
  position:absolute;
  z-index:1;
  width:96px;
  background:#050911ed;
  border-left:2px solid #197dff;
  padding:7px 9px;
  font:13px monospace;
  color:#d9e8ff
}
.ah-system small {
  display:block;
  color:#809bbf;
  font:9px monospace;
  margin-top:5px
}
.ah-system:after {
  content:"";
  position:absolute;
  top:50%;
  width:23px;
  height:1px;
  background:#526f9c
}
.ah-ecu {
  top:60px;
  left:0
}
.ah-ecu:after,.ah-can:after {
  left:100%
}
.ah-tcu {
  top:117px;
  right:0
}
.ah-tcu:after,.ah-edr:after {
  right:100%
}
.ah-can {
  top:199px;
  left:0
}
.ah-edr {
  top:253px;
  right:0
}
.ah-diagram-note {
  position:absolute;
  bottom:9px;
  left:0;
  right:0;
  text-align:center;
  font:9px monospace;
  letter-spacing:1px;
  color:#607798
}
.ah-clock {
  position:relative;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse at 100% 110%,#333e51,transparent 65%)
}
.ah-clock svg {
  position:absolute;
  width:100%;
  max-width:285px;
  top:30px
}
.ah-clock-text {
  position:relative;
  display:grid;
  text-align:center;
  gap:8px;
  margin-top:-4px
}
.ah-clock-text>span {
  font-size:12px;
  letter-spacing:1px;
  color:#9bacc6
}
.ah-clock-text strong {
  font:32px ui-monospace,SFMono-Regular,monospace;
  color:#f3f8ff;
  letter-spacing:-1.7px
}
.ah-clock-text small {
  font-size:11px;
  color:#88a9df
}
.ah-session-stats {
  display:flex;
  gap:15px;
  margin-bottom:27px
}
.ah-session-stats>div {
  flex:1;
  padding:16px 20px;
  border:1px solid #333e51;
  border-top-color:#77869d;
  position:relative;
  background:#0b1018
}
.ah-session-stats>div:before {
  content:"";
  height:2px;
  position:absolute;
  inset:0 0 auto;
  background:var(--ah-chrome)
}
.ah-session-stats span {
  display:block;
  font-size:13px;
  color:#9bacc6
}
.ah-session-stats strong {
  display:block;
  font:29px monospace;
  margin-top:9px
}
.ah-track-nav {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.ah-track-nav a {
  padding:8px 14px;
  border:1px solid #36485d;
  color:#b5c9eb;
  font-size:13px;
  border-radius:0
}
.ah-track-nav a:hover {
  background:#197dff20;
  border-color:#597fbf
}
.ah-track-section {
  padding-top:32px
}
.category-header h3 {
  font-size:23px;
  margin:7px 0 0;
  letter-spacing:-.5px
}
.category-header {
  border-bottom:1px solid #303b4e;
  padding-bottom:15px
}
.challenge-button {
  text-align:left;
  padding:18px;
  border-color:#364053!important;
  background:#0c111a!important;
  box-shadow:none!important;
  transition:border-color .15s,background .15s
}
.challenge-button:hover {
  border-color:#658bc5!important;
  background:#15223b!important
}
.challenge-inner {
  margin:0!important
}
.challenge-inner p {
  font-size:18px;
  margin:19px 0 24px;
  color:#e8f2ff;
  overflow-wrap:anywhere
}
.ah-challenge-status {
  font:10px monospace;
  letter-spacing:1px;
  color:#8c9bb1
}
.ah-challenge-points {
  display:block;
  padding-top:12px;
  border-top:1px solid #2d3c4e;
  font:21px monospace
}
.ah-challenge-points small {
  font:11px monospace;
  color:#8b9bb5
}
.challenge-solved {
  border-left:3px solid #197dff!important;
  background:#0e1b31!important
}
.challenge-solved .ah-challenge-status {
  color:#88beff
}
.challenge-solved:before,.challenge-solved:after {
  display:none!important
}
.ah-page-content {
  padding-top:10px
}
.ah-pit {
  border:1px solid #41506a;
  border-radius:0;
  margin-bottom:30px;
  overflow:hidden
}
.ah-pit-heading {
  padding:21px 23px;
  background:linear-gradient(115deg,#303b4d,#151d2a 65%,#263349);
  border-top:2px solid #8295b0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.ah-pit-heading h2 {
  font-size:23px;
  margin:8px 0 0;
  letter-spacing:-.7px
}
.ah-legend {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  font-size:12px;
  color:#b6c7e2
}
.ah-legend span {
  display:flex;
  align-items:center;
  gap:6px
}
.ah-key {
  width:20px;
  height:6px;
  background:#1c2633;
  border:1px solid #53647e;
  transform:skewX(-16deg)
}
.ah-key.solved {
  background:#197dff;
  border-color:#60a8ff
}
.ah-key.unknown {
  background:repeating-linear-gradient(120deg,#6b7b91 0 2px,#192332 2px 5px)
}
.ah-pit-controls {
  display:flex;
  gap:12px;
  padding:18px 22px;
  background:#080c13
}
.ah-pit-controls .form-control {
  max-width:300px
}
.ah-pit-controls .form-select {
  max-width:220px
}
.ah-pit-controls .btn {
  white-space:nowrap;
  margin-left:auto
}
.ah-pit-status {
  padding:0 22px;
  color:#98abc9;
  font-size:13px;
  line-height:1.7
}
.ah-pit-scroll {
  overflow:auto;
  max-height:630px;
  padding:0 15px 15px;
  scrollbar-color:#596f91 #0a101a
}
.ah-track-head,.ah-lane {
  display:grid;
  grid-template-columns:210px repeat(var(--tracks),minmax(195px,1fr));
  gap:14px
}
.ah-track-head {
  position:sticky;
  top:0;
  z-index:3;
  background:#02060d;
  padding:10px 0 14px;
  min-width:var(--lane-width)
}
.ah-track-head>div {
  padding:12px;
  background:#172133;
  border-top:2px solid #758ba9;
  font-size:15px;
  overflow-wrap:anywhere
}
.ah-track-head>div:first-child {
  background:#02060d;
  border-top:0;
  position:sticky;
  left:0;
  z-index:4;
  display:flex;
  align-items:end;
  font:12px monospace;
  color:#a2b7d8
}
.ah-track-head small {
  display:block;
  font:10px monospace;
  letter-spacing:1px;
  color:#8fa9cf;
  margin-bottom:7px
}
.ah-lane {
  background:#0b1019;
  border:1px solid #29364b;
  border-radius:0;
  min-width:var(--lane-width);
  margin-bottom:9px
}
.ah-lane.is-me {
  background:#102343;
  border-color:#3c78c2
}
.ah-lane-account {
  padding:17px 12px;
  background:#0b1019;
  position:sticky;
  left:0;
  z-index:2;
  border-radius:0;
  box-shadow:5px 0 8px #0004
}
.is-me .ah-lane-account {
  background:#102343
}
.ah-lane-account a {
  font-size:14px;
  color:#d9e8ff;
  overflow-wrap:anywhere
}
.ah-position {
  font:11px monospace;
  color:#90a8cb;
  margin-right:9px
}
.ah-lane-meta {
  font:11px monospace;
  color:#92a9cb;
  margin:8px 0 0 24px
}
.ah-lane-track {
  display:flex;
  align-items:center;
  gap:5px;
  padding:10px;
  flex-wrap:wrap;
  align-content:center
}
.ah-sector {
  display:flex;
  flex:1;
  min-width:25px;
  max-width:52px;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:7px 0;
  color:#90a7c9;
  font:10px monospace
}
.ah-sector i {
  height:7px;
  width:100%;
  background:#192332;
  border:1px solid #54617a;
  transform:skewX(-16deg)
}
.ah-sector.is-solved i {
  background:#197dff;
  border-color:#5ca5ff
}
.ah-sector.is-solved {
  color:#a3c7ff
}
.ah-sector.is-unknown i {
  background:repeating-linear-gradient(120deg,#687e9e 0 2px,#192332 2px 5px)
}
.ah-sector:hover i {
  border-color:#d3e5ff
}
.ah-pit-pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 20px;
  border-top:1px solid #29364c;
  color:#97adce;
  font-size:13px
}
.ah-pit-pagination button+button {
  margin-left:9px
}
.ah-empty {
  padding:35px 0;
  color:#98adc9
}
.ah-ranking-details summary {
  font-size:15px;
  color:#acbfdc;
  padding:14px 0
}
.ah-ranking-details #score-graph {
  margin-top:15px
}
.ah-ranking-details .table {
  margin-top:20px
}
 @media(min-width:1700px) {
  .ah-app main {
    padding-left:50px;
    padding-right:50px
  }
  .ah-console {
    min-height:360px
  }
  .ah-vehicle {
    min-height:360px
  }
  .ah-vehicle>img {
    height:320px
  }
  .ah-clock svg {
    top:42px
  }
  .ah-console-copy {
    padding:40px 30px
  }
  .ah-console-copy h1 {
    font-size:43px
  }
  
}
 @media(max-width:1150px) {
  .ah-sidebar {
    width:185px;
    padding:25px 13px
  }
  .ah-app main {
    margin-left:185px;
    padding:25px
  }
  .ah-app .footer {
    margin-left:185px
  }
  .ah-logo {
    width:144px
  }
  .ah-console {
    grid-template-columns:190px minmax(260px,1fr)
  }
  .ah-clock {
    grid-column:1/-1;
    min-height:240px;
    border-top:1px solid #27344a
  }
  .ah-clock svg {
    top:0;
    width:250px
  }
  .ah-clock-text {
    margin-top:0
  }
  .ah-console-copy {
    padding-left:22px
  }
  .ah-console-copy h1 {
    font-size:32px
  }
  .ah-pit-heading {
    align-items:start;
    flex-direction:column;
    gap:13px
  }
  
}
 @media(max-width:767px) {
  .ah-sidebar {
    position:relative;
    inset:auto;
    width:100%;
    padding:12px 17px;
    border-right:0;
    border-bottom:1px solid #343e51;
    overflow:visible
  }
  .ah-sidebar>.container {
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center
  }
  .ah-sidebar .navbar-brand {
    margin:0
  }
  .ah-logo {
    width:104px;
    height:52px
  }
  .ah-sidebar .navbar-collapse {
    flex-basis:100%
  }
  .ah-sidebar .navbar-nav {
    margin-top:15px!important
  }
  .ah-sidebar .navbar-nav+.navbar-nav {
    margin-top:15px!important;
    padding-top:10px
  }
  .ah-sidebar .dropdown-menu {
    max-height:200px
  }
  .ah-app main {
    margin-left:0;
    padding:23px 17px 35px
  }
  .ah-app .footer {
    margin-left:0
  }
  .ah-console {
    grid-template-columns:1fr
  }
  .ah-console-copy {
    padding:23px
  }
  .ah-console-copy h1 {
    margin-top:16px;
    font-size:34px
  }
  .ah-console-copy p {
    margin-bottom:17px
  }
  .ah-spec {
    margin-top:20px
  }
  .ah-vehicle {
    min-height:340px;
    border-top:1px solid #2b374b
  }
  .ah-vehicle>img {
    height:305px;
    top:12px
  }
  .ah-ecu,.ah-can {
    left:16px
  }
  .ah-tcu,.ah-edr {
    right:16px
  }
  .ah-system {
    width:104px
  }
  .ah-clock {
    min-height:238px
  }
  .ah-session-stats {
    gap:8px
  }
  .ah-session-stats>div {
    padding:15px 12px
  }
  .ah-session-stats span {
    font-size:12px
  }
  .ah-session-stats strong {
    font-size:25px
  }
  .ah-pit-controls {
    padding:15px;
    flex-wrap:wrap;
    gap:9px
  }
  .ah-pit-controls .form-control {
    max-width:none;
    flex-basis:100%
  }
  .ah-pit-controls .form-select {
    max-width:none;
    flex:1
  }
  .ah-pit-controls .btn {
    margin-left:0
  }
  .ah-pit-heading {
    padding:18px
  }
  .ah-pit-heading h2 {
    font-size:21px
  }
  .ah-pit-pagination {
    padding:13px;
    gap:15px;
    flex-wrap:wrap
  }
  .ah-track-head,.ah-lane {
    grid-template-columns:165px repeat(var(--tracks),minmax(195px,1fr))
  }
  .ah-lane-account {
    padding-left:9px
  }
  .ah-legend {
    font-size:12px
  }
  .jumbotron h1 {
    font-size:27px
  }
  .challenge-inner p {
    font-size:18px
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important
  }
  
}
 /* Sidebar labels stay visible at tablet widths. */
 .ah-sidebar .d-sm-inline.d-md-none.d-lg-inline {
  display:inline!important
}
.ah-sidebar .d-none.d-md-inline.d-lg-none {
  display:none!important
}
 .ah-console {
  grid-template-columns:minmax(165px,.7fr) minmax(390px,1.8fr) minmax(215px,.9fr)
}
.ah-console-copy {
  padding:30px 20px
}
.ah-region-map {
  min-height:360px;
  display:grid;
  place-items:center
}
.ah-region-svg {
  width:100%;
  height:auto;
  min-height:320px;
  overflow:visible
}
.ah-zone {
  cursor:pointer;
  outline:none
}
.ah-zone rect {
  fill:#197dff23;
  stroke:#84b1e7;
  stroke-width:1.4
}
.ah-zone path {
  fill:none;
  stroke:#7f97bd;
  stroke-width:1.2
}
.ah-zone circle {
  fill:#b3cfff;
  stroke:#172841;
  stroke-width:1
}
.ah-zone text {
  fill:#edf5ff;
  font:600 15px Arial,"Apple SD Gothic Neo",sans-serif
}
.ah-zone .ah-zone-sub {
  fill:#99aac4;
  font:11px Arial,"Apple SD Gothic Neo",sans-serif
}
.ah-zone[aria-pressed=true] rect {
  fill:#197dff75;
  stroke:#b8d7ff;
  stroke-width:2
}
.ah-zone[aria-pressed=true] path {
  stroke:#5594ff;
  stroke-width:2
}
.ah-zone[aria-pressed=true] circle {
  fill:#fff
}
.ah-zone:hover rect,.ah-zone:focus-visible rect {
  stroke:white;
  stroke-width:3;
  fill:#197dff66
}
.ah-zone:focus-visible text {
  text-decoration:underline
}
.ah-map-note {
  fill:#7285a2;
  font:10px Arial,"Apple SD Gothic Neo",sans-serif
}
.ah-region-detail {
  display:grid;
  grid-template-columns:240px 1fr;
  gap:28px;
  border:1px solid #344457;
  border-top:2px solid #7892b5;
  background:#080c13;
  padding:22px;
  margin:-9px 0 27px
}
.ah-region-intro h2 {
  font-size:21px;
  margin:10px 0;
  letter-spacing:-.5px
}
.ah-region-intro p {
  font-size:13px;
  color:#9eafc8;
  line-height:1.7;
  margin:0
}
.ah-region-problems>p {
  font-size:13px;
  color:#a2b6d5;
  margin:0 0 10px;
  line-height:1.7
}
#ah-region-list {
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.ah-linked-problem {
  display:flex;
  align-items:center;
  gap:16px;
  border:1px solid #3b5276;
  background:#111c2e;
  color:#dfedff;
  border-radius:0;
  padding:10px 13px;
  font-size:14px;
  text-align:left
}
.ah-linked-problem:hover {
  background:#1a3960;
  border-color:#6497ed;
  color:white
}
.ah-linked-problem small {
  font:11px monospace;
  color:#91b4f0;
  white-space:nowrap
}
.ah-region-login {
  color:#9ac7ff;
  font-size:14px
}
.ah-clock svg {
  top:50px
}
.ah-clock-text strong {
  font-size:29px
}
 @media(max-width:1300px) {
  .ah-console {
    grid-template-columns:185px minmax(320px,1fr)
  }
  .ah-clock {
    grid-column:1/-1;
    min-height:230px;
    border-top:1px solid #27344a
  }
  .ah-clock svg {
    top:0;
    width:245px
  }
  .ah-region-map {
    min-height:330px
  }
  
}
@media(max-width:767px) {
  .ah-console {
    grid-template-columns:1fr
  }
  .ah-region-map {
    border-top:1px solid #293b50;
    min-height:320px;
    overflow-x:auto
  }
  .ah-region-svg {
    min-width:430px;
    min-height:316px
  }
  .ah-region-detail {
    grid-template-columns:1fr;
    gap:18px;
    padding:18px
  }
  .ah-clock {
    min-height:232px
  }
  .ah-region-intro h2 {
    font-size:20px
  }
  .ah-region-map:before {
    content:'영역을 선택하세요 · 작은 화면에서는 좌우로 이동';
    font-size:11px;
    color:#8499b9;
    padding:10px 13px 0;
    justify-self:start
  }
  
}
 /* Navy translucent area boxes; external callouts and connector lines retained. */
 .ah-zone rect {
  rx:0;
  ry:0;
  fill:rgba(12,32,79,.55);
  stroke:rgba(143,177,226,.65);
  stroke-width:1
}
.ah-zone[aria-pressed=true] rect {
  fill:rgba(16,43,99,.68);
  stroke:#aac7ed;
  stroke-width:1.5
}
.ah-zone:hover rect {
  fill:rgba(24,51,107,.68);
  stroke:#b3cff4;
  stroke-width:1.5
}
.ah-zone:focus-visible rect {
  fill:rgba(24,51,107,.68);
  stroke:#e0edff;
  stroke-width:2
}
.ah-zone path {
  fill:none;
  stroke:#819cbd;
  stroke-width:1.2
}
.ah-zone[aria-pressed=true] path {
  stroke:#5894e8;
  stroke-width:1.6
}
.ah-zone circle {
  fill:#b3cfff;
  stroke:#243d60;
  stroke-width:1
}
.ah-zone text {
  font-size:15px;
  fill:#edf5ff;
  stroke:none
}
.ah-zone .ah-zone-sub {
  font-size:11px;
  fill:#a5b8d2;
  stroke:none
}
 .ah-entry-shell {
  max-width:650px;
  margin:12px auto 40px;
  padding:34px 40px 40px;
  background:linear-gradient(155deg,#131a22,#030405 38%);
  border:1px solid #3c4657;
  border-radius:0;
  position:relative
}
.ah-entry-shell:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--ah-chrome)
}
.ah-entry-header {
  margin-bottom:29px
}
.ah-entry-brand {
  display:inline-block
}
.ah-entry-brand img {
  width:196px;
  height:103px;
  object-fit:contain
}
.ah-entry-meta {
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  font:10px monospace;
  letter-spacing:1px;
  color:#829cbe;
  margin:16px 0 25px;
  padding-bottom:17px;
  border-bottom:1px solid #303c50
}
.ah-entry-header h1 {
  font-size:28px;
  font-weight:550;
  letter-spacing:-.8px;
  color:#edf5ff;
  margin-bottom:11px
}
.ah-entry-header p {
  font-size:14px;
  color:#a6b4c9;
  line-height:1.7
}
.ah-entry-shell>.container {
  padding:0
}
.ah-entry-shell>.container>.row>[class*="col-"] {
  flex:0 0 100%;
  max-width:100%;
  margin-left:0
}
.ah-entry-shell .btn-success {
  background:#197dff;
  border-color:#197dff;
  color:#fff
}
.ah-entry-shell .btn-success:hover {
  background:#3992ff
}
.ah-entry-shell .h2 {
  font-size:21px
}
.ah-entry-shell .h3 {
  font-size:19px
}
.ah-entry-shell .text-center p {
  color:#a9b8ce
}
@media(max-width:767px) {
  .ah-entry-shell {
    margin:0 auto 20px;
    padding:24px 20px 28px
  }
  .ah-entry-brand img {
    width:168px;
    height:88px
  }
  .ah-entry-header h1 {
    font-size:25px
  }
  
}
 /* Polished chrome accents carried over from the original HTML concept. */
 :root {
  --ah-chrome:linear-gradient(105deg,#434d5d 0%,#a7b3c5 16%,#f5faff 28%,#788599 43%,#323c4e 57%,#cbd6e6 79%,#707e94 100%)
}
 .ah-console {
  border-color:#79869b;
  box-shadow:inset 0 1px #eaf3ff55,inset 0 -1px #9baec233
}
.ah-console:before {
  height:4px
}
.ah-console-copy {
  background:linear-gradient(125deg,#d8eaff09,transparent 62%)
}
.ah-clock {
  background:radial-gradient(ellipse at 100% 115%,#636c7e 0%,#243140 37%,#090c12 70%,#030405 92%);
  border-left:1px solid #546074
}
.ah-clock svg {
  filter:drop-shadow(0 2px 3px #0008)
}
.ah-session-stats>div {
  background:linear-gradient(118deg,#353d4b 0%,#161e28 39%,#222e3c 80%,#141b24);
  border-color:#5e6c82;
  box-shadow:inset 0 1px #dce9fc22
}
.ah-session-stats>div:before {
  height:3px
}
.ah-session-stats strong {
  color:#eef6ff;
  text-shadow:0 1px #000
}
.ah-session-stats span {
  color:#b2bfd2
}
.ah-pit-heading {
  position:relative;
  background:linear-gradient(110deg,#505c70 0%,#273445 26%,#1c2633 53%,#414f65 82%,#283647);
  border-top:0;
  border-bottom:1px solid #8a9bb4;
  box-shadow:inset 0 1px #edf4ff44
}
.ah-pit-heading:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--ah-chrome)
}
.ah-track-head>div:not(:first-child) {
  background:linear-gradient(115deg,#46546b,#233046 40%,#374960 82%);
  border-top:2px solid #c4d3e8;
  box-shadow:inset 0 1px #fff2;
  color:#edf4ff
}
.ah-track-head small {
  color:#bfcee5
}
.ah-region-detail {
  position:relative;
  border:1px solid #5f708b;
  border-top:0;
  background:#0a101b
}
.ah-region-detail:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--ah-chrome)
}
.ah-region-intro {
  border-left:2px solid #8699b5;
  padding-left:14px
}
.category-header {
  border-bottom:1px solid #5f728f
}
.ah-track-nav a {
  background:linear-gradient(120deg,#303c50,#172337 60%,#27364c);
  border-color:#5b7090;
  color:#d1e0f8;
  box-shadow:inset 0 1px #d6e9ff16
}
.ah-entry-shell {
  border-color:#6d7f99;
  background:linear-gradient(142deg,#343e4e 0%,#0b1018 32%,#030405 70%)
}
.ah-entry-shell:before {
  height:4px
}
@media(max-width:1300px) {
  .ah-clock {
    border-left:0;
    border-top:1px solid #65758e
  }
  
}
 /* Consistent square corners for rectangular interface surfaces. */
 .ah-app .btn,.ah-app .form-control,.ah-app .form-select,.ah-app .custom-select,.ah-app .input-group-text,.ah-app .modal-content,.ah-app .modal-header,.ah-app .modal-footer,.ah-app .card,.ah-app .card-header,.ah-app .card-footer,.ah-app .alert,.ah-app .badge,.ah-app .dropdown-menu,.ah-app .nav-link,.ah-app .page-link,.ah-app .list-group-item,.ah-app .popover,.ah-app .tooltip-inner,.ah-app .editor-toolbar,.ah-app .CodeMirror,.ah-app .progress {
  border-radius:0!important
}
 /* Competition interface: neutral surfaces, machined edges, functional blue. */
 body.ah-app {
  color:#e8e8ea;
  font-size:14px;
  --ah-line:#1f2b3a;
  --ah-muted:#8e9fb3;
  --ah-chrome:linear-gradient(100deg,#42464e,#e4e6eb 22%,#6d717a 43%,#202b38 64%,#b5bac4 88%,#454952)
}
 .ah-app main {
  margin-left:184px;
  padding:38px 42px 56px
}
.ah-app main>.container {
  max-width:1380px;
  margin-inline:auto
}
.ah-app .footer {
  margin-left:184px;
  border-color:#1a2433;
  font-size:11px;
  color:#71757c;
  background:#02060d!important
}
 .ah-sidebar {
  width:184px;
  background:#040506;
  border-color:#1a2433;
  padding:28px 14px
}
.ah-logo {
  width:122px;
  height:64px
}
.ah-sidebar .navbar-brand {
  margin-bottom:42px
}
.ah-sidebar .nav-link {
  padding:11px 13px!important;
  color:#9b9da4;
  font-size:13px
}
.ah-sidebar .nav-link[aria-current=page] {
  color:#f2f6fa;
  background:#0b1530;
  border-left-color:#197dff
}
.ah-sidebar .nav-link:hover {
  background:#10151c
}
.ah-sidebar .navbar-nav+.navbar-nav {
  border-color:#1a2433
}
.ah-sidebar .dropdown-menu {
  background:#0d1117;
  border-color:#283546
}
 .ah-overline {
  font:11px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.8px;
  color:#a0a3aa
}
.jumbotron {
  border-color:#212d3c;
  padding-bottom:22px
}
.jumbotron h1 {
  font-size:28px;
  color:#eee;
  letter-spacing:-1px
}
 .ah-console {
  grid-template-columns:minmax(0,1fr) 280px;
  min-height:0;
  background:#02060d;
  border:0;
  border-top:1px solid #747780;
  border-bottom:1px solid #1f2b3a;
  box-shadow:none;
  margin-bottom:0;
  overflow:visible;
  gap:0
}
 .ah-console:before {
  height:2px;
  width:130px;
  background:var(--ah-chrome)
}
 .ah-console-copy {
  grid-column:1/-1;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  padding:24px 0 20px;
  background:none;
  border-bottom:1px solid #1c2531
}
.ah-console-copy h1 {
  font-size:28px;
  font-weight:600;
  letter-spacing:-1.1px;
  background:none;
  color:#eee;
  margin:9px 0 0
}
.ah-console-copy p {
  font-size:12px;
  color:#91949c;
  margin:0 0 3px
}
.ah-console-copy .ah-overline {
  color:#9da0a7
}
 .ah-region-map {
  min-height:390px;
  padding:12px 20px 6px;
  background:#02060d;
  border:0
}
.ah-region-svg {
  width:100%;
  max-width:620px;
  min-width:0;
  min-height:0;
  overflow:visible
}
.ah-zone text {
  fill:#e7e8eb;
  font-weight:500
}
.ah-zone .ah-zone-sub {
  fill:#969da9
}
.ah-zone path {
  stroke:#626f84
}
.ah-zone[aria-pressed=true] path {
  stroke:#3892ff
}
.ah-zone rect {
  fill:rgba(12,32,79,.55)
}
.ah-map-note {
  font-size:9px;
  fill:#737780
}
 .ah-clock {
  grid-column:auto;
  min-height:0;
  border:0;
  border-left:1px solid #1b2430;
  background:linear-gradient(145deg,#080a0d,#000 58%);
  padding:0 15px
}
.ah-clock svg {
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:245px;
  max-width:95%;
  filter:drop-shadow(0 2px 1px #000)
}
.ah-clock-text {
  margin:0;
  gap:10px
}
.ah-clock-text strong {
  font-size:30px;
  color:#f0f1f3;
  font-variant-numeric:tabular-nums
}
.ah-clock-text>span {
  font-size:11px;
  letter-spacing:0;
  color:#a1a4ac
}
.ah-clock-text small {
  font-size:11px;
  color:#7db6fc
}
 .ah-region-detail {
  margin:0 0 32px;
  padding:22px 0;
  grid-template-columns:250px 1fr;
  gap:24px;
  border:0;
  border-bottom:1px solid #273445;
  background:none
}
.ah-region-detail:before {
  display:none
}
.ah-region-intro {
  padding-left:13px;
  border-left:2px solid #197dff
}
.ah-region-intro h2 {
  font-size:17px;
  margin:8px 0
}
.ah-region-intro p,.ah-region-problems>p {
  color:#a0a3ab;
  font-size:12px
}
.ah-linked-problem {
  background:#0c1116;
  border-color:#363941;
  color:#ddd;
  padding:10px 14px;
  font-size:13px
}
.ah-linked-problem:hover {
  background:#101e3e;
  border-color:#197dff
}
.ah-linked-problem small {
  color:#92b1d8
}
 .ah-session-stats {
  gap:0;
  border-bottom:1px solid #222f3f;
  margin-bottom:24px
}
.ah-session-stats>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:none;
  border:0;
  border-right:1px solid #1f2b3a;
  padding:8px 24px 22px;
  box-shadow:none
}
.ah-session-stats>div:first-child {
  padding-left:0
}
.ah-session-stats>div:last-child {
  border-right:0
}
.ah-session-stats>div:before {
  display:none
}
.ah-session-stats strong {
  margin:0;
  font-size:26px;
  font-weight:400;
  text-shadow:none
}
.ah-session-stats span {
  color:#979ba4;
  font-size:12px
}
 .ah-track-nav {
  gap:0;
  border-bottom:1px solid #222f3f
}
.ah-track-nav a {
  background:none;
  border:0;
  border-bottom:2px solid transparent;
  padding:12px 20px;
  box-shadow:none;
  color:#b3b5bd
}
.ah-track-nav a:first-child {
  padding-left:0
}
.ah-track-nav a:hover {
  background:none;
  border-color:#197dff;
  color:#fff
}
.ah-track-section {
  padding-top:30px
}
.category-header {
  display:flex;
  gap:14px;
  align-items:center;
  border-color:#222f3f;
  padding-bottom:13px
}
.category-header .ah-overline {
  font-size:10px;
  color:#898d97
}
.category-header h3 {
  font-size:20px;
  margin:0
}
.challenge-button {
  background:#090d11!important;
  border-color:#222f3f!important;
  padding:17px 18px
}
.challenge-button:hover {
  background:#101624!important;
  border-color:#638bbb!important
}
.challenge-inner p {
  font-size:16px;
  margin:17px 0 22px;
  font-weight:500;
  color:#eee
}
.ah-challenge-status {
  font-size:9px;
  color:#898f9a;
  letter-spacing:.8px
}
.ah-challenge-points {
  font-size:20px;
  border-color:#222e3c
}
.ah-challenge-points b {
  font-weight:450
}
.challenge-solved {
  background:#0a1326!important
}
.challenge-solved .ah-challenge-status {
  color:#79b5ff
}
.challenge-solved .ah-challenge-status:before {
  content:'';
  display:inline-block;
  width:18px;
  height:3px;
  vertical-align:middle;
  margin-right:7px;
  background:#338fff;
  box-shadow:0 0 8px #197dff88
}
 .ah-pit {
  border:0;
  border-top:1px solid #757982
}
.ah-pit-heading {
  background:none;
  border:0;
  border-bottom:1px solid #222f3f;
  padding:22px 0;
  box-shadow:none
}
.ah-pit-heading:before {
  width:100px;
  height:2px
}
.ah-pit-heading h2 {
  font-size:23px
}
.ah-legend {
  font-size:11px;
  color:#a4a8b0
}
.ah-pit-controls {
  background:none;
  padding:20px 0
}
.ah-pit-status {
  padding:0;
  color:#959aa5;
  font-size:12px
}
.ah-pit-scroll {
  padding:0 0 16px
}
.ah-track-head {
  gap:12px;
  padding:0 0 12px
}
.ah-track-head>div:not(:first-child) {
  background:linear-gradient(105deg,#1f2a38,#11161d 52%,#1c2633);
  border-top:1px solid #8f949e;
  box-shadow:none;
  color:#ddd;
  font-size:13px
}
.ah-track-head small {
  color:#9299a7;
  font-size:9px
}
.ah-lane {
  margin:0;
  border:0;
  border-bottom:1px solid #1e2834;
  background:#06080b;
  gap:12px
}
.ah-lane-account {
  background:#06080b;
  box-shadow:none;
  padding-block:18px
}
.ah-lane.is-me,.is-me .ah-lane-account {
  background:#0b1730
}
.ah-lane-meta {
  font-size:10px;
  color:#939dad
}
.ah-lane-account a {
  color:#e0e2e6
}
.ah-sector {
  color:#919baa
}
.ah-sector i {
  background:#141b24;
  border-color:#343e50;
  height:5px
}
.ah-sector.is-solved i {
  background:#338fff;
  border-color:#70b0ff;
  box-shadow:0 0 7px #197dff55
}
.ah-pit-pagination {
  border-color:#222f3f;
  padding:16px 0
}
.ah-ranking-details summary {
  color:#bec1c8;
  font-size:13px
}
 .ah-app .form-control,.ah-app .form-select {
  background:#0b0f14;
  border-color:#383b43;
  color:#eee;
  font-size:14px
}
.ah-app .form-control:focus,.ah-app .form-select:focus {
  border-color:#197dff;
  background:#0f141a;
  box-shadow:0 0 0 2px #197dff20
}
.ah-app .modal-content {
  background:#0b0f14;
  border-color:#5c616c
}
.ah-app .modal-header {
  background:linear-gradient(110deg,#1f2936,#10161d 65%);
  border-top:1px solid #a1a6b0;
  border-bottom-color:#34373e
}
.ah-app .btn {
  font-size:13px
}
.ah-app .table {
  --bs-table-bg:#080b0e;
  --bs-table-striped-bg:#0e1218;
  --bs-table-border-color:#232f3d
}
.ah-app .card,.ah-app .list-group-item {
  background:#0e1218;
  border-color:#22324a
}
 /* Entry uses a vehicle plate and a separate, compact authentication form. */
 .ah-entry-shell {
  display:grid;
  grid-template-columns:42% 58%;
  grid-template-rows:auto 1fr;
  max-width:960px;
  margin:clamp(20px,7vh,90px) auto 50px;
  padding:0;
  min-height:560px;
  border:1px solid #283546;
  border-top-color:#969aa3;
  background:#07090c;
  box-shadow:none;
  isolation:isolate
}
.ah-entry-shell:before {
  height:2px;
  width:42%;
  background:var(--ah-chrome)
}
 .ah-entry-header {
  display:contents;
  margin:0
}
.ah-entry-brand {
  grid-column:1;
  grid-row:1/3;
  align-self:start;
  z-index:2;
  margin:30px 30px 0;
  width:126px
}
.ah-entry-brand img {
  width:126px;
  height:68px
}
.ah-entry-vehicle {
  grid-column:1;
  grid-row:1/3;
  position:relative;
  min-height:560px;
  background:#02060d;
  overflow:hidden;
  border-right:1px solid #283546
}
.ah-entry-vehicle>img {
  position:absolute;
  top:108px;
  left:50%;
  transform:translateX(-50%) rotate(-17deg);
  height:390px;
  width:245px;
  object-fit:contain
}
.ah-entry-stripe {
  position:absolute;
  bottom:0;
  left:30px;
  width:42px;
  height:5px;
  background:#197dff
}
.ah-entry-caption {
  grid-column:1;
  grid-row:1/3;
  align-self:end;
  z-index:2;
  padding:24px 30px;
  color:#898f9b;
  font:10px ui-monospace,monospace;
  display:flex;
  justify-content:space-between;
  gap:12px
}
.ah-entry-title {
  grid-column:2;
  grid-row:1;
  padding:76px 48px 28px
}
.ah-entry-title h1 {
  font-size:27px;
  font-weight:550;
  letter-spacing:-1px;
  margin:0 0 12px;
  color:#eee
}
.ah-entry-title p {
  font-size:13px;
  color:#9599a3;
  line-height:1.7;
  margin:0
}
.ah-entry-shell>.container {
  grid-column:2;
  grid-row:2;
  padding:0 48px 52px;
  margin:0;
  width:100%
}
.ah-entry-shell label {
  font-size:12px;
  font-weight:500;
  color:#bfc2ca
}
.ah-entry-shell .form-control {
  min-height:44px
}
.ah-entry-shell .mb-3 {
  margin-bottom:22px!important
}
.ah-entry-shell form .row.pt-3 {
  align-items:center
}
.ah-entry-shell form .row.pt-3 a {
  font-size:12px;
  color:#9bafc8
}
.ah-entry-shell .text-danger {
  font-size:10px;
  color:#8795ae!important
}
.ah-entry-shell .btn {
  min-height:42px
}
.ah-entry-shell .h2 {
  font-size:20px
}
.ah-entry-shell .h3 {
  font-size:18px
}
 @media(max-width:1100px) {
  .ah-app main {
    padding:28px 25px
  }
  .ah-console {
    grid-template-columns:minmax(0,1fr) 230px
  }
  .ah-region-map {
    padding:12px 0;
    min-height:310px
  }
  .ah-clock svg {
    width:215px
  }
  .ah-clock-text strong {
    font-size:26px
  }
  .ah-entry-title {
    padding:54px 28px 26px
  }
  .ah-entry-shell>.container {
    padding:0 28px 40px
  }
  .ah-entry-brand {
    margin-left:22px
  }
  .ah-entry-caption {
    padding-inline:22px
  }
  
}
 @media(max-width:767px) {
  .ah-sidebar {
    width:100%;
    padding:10px 17px
  }
  .ah-sidebar .navbar-brand {
    margin:0
  }
  .ah-logo {
    width:92px;
    height:48px
  }
  .ah-app main {
    margin:0;
    padding:24px 17px 40px
  }
  .ah-app .footer {
    margin-left:0
  }
  .ah-console {
    grid-template-columns:minmax(0,1fr)
  }
  .ah-console-copy {
    display:block;
    padding:20px 0
  }
  .ah-console-copy h1 {
    font-size:24px
  }
  .ah-console-copy p {
    margin-top:12px;
    font-size:11px
  }
  .ah-region-map {
    overflow:visible;
    min-height:0;
    padding:15px 0
  }
  .ah-region-map:before {
    display:none
  }
  .ah-region-svg {
    min-width:0;
    width:100%
  }
  .ah-clock {
    grid-column:1;
    min-height:220px;
    border-left:0;
    border-top:1px solid #1f2936;
    background:#030405
  }
  .ah-clock svg {
    width:235px
  }
  .ah-region-detail {
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 0
  }
  .ah-session-stats>div {
    padding:6px 10px 18px;
    gap:8px;
    align-items:start;
    flex-direction:column
  }
  .ah-session-stats strong {
    font-size:23px
  }
  .ah-pit-heading {
    padding:20px 0;
    gap:15px
  }
  .ah-pit-controls {
    padding:18px 0
  }
  .ah-track-head,.ah-lane {
    grid-template-columns:165px repeat(var(--tracks),minmax(195px,1fr))
  }
  .ah-entry-shell {
    display:block;
    margin:12px auto 30px;
    max-width:460px;
    min-height:0
  }
  .ah-entry-shell:before {
    width:90px
  }
  .ah-entry-header {
    display:block;
    position:relative;
    padding:27px 26px 0
  }
  .ah-entry-brand {
    display:block;
    margin:0 0 25px;
    width:110px
  }
  .ah-entry-brand img {
    width:110px;
    height:58px
  }
  .ah-entry-vehicle,.ah-entry-caption {
    display:none
  }
  .ah-entry-title {
    padding:0 0 25px
  }
  .ah-entry-title h1 {
    font-size:25px
  }
  .ah-entry-shell>.container {
    padding:0 26px 34px
  }
  .ah-entry-title p {
    font-size:12px
  }
  
}
 .ah-app .footer {
  width:auto
}
.ah-entry-shell {
  width:100%
}
.ah-entry-title,.ah-entry-shell>.container {
  min-width:0
}
 .ah-app .footer {
  width:calc(100% - 184px)
}
@media(max-width:767px) {
  .ah-app .footer {
    width:100%
  }
  
}
 /* Restore the original HTML's instrument panel and graphite material hierarchy. */
 .ah-console {
  display:grid;
  grid-template-columns:190px minmax(390px,1fr) 270px;
  gap:0;
  min-height:390px;
  background:#030405;
  border:1px solid #495363;
  border-top-color:#85909f;
  box-shadow:inset 0 1px #e2efff24;
  overflow:hidden;
  margin-bottom:0
}
.ah-console:before {
  width:100%;
  height:2px;
  background:var(--ah-chrome)
}
 .ah-console-copy {
  display:block;
  grid-column:auto;
  padding:35px 0 30px 25px;
  border:0;
  background:linear-gradient(120deg,#1f2a3855,transparent 75%)
}
.ah-console-copy .ah-overline {
  font:10px ui-monospace,monospace;
  letter-spacing:1px;
  color:#9aa9c2
}
.ah-console-copy h1 {
  font-size:35px;
  line-height:1.18;
  letter-spacing:-1.5px;
  font-weight:600;
  margin:29px 0 18px;
  background:linear-gradient(173deg,#fafcff 14%,#a5b1c5 44%,#edf4ff 61%,#8b9bb4 88%);
  background-clip:text;
  color:transparent
}
.ah-console-copy p {
  font-size:13px;
  line-height:1.8;
  color:#9ca8ba;
  margin-bottom:24px
}
.ah-console-copy .btn {
  padding:10px 13px
}
.ah-console-copy .btn span {
  margin-left:24px
}
 .ah-region-map {
  padding:12px 0 0;
  min-height:390px;
  background:#030405
}
.ah-region-svg {
  max-width:640px
}
.ah-clock {
  min-height:390px;
  border-left:1px solid #25364c;
  background:radial-gradient(ellipse at 90% 110%,#4d5563 0%,#212c3a 34%,#10161d 60%,#030405 83%)
}
.ah-clock svg {
  width:255px;
  max-width:96%;
  filter:drop-shadow(0 2px 2px #0008)
}
.ah-clock-text strong {
  font-size:32px
}
.ah-clock-text>span {
  letter-spacing:1px;
  color:#aeb7c6
}
.ah-clock-text small {
  color:#88a9df
}
 .ah-region-detail {
  padding:19px 22px;
  margin:0 0 26px;
  background:#0b0f14;
  border:1px solid #303744;
  border-top:0;
  grid-template-columns:240px 1fr
}
.ah-region-intro {
  border-left-color:#7d8aa0
}
.ah-region-intro h2 {
  font-size:17px
}
.ah-region-intro .ah-overline {
  font-size:10px;
  color:#8795aa
}
.ah-linked-problem {
  background:#101722;
  border-color:#3c4b62
}
 .ah-session-stats {
  gap:14px;
  border:0;
  margin:18px 0 27px
}
.ah-session-stats>div {
  display:block;
  position:relative;
  overflow:hidden;
  padding:19px 21px!important;
  border:1px solid #394353;
  border-top-color:#727f94;
  background:linear-gradient(155deg,#1e2834,#141b23 37%,#0a0e12);
  box-shadow:inset 0 1px #c7d6ef13
}
.ah-session-stats>div:before {
  display:block;
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:var(--ah-chrome)
}
.ah-session-stats span {
  font-size:12px;
  color:#a6aebb
}
.ah-session-stats strong {
  display:block;
  margin:15px 0 0;
  font-size:30px;
  color:#e9f0fc
}
 .ah-track-nav {
  gap:7px;
  border:0
}
.ah-track-nav a,.ah-track-nav a:first-child {
  padding:8px 13px;
  background:#0a0e12;
  border:1px solid #343d4b;
  color:#a9b7cd;
  font-size:12px
}
.ah-track-nav a:hover {
  background:#2487ff2b;
  border-color:#3a8bed;
  color:#c1ddff
}
.category-header {
  border-color:#3c4655
}
.challenge-button {
  background:#0a0e12!important;
  border-color:#303945!important
}
.challenge-button:hover {
  border-color:#7e8da5!important;
  background:#141b27!important
}
.challenge-inner p {
  font-size:18px;
  margin:21px 0 24px;
  font-weight:500
}
.ah-challenge-status {
  padding:4px 6px;
  border:1px solid #363e4c;
  background:#1e2834;
  color:#a7b4c7;
  letter-spacing:.5px
}
.challenge-solved .ah-challenge-status {
  background:#132c4a;
  border-color:#3470ba
}
.ah-challenge-points {
  border-color:#303947
}
 .ah-pit {
  border:1px solid #48566e;
  background:#02060d
}
.ah-pit-heading {
  padding:23px 24px;
  background:linear-gradient(112deg,#343d4b,#1c2632 52%,#303c4e);
  border-bottom:1px solid #64738b;
  box-shadow:inset 0 1px #dce9ff26
}
.ah-pit-heading:before {
  width:100%;
  height:3px;
  background:var(--ah-chrome)
}
.ah-pit-heading h2 {
  font-size:24px
}
.ah-pit-controls {
  background:#080b0e;
  padding:18px 22px
}
.ah-pit-status {
  padding:0 22px;
  background:#02060d
}
.ah-pit-scroll {
  padding:0 18px 18px
}
.ah-track-head {
  padding:14px 0;
  gap:15px
}
.ah-track-head>div:not(:first-child) {
  position:relative;
  padding:14px;
  background:linear-gradient(120deg,#303b4d,#111722 75%);
  border:1px solid #45536a;
  border-top:2px solid #a2adbf;
  border-left:2px solid #537cb9;
  font-size:15px
}
.ah-track-head small {
  color:#a6bde4;
  margin-bottom:9px
}
.ah-lane {
  margin-bottom:9px;
  border:1px solid #283546;
  min-height:82px;
  background:#090c11;
  gap:15px
}
.ah-lane-account {
  background:#090c11
}
.ah-lane.is-me {
  border-color:#3576c5;
  box-shadow:inset 3px 0 #197dff
}
.ah-sector i {
  height:7px
}
.ah-pit-pagination {
  padding:16px 22px;
  background:#07090d
}
.ah-legend {
  color:#afbbce
}
 /* Branded entry panel; deliberately no vehicle illustration. */
 .ah-entry-shell {
  display:block;
  min-height:0;
  max-width:500px;
  margin:clamp(24px,6vh,72px) auto 45px;
  padding:32px 38px 38px;
  background:linear-gradient(150deg,#1e2834 0%,#0b0f14 34%,#040608 72%);
  border:1px solid #4b5565;
  border-top-color:#8f9aab;
  box-shadow:inset 0 1px #dce9fc18
}
.ah-entry-shell:before {
  width:100%;
  height:2px;
  background:var(--ah-chrome)
}
.ah-entry-header {
  display:block;
  margin:0 0 27px;
  padding:0
}
.ah-entry-brand {
  display:block;
  margin:0 0 24px;
  width:146px
}
.ah-entry-brand img {
  width:146px;
  height:77px
}
.ah-entry-caption {
  display:flex;
  position:static;
  padding:0 0 16px;
  margin-bottom:26px;
  border-bottom:1px solid #343d4b;
  font:10px ui-monospace,monospace;
  letter-spacing:.3px;
  color:#94a2b9;
  gap:12px
}
.ah-entry-title {
  padding:0
}
.ah-entry-title h1 {
  font-size:26px;
  margin-bottom:11px
}
.ah-entry-title p {
  font-size:13px;
  color:#a5afbf
}
.ah-entry-shell>.container {
  padding:0
}
.ah-entry-shell .form-control {
  background:#0a0f17;
  border-color:#414d62
}
.ah-entry-shell .btn-primary {
  box-shadow:inset 0 1px #b8d8ff55
}
.ah-entry-shell .mb-3 {
  margin-bottom:20px!important
}
 @media(min-width:1650px) {
  .ah-console {
    grid-template-columns:230px minmax(440px,1fr) 320px
  }
  .ah-console-copy {
    padding:40px 0 35px 32px
  }
  .ah-console-copy h1 {
    font-size:43px
  }
  .ah-region-map,.ah-clock {
    min-height:425px
  }
  .ah-clock svg {
    width:290px
  }
  .ah-clock-text strong {
    font-size:36px
  }
  
}
 @media(min-width:768px) and (max-width:1399px) {
  .ah-console {
    grid-template-columns:175px minmax(0,1fr)
  }
  .ah-console-copy {
    padding-left:22px
  }
  .ah-console-copy h1 {
    font-size:32px
  }
  .ah-region-map {
    min-height:345px
  }
  .ah-clock {
    grid-column:1/-1;
    min-height:245px;
    border-left:0;
    border-top:1px solid #25364c;
    background:radial-gradient(ellipse at 75% 150%,#424b5c,#151c25 48%,#030405 83%)
  }
  .ah-clock svg {
    width:250px
  }
  .ah-clock-text strong {
    font-size:30px
  }
  
}
 @media(max-width:767px) {
  .ah-console {
    grid-template-columns:1fr
  }
  .ah-console-copy {
    padding:24px
  }
  .ah-console-copy h1 {
    font-size:30px;
    margin:17px 0 13px
  }
  .ah-console-copy h1 br {
    display:none
  }
  .ah-console-copy p {
    margin:0 0 18px
  }
  .ah-console-copy p br {
    display:none
  }
  .ah-region-map {
    min-height:0;
    border-top:1px solid #273444;
    padding:14px 0
  }
  .ah-clock {
    grid-column:1;
    min-height:238px;
    border-left:0;
    border-top:1px solid #25364c
  }
  .ah-clock svg {
    width:245px
  }
  .ah-region-detail {
    grid-template-columns:1fr;
    padding:18px;
    gap:16px
  }
  .ah-session-stats {
    gap:8px
  }
  .ah-session-stats>div {
    padding:15px 12px!important
  }
  .ah-session-stats strong {
    font-size:25px
  }
  .ah-session-stats span {
    font-size:11px
  }
  .ah-pit-heading {
    padding:20px 17px
  }
  .ah-pit-controls {
    padding:15px
  }
  .ah-pit-status {
    padding:0 15px
  }
  .ah-pit-scroll {
    padding:0 10px 12px
  }
  .ah-pit-pagination {
    padding:15px
  }
  .ah-track-head,.ah-lane {
    gap:12px
  }
  .ah-entry-shell {
    margin:14px auto 30px;
    padding:27px 25px 30px
  }
  .ah-entry-header {
    padding:0
  }
  .ah-entry-brand {
    width:132px
  }
  .ah-entry-brand img {
    width:132px;
    height:70px
  }
  .ah-entry-caption {
    display:flex
  }
  .ah-entry-title {
    padding:0
  }
  .ah-entry-shell>.container {
    padding:0
  }
  
}
 /* The vehicle is an account progress display, not a promotional hero. */
 .ah-console {
  grid-template-columns:minmax(0,1fr) 270px;
  min-height:0;
  border-color:#414a59;
  background:#030405
}
.ah-console-copy {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 26px;
  background:linear-gradient(110deg,#222e3c,#111720 65%,#1c2633);
  border-bottom:1px solid #465164
}
.ah-console-copy h1 {
  font-size:24px;
  line-height:1.3;
  margin:7px 0 0;
  letter-spacing:-.7px;
  color:#edf1f7;
  background:none
}
.ah-console-copy p {
  font-size:12px;
  line-height:1.6;
  margin:0;
  color:#a6b3c8
}
.ah-console-copy .ah-overline {
  font-size:11px;
  letter-spacing:.5px
}
.ah-region-map {
  min-height:355px;
  padding:12px 12px 3px
}
.ah-region-svg {
  max-width:580px
}
.ah-clock {
  grid-column:auto;
  min-height:355px;
  border-top:0;
  border-left:1px solid #25364c
}
.ah-clock svg {
  width:240px
}
.ah-map-legend {
  grid-column:1/-1;
  display:flex;
  gap:22px;
  align-items:center;
  padding:13px 22px;
  border-top:1px solid #23303f;
  background:#080b10;
  font-size:11px;
  color:#a3afc3
}
.ah-map-legend[hidden] {
  display:none
}
.ah-map-legend span {
  display:flex;
  align-items:center;
  gap:7px
}
.ah-map-legend i {
  display:inline-block;
  width:17px;
  height:6px;
  background:#14203a;
  border:1px solid #42516c
}
.ah-map-legend .partial {
  background:#1b3767;
  border-color:#6b89b8
}
.ah-map-legend .complete {
  background:#197dff;
  border-color:#80b0ff;
  box-shadow:0 0 7px #197dff66
}
.ah-map-legend .ah-progress-note {
  margin-left:auto;
  color:#838ea1
}
 .ah-zone .ah-zone-progress {
  font:10px ui-monospace,SFMono-Regular,monospace;
  fill:#9aa9c0;
  letter-spacing:.2px
}
.ah-zone[data-progress=partial] rect {
  fill:rgba(25,52,104,.66);
  stroke:#7497cf
}
.ah-zone[data-progress=complete] rect {
  fill:rgba(25,125,255,.65);
  stroke:#91bdff;
  filter:drop-shadow(0 0 4px #197dff66)
}
.ah-zone[data-progress=complete] .ah-zone-progress {
  fill:#94bcff
}
.ah-zone[data-progress=empty] rect {
  fill:rgba(13,22,39,.35);
  stroke:#495465
}
.ah-zone[aria-pressed=true] rect {
  stroke-width:2;
  stroke:#c1d5f4
}
.ah-zone[aria-pressed=true] text:not(.ah-zone-sub) {
  fill:#eef6ff
}
.ah-zone:hover rect,.ah-zone:focus-visible rect {
  stroke:#edf5ff;
  stroke-width:2
}
 .ah-region-detail {
  padding:22px 24px;
  grid-template-columns:230px 1fr;
  background:#0a0e15;
  border-color:#394354
}
.ah-region-intro {
  padding-left:14px;
  border-left:2px solid #197dff
}
.ah-region-intro h2 {
  font-size:19px
}
.ah-region-problems>p {
  font:12px ui-monospace,monospace;
  color:#b7c5dc
}
#ah-region-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}
.ah-linked-problem {
  min-width:0;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid #303c50;
  background:#101722;
  font-size:13px
}
.ah-linked-problem>span {
  overflow-wrap:anywhere
}
.ah-linked-problem small {
  font-size:10px
}
.ah-linked-problem[data-solved=true] {
  border-left:3px solid #197dff;
  background:#0d1c35
}
.ah-linked-problem[data-solved=true] small {
  color:#94c4ff
}
.ah-linked-problem[data-solved=false] small {
  color:#9eacc2
}
.ah-linked-problem:hover {
  border-color:#739ad9;
  background:#13223c
}
.ah-team-progress {
  margin-bottom:35px
}
.ah-team-progress+.jumbotron {
  padding-top:6px
}
 @media(min-width:1650px) {
  .ah-console {
    grid-template-columns:minmax(0,1fr) 330px
  }
  .ah-console-copy {
    padding:24px 28px
  }
  .ah-console-copy h1 {
    font-size:27px
  }
  .ah-clock svg {
    width:285px
  }
  .ah-clock-text strong {
    font-size:34px
  }
  .ah-region-map,.ah-clock {
    min-height:400px
  }
  
}
 @media(min-width:768px) and (max-width:1050px) {
  .ah-console {
    grid-template-columns:minmax(0,1fr) 220px
  }
  .ah-clock svg {
    width:205px
  }
  .ah-clock-text strong {
    font-size:24px
  }
  .ah-region-map,.ah-clock {
    min-height:300px
  }
  .ah-console-copy {
    padding:20px
  }
  .ah-console-copy p {
    max-width:200px
  }
  .ah-region-detail {
    grid-template-columns:190px 1fr;
    gap:16px
  }
  #ah-region-list {
    grid-template-columns:1fr
  }
  
}
 @media(max-width:767px) {
  .ah-console {
    grid-template-columns:1fr
  }
  .ah-console-copy {
    display:block;
    padding:20px
  }
  .ah-console-copy h1 {
    font-size:23px;
    margin:7px 0 9px
  }
  .ah-console-copy p {
    font-size:11px
  }
  .ah-region-map {
    min-height:0;
    padding:12px 0 0;
    border-top:0
  }
  .ah-clock {
    grid-column:1;
    min-height:220px;
    border-left:0;
    border-top:1px solid #25364c
  }
  .ah-clock svg {
    width:225px
  }
  .ah-map-legend {
    padding:13px 16px;
    gap:12px;
    flex-wrap:wrap;
    font-size:10px
  }
  .ah-map-legend .ah-progress-note {
    margin-left:0
  }
  .ah-region-detail {
    padding:18px;
    grid-template-columns:1fr
  }
  .ah-region-intro h2 {
    font-size:18px
  }
  #ah-region-list {
    grid-template-columns:1fr
  }
  .ah-linked-problem {
    padding:12px
  }
  
}
 /* Instrument response: a single signal pass and lamp ignition on region selection. */
 .ah-zone rect,.ah-zone path,.ah-zone circle {
  transition:fill 120ms cubic-bezier(0,0,.38,.9),stroke 120ms cubic-bezier(0,0,.38,.9),filter 250ms cubic-bezier(.25,.1,.25,1)
}
 .ah-zone text {
  transition:fill 120ms cubic-bezier(0,0,.38,.9)
}
 .ah-zone.is-engaging rect {
  animation:ah-zone-ignite 250ms cubic-bezier(0,0,.2,1)
}
 .ah-zone.is-engaging path {
  stroke-dasharray:none
}
 .ah-zone.is-engaging circle {
  transform-box:fill-box;
  transform-origin:center;
  animation:ah-node-ignite 250ms cubic-bezier(0,0,.2,1)
}
 .ah-region-svg.is-switching>image {
  animation:ah-vehicle-response 250ms cubic-bezier(0,0,.2,1)
}
 .ah-region-detail.is-switching .ah-region-intro,.ah-region-detail.is-switching .ah-region-problems {
  animation:ah-detail-enter 250ms cubic-bezier(0,0,.2,1)
}
 @keyframes ah-zone-ignite {
  0% {
    fill:rgba(12,32,79,.3);
    filter:none
  }
  45% {
    fill:rgba(38,112,255,.88);
    filter:drop-shadow(0 0 7px #197dff)
  }
  100% {
    filter:drop-shadow(0 0 2px #197dff66)
  }
  
}
 @keyframes ah-node-ignite {
  0% {
    transform:scale(.65);
    opacity:.4
  }
  55% {
    transform:scale(1.65);
    opacity:1
  }
  100% {
    transform:scale(1)
  }
  
}
 @keyframes ah-vehicle-response {
  0% {
    filter:brightness(.82)
  }
  45% {
    filter:brightness(1.22) contrast(1.06)
  }
  100% {
    filter:none
  }
  
}
 @keyframes ah-detail-enter {
  0% {
    opacity:.3;
    transform:translateY(5px)
  }
  100% {
    opacity:1;
    transform:none
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-zone rect,.ah-zone path,.ah-zone circle,.ah-zone text {
    transition:none
  }
  .ah-zone.is-engaging rect,.ah-zone.is-engaging path,.ah-zone.is-engaging circle,.ah-region-svg.is-switching>image,.ah-region-detail.is-switching .ah-region-intro,.ah-region-detail.is-switching .ah-region-problems {
    animation:none
  }
  
}
/* 현장 순위 화면: 10팀이 스크롤 없이 한 화면에 */
@media (min-width: 992px) {

  #ah-pit.ah-pit--board { display: flex; flex-direction: column; margin-bottom: 16px; }

  #ah-pit.ah-pit--board .ah-overline,
  #ah-pit.ah-pit--board .ah-pit-status,
  #ah-pit.ah-pit--board .ah-pit-pagination { display: none; }

  #ah-pit.ah-pit--board .ah-pit-heading { padding: 10px 18px; }

  #ah-pit.ah-pit--board .ah-pit-heading h2 { font-size: 20px; margin: 0; }

  #ah-pit.ah-pit--board .ah-pit-controls { padding: 8px 18px; }

  #ah-pit.ah-pit--board .ah-pit-scroll {
    flex: 1; min-height: 0; max-height: none; overflow: auto; padding: 0 12px 12px;
  }

  #ah-pit.ah-pit--board #ah-lanes {
    height: 100%; display: grid; gap: 4px;
    grid-template-rows: auto repeat(var(--rows), minmax(0, 1fr));
  }

  #ah-pit.ah-pit--board .ah-track-head,
  #ah-pit.ah-pit--board .ah-lane {
    grid-template-columns: minmax(150px, 1.2fr) repeat(var(--tracks), minmax(0, 1fr));
    gap: 8px; min-width: 0;
  }

  #ah-pit.ah-pit--board .ah-track-head { padding: 0 0 4px; }

  #ah-pit.ah-pit--board .ah-track-head > div { padding: 6px 8px; font-size: 13px; }

  #ah-pit.ah-pit--board .ah-lane { margin: 0; min-height: 0; }

  #ah-pit.ah-pit--board .ah-lane-account {
    padding: 0 12px; display: flex; flex-direction: column; justify-content: center;
    min-height: 0; overflow: hidden;
  }

  #ah-pit.ah-pit--board .ah-lane-meta { margin-top: 2px; }

  #ah-pit.ah-pit--board .ah-lane-track { flex-wrap: nowrap; padding: 0 8px; gap: 4px; min-width: 0; min-height: 0; }

  #ah-pit.ah-pit--board .ah-sector { flex: 1 1 0; width: auto; min-width: 0; max-width: none; padding: 0; gap: 2px; }

  #ah-pit.ah-pit--board #ah-lanes,
  #ah-pit.ah-pit--board #ah-lanes > * { --lane-width: 0px; min-width: 0; }

  #ah-pit.ah-pit--board .ah-track-head > div:first-child::after,
  #ah-pit.ah-pit--board .ah-lane-account::after { display: none; }
}


/* 힌트 불빛: 힌트 없이 해결 = 파랑, 힌트 보고 해결 = 주황 */
#ah-pit .ah-sector.is-solved i,
#ah-pit .ah-key.solved {
  background: #0284c7;
  border-color: #38bdf8;
  box-shadow: inset 0 0 0 3px #0c4a6e, 0 0 12px rgba(2, 132, 199, .85);
}

#ah-pit .ah-sector.is-solved.is-hinted i,
#ah-pit .ah-key.hinted {
  background: #ff9f1a;
  border-color: #ffc56b;
  box-shadow: inset 0 0 0 3px #a35c00, 0 0 12px rgba(255, 159, 26, .85);
}

#ah-pit .ah-sector.is-solved { color: #38bdf8; }

#ah-pit .ah-sector.is-solved.is-hinted { color: #ffd08a; }

#ah-pit .ah-sector span { display: none; }


/* TEAM PROGRESS 제목을 상단 숫자(TIME LEFT 등) 위로 */
.ah-score-screen .ah-score-overview {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: clamp(18px, 3vh, 36px);
}

.ah-score-screen .ah-score-title h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4.2vh, 48px);
  font-weight: 800;
  letter-spacing: .02em;
}

.ah-score-screen .ah-score-title .ah-board-sub {
  margin: 6px 0 0;
  color: #aab2c5;
  font-size: clamp(14px, 1.8vh, 19px);
}


/* 제목 내리기: 위 영역을 위에서부터 쌓고, 필터는 오른쪽으로 */
.ah-score-screen .ah-score-overview {
  justify-content: flex-start;
  height: auto;
  min-height: 0;
  padding-top: clamp(28px, 5vh, 56px);
  gap: clamp(14px, 2.4vh, 28px);
}

.ah-score-screen #ah-pit.ah-pit--board .ah-pit-heading {
  display: flex;
  justify-content: flex-end;
  padding: 0 0 10px;
}


/* 점수판 정리 3차: 빼기(1·2·4·7), 레이저 불빛(5), 표 중앙 정렬(6) */
.ah-score-screen #ah-board-sub,
.ah-score-screen .ah-score-caption,
.ah-score-screen .ah-board-update { display: none !important; }


/* 5. 레이저 불빛: 밝은 심지 + 번지는 빛 */
.ah-score-screen #ah-pit .ah-sector.is-solved i {
  background: radial-gradient(circle at 50% 50%, #ffffff 0 18%, #b8d8ff 30%, #6faefa 62%) !important;
  box-shadow: 0 0 4px #9fcaff, 0 0 10px rgba(111, 141, 250, .95), 0 0 22px rgba(111, 141, 250, .65), 0 0 36px rgba(111, 141, 250, .35) !important;
  animation: ah-laser 2.4s ease-in-out infinite;
}

.ah-score-screen #ah-pit .ah-sector.is-solved.is-hinted i {
  background: radial-gradient(circle at 50% 50%, #ffffff 0 18%, #ffe2a6 30%, #f2b544 62%) !important;
  box-shadow: 0 0 4px #ffd27a, 0 0 10px rgba(242, 181, 68, .95), 0 0 22px rgba(242, 181, 68, .65), 0 0 36px rgba(242, 181, 68, .35) !important;
}

.ah-score-screen .ah-key.solved { background: radial-gradient(circle, #fff 0 18%, #b8d8ff 30%, #6faefa 62%) !important; box-shadow: 0 0 10px rgba(111, 141, 250, .9) !important; }

.ah-score-screen .ah-key.hinted { background: radial-gradient(circle, #fff 0 18%, #ffe2a6 30%, #f2b544 62%) !important; box-shadow: 0 0 10px rgba(242, 181, 68, .9) !important; }

@keyframes ah-laser {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.25); }
}

@media (prefers-reduced-motion: reduce) {

  .ah-score-screen #ah-pit .ah-sector.is-solved i { animation: none; }
}


/* 6. 표 안은 전부 중앙 정렬 */
.ah-score-screen #ah-lanes .ah-head-account span,
.ah-score-screen #ah-lanes .ah-lane-account > * { justify-self: center !important; text-align: center !important; padding-left: 0 !important; }

.ah-score-screen #ah-lanes .ah-head-track { justify-content: center !important; }

.ah-score-screen #ah-lanes .ah-head-track div { align-items: center !important; text-align: center !important; }

.ah-score-screen #ah-lanes .ah-lane-track { justify-content: center !important; padding-left: 8px !important; padding-right: 8px !important; }


/* 불빛: 선배님 원래 모양(테두리 원 + 안쪽 고리 + 은은한 빛)으로 복원 */
.ah-score-screen #ah-pit .ah-sector i,
.ah-score-screen #ah-pit .ah-legend .ah-key {
  box-sizing: border-box !important;
  border: 1px solid #536078 !important;
  border-radius: 50% !important;
  background: #0c111a !important;
  box-shadow: inset 0 0 0 3px #111824 !important;
  animation: none !important;
  transform: none;
  transition: background .18s, border-color .18s, box-shadow .18s, transform .18s;
}

.ah-score-screen #ah-pit .ah-sector.is-solved i,
.ah-score-screen #ah-pit .ah-legend .ah-key.solved {
  border-color: #a5c8ff !important;
  background: #3986ff !important;
  box-shadow: inset 0 0 0 3px #1b63bb, 0 0 0 3px rgba(57,134,255,.14), 0 0 14px rgba(57,134,255,.9) !important;
}

.ah-score-screen #ah-pit .ah-sector.is-solved.is-hinted i,
.ah-score-screen #ah-pit .ah-legend .ah-key.hinted {
  border-color: #ffd79a !important;
  background: #f2a03a !important;
  box-shadow: inset 0 0 0 3px #b8650f, 0 0 0 3px rgba(242,160,58,.14), 0 0 14px rgba(242,160,58,.9) !important;
}

.ah-score-screen #ah-pit .ah-sector:hover i { border-color: #d2e4ff !important; transform: scale(1.12); }


/* 점수판: 가로 스크롤바 없애기 (넘치는 배경 잘라냄) */
html:has(.ah-score-screen), body:has(.ah-score-screen) { overflow-x: clip; }

.ah-score-screen { max-width: 100%; overflow-x: clip; }


/* 점수판: 격줄 배경 */
#ah-pit #ah-lanes > .ah-lane { background: transparent !important; }

#ah-pit #ah-lanes > .ah-lane:nth-child(even of .ah-lane) { background: rgba(255, 255, 255, .045) !important; }
