:root { --ink:#08111b; --navy:#0d2034; --panel:#102a42; --muted:#94a7b8; --gold:#d5ab62; --paper:#f4f0e9; --line:rgba(213,171,98,.24); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--paper); background:radial-gradient(circle at 10% 0%, #1a4262 0, transparent 35%), var(--ink); font-family:Inter, Pretendard, system-ui, sans-serif; }
a { color:inherit; }
.shell { width:min(1160px, calc(100% - 40px)); margin:auto; }
.topbar { min-height:74px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { letter-spacing:.18em; font-size:.8rem; font-weight:800; text-decoration:none; }
.brand span { color:var(--gold); }
.nav { display:flex; gap:20px; align-items:center; font-size:.86rem; }
.nav a { color:#c6d1d8; text-decoration:none; }.nav a:hover,.nav a.active{color:var(--gold)}
.button { border:1px solid var(--gold); background:var(--gold); color:#101821; padding:11px 16px; font:inherit; font-weight:750; cursor:pointer; border-radius:3px; text-decoration:none; display:inline-flex; justify-content:center; }
.button.secondary { background:transparent; color:var(--gold); }.button.danger { background:#b24949; border-color:#b24949; color:white; }.button:disabled { opacity:.5; cursor:not-allowed; }
.eyebrow { color:var(--gold); font-size:.75rem; letter-spacing:.18em; font-weight:800; text-transform:uppercase; }.hero { padding:96px 0 74px; max-width:800px; }.hero h1 { font-size:clamp(2.4rem, 6vw, 5.5rem); line-height:.96; letter-spacing:-.06em; margin:15px 0 24px; }.hero p { color:#bac8d1; max-width:620px; line-height:1.75; }
.cards { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; padding-bottom:75px; }.card { background:linear-gradient(130deg,rgba(22,51,75,.95),rgba(11,25,39,.95)); border:1px solid var(--line); padding:28px; min-height:190px; text-decoration:none; transition:transform .2s,border .2s; }.card:hover { transform:translateY(-4px); border-color:var(--gold); }.card h2 { margin:35px 0 8px; }.card p,.meta { color:var(--muted); line-height:1.6; font-size:.9rem; }
.page { padding:50px 0 80px; }.page-header { margin-bottom:28px; }.page-header h1 { font-size:clamp(2rem,4vw,3.5rem); margin:10px 0; letter-spacing:-.05em; }.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px; }.item { background:rgba(16,42,66,.9); border:1px solid var(--line); padding:21px; }.item h2 { margin:8px 0; font-size:1.18rem; }.item p { color:#b8c6cf; line-height:1.6; font-size:.9rem; }.tag { font-size:.72rem; letter-spacing:.1em; color:var(--gold); font-weight:800; }.item audio { width:100%; margin:16px 0 5px; }
.login-wrap { width:min(450px, calc(100% - 38px)); margin:12vh auto; }.login-wrap h1 { font-size:2.8rem; letter-spacing:-.06em; }.form-card { background:rgba(16,42,66,.88); padding:30px; border:1px solid var(--line); }.field { display:grid; gap:8px; margin-bottom:16px; font-size:.86rem; color:#c9d5db; }.field input,.field textarea,.field select { min-width:0; width:100%; border:1px solid #446076; background:#081725; color:white; padding:12px; font:inherit; border-radius:2px; }.field textarea { min-height:88px; resize:vertical; }.notice { min-height:22px; color:#f0b4a7; font-size:.86rem; line-height:1.45; }.notice.ok { color:#a6d6af; }
.admin-shell { width:min(1280px, calc(100% - 40px)); margin:auto; }.admin-main { padding:38px 0 72px; }.admin-grid { display:grid; grid-template-columns:360px 1fr; gap:20px; }.admin-panel { background:rgba(16,42,66,.9); border:1px solid var(--line); padding:22px; margin-bottom:18px; }.admin-panel h2 { font-size:1.1rem; margin:0 0 18px; }.admin-list { display:grid; gap:10px; }.row { border:1px solid rgba(148,167,184,.24); padding:13px; display:flex; gap:14px; align-items:center; justify-content:space-between; }.row small { color:var(--muted); display:block; margin-top:4px; }.status { color:var(--gold); font-size:.72rem; font-weight:800; }.metric { padding:17px; border:1px solid var(--line); }.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }.metric strong { display:block; font-size:1.8rem; margin-top:7px; }.helper { color:var(--muted); font-size:.8rem; line-height:1.5; }
.loading { color:var(--muted); padding:30px 0; }.item.deep-linked { border-color:var(--gold); box-shadow:0 0 0 3px rgba(213,171,98,.18); }.hidden { display:none!important; }
.library-group { grid-column:1 / -1; }.library-group + .library-group { margin-top:24px; }.library-group h2 { font-size:1rem; color:var(--gold); letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
@media(max-width:720px){ .shell,.admin-shell{width:min(100% - 28px,1160px)}.nav{gap:10px;font-size:.75rem}.nav a:not(.logout-link){display:none}.hero{padding-top:62px}.cards,.admin-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.row{align-items:flex-start;flex-direction:column}.topbar{min-height:62px} }
