body { background:#f8fafc; background-image:none; }
#desktop-search-bar { border-bottom:0; background:#fff; }
#topic-filters { display:flex; justify-content:center; gap:10px; padding:4px 20px 18px; background:#fff; overflow:auto; }
#topic-filters button { flex-shrink:0; min-width:94px; border-radius:22px; padding:8px 20px; background:#f1f5f9; color:#475569; font:700 13px 'Inter','Noto Sans JP',sans-serif; }
#topic-filters button[aria-pressed=true] { background:#2563eb; color:#fff; }
.magazine-main { width:100%; max-width:1840px; margin:auto; padding:24px 32px 0; font-family:'Inter','Noto Sans JP',sans-serif; }
.magazine-heading { display:flex; align-items:center; gap:12px; color:#0f172a; font-size:20px; font-weight:900; margin:0; }
.magazine-heading:before { content:''; width:6px; height:22px; background:#2563eb; border-radius:4px; }
#featured-story { margin-bottom:26px; } #featured-story[hidden] { display:none; }
.featured-link { display:grid; grid-template-columns:1.15fr 1fr; margin-top:12px; border:1px solid #dbeafe; border-radius:16px; overflow:hidden; background:linear-gradient(120deg,#fff,#eff6ff); color:#0f172a; text-decoration:none; }
.featured-media { display:flex; align-items:center; background:#eef3f8; min-width:0; }
.featured-media img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; }
.featured-copy { display:flex; flex-direction:column; justify-content:center; padding:30px; min-width:0; }
.featured-copy h3 { font-size:clamp(24px,2.3vw,40px); line-height:1.4; letter-spacing:-.035em; font-weight:900; overflow-wrap:anywhere; }
.featured-copy p { font-size:15px; color:#475569; line-height:1.9; margin-top:18px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.featured-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:26px; }
.featured-bottom time { font-size:13px; color:#64748b; }
.featured-button { padding:13px 22px; border-radius:9px; background:#2563eb; color:#fff; font-size:14px; font-weight:800; }
.featured-link:hover .featured-button { background:#1d4ed8; }
.article-toolbar { display:flex; align-items:center; gap:14px; margin:0 0 14px; }
#article-count { color:#64748b; font-size:13px; }
.display-switch { margin-left:auto; display:flex; padding:3px; border:1px solid #dbe3ef; border-radius:9px; background:white; }
.display-switch button { padding:7px 17px; font-size:12px; font-weight:700; border-radius:6px; color:#475569; }
.display-switch button[aria-pressed=true] { color:white; background:#2563eb; }
#feed.feed-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:0 0 32px; }
#feed .manager-meta-card { border-radius:14px; box-shadow:0 3px 15px rgba(15,23,42,.03); overflow:hidden; }
#feed .manager-card-media { border-radius:13px 13px 0 0; background:#eef3f8; }
#feed .manager-card-media img { object-fit:contain; transform:none; }
#feed .manager-card-body { padding:28px 16px 18px; }
#feed .manager-card-title { font-size:17px; line-height:1.5; }
#feed .manager-card-profile { font-size:13px; line-height:1.85; }
#feed .manager-meta-card:hover { border-color:#93c5fd; box-shadow:0 6px 24px rgba(37,99,235,.10); }
#feed.compact .manager-card-profile { flex:none; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
#feed.compact .manager-card-bottom { margin-top:auto; }
#feed.compact .manager-card-address { display:none; }
@media(max-width:1100px) { .featured-copy { padding:24px; } #feed.feed-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:800px) { .magazine-main { padding:20px 16px 0; } .featured-link { grid-template-columns:1fr; } .featured-copy h3 { font-size:25px; } #feed.feed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } #topic-filters { justify-content:flex-start; } }
@media(max-width:520px) { #feed.feed-grid { grid-template-columns:1fr; } .article-toolbar { gap:8px; flex-wrap:wrap; } .display-switch button { padding:7px 10px; } .featured-copy { padding:20px; } .magazine-heading { font-size:18px; } }
