/* Inline tournament journal. Articles remain fully readable without JavaScript. */
.tournament-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:36px; align-items:center; margin:36px 0; padding:48px 48px 24px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(115deg,#fff0f5,#f8d4df); }
.tournament-hero h1 { position:relative; margin:0; font-size:clamp(38px,5vw,62px); font-weight:800; line-height:1.08; letter-spacing:-.05em; }
.tournament-hero h1 em { color:var(--rose); font-style:normal; }
.tournament-hero-description { max-width:430px; margin:22px 0; color:var(--muted); font-size:15px; line-height:1.8; }
.journal-link { display:inline-flex; align-items:center; gap:24px; padding:12px 20px; border-radius:24px; background:var(--deep); color:white; font-size:13px; font-weight:700; }
.journal-link:hover { background:var(--rose); }
.winner-showcase { min-width:0; padding:0; }
.winner-showcase > .eyebrow { margin:0 0 10px; font-size:9px; letter-spacing:.12em; }
.winner-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(8,1fr); grid-auto-flow:column; gap:0 16px; }
.winner-card { display:grid; grid-template-columns:22px 28px minmax(0,1fr); align-items:center; gap:6px; min-width:0; margin:0; padding:7px 0; border-bottom:1px solid #e9bfce; }
.winner-edition { color:var(--muted); font-size:10px; font-weight:600; }
.winner-card img { display:block; width:28px; height:28px; object-fit:cover; border-radius:4px; }
.winner-card figcaption { min-width:0; line-height:1.35; overflow-wrap:anywhere; }
.winner-card strong { display:block; font-size:11px; font-weight:600; }
.winner-card figcaption span { display:block; font-size:10px; color:var(--muted); }
.winner-card-placeholder { grid-template-columns:22px minmax(0,1fr); }
.winner-caption { margin:14px 0 0; text-align:center; font-size:11px; color:var(--deep); }
.journal-topics { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px 24px; border-top:1px solid #e9bfce; padding-top:18px; color:var(--deep); font-size:9px; font-weight:750; letter-spacing:.12em; }
#journal-title { scroll-margin-top:24px; }
@media(max-width:1000px) { .tournament-hero { gap:24px; padding:32px 28px 22px; } .tournament-hero h1 { font-size:44px; } }
@media(max-width:767px) { .tournament-hero { grid-template-columns:1fr; } .winner-showcase { width:100%; max-width:360px; margin:auto; } }
@media(max-width:480px) { .tournament-hero h1 { font-size:36px; } .journal-topics { gap:10px 16px; font-size:8px; } }
.journal { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; align-items:start; margin-top:45px; }
.journal-intro h2 { margin:0 0 18px; font-size:28px; line-height:1.2; letter-spacing:-.04em; }
.journal-intro > p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.8; }
.post-filters { display:flex; flex-wrap:wrap; gap:8px; padding-top:18px; margin-top:18px; border-top:1px solid var(--line); }
.post-filters[hidden], .tournament-post[hidden] { display:none; }
.post-filter { padding:8px 12px; min-height:40px; border:1px solid var(--line); border-radius:20px; background:white; color:var(--deep); font-size:12px; font-weight:650; }
.post-filter:hover { border-color:var(--rose); }
.post-filter[aria-pressed="true"] { background:var(--rose); border-color:var(--rose); color:white; }
#post-filter-status { font-size:11px; color:var(--muted); }
.article-feed { display:grid; gap:24px; min-width:0; }
.tournament-post { background:white; border:1px solid var(--line); border-radius:18px; padding:32px; }
.post-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; color:var(--muted); font-size:11px; }
.post-category { padding:6px 10px; color:var(--deep); background:#fbe4ec; border-radius:6px; font-weight:700; }
.tournament-post h3 { margin:0 0 20px; font-size:clamp(23px,2.5vw,30px); line-height:1.2; letter-spacing:-.035em; }
.post-body { max-width:65ch; font-size:15px; line-height:1.85; }
.post-body p { margin:0 0 16px; }
.result-stage { margin:20px 0; }
.result-stage h4 { margin:0 0 10px; font-size:14px; }
.result-decks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; list-style:none; padding:0; margin:0; }
.result-decks li { display:flex; align-items:center; gap:10px; min-width:0; font-size:13px; line-height:1.4; }
.result-decks img { display:block; width:48px; height:48px; flex:0 0 48px; object-fit:cover; border-radius:8px; border:2px solid white; box-shadow:0 1px 5px #3923301c; }
.result-winner { padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.result-winner h4 { color:var(--deep); }
.result-winner .result-decks { grid-template-columns:1fr; font-weight:700; }
@media(max-width:480px) { .result-decks { grid-template-columns:1fr; } }
.banlist-card { display:grid; grid-template-columns:80px minmax(0,1fr); gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.banlist-card img { display:block; width:100%; height:auto; border-radius:7px; }
.banlist-card p { margin:0; } 
.banlist-card strong { display:block; margin-bottom:5px; }
@media(max-width:480px) { .banlist-card { grid-template-columns:60px minmax(0,1fr); gap:10px; align-items:start; } }
.post-takeaway { margin:24px 0 0; border-left:3px solid var(--rose); background:var(--paper); padding:14px 18px; color:var(--deep); font-size:13px; line-height:1.7; }
.post-takeaway span { display:block; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; margin-bottom:4px; }
@media(max-width:900px) { .journal { grid-template-columns:190px minmax(0,1fr); gap:28px; } }
@media(max-width:767px) { .journal { grid-template-columns:1fr; gap:20px; margin-top:28px; } .journal-intro h2 br { display:none; } .tournament-hero { padding:30px 24px; margin:24px 0; } .tournament-post { padding:24px; } }
@media(max-width:639px) { .nav-inner { flex-wrap:wrap; } .nav-links { flex-wrap:wrap; } .tournament-post { padding:22px 18px; } }

/* Collapsible posts: equal layout at rest, smoothly sized to their content. */
.post-header { position:relative; }
.post-collapsible .post-meta { margin-bottom:12px; padding-right:28px; }
.post-collapsible h3 { margin:0; }
.post-toggle { display:block; width:100%; padding:0 28px 0 0; border:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; text-align:left; cursor:pointer; }
.post-toggle::before { content:""; position:absolute; inset:0; }
.post-toggle::after { content:""; position:absolute; right:3px; top:8px; width:8px; height:8px; border-right:2px solid var(--rose); border-bottom:2px solid var(--rose); transform:rotate(45deg); transition:transform 220ms ease; }
.post-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
.post-toggle:focus-visible { outline:2px solid var(--rose); outline-offset:6px; border-radius:4px; }
.post-panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 260ms ease, opacity 200ms ease; }
.post-panel-content { min-height:0; overflow:hidden; }
.post-panel-content > .post-body { padding-top:20px; }
.post-expanded .post-panel { grid-template-rows:1fr; opacity:1; }
@media(prefers-reduced-motion:reduce) { .post-panel, .post-toggle::after { transition:none; } }
