:root{ --bg:#0f172a; --card:#111827; --text:#e5e7eb; --muted:#9ca3af; --primary:#60a5fa; --danger:#ef4444; --success:#37d399; --soft:#26324a; --link:#cfe2ff; --link-hover:#ffffff; }
*{box-sizing:border-box}

:root{
  --bg:#0f172a;
  --card:#111827;
  --text:#e5e7eb;
  --muted:#9ca3af;
  
  /* 버튼 색상을 파스텔톤으로 조정 */
  --primary:#93c5fd;  /* 연한 하늘색 (확인 버튼) */
  --danger:#fca5a5;   /* 연한 분홍빛 빨강 (몰랐음 버튼) */
  --success:#6ee7b7;  /* 연한 민트/초록 (알고 있었음 버튼) */
  
  --soft:#26324a;
  --link:#cfe2ff;
  --link-hover:#ffffff;
}

body{margin:0;font-family:system-ui,Segoe UI,Roboto,Pretendard,sans-serif;background:var(--bg);color:var(--text)}

/* Layout */
.container{max-width:1100px;margin:24px auto;padding:0 16px}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:24px}
@media (max-width:900px){ .grid2{grid-template-columns:1fr} }
.panel{background:transparent}
.card{background:var(--card);border:1px solid #1f2937;border-radius:16px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card.big{padding:28px}
.row{display:flex;gap:12px}
.gap{gap:12px}
.justify-between{justify-content:space-between}
.align-center{align-items:center}


/* Topbar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #223;background:rgba(0,0,20,.4);backdrop-filter:saturate(150%) blur(6px);position:sticky;top:0;z-index:10}
.brand{font-weight:800;letter-spacing:.4px}
.actions{display:flex;gap:10px}


/* Link (legacy) */
a.link, a.link:visited{color:var(--link);font-weight:700;text-decoration:underline;text-underline-offset:3px}
a.link:hover, a.link:focus{color:var(--link-hover);text-decoration-thickness:2px;outline:2px solid transparent}


/* Unified Buttons (works for <a> and <button>) */
.btn{display:inline-block;padding:10px 14px;border-radius:12px;font-weight:800;line-height:1;text-decoration:none;border:0}
.btn-primary{background:var(--primary);color:#04142b}
.btn-ghost{background:transparent;color:var(--link);border:1px solid #2a3555}
.btn:hover,.btn:focus{filter:brightness(1.05)}


/* Forms */
label{display:block;margin:10px 0}
input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #374151;background:#0b1220;color:var(--text);font-size:16px;}
button{cursor:pointer;border:0;border-radius:12px;padding:12px 16px;font-weight:700}
button.primary{background:var(--primary);color:#04142b}
button.ghost{background:transparent;color:var(--link);border:1px solid #2a3555}
button.soft{background:var(--soft);color:#cfe2ff}
button.success{background:var(--success);color:#032616}
button.danger{background:var(--danger);color:#2a0000}


/* Quiz */
.word-line{display:flex;align-items:baseline;gap:8px}
.word{font-size:40px;font-weight:800;letter-spacing:.6px;margin-bottom:12px}
.pos-badge{display:inline-block;padding:4px 8px;border-radius:9999px;background:#0b1220;border:1px solid #2a3555;color:#cfe2ff;font-size:12px;letter-spacing:.5px}
.answer-form{display:grid;grid-template-columns:1fr;gap:12px}
.buttons{display:flex;gap:10px}
.result{margin-top:4px;font-size:18px}
.result .status{margin-bottom:6px;opacity:.9}
.result .korean{font-size:22px;font-weight:800}
.example{margin-top:10px;padding:12px 14px;border-left:3px solid #345;background:#0f1633;color:#cfe2ff;border-radius:8px}
.hidden{display:none}


/* Stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{background:var(--card);border:1px solid #22314b;border-radius:14px;padding:14px}
.stat .label{color:var(--muted);font-size:12px}
.stat .value{font-size:24px;font-weight:800;margin-top:2px}


/* Footer */
.footer{text-align:center;padding:40px 12px;color:var(--muted)}


/* Auth pages (기존) */
.container.narrow{max-width:520px}
.muted{color:var(--muted)}
.small{font-size:12px}


/* PC 전용 hover/active 효과 */
@media (hover:hover) and (pointer:fine) {
  /* 기본 버튼 */
  .btn:hover, 
  .btn:focus,
  button:hover,
  button:focus {
    transform: translateY(-2px);           /* 살짝 위로 */
    box-shadow: 0 6px 14px rgba(0,0,0,.2); /* 그림자 강조 */
    transition: all 0.2s ease;
  }

  .btn:active,
  button:active {
    transform: translateY(1px) scale(0.98); /* 눌린 듯한 효과 */
    box-shadow: 0 3px 6px rgba(0,0,0,.25);
    transition: all 0.1s ease;
  }
}

/* 색상 버튼 hover 시 톤 살짝 진하게 */
button.primary:hover   { background: #60a5fa; }  /* 하늘 → 파랑 */
button.success:hover   { background: #34d399; }  /* 민트 → 조금 진한 초록 */
button.danger:hover    { background: #f87171; }  /* 연빨강 → 조금 진한 빨강 */