*{box-sizing:border-box}
body{margin:0;background:#f3f4f6;color:#171717;font-family:Arial,sans-serif}
.public{width:min(1220px,calc(100% - 32px));margin:30px auto}
.hero-header{margin-bottom:18px}
.hero-top,.hero-meta{display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero-meta{margin-top:10px}
.site-logo{display:block;max-width:min(260px,40vw);max-height:110px;width:auto;height:auto;object-fit:contain;flex:0 0 auto}
.public h1{margin:0;text-align:right;font-size:28px;line-height:1.25;font-weight:700;flex:1 1 auto}
.updated,.note{margin:0;font-size:14px;line-height:1.5}
.updated{text-align:left;font-weight:400}
.note{text-align:right;color:#171717}
.banner{display:block;width:100%;height:auto;border-radius:12px;margin:18px 0}
.table-wrap{overflow:auto;background:#fff;border-radius:12px;border:1px solid #ddd}
table{width:100%;border-collapse:collapse}
th,td{padding:14px 16px;border-bottom:1px solid #eee;text-align:left}
th{background:#171717;color:#fff}
tbody tr:last-child td{border-bottom:0}
.empty{background:#fff;border:1px solid #ddd;border-radius:12px;padding:40px;text-align:center}
.public picture{display:block}
@media(max-width:768px){
  .public{width:min(100%,calc(100% - 24px));margin:18px auto}
  .hero-top,.hero-meta{flex-direction:column;align-items:center;justify-content:center;gap:10px}
  .site-logo{max-width:min(240px,70vw);max-height:100px;margin:0 auto}
  .public h1{text-align:center;font-size:24px}
  .updated,.note{text-align:center;font-size:14px}
  .banner{margin:16px 0}
  th,td{padding:11px 9px;font-size:14px}
}
