/* 권역3 포털 · 공통 스타일
   모든 방(페이지)이 이 파일 하나를 공유한다. 디자인을 바꾸려면 여기만 고친다. */

:root{
  --bg:#0f1220; --card:#1a1f36; --card2:#20264a;
  --text:#eef1fb; --muted:#a3abce; --line:#2c335c;
  --accent:#6d8bff; --accent2:#9a7bff; --ok:#43d9a3; --soon:#f0b86b;
}
*{box-sizing:border-box}

body{
  margin:0; font-family:"Segoe UI","Malgun Gothic",system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 15% -10%, #232a55 0%, transparent 55%),
    radial-gradient(900px 500px at 110% 10%, #2a2350 0%, transparent 50%),
    var(--bg);
  min-height:100vh; line-height:1.6;
}

.wrap{max-width:960px; margin:0 auto; padding:56px 20px 40px}

/* ── 머리말 ── */
header{margin-bottom:36px}
.badge{
  display:inline-block; font-size:12px; letter-spacing:.06em; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:4px 12px; margin-bottom:16px;
}
h1{font-size:34px; margin:0 0 8px; letter-spacing:-.01em}
h1 .dot{color:var(--accent)}
.sub{color:var(--muted); font-size:16px; margin:0}

/* ── 로비 뒤로가기 ── */
.back{
  display:block; width:fit-content; color:var(--muted); text-decoration:none;
  font-size:13.5px; margin-bottom:14px;
}
.back:hover{color:var(--accent)}

/* ── 카드 격자 (로비) ── */
.grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px; margin-top:32px;
}
.card{
  background:linear-gradient(160deg,var(--card2),var(--card));
  border:1px solid var(--line); border-radius:16px; padding:20px;
  display:flex; flex-direction:column; gap:8px; min-height:132px;
  transition:transform .12s ease, border-color .12s ease;
  color:inherit; text-decoration:none;
}
.card:hover{transform:translateY(-3px); border-color:var(--accent)}
.emoji{font-size:26px}
.card h3{margin:2px 0 0; font-size:17px}
.card p{margin:0; color:var(--muted); font-size:13.5px}

/* ── 상태 태그 ── */
.tag{
  margin-top:auto; align-self:flex-start; font-size:11.5px; font-weight:600;
  padding:3px 10px; border-radius:999px; letter-spacing:.02em;
}
.tag.soon{background:rgba(240,184,107,.14); color:var(--soon); border:1px solid rgba(240,184,107,.3)}
.tag.open{background:rgba(67,217,163,.14); color:var(--ok); border:1px solid rgba(67,217,163,.3)}

/* ── 방 안쪽 공용 패널 ── */
.panel{
  background:linear-gradient(160deg,var(--card2),var(--card));
  border:1px solid var(--line); border-radius:16px; padding:22px; margin-top:22px;
}
.notice{
  border:1px dashed var(--line); border-radius:14px; padding:18px 20px;
  color:var(--muted); font-size:14px; margin-top:22px;
}
.notice b{color:var(--text)}

/* 섹션 목차 (레포트 방) */
.sections{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px}
.sections li{
  display:flex; align-items:baseline; gap:12px;
  padding:11px 6px; border-bottom:1px solid rgba(44,51,92,.5); font-size:14.5px;
}
.sections li:last-child{border-bottom:none}
.sections .mark{color:var(--accent); font-weight:700; min-width:22px}
.sections .who{margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap}

footer{
  margin-top:44px; padding-top:20px; border-top:1px solid var(--line);
  color:var(--muted); font-size:13px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}

@media (max-width:520px){
  h1{font-size:27px}
  .wrap{padding-top:40px}
  .sections .who{display:none}
}
