:root{--container: 1100px;--text: #111;--muted: #666;--line: #e6e6e6;--bg: #fff;--bg-soft: #f6f6f6;--brand: #0b3b7a;--topbar-bg: #50565f;--topbar-border: #3f454d;--topbar-text: #e9ecef}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}.muted{color:var(--muted)}.site-header{width:100%}.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);font-size:13px;color:var(--topbar-text)}.topbar-inner{display:flex;align-items:stretch;justify-content:flex-start;gap:0;padding:0;height:30px;font-size:11px}.topbar-left{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}.topbar-left a{color:var(--topbar-text);text-decoration:none;padding:0 11px;height:100%;display:inline-flex;align-items:center}.topbar-left a:hover{text-decoration:none;background:#ffffff0f}.topbar-left a.topbar-pnu{background:#163d7a;color:#fff;font-weight:700}.topbar-left a.topbar-pnu:hover{background:#123261}.header-main{border-bottom:1px solid var(--line);background:#fff}.header-main-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{width:43px;height:43px;object-fit:contain;flex:0 0 auto}.brand-text{display:flex;flex-direction:column}.brand-title{font-weight:800;letter-spacing:-.02em;font-size:18px;color:var(--brand)}.brand-sub{margin-top:2px;font-size:10px;color:var(--muted)}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;line-height:1}.gnb{position:relative}.gnb .gnb-list{list-style:none;display:flex;gap:26px;padding:0;margin:0;align-items:center}.gnb-item{position:relative}.gnb-link{font-weight:700;font-size:14px;text-decoration:none;padding:8px 2px;display:inline-block}.dropdown{list-style:none;position:absolute;top:34px;left:0;min-width:180px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;margin:0;display:none;box-shadow:0 12px 30px #00000014;z-index:50}.gnb-item:hover .dropdown{display:block}.dropdown-item a{display:block;padding:8px 10px;border-radius:8px}.dropdown-item a:hover{background:var(--bg-soft);text-decoration:none}main.site-main{padding:22px 0 60px}h1{font-size:28px;margin:0 0 14px}h2{font-size:20px;margin:22px 0 10px}.grid{display:grid;gap:12px}.card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.pub-list{display:flex;flex-direction:column;gap:10px}.pub-row{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;justify-content:space-between;gap:14px}.pub-title{font-weight:800}.pub-meta{color:var(--muted);font-size:13px;margin-top:4px}.pub-actions{display:flex;gap:8px;align-items:flex-start}.btn{border:1px solid var(--line);padding:6px 10px;border-radius:10px;text-decoration:none;background:#fff}.btn:hover{background:var(--bg-soft);text-decoration:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;background:#fff}.gallery-card:hover{text-decoration:none}.thumb{aspect-ratio:16/10;background:var(--bg-soft)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted)}.g-info{padding:12px}.g-title{font-weight:800}.gallery-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 20px}.photo{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;display:block}.photo img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.gallery-body{margin-top:10px}.site-footer{border-top:1px solid var(--line);background:#fff;padding:18px 0 28px;color:var(--muted);font-size:13px}.footer-inner{display:flex;flex-direction:column;gap:10px}.footer-links{display:flex;flex-wrap:wrap;gap:12px;color:#333}.footer-meta{line-height:1.6}.footer-copy{margin-top:6px}.pub-year{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.pub-year-left{font-size:22px;font-weight:800;color:#222;padding-top:6px}.pub-section{margin:4px 0 12px;font-size:20px;font-weight:800}.pub-items{display:flex;flex-direction:column;gap:18px;margin-bottom:18px}.pub-item .pub-title{font-size:16px;font-weight:800;margin-bottom:4px}.pub-item .pub-meta{font-size:13px;color:var(--muted);line-height:1.5}.pub-actions{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap}.pub-btn{font-size:13px;text-decoration:underline;color:var(--brand)}@media(max-width:900px){.nav-toggle{display:inline-block}.gnb{display:none}.gnb.is-open{display:block}.gnb .gnb-list{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0 0}.dropdown{position:static;display:block;border:none;box-shadow:none;padding:4px 0 10px 10px;margin-top:6px}.gallery-grid,.gallery-detail-grid{grid-template-columns:repeat(2,1fr)}.pub-year{grid-template-columns:1fr}.pub-year-left{font-size:20px}.brand-logo{width:44px;height:44px}}@media(max-width:520px){.gallery-grid,.gallery-detail-grid{grid-template-columns:1fr}}
