/* Minimal, modern, responsive styles */
:root {
  --bg: #ffffff;
  --text: #0b132b;
  --muted: #4f5d75;
  --brand: #1849ab;
  --brand-ink: #e8eefc;
  --card: #f6f8fb;
  --border: #e5e8ef;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0e1423;
    --text: #e6e9f2;
    --muted: #a9b4c7;
    --brand: #4d7cff;
    --brand-ink: #11182b;
    --card: #151c2e;
    --border: #25314a;
  }
}

* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body {
  font-family: system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg); color: var(--text); line-height: 1.6;
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.site-header {
  position: sticky; top: 0; background: rgba(255,255,255,0.8);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid var(--border);
  z-index: 10;
}
@media (prefers-color-scheme: dark){ .site-header{ background: rgba(10,14,25,0.6);} }
.brand { display:flex; align-items:center; gap:12px; }
.avatar { width:44px; height:44px; border-radius:50%; background: var(--brand); color:white; display:grid; place-items:center; font-weight:700; }
.site-title { margin: 0; font-size: 1.25rem; }
.site-subtitle { margin: 0; color: var(--muted); font-size: 0.9rem; }

.primary-nav { display:flex; flex-wrap: wrap; gap:12px; align-items:center; justify-content:flex-end; }
.primary-nav a { text-decoration:none; color: var(--text); padding: 10px 4px; border-bottom: 2px solid transparent; }
.primary-nav a:hover { border-color: var(--brand); color: var(--brand); }

.lang-toggle { margin-left:12px; border:1px solid var(--border); background: var(--card); padding:8px 10px; border-radius:8px; cursor:pointer; }

.hero { padding: 56px 0 32px; background: linear-gradient(180deg, var(--brand-ink), transparent); }
.hero h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.8vw, 2rem); }
.hero .cta { display:inline-block; margin-top: 12px; background: var(--brand); color: white; padding: 10px 16px; border-radius: 10px; text-decoration:none; }
.hero p { color: var(--muted); max-width: 60ch; }

.section { padding: 48px 0; border-top: 1px solid var(--border); }
.section.alt { background: var(--brand-ink); }
h3 { margin-top:0; font-size: 1.4rem; }
h4 { margin-bottom: 8px; }

.two-col { display:grid; grid-template-columns: 2fr 1fr; gap: 24px; }
@media (max-width: 860px){ .two-col { grid-template-columns: 1fr; } }

.card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.kv { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.kv li { display:grid; grid-template-columns: 110px 1fr; gap:8px; }
.links { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.links a { color: var(--brand); text-decoration: none; }
.links a:hover { text-decoration: underline; }

.grid-3 { display:grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
@media (max-width: 860px){ .grid-3 { grid-template-columns: 1fr; } }
.feature { padding: 16px; border:1px solid var(--border); border-radius:10px; background: var(--bg); }

.pill-list { display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none; }
.pill-list li { border:1px solid var(--border); padding: 8px 12px; border-radius: 999px; background: var(--bg); }

.note { color: var(--muted); font-size: 0.95rem; }
.lead { font-weight: 500; }

.pubs, .news { list-style: none; padding:0; display:grid; gap:10px; }
.pubs .pub-title { font-weight: 600; }
.news time { font-feature-settings: 'tnum' 1; }

form label { display:grid; gap:6px; margin-bottom:10px; font-size: 0.95rem; }
input, textarea { width:100%; padding:10px; border:1px solid var(--border); border-radius:8px; background: var(--bg); color: var(--text); }
button { background: var(--brand); color:white; border:none; padding:10px 14px; border-radius:10px; cursor:pointer; }
button:hover { opacity:0.95; }

.details summary { cursor: pointer; }
.site-footer { padding: 28px 0; border-top: 1px solid var(--border); text-align:center; color: var(--muted); }
