/* Kuki Family Catalog - 공통 스타일 */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;background:#0f0f12;color:#e5e7eb;line-height:1.6;min-height:100vh}
a{color:#60a5fa;text-decoration:none}
a:hover{color:#93c5fd}

/* Top navigation */
.topnav{position:sticky;top:0;z-index:50;background:rgba(15,15,18,.92);backdrop-filter:blur(10px);border-bottom:1px solid #27272a}
.topnav-inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;flex-direction:row;align-items:center;gap:20px;flex-wrap:nowrap}
.brand{font-size:18px;font-weight:700;color:#f4f4f5;display:flex;align-items:center;gap:6px;flex-shrink:0}
.brand:hover{color:#fff}
.navmenu{list-style:none;display:flex;flex-direction:row;gap:4px;margin-left:auto;padding:0;flex-wrap:wrap}
.navmenu li{list-style:none;display:block}
.navmenu a{display:block;padding:8px 14px;border-radius:8px;color:#a1a1aa;font-size:14px;font-weight:500;transition:all .15s}
.navmenu a:hover{background:#18181b;color:#f4f4f5}
.navmenu a.active{background:#312e81;color:#c7d2fe}
.hamburger{display:none;background:none;border:none;cursor:pointer;width:36px;height:36px;padding:8px;margin-left:auto;flex-direction:column;justify-content:space-between}
.hamburger span{display:block;height:2px;background:#e5e7eb;border-radius:2px;transition:all .2s}
@media (max-width:720px){
  .hamburger{display:flex}
  .navmenu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#0f0f12;border-bottom:1px solid #27272a;padding:8px;gap:2px;margin-left:0}
  .topnav.open .navmenu{display:flex}
  .topnav.open .hamburger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .topnav.open .hamburger span:nth-child(2){opacity:0}
  .topnav.open .hamburger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .navmenu a{padding:12px 16px;font-size:15px}
}
.container{max-width:1200px;margin:0 auto;padding:32px 20px}
header.hero{padding:48px 20px 24px;background:linear-gradient(180deg,#1e1b4b 0%,#0f0f12 100%);border-bottom:1px solid #27272a}
header.hero h1{font-size:32px;font-weight:700;margin-bottom:8px}
header.hero p.sub{color:#a1a1aa;font-size:15px}
.crumbs{font-size:13px;color:#71717a;margin-bottom:8px}
.crumbs a{color:#a1a1aa}
.search-bar{margin:20px 0 28px;display:flex;gap:8px}
.search-bar input{flex:1;padding:12px 16px;background:#18181b;border:1px solid #27272a;border-radius:10px;color:#e5e7eb;font-size:15px}
.search-bar input:focus{outline:none;border-color:#6366f1}
.search-bar button{padding:12px 20px;background:#6366f1;border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.card{background:#18181b;border:1px solid #27272a;border-radius:14px;overflow:hidden;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:#3f3f46}
.card .cover{aspect-ratio:4/3;background:#27272a center/cover no-repeat;position:relative}
.card .cover.video::after{content:'▶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(255,255,255,.85);text-shadow:0 2px 12px rgba(0,0,0,.7)}
.card .body{padding:14px 16px}
.card .title{font-size:15px;font-weight:600;color:#f4f4f5;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .meta{font-size:12px;color:#71717a;display:flex;justify-content:space-between;gap:8px}
.card .author{color:#a5b4fc}
.empty{text-align:center;padding:60px 20px;color:#71717a}
.pager{display:flex;justify-content:center;gap:8px;margin-top:32px}
.pager a,.pager span{padding:8px 14px;background:#18181b;border:1px solid #27272a;border-radius:8px;font-size:14px;color:#a1a1aa}
.pager .current{background:#6366f1;border-color:#6366f1;color:#fff}

/* Album detail */
.album-head{padding:32px 0 20px}
.album-head h1{font-size:28px;margin-bottom:8px}
.album-head .meta-line{color:#a1a1aa;font-size:14px;display:flex;gap:16px;flex-wrap:wrap}
.album-head .desc{margin-top:12px;color:#d4d4d8}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.gallery a{aspect-ratio:1;background:#27272a center/cover no-repeat;border-radius:8px;display:block;transition:transform .15s}
.gallery a:hover{transform:scale(1.03)}

/* Document list */
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-row{background:#18181b;border:1px solid #27272a;border-radius:12px;padding:16px 20px;transition:border-color .15s;display:flex;align-items:center;gap:16px}
.doc-row:hover{border-color:#6366f1}
.doc-row .icon{font-size:28px;flex-shrink:0}
.doc-row .body{flex:1;min-width:0}
.doc-row .title{font-size:15px;font-weight:600;color:#f4f4f5;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-row .meta{font-size:12px;color:#71717a;display:flex;gap:12px;flex-wrap:wrap}
.doc-row .file{font-family:ui-monospace,monospace;font-size:11px;color:#52525b}
@media (max-width:720px){.doc-row{padding:12px 14px;gap:12px}.doc-row .icon{font-size:24px}}

/* Audio list */
.audio-list{display:flex;flex-direction:column;gap:10px}
.audio-row{background:#18181b;border:1px solid #27272a;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px}
.audio-row .num{font-size:13px;color:#71717a;min-width:32px;flex-shrink:0}
.audio-row .track{flex:1;min-width:0}
.audio-row .title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audio-row audio{height:34px;width:280px;max-width:100%;flex-shrink:0}
@media (max-width:720px){
  .audio-row{flex-direction:column;align-items:stretch;padding:12px 14px;gap:10px;position:relative}
  .audio-row .num{position:absolute;top:12px;left:14px}
  .audio-row .track{padding-left:36px}
  .audio-row audio{width:100%;height:40px}
}
