/* Shared site header and footer: used on both the academic homepage and the independent BBS. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(245,245,247,.78);border-bottom:1px solid rgba(0,0,0,.055);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);font-family:Inter,"Noto Sans JP","Hiragino Sans",system-ui,sans-serif}
.site-header .nav-shell{width:min(1320px,calc(100% - 64px));min-height:58px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
.site-header .brand{color:#1d1d1f;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:-.015em;white-space:nowrap}
.site-header .language-nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,30px);font-size:12px;font-weight:500}
.site-header .nav a.nav-home,.site-header .nav a.nav-board{display:inline-flex;align-items:center;color:#424245;font-size:12px;font-weight:500;letter-spacing:0;text-decoration:none;white-space:nowrap;transition:color .2s ease}
.site-header .nav a.nav-home:hover,.site-header .nav a.nav-board:hover{color:#0071e3}
.site-header .nav a[aria-current="page"]{color:#1d1d1f;font-weight:650;border-bottom:1px solid #0071e3;padding:4px 0}
.site-header .language-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:36px;margin:0;padding:7px 9px;color:#6e6e73;background:transparent;border:0;border-radius:999px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.5;cursor:pointer;transition:background .2s ease,color .2s ease}
.site-header .language-toggle:hover{background:rgba(0,0,0,.05);color:#1d1d1f}
.site-footer{display:block;margin:0;padding:0;background:#000;color:#6e6e73;border-top:1px solid rgba(255,255,255,.06);font-family:Inter,"Noto Sans JP","Hiragino Sans",system-ui,sans-serif}
.site-footer .footer-inner{width:min(1320px,calc(100% - 64px));min-height:58px;margin:0 auto;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:24px;color:#6e6e73;font-size:10px;font-weight:400;letter-spacing:.01em}
.bbs-shell{padding-top:82px}
.bbs-legal{margin:16px 0 0;font-size:12px;color:#555}
@media(max-width:980px){
  .site-header .nav a.nav-home,.site-header .nav a.nav-board{display:inline-flex}
  .site-header .nav-shell,.site-footer .footer-inner{width:calc(100% - 40px)}
}
@media(max-width:640px){
  .site-header .nav-shell,.site-footer .footer-inner{width:calc(100% - 32px)}
  .site-header .nav-shell{min-height:54px;gap:12px}
  .site-header .brand{font-size:13px}
  .site-header .language-nav{gap:14px}
  .site-header .nav a.nav-home,.site-header .nav a.nav-board{font-size:11px}
  .site-header .language-toggle{font-size:11px}
  .bbs-shell{padding-top:72px}
}