/*
 * 원본에 없던 두 가지 UI — 로딩 표시와 선택창.
 *
 * 원본 <style> 을 건드리지 않고 여기에 따로 둔다. 원본 CSS 변수(--yellow/--border/…)
 * 와 4px 보더 · 하드섀도 · steps() 문법을 그대로 따르므로 화면에서는 원래 있던
 * 요소처럼 보인다. React 페이지(app/layout.tsx)도 이 파일을 링크해 같은 모양을 쓴다.
 */

/* ── NOW LOADING ─────────────────────────────────────────────
   서버 응답을 기다리는 동안 뜬다. 화면을 덮지 않는다 — 방 폴링은 2초마다
   돌기 때문에, 덮는 오버레이로 만들면 게임 중 내내 막히게 된다. */
.aa-load {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 200;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--panel2, #2a2f52);
  border: 4px solid var(--border, #e8e6f0);
  box-shadow: 0 5px 0 var(--shadow, #0a0b18);
  pointer-events: none;
  max-width: calc(100vw - 32px);
}
.aa-load.on { display: flex; }

.aa-load-txt {
  font-family: var(--efont, monospace);
  font-size: 10px;
  letter-spacing: 1px;
  color: var(--yellow, #ffd23e);
  white-space: nowrap;
  animation: aa-blink 1s steps(2, start) infinite;
}
.aa-load-sub {
  font-family: var(--kfont, monospace);
  font-size: 11px;
  color: var(--dim, #8b90b8);
  white-space: nowrap;
}
@keyframes aa-blink { to { visibility: hidden; } }

.aa-load-bar { display: flex; gap: 3px; }
.aa-load-bar i {
  width: 8px;
  height: 12px;
  background: var(--shadow, #0a0b18);
  border: 2px solid var(--dim, #8b90b8);
  animation: aa-march 0.9s steps(1, end) infinite;
}
.aa-load-bar i:nth-child(1) { animation-delay: 0s; }
.aa-load-bar i:nth-child(2) { animation-delay: 0.15s; }
.aa-load-bar i:nth-child(3) { animation-delay: 0.3s; }
.aa-load-bar i:nth-child(4) { animation-delay: 0.45s; }
.aa-load-bar i:nth-child(5) { animation-delay: 0.6s; }
.aa-load-bar i:nth-child(6) { animation-delay: 0.75s; }
@keyframes aa-march {
  0%, 40% { background: var(--yellow, #ffd23e); border-color: var(--yellow, #ffd23e); }
  41%, 100% { background: var(--shadow, #0a0b18); border-color: var(--dim, #8b90b8); }
}

@media (prefers-reduced-motion: reduce) {
  .aa-load-txt, .aa-load-bar i { animation: none; }
  .aa-load-bar i { background: var(--yellow, #ffd23e); border-color: var(--yellow, #ffd23e); }
}

/* ── 선택창 ──────────────────────────────────────────────────
   드롭다운 대신 눌러서 고르는 픽셀 버튼. 원래 <select> 는 화면에서만 감추고
   DOM 에는 남겨 둔다 — 기존 코드가 전부 select.value 를 읽기 때문이다. */
/* 원본의 `.field input,.field select` 가 0,2,0 이라 같은 무게로는 못 이긴다.
   감추기만 하면 되므로 선택자를 한 단계 더 좁혀 준다. */
.aa-pick-src,
.field select.aa-pick-src { display: none; }

.aa-pick {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 8px;
  width: 100%;
}
.aa-pick-op {
  font-family: var(--kfont, monospace);
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  color: var(--ink, #e8e6f0);
  background: var(--shadow, #0a0b18);
  border: 4px solid var(--border, #e8e6f0);
  box-shadow: 0 4px 0 var(--shadow, #0a0b18);
  padding: 9px 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  transition: none;
}
.aa-pick-op b { font-size: 15px; line-height: 1.2; }
.aa-pick-op i { font-style: normal; font-size: 10px; color: var(--dim, #8b90b8); line-height: 1.25; }

.aa-pick-op:hover { border-color: var(--blue, #4fc4ff); }
.aa-pick-op:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--shadow, #0a0b18); }

/* 선택된 칸은 눌려 들어간 것처럼 보이게 — 색만 바꾸면 픽셀 화면에서 잘 안 읽힌다. */
.aa-pick-op.cur {
  background: var(--yellow, #ffd23e);
  color: var(--shadow, #0a0b18);
  border-color: var(--yellow, #ffd23e);
  box-shadow: 0 1px 0 var(--shadow, #0a0b18);
  transform: translateY(3px);
}
.aa-pick-op.cur i { color: #5a4a00; }
.aa-pick-op:focus-visible { outline: 3px solid var(--blue, #4fc4ff); outline-offset: 2px; }

/* ── 체크박스 한 줄 ──────────────────────────────────────────
   원본 페이지(방 설정)와 학교 페이지(동문 공개 설정)가 같이 쓴다.
   두 곳이 이 파일 하나를 링크하므로 여기 한 번만 둔다. */
.checkrow {
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
  font-size: 13px;
  line-height: 1.7;
  cursor: pointer;
}
.checkrow input {
  width: 20px;
  height: 20px;
  flex: none;
  margin-top: 2px;
  accent-color: var(--yellow, #ffd93d);
}
