
:root{--blue:#0ea5e9;--bg:#f8fafc;--card:#fff;--muted:#64748b;--border:#e5e7eb}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#0b1320}
a{color:var(--blue);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:20px}
header{position:sticky;top:0;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}
.brand .mark{width:40px;height:40px;border-radius:12px;background:var(--blue);display:grid;place-items:center;color:#fff;font-weight:900}
nav a{margin:0 10px;font-weight:700;color:#0b1320}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:800}
.btn.secondary{background:#fff;color:#0b1320;border-color:#cbd5e1}
.badges{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero{padding:52px 0 20px;display:grid;gap:14px}
h1{font-size:34px;margin:0}
h2{font-size:22px;margin:0 0 8px}
.lead{font-size:18px;color:var(--muted);max-width:70ch}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.small{font-size:13px;color:var(--muted)}
.notice{background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px;padding:12px}
.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table th,.table td{padding:10px 12px;background:#fff;border:1px solid var(--border)}
.table th:first-child,.table td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
.table th:last-child,.table td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}

.layout{display:grid;grid-template-columns:260px 1fr 260px;gap:16px;align-items:start}
.sidebar{position:sticky;top:88px}
.adbox{background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:10px}
.adlabel{font-size:12px;color:var(--muted);margin-bottom:6px}
.adslot{min-height:250px;border-radius:10px;border:1px solid #e2e8f0;display:grid;place-items:center;color:#94a3b8;font-weight:700}
.adslot.leader{min-height:90px}
.adslot.inline{min-height:250px}
@media (max-width: 1000px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:static}
}

details{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}
summary{cursor:pointer;padding:12px 14px;font-weight:800}
details > div{padding:0 14px 14px}
footer{border-top:1px solid var(--border);margin-top:40px}
footer .container{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
