
:root { --ink:#0e0e10; --paper:#fafaf8; --line:#e4e4df; --blue:#2451ff; --muted:#6b6b6b; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,"Hiragino Sans",sans-serif; color:var(--ink); background:var(--paper); line-height:1.7; }
a { color:inherit; text-decoration:none; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--line); flex-wrap:wrap; gap:12px; }
.site-header .logo { font-weight:700; white-space:nowrap; }
.site-header nav { display:flex; gap:20px; align-items:center; font-size:14px; flex-wrap:wrap; }
.site-header nav a { white-space:nowrap; }
.site-header nav .cta { background:var(--blue); color:#fff; padding:8px 16px; border-radius:100px; }
@media (max-width:520px) {
  .site-header { flex-direction:column; align-items:flex-start; }
  .site-header nav { width:100%; justify-content:space-between; }
}
main { max-width:1080px; margin:0 auto; padding:32px 24px 80px; }
.hero { text-align:center; padding:40px 0; }
.hero h1 { font-size:clamp(28px,5vw,44px); margin:0 0 12px; }
.hero p { color:var(--muted); margin:0 0 24px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.filter-btn { border:1px solid var(--line); background:#fff; border-radius:100px; padding:6px 14px; font-size:13px; cursor:pointer; }
.filter-btn.is-active { background:var(--ink); color:#fff; border-color:var(--ink); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-top:32px; }
.card { display:block; border:1px solid var(--line); border-radius:12px; padding:20px; background:#fff; }
.card h3 { margin:8px 0 4px; font-size:17px; }
.card__issuer { color:var(--muted); font-size:13px; margin:0; }
.card__amount { font-weight:700; margin:8px 0 2px; }
.card__deadline { color:var(--muted); font-size:13px; margin:0; }
.card__hook { font-size:13px; color:var(--blue); font-weight:600; margin:2px 0 6px; }
.card__tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.tag { font-size:11px; background:#eef1ff; color:var(--blue); border-radius:100px; padding:3px 10px; }
.card__status { display:inline-block; font-size:11px; padding:3px 10px; border-radius:100px; background:#eee; }
.card__status--open { background:#e3f7e6; color:#177a2e; }
.card__status--closing_soon { background:#ffe9d6; color:#b25400; }
.card__status--closed { background:#eee; color:#888; }
.card__status--upcoming { background:#e6eeff; color:#2451ff; }
.detail h1 { font-size:clamp(24px,4vw,34px); margin:12px 0 4px; }
.detail__issuer { color:var(--muted); margin:0 0 20px; }
.detail__meta { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; border:1px solid var(--line); border-radius:12px; padding:16px; background:#fff; margin-bottom:16px; }
.detail__meta .label { display:block; font-size:12px; color:var(--muted); }
.detail__tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:24px; }
.detail__hook { font-size:17px; font-weight:700; color:var(--blue); margin:0 0 16px; }
.editorial { margin:24px 0; }
.editorial p { margin:14px 0; font-size:16px; }
.editorial__h2 { display:inline-block; margin:32px 0 14px; padding:6px 16px; background:var(--ink); color:#fff; border-radius:100px; font-size:15px; }
.editorial__h2:first-child { margin-top:0; }
.quote-card { position:relative; margin:16px 0; padding:16px 18px; background:#f4f5fa; border-radius:10px; }
.quote-card__label { display:block; font-size:11px; color:var(--muted); font-weight:700; margin-bottom:6px; }
.quote-card p { margin:0; font-size:14px; color:#333; }
.tip-bubble { position:relative; margin:20px 0 20px 8px; padding:14px 18px; background:#fffbe0; border-radius:4px 16px 16px 16px; font-size:14px; }
.tip-bubble::before { content:'💡'; position:absolute; left:-8px; top:-14px; font-size:20px; }
.official-raw { margin-top:28px; padding:16px; background:#fafaf8; border:1px dashed var(--line); border-radius:12px; }
.official-raw summary { cursor:pointer; font-weight:700; font-size:14px; }
.official-raw p { font-size:13px; color:var(--muted); margin:10px 0; }
.body p, .body li { margin:12px 0; }
.notes { margin-top:24px; padding:16px; background:#fff8e6; border-radius:12px; }
.source { margin-top:32px; }
.micro { font-size:12px; color:var(--muted); word-break:break-all; }
.disclaimer { font-size:12px; color:var(--muted); }
.official-link { display:inline-block; margin-top:16px; font-weight:700; }
.post-cta { display:block; margin-top:32px; padding:24px; border-radius:12px; background:var(--ink); color:#fff; }
.post-cta h3 { margin:0 0 8px; }
.post-cta p { margin:0; opacity:.8; font-size:14px; }
.site-footer { max-width:1080px; margin:0 auto; padding:24px; color:var(--muted); font-size:12px; border-top:1px solid var(--line); }
