/* V30: level-select presentation only; the Construct 2 game and HUD are untouched. */
#ansem-level-select-v30, #ansem-level-select-v30 * { box-sizing: border-box; }
#ansem-level-select-v30 {
  position: fixed; inset: 0; z-index: 200; display: none;
  align-items: center; justify-content: center; padding: 16px;
  color: #f6f0ff; background: #090712;
  font-family: 'Segoe UI', Arial, sans-serif; line-height: 1.3;
  touch-action: auto; overflow-y: auto;
}
#ansem-level-select-v30.open {display: flex;}
#ansem-level-select-v30 .panel {
  position: relative; width: min(100%, 510px); max-height: min(96vh, 750px);
  overflow-y: auto; padding: 22px; border-radius: 19px;
  border: 1px solid #4a365f;
  background: linear-gradient(155deg,#20152f 0%,#100c1d 58%,#0b0913 100%);
  box-shadow: 0 25px 80px #0009;
}
#ansem-level-select-v30 h1 {margin: 6px 0 7px;font-size: 30px;letter-spacing:-.035em;font-weight:700;}
#ansem-level-select-v30 .eyebrow {font-size:10px;letter-spacing:.2em;color:#bc9ce7;font-weight:650;}
#ansem-level-select-v30 .header {display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
#ansem-level-select-v30 .subhead {margin:0;color:#aa9fb9;font-size:12px;}
#ansem-level-select-v30 .total {flex:none;text-align:right;font-size:12px;color:#b7a7cc;}
#ansem-level-select-v30 .total strong {display:block;color:#f0e6ff;font-size:23px;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums;}
#ansem-level-select-v30 .grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;}
#ansem-level-select-v30 .level {
  appearance:none; display:flex; align-items:flex-start; justify-content:space-between;
  flex-direction:column; gap:8px; min-width:0; min-height:94px;
  padding:13px; border-radius:12px; text-align:left; cursor:pointer;
  background:#1c1628; color:#f0e8ff; border:1px solid #40314f;
  transition: border-color .12s,background .12s;
}
#ansem-level-select-v30 .level:hover:not(:disabled) {border-color:#ac84e6; background:#2c203e;}
#ansem-level-select-v30 .level:focus-visible, #ansem-level-select-v30 .action:focus-visible {outline:3px solid #e2c5ff;outline-offset:3px;}
#ansem-level-select-v30 .level .num {font-size:27px;font-weight:730;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
#ansem-level-select-v30 .level .status {font-size:9px;letter-spacing:.07em;color:#bdb0d1;white-space:nowrap;}
#ansem-level-select-v30 .level.completed {border-color:#49695c;background:#17271f;}
#ansem-level-select-v30 .level.completed .status {color:#9ee8b6;}
#ansem-level-select-v30 .level.selected {border:2px solid #dbc0ff;padding:12px;background:#39274f;}
#ansem-level-select-v30 .level:disabled {cursor:not-allowed;opacity:.48;background:#110f19;}
#ansem-level-select-v30 .level:disabled .status {color:#817688;}
#ansem-level-select-v30 .footer {padding-top:16px;display:flex;gap:11px;}
#ansem-level-select-v30 .action {appearance:none;cursor:pointer;border-radius:11px;padding:13px 12px;min-height:45px;font-size:12px;font-weight:700;letter-spacing:.04em;flex:1;}
#ansem-level-select-v30 .action.back {background:#241c31;color:#e7dafa;border:1px solid #4b3e5c;}
#ansem-level-select-v30 .action.play {background:#bb94fb;color:#160b24;border:1px solid #c5a4ff;}
#ansem-level-select-v30 .action:disabled {opacity:.44;cursor:not-allowed;}
#ansem-level-select-v30 .selection {margin:15px 0 0;font-size:11px;color:#c5b7d5;min-height:15px;}
#ansem-level-select-v30 .error {margin:6px 0 0;font-size:11px;color:#ffb7ae;min-height:14px;}
@media(max-width:460px) {
  #ansem-level-select-v30 {padding:10px;}
  #ansem-level-select-v30 .panel {padding:17px;}
  #ansem-level-select-v30 h1 {font-size:24px;}
  #ansem-level-select-v30 .grid {gap:7px;margin-top:13px;grid-template-columns:repeat(3,minmax(0,1fr));}
  #ansem-level-select-v30 .level {min-height:74px;padding:9px;gap:4px;}
  #ansem-level-select-v30 .level.selected {padding:8px;}
  #ansem-level-select-v30 .level .num {font-size:24px;}
  #ansem-level-select-v30 .level .status {font-size:8px;letter-spacing:0;}
  #ansem-level-select-v30 .footer {padding-top:12px;}
  #ansem-level-select-v30 .action {padding:10px 8px;font-size:11px;}
}
@media(prefers-reduced-motion: reduce) {
  #ansem-level-select-v30 .level {transition:none;}
}
