/* MIRUGO 1.3: direct watching, compact mobile rhythm, clear state. */
.admin-bar .site-header { top: 32px; }
.hero__shortcuts { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; font-size:.85rem; }
.hero__shortcuts a { color:inherit; text-underline-offset:5px; }
.home .hero { padding-top:120px; }
.home .hero__grid { min-height:0; align-items:center; padding-bottom:48px; gap:40px; }
.home .hero h1 { font-size:clamp(4rem,8vw,7rem); line-height:.98; }
.home .hero__kicker { margin-bottom:16px; }
.home .hero__statement { margin-top:18px; }
.home .hero__description { margin-bottom:20px; }
.home .hero__ticker { padding-block:12px; }
.pick-card__date { margin:8px 0; font-weight:800; color:var(--color-lime); }
.pick-card__players p { overflow-wrap:anywhere; word-break:normal; }
.pick-card--stream { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px 18px; align-items:start; }
.pick-card--stream .pick-card__topline { grid-column:1/-1; margin:0; padding-bottom:14px; }
.pick-card__thumbnail { width:110px; height:92px; object-fit:cover; border-radius:10px; grid-row:2/4; }
.pick-card__stream-title { margin:0; font-size:clamp(1rem,1.7vw,1.45rem); line-height:1.5; letter-spacing:0; }
.pick-card--stream .pick-card__note { font-size:.75rem; color:#b8bfb6; margin:0; }
.pick-card--stream .button { grid-column:1/-1; margin-top:6px; justify-content:center; width:100%; }
.pick-card__next { grid-column:1/-1; border-top:1px solid #ffffff30; padding-top:12px; color:#b8bfb6; font-size:.75rem; line-height:1.7; }
.pick-card__next span { display:block; color:#fff; font-size:.85rem; }
.home .section { padding-block:64px; }
.home .section-heading { margin-bottom:28px; gap:20px; }
.home .section-heading h2,.home .favorite-hub__heading h2,.home .find-player__intro h2 { font-size:clamp(1.85rem,4vw,3.25rem); line-height:1.2; }
.home .section-heading__note { font-size:.875rem; }
.next-match-list { display:grid; gap:12px; }
.next-match-list>a:not(.text-link) { display:grid; grid-template-columns:80px minmax(0,1fr) 20px; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid #18201825; color:inherit; text-decoration:none; }
.next-match-list time { font-weight:800; }
.next-match-list small,.next-match-list strong { display:block; }
.next-match-list small { font-size:.8rem; margin-bottom:6px; }
.next-match-list strong { font-size:1.05rem; }
.official-stream-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.official-stream-card:first-child { display:block; grid-column:auto; }
.official-stream-card:first-child .official-stream-card__visual { min-height:0; aspect-ratio:16/9; }
.official-stream-card__visual { aspect-ratio:16/9; }
.official-stream-card h3 { font-size:1rem; line-height:1.55; }
.official-stream-card__body { padding:20px; }
.official-stream-card .button { font-size:.85rem; padding:12px 16px; }
.official-stream-card--unknown .official-stream-card__status { background:#e6e8e2; color:#283027; }
.stream-health { padding:14px 18px; border:1px solid #ffffff45; border-radius:12px; font-size:.875rem; }
.home .weekly-lead__visual { min-height:260px; }
.home .weekly-lead__story { padding:28px; }
.home .weekly-lead__story h3 { font-size:clamp(1.8rem,3vw,2.8rem); }
.home .weekly-lead__story blockquote { font-size:1rem; line-height:1.8; }
.home .weekly-secondary { margin-top:24px; }
.home .watch-feature { min-height:0; }
.watch-feature__visual--text { min-height:240px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:32px; }
.watch-feature__visual--text .focus-label { position:static; }
.watch-feature__visual--text>p { position:static; margin:24px 0 12px; font-size:2.5rem; line-height:1.15; }
.watch-feature__visual--text>small { position:relative; z-index:1; font-size:.875rem; }
.home .watch-feature__copy { padding:32px; }
.home .watch-feature__copy h3 { font-size:2rem; }
.home .watch-feature__dynamic { font-size:1.05rem; line-height:1.85; }
.favorite-hub:not(.has-favorites) .favorite-hub__heading { margin-bottom:20px; }
.favorite-hub:not(.has-favorites) .favorite-hub__heading h2 { font-size:1.5rem; }
.favorite-hub:not(.has-favorites) .favorite-hub__heading br { display:none; }
.favorite-hub:not(.has-favorites) .favorite-hub__empty { padding:20px; }
.favorite-hub:not(.has-favorites) .favorite-hub__empty>span { display:none; }
.favorite-player-grid[hidden] { display:none; }
.home-section-link { display:inline-flex; margin-top:24px; }
.match-detail__result { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 24px; padding:20px; margin:24px 0; border:1px solid #b8ff3555; border-radius:16px; background:#b8ff3510; }
.match-detail__result>span { font-size:.85rem; color:var(--color-lime); }
.match-detail__result>strong { font-size:clamp(1.15rem,2.3vw,1.7rem); }
.match-source { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; padding-top:24px; margin-top:24px; border-top:1px solid #18201825; font-size:.85rem; }
.match-source small { flex-basis:100%; }
.day-card--fallback { background:#f5f6f0; color:#111311; }
.day-card--fallback .day-card__link { color:inherit; }
.day-card--fallback .day-card__link p { color:#46513f; }
.day-card--fallback .day-card__suggestion { color:#46513f; opacity:1; }
.day-card--fallback.day-card--active { background:var(--color-lime); }
.day-card__suggestion { display:block; margin:12px 0 8px; font-size:.6rem; font-weight:900; letter-spacing:.08em; opacity:.68; }
.calendar-download { appearance:none; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; padding:8px 12px; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.calendar-download:hover,.calendar-download:focus-visible { background:var(--color-lime); color:#111; }
.calendar-download--hero { display:inline-flex; margin:12px auto 0; color:#fff; padding:12px 18px; }
.official-source-directory { margin-top:28px; padding-top:22px; border-top:1px solid #ffffff35; color:#fff; }
.official-source-directory>strong { display:block; margin-bottom:12px; font-size:.78rem; letter-spacing:.06em; }
.official-source-directory>div { display:flex; flex-wrap:wrap; gap:10px; }
.official-source-directory a { display:flex; flex-direction:column; gap:3px; min-width:190px; padding:12px 14px; border:1px solid #ffffff38; border-radius:10px; color:#fff; text-decoration:none; }
.official-source-directory a:hover,.official-source-directory a:focus-visible { border-color:var(--color-lime); }
.official-source-directory small { color:#b8ff35; }
.match-after { background:#edf0e8; }
.match-after__grid { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr); gap:clamp(32px,7vw,100px); align-items:start; }
.match-after__grid h2 { margin:10px 0 0; font-size:clamp(2rem,5vw,4rem); line-height:1.08; }
.match-after__body { padding:clamp(24px,4vw,48px); background:#fff; border-top:5px solid var(--color-lime); }
.match-after__body>strong { display:block; margin-bottom:14px; font-size:.78rem; letter-spacing:.08em; }
.match-after__body>p { margin:0; font-size:clamp(1.05rem,2vw,1.35rem); line-height:1.9; }
.match-after__body aside { margin-top:26px; padding:20px; background:#182018; color:#fff; }
.match-after__body aside span { color:var(--color-lime); font-size:.75rem; font-weight:900; letter-spacing:.08em; }
.match-after__body aside p { margin:8px 0 0; line-height:1.8; }
.match-after__body aside a { display:inline-block; margin-top:12px; color:var(--color-lime); font-size:.8rem; }
.detail-stream-action__other { display:block; margin-top:12px; font-size:.72rem; color:inherit; }
.match-after__body>small { display:block; margin-top:22px; color:#596158; line-height:1.7; }
.player-keywords__list { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.player-keywords__list span { padding:9px 12px; border:1px solid #18201840; border-radius:999px; font-size:.82rem; font-weight:800; }
.match-brief { background:#f6f6f1; color:#111311; }
.match-brief__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
.match-brief__heading h2 { margin:10px 0 0; font-size:clamp(1.8rem,4vw,3.5rem); line-height:1.15; }
.match-brief__heading>span { flex-shrink:0; padding:10px 16px; border:1px solid #263026; border-radius:999px; font-weight:800; }
.series-card { padding:clamp(20px,3vw,36px); border:1px solid #cbd0c5; border-radius:20px; background:#fff; color:#111311; }
.series-card>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 20px; }
.series-card h3 { margin:0; font-size:clamp(1.1rem,2vw,1.5rem); }
.series-card>header p { margin:0; color:#596158; font-size:.82rem; }
.series-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(16px,4vw,60px); max-width:760px; margin:28px auto; text-align:center; }
.series-score>div { display:flex; flex-direction:column; gap:6px; }
.series-score>div>span { font-size:clamp(1.15rem,2vw,1.75rem); font-weight:900; }
.series-score>div>span small { display:block; margin-top:4px; color:#596158; font-size:.75rem; font-weight:500; }
.series-score strong { font-family:var(--font-display); font-size:clamp(3rem,7vw,5.5rem); line-height:1.1; }
.series-score strong small { margin-left:6px; font:800 .85rem var(--font-sans); }
.series-score>span { color:#596158; font-size:1.5rem; }
.series-rounds { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; padding:0 0 8px; margin:0; list-style:none; }
.series-round { min-width:0; border:1px solid #d8ddd2; border-radius:10px; background:#f6f6f1; color:#263026; }
.series-round.is-current { border-color:#315100; background:var(--color-lime); color:#111311; }
.series-round>a,.series-round>div { display:flex; min-height:100%; flex-direction:column; gap:8px; padding:12px 10px; color:inherit; }
.series-round>a:hover,.series-round>a:focus-visible { outline:2px solid #315100; outline-offset:-2px; border-radius:10px; }
.series-round span { font-size:.72rem; font-weight:900; }
.series-round small { font-size:.65rem; color:#46513f; }
.series-round strong { margin-top:auto; font-size:.75rem; line-height:1.5; }
.series-card>footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; margin-top:18px; font-size:.75rem; color:#46513f; }
.series-card>footer a { color:#315100; text-decoration:underline; text-underline-offset:3px; }
.match-meaning { padding:clamp(24px,4vw,40px); margin-top:28px; border-left:5px solid var(--color-lime); background:#182018; color:#fff; }
.match-meaning h3 { margin:0 0 14px; font-size:.8rem; color:var(--color-lime); }
.match-meaning p { margin:0; font-size:clamp(1.25rem,2.5vw,2rem); font-weight:800; line-height:1.65; }
.match-points { margin-top:32px; }
.match-points>h3 { margin:0 0 20px; font-size:1.1rem; }
.match-points>ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.match-points li { padding:24px; border:1px solid #cbd0c5; border-radius:16px; background:#fff; color:#111311; }
.match-points li>span { font-family:var(--font-display); font-size:2rem; font-weight:900; color:#315100; }
.match-points h4 { margin:16px 0 12px; font-size:1.2rem; line-height:1.5; }
.match-points li>p { margin:0; color:#46513f; font-size:.95rem; line-height:1.85; }
.match-point-reviews { margin-top:28px; padding-top:24px; border-top:1px solid #cbd0c5; color:#111311; }
.match-point-reviews h3 { margin:0 0 20px; font-size:1.1rem; }
.match-point-reviews article+article { margin-top:24px; }
.match-point-reviews h4 { margin:0 0 8px; font-size:1rem; }
.match-point-reviews p { margin:0; font-size:1rem; line-height:1.8; }
.match-point-reviews a { display:inline-block; margin-top:10px; color:#315100; font-size:.8rem; text-decoration:underline; }
.match-next { background:var(--color-lime); color:#111311; }
.match-next>.shell { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:28px; }
.match-next h2 { margin:10px 0 16px; font-size:clamp(2rem,4vw,3.5rem); }
.match-next p:last-child { margin:0; font-size:.9rem; line-height:1.8; }
.weekly-lead__attention { margin:12px 0; color:#315100; font-size:1rem; letter-spacing:.15em; }
.home .weekly-lead__story h3 em { color:#315100; }
.home .weekly-lead__story blockquote { font-size:clamp(1.4rem,3vw,2rem); line-height:1.5; }
.weekly-lead__focus-note { margin:14px 0 0; color:#46513f; font-size:.95rem; line-height:1.85; }
@media(max-width:767px) {
  .series-rounds { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:132px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; }
  .series-round { scroll-snap-align:start; }
  .match-points>ol { grid-template-columns:1fr; }
  .match-brief__heading { align-items:flex-start; }
  .match-brief__heading>span { padding:8px 12px; font-size:.8rem; }
  .match-points li { padding:22px; }
}
.listing-hero h1 { text-wrap:balance; }
.site-header .brand__name { white-space:nowrap; flex-shrink:0; }
@media(max-width:767px) {
  body.menu-open .site-header {
    position:fixed;
    bottom:0;
    background:var(--color-dark);
    backdrop-filter:none;
    border-bottom:0;
  }
  body.menu-open .site-header .brand,
  body.menu-open .site-header .header-actions { position:relative; z-index:2; }
  body.menu-open .site-nav {
    position:absolute;
    z-index:1;
    inset:76px 0 0;
    align-content:start;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:20px var(--gutter) max(32px, env(safe-area-inset-bottom));
    border-top:1px solid rgb(255 255 255 / 13%);
  }
  body.menu-open .site-nav__list { gap:0; }
  body.menu-open .site-nav__list a {
    padding:20px 0;
    font-size:clamp(2rem,6vw,2.75rem);
    line-height:1.3;
    letter-spacing:-.035em;
  }
  body.menu-open .site-nav__list a:focus-visible {
    outline:2px solid var(--color-lime);
    outline-offset:-2px;
    color:var(--color-lime);
  }
}
@media(max-width:420px) { .site-header .brand__sub { display:none; } }
@media(max-width:900px) {
  .official-stream-grid { grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(260px,78%); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px; }
  .official-stream-card { scroll-snap-align:start; }
  .official-stream-card:first-child .official-stream-card__body { display:block; }
}
@media(max-width:782px) { .admin-bar .site-header { top:46px; } }
@media(max-width:600px) {
  .admin-bar .site-header.is-scrolled { top:0; }
  .home .hero { padding-top:106px; }
  .home .hero__grid { gap:24px; padding-bottom:28px; }
  .home .hero h1 { font-size:4rem; line-height:.98; }
  .home .hero__statement { font-size:1rem; margin-top:14px; }
  .home .hero__description { font-size:.875rem; line-height:1.65; margin-bottom:14px; }
  .hero__shortcuts { gap:12px 18px; font-size:.8rem; }
  .pick-card { padding:20px; }
  .pick-card--stream { grid-template-columns:88px minmax(0,1fr); gap:10px 14px; }
  .pick-card__thumbnail { width:88px; height:84px; }
  .pick-card__stream-title { font-size:1rem; }
  .pick-card__players { grid-template-columns:minmax(0,1fr); gap:10px; padding-bottom:20px; }
  .pick-card__players p,.pick-card__players p:last-child { font-size:1.65rem; text-align:left; line-height:1.2; }
  .pick-card__players>span { width:28px; height:28px; }
  .home .section { padding-block:40px; }
  .home .section-heading { margin-bottom:24px; gap:12px; }
  .home .section-heading__note { line-height:1.65; }
  .home .section-heading__note br { display:none; }
  .next-match-list>a:not(.text-link) { grid-template-columns:58px minmax(0,1fr) 14px; gap:10px; padding:14px 0; }
  .next-match-list strong { font-size:.95rem; }
  .home .week-section .day-card { min-height:160px; padding:18px; }
  .home .weekly-lead__visual { min-height:180px; }
  .home .weekly-lead__story { padding:22px; }
  .home .weekly-lead__story h3 { font-size:1.8rem; }
  .home .weekly-pick-row { padding-block:18px; }
  .home .watch-feature__visual--text { display:none; }
  .home .watch-feature__copy { padding:24px; }
  .home .watch-feature__copy h3 { font-size:1.7rem; }
  .home .find-player__intro { gap:18px; }
  .home .find-player__browse { margin-top:24px; }
  .home .find-player__browse .tag-cloud { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .home .preference-tag { min-height:60px; padding:12px; font-size:.85rem; }
  .home .preference-tag>span { display:none; }
  .home .favorite-hub__heading { gap:16px; margin-bottom:24px; }
  .home .guide-grid { display:grid; grid-template-columns:1fr; gap:14px; }
  .home .guide-card { min-height:0; padding:24px; }
  .home .guide-card h3 { font-size:1.4rem; }
  .listing-hero h1 { font-size:clamp(2.2rem,10vw,3.1rem); line-height:1.2; letter-spacing:-.04em; }
  .site-brand { min-width:0; }
	.match-after__grid { grid-template-columns:1fr; gap:24px; }
	.match-after__body { padding:24px; }
	.official-source-directory>div { display:grid; grid-template-columns:1fr; }
	.official-source-directory a { min-width:0; }
}

/* 幽玄の間 relay (v1.5.9) */
.status-badge--relay,
.match-card:first-child .status-badge--relay { background:transparent; box-shadow:inset 0 0 0 1px currentColor; color:var(--color-dark); }
.detail-stream-action__relay { font-weight:700; }

/* Amazon bookshelf (v1.6.0) */
.mirugo-books { background:#e9ece5; }
.mirugo-books--player { background:var(--color-bg); border-top:1px solid var(--color-line); }
.mirugo-books .player-section-heading { margin-bottom:28px; }
.mirugo-books .player-section-heading h2 { font-size:var(--step-2); line-height:1.25; }
.mirugo-books .player-section-heading p:not(.eyebrow) { margin:0; color:var(--color-muted); white-space:nowrap; }
.mirugo-books__pr { display:inline-block; margin-left:8px; padding:1px 7px; border:1px solid currentColor; border-radius:var(--radius-pill); font-size:.62rem; letter-spacing:.08em; vertical-align:middle; }
.mirugo-books__grid { display:grid; gap:12px; }
.mirugo-books__card { display:flex; min-height:190px; flex-direction:column; padding:24px; border-radius:var(--radius-md); background:#fff; color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.mirugo-books--player .mirugo-books__card { box-shadow:inset 0 0 0 1px var(--color-line); }
.mirugo-books__card:hover, .mirugo-books__card:focus-visible { transform:translateY(-3px); box-shadow:var(--shadow); }
.mirugo-books__card small { color:#426300; font-weight:900; }
.mirugo-books__card h3 { margin:10px 0 8px; font-size:1.15rem; line-height:1.5; overflow-wrap:anywhere; }
.mirugo-books__card p { margin:0 0 16px; color:var(--color-muted); font-size:.9rem; line-height:1.7; }
.mirugo-books__card > span { margin-top:auto; padding-top:14px; border-top:1px solid var(--color-line); font-size:.78rem; font-weight:900; letter-spacing:.04em; }
.mirugo-books__disclosure { margin:18px 0 0; color:var(--color-muted); font-size:.75rem; }
.site-footer__affiliate { font-size:.72rem; opacity:.7; }
.editor-content .mirugo-books--inline { padding-block:32px; background:transparent; }
.editor-content .mirugo-books--inline .shell { padding:0; }
@media (min-width:600px) { .mirugo-books__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .mirugo-books__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:599px) { .mirugo-books.section { padding-block:48px; } .mirugo-books__card { min-height:0; } .mirugo-books .player-section-heading p:not(.eyebrow) { white-space:normal; } .mirugo-books .player-section-heading p:not(.eyebrow) br { display:none; } }

/* Today's finished games (v1.6.1) */
.match-card__players strong.is-loser { color:var(--color-muted); font-weight:500; }
.match-card__result { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:8px 0 0; font-size:.86rem; font-weight:700; color:var(--color-dark); }
.match-card__result span { padding:2px 7px; border-radius:var(--radius-pill); background:var(--color-lime); color:var(--color-dark); font-family:var(--font-display); font-size:.56rem; font-weight:900; letter-spacing:.06em; }
.match-card__result--pending { color:var(--color-muted); font-weight:500; }

/* Privacy policy lists (v1.6.2) */
.policy-content ul { max-width:760px; margin:0; padding-left:1.2em; color:var(--color-muted); line-height:2; list-style:disc; }
.policy-content li strong { color:var(--color-dark); }

/* Today's go fortune teaser (v1.7.0) */
.fortune-teaser { padding-top:28px; }
.fortune-teaser__card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px 18px; align-items:center; padding:20px 22px; border-radius:var(--radius-md); background:var(--color-surface); box-shadow:inset 0 0 0 1px var(--color-line); color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.fortune-teaser__card:hover, .fortune-teaser__card:focus-visible { transform:translateY(-2px); box-shadow:var(--shadow); }
.fortune-teaser__stones { display:flex; }
.fortune-teaser__stones i { width:30px; height:30px; border-radius:50%; background:radial-gradient(circle at 34% 28%, #7a7f78 0, #2b2e2b 24%, #0a0b0a 62%, #000 100%); box-shadow:0 3px 8px rgb(0 0 0 / 28%); }
.fortune-teaser__stones i + i { margin-left:-8px; background:radial-gradient(circle at 34% 28%, #fff 0, #f6f7f3 30%, #dfe2da 72%, #c6cabf 100%); }
.fortune-teaser__copy { display:grid; gap:2px; }
.fortune-teaser__copy small { color:#426300; font-family:var(--font-display); font-size:.62rem; font-weight:900; letter-spacing:.14em; }
.fortune-teaser__copy strong { font-size:1.2rem; font-weight:900; letter-spacing:-.02em; line-height:1.35; }
.fortune-teaser__copy > span { color:var(--color-muted); font-size:.84rem; line-height:1.65; }
.fortune-teaser__cta { grid-column:1 / -1; display:flex; min-height:46px; align-items:center; justify-content:space-between; gap:18px; padding:10px 18px; border-radius:var(--radius-pill); background:var(--color-lime); color:var(--color-dark); font-size:.82rem; font-weight:900; }
.fortune-teaser__cta i { font-style:normal; }
.fortune-teaser__card.is-drawn .fortune-teaser__cta { background:var(--color-dark); color:#fff; }
@media (min-width:768px) {
  .fortune-teaser__card { grid-template-columns:auto minmax(0,1fr) auto; padding:22px 28px; }
  .fortune-teaser__cta { grid-column:auto; min-width:190px; }
}
