/* News article (D-115, chunk C3): the body of a nuruma_news single (Nuruma_News_Render). Mobile first (390px), desktop 1280px; the theme keeps its header, title, footer and sidebar.
 * Visuals follow the approved samples (_runs/20261110-news/v8). Everything is scoped under .nrn-root so the theme's content rules (and the plugin's other cards) stay untouched.
 * Embeds and images reserve their space (width/height attributes, aspect-ratio boxes, a reserved X box): no layout shift. No dark mode. */
.nrn-root, .nrn-root *, .nrn-root *::before, .nrn-root *::after { box-sizing: border-box; }
.nrn-root { --nrn-blue: #3a6f8f; --nrn-deep: #2d5f7c; --nrn-ink: #222; --nrn-line: #d5dde2; color: var(--nrn-ink); font-size: 16px; line-height: 1.9; }
.nrn-root a { color: #1a5a8a; }
.nrn-root img { max-width: 100%; }
.nrn-root [hidden] { display: none !important; }

/* head: category chip and date */
.nrn-root .nrn-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 14px; }
.nrn-root .nrn-cat { display: inline-block; background: var(--nrn-blue); color: #fff; font-size: 12px; padding: 1px 9px; border-radius: 2px; line-height: 1.7; }
.nrn-root .nrn-date { color: #777; font-size: 13px; }

/* lead image with the small (c) line right under it; the blurred copy fills the frame behind any aspect ratio */
.nrn-root .nrn-lead { margin: 0 0 1.2em; }
.nrn-root .nrn-fr { position: relative; overflow: hidden; background: #e9e9e6; display: flex; justify-content: center; align-items: center; border-radius: 3px; }
.nrn-root .nrn-fr::before { content: ""; position: absolute; inset: -30px; background: var(--nrn-src) center/cover; filter: blur(22px) brightness(.92); transform: scale(1.05); }
.nrn-root .nrn-fr.nrn-nodim { aspect-ratio: 16 / 9; }
.nrn-root .nrn-fr img { position: relative; display: block; width: auto; height: auto; max-width: 100%; max-height: 420px; margin: 0; }
.nrn-root .nrn-fr.nrn-nodim img { max-height: 100%; }
.nrn-root figcaption, .nrn-root .nrn-cap { font-size: 12px; color: #777; line-height: 1.6; margin: 6px 0 0; }

/* the points box */
.nrn-root .nrn-points { background: #f0f5f8; border: 1px solid #d6e3ea; border-radius: 6px; padding: 14px 16px 10px; margin: 0 0 1.8em; }
.nrn-root .nrn-ph { font-size: 14px; font-weight: 700; color: var(--nrn-deep); margin: 0 0 6px; line-height: 1.6; }
.nrn-root .nrn-points ul { list-style: none; margin: 0; padding: 0; }
.nrn-root .nrn-points li { position: relative; padding: 0 0 0 1.4em; margin: 0 0 .55em; font-size: 15px; line-height: 1.7; color: var(--nrn-ink); list-style: none; }
.nrn-root .nrn-points li::before { content: ""; position: absolute; left: .1em; top: .62em; width: .5em; height: .5em; background: var(--nrn-blue); border-radius: 50%; }

/* body */
.nrn-root .nrn-art p { margin: 0 0 1.35em; font-size: 17px; line-height: 1.95; overflow-wrap: anywhere; }
.nrn-root .nrn-art h2, .nrn-root .nrn-art h3 { font-size: 19px; line-height: 1.5; margin: 2.2em 0 .8em; padding: 2px 0 2px 11px; border: 0; border-left: 5px solid var(--nrn-blue); background: none; color: inherit; }
.nrn-root .nrn-art h3 { font-size: 17px; border-left-width: 3px; }
.nrn-root .nrn-art h2:first-child, .nrn-root .nrn-art h3:first-child { margin-top: 0; }
.nrn-root .nrn-k { font-weight: 700; background: linear-gradient(transparent 62%, #fde9a2 62%); padding: 0 .1em; }

/* timeline (vertical, CSS only) */
.nrn-root .nrn-ft { font-size: 13px; font-weight: 700; color: var(--nrn-deep); margin: 0 0 10px; line-height: 1.5; }
.nrn-root .nrn-tlw { margin: 1.8em 0; padding: 14px 16px 6px; background: #fafafa; border: 1px solid #e6e6e2; border-radius: 6px; }
.nrn-root .nrn-tl { list-style: none; margin: 0; padding: 0 0 0 12px; border-left: 2px solid #c3d3dc; }
.nrn-root .nrn-tl li { position: relative; padding: 0 0 14px 18px; line-height: 1.6; margin: 0; list-style: none; }
.nrn-root .nrn-tl li::before { content: ""; position: absolute; left: -18px; top: .42em; width: 10px; height: 10px; background: #fff; border: 2px solid var(--nrn-blue); border-radius: 50%; }
.nrn-root .nrn-tl li.nrn-now::before { background: #c0562f; border-color: #c0562f; }
.nrn-root .nrn-dt { display: block; font-size: 13px; font-weight: 700; color: var(--nrn-deep); line-height: 1.5; }
.nrn-root .nrn-ev { display: block; font-size: 15px; color: var(--nrn-ink); overflow-wrap: anywhere; }
@media (min-width: 560px) { .nrn-root .nrn-tl li { display: flex; gap: 14px; } .nrn-root .nrn-dt { flex: 0 0 8.4em; line-height: 1.6; font-size: 14px; } }

/* price figure (inline CSS bars with their values written out) */
.nrn-root .nrn-barfig { margin: 1.8em 0; padding: 14px 16px 10px; background: #fafafa; border: 1px solid #e6e6e2; border-radius: 6px; }
.nrn-root .nrn-br { margin: 0 0 12px; }
.nrn-root .nrn-bl { font-size: 13.5px; line-height: 1.5; color: #333; margin: 0 0 3px; }
.nrn-root .nrn-bl small { margin-left: .6em; font-size: 12px; color: #777; }
.nrn-root .nrn-bt { display: flex; align-items: center; gap: 8px; }
.nrn-root .nrn-bb { flex: 1; min-width: 0; height: 20px; background: #eceff1; border-radius: 2px; overflow: hidden; }
.nrn-root .nrn-bb i { display: block; height: 100%; border-radius: 2px; background: #8fa9ba; }
.nrn-root .nrn-bb i.mid { background: var(--nrn-blue); }
.nrn-root .nrn-bb i.hi { background: #c0562f; }
.nrn-root .nrn-bv { flex: 0 0 6.6em; text-align: right; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--nrn-ink); }
.nrn-root .nrn-chip { display: inline-block; margin-left: .6em; font-size: 11.5px; font-weight: 700; line-height: 1.5; padding: 1px 8px; border-radius: 999px; white-space: nowrap; vertical-align: middle; }
.nrn-root .nrn-chip.dn { background: #fdecea; color: #b3261e; border: 1px solid #f3c4bf; }
.nrn-root .nrn-chip.up { background: #e8f3ec; color: #1d6b3a; border: 1px solid #b9dcc5; }
.nrn-root .nrn-barfig figcaption { margin-top: 8px; }

/* official X post: a placeholder until it is loaded (click or scrolled near), then capped with a fade and 続きを表示 */
.nrn-root .nrn-xwrap { margin: 1.6em 0 1.8em; border: 1px solid #dbe4e9; border-radius: 8px; background: #f7fafb; padding: 10px 12px 10px; }
.nrn-root .nrn-xlab { font-size: 12px; font-weight: 700; color: var(--nrn-blue); margin: 0 0 6px; letter-spacing: .04em; }
.nrn-root .nrn-xcap { position: relative; max-height: 520px; overflow: hidden; transition: max-height .25s ease; }
.nrn-root .nrn-xin { padding-bottom: 2px; min-height: 150px; }
.nrn-root .nrn-xcap.is-loaded .nrn-xin { min-height: 0; }
.nrn-root blockquote.twitter-tweet { margin: 0 auto; padding: 14px 16px; border: 1px solid #cfd9de; border-radius: 8px; background: #fff; font-size: 14px; line-height: 1.6; max-width: 550px; overflow-wrap: anywhere; quotes: none; }
.nrn-root blockquote.twitter-tweet::before, .nrn-root blockquote.twitter-tweet::after { content: none; }
.nrn-root blockquote.twitter-tweet small { display: block; color: #777; font-size: 12px; }
.nrn-root .twitter-tweet-rendered { margin-left: auto !important; margin-right: auto !important; }
.nrn-root .nrn-xfade { display: none; position: absolute; left: 0; right: 0; bottom: 0; height: 110px; background: linear-gradient(rgba(247, 250, 251, 0), #f7fafb 78%); pointer-events: none; }
.nrn-root .nrn-xmore { display: none; position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); z-index: 2; border: 1px solid #9fb8c6; background: #fff; color: var(--nrn-deep); font: inherit; font-weight: 700; font-size: 14px; line-height: 1.4; padding: 7px 22px; border-radius: 999px; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
.nrn-root .nrn-xmore:hover { background: #f0f5f8; }
.nrn-root .nrn-xcap.is-over .nrn-xfade, .nrn-root .nrn-xcap.is-over .nrn-xmore { display: block; }
.nrn-root .nrn-xcap.is-open { max-height: none; }
.nrn-root .nrn-xcap.is-open .nrn-xfade, .nrn-root .nrn-xcap.is-open .nrn-xmore { display: none; }
.nrn-root .nrn-xload { display: block; margin: 10px auto 0; font: inherit; font-size: 13px; font-weight: 700; color: var(--nrn-deep); background: #fff; border: 1px solid #9fb8c6; border-radius: 999px; padding: 6px 18px; cursor: pointer; }
.nrn-root .nrn-xload:hover { background: #f0f5f8; }
.nrn-root .nrn-xwrap.is-loaded .nrn-xload { display: none; }
@media (min-width: 600px) { .nrn-root .nrn-xcap { max-height: 640px; } }

/* image strip and lightbox */
.nrn-root .nrn-strip { margin: 2.2em 0 0; padding: 14px 16px 12px; background: #f1f3f4; border-radius: 8px; }
.nrn-root .nrn-strip h3 { font-size: 15px; margin: 0 0 10px; line-height: 1.5; padding: 0; border: 0; background: none; color: inherit; }
.nrn-root .nrn-gl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.nrn-root .nrn-gl li { margin: 0; padding: 0; list-style: none; min-width: 0; }
.nrn-root .nrn-gth { display: block; position: relative; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 1px solid var(--nrn-line); border-radius: 4px; background: #e4e8ea; overflow: hidden; cursor: zoom-in; }
.nrn-root .nrn-gth img { display: block; width: 100%; height: 100%; object-fit: contain; background: #e4e8ea; margin: 0; }
.nrn-root .nrn-gth:hover, .nrn-root .nrn-gth:focus-visible { border-color: var(--nrn-blue); outline: 2px solid var(--nrn-blue); outline-offset: 1px; }
.nrn-root .nrn-zi { position: absolute; right: 3px; bottom: 3px; width: 20px; height: 20px; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 13px; line-height: 20px; text-align: center; }
.nrn-root .nrn-gcr { margin: 8px 0 0; font-size: 12px; color: #777; line-height: 1.6; }
/* up to six pictures (the bonus gallery): big square tiles, two across on a phone, the caption under each */
.nrn-root .nrn-strip--lg .nrn-gl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
.nrn-root .nrn-strip--lg { container: nrn-strip / inline-size; }
.nrn-root .nrn-strip--lg .nrn-gth { aspect-ratio: 1 / 1; background: #fff; border-color: #d3dadd; border-radius: 6px; }
.nrn-root .nrn-strip--lg .nrn-gth img { background: #fff; }
.nrn-root .nrn-strip--lg .nrn-zi { right: 6px; bottom: 6px; width: 30px; height: 30px; font-size: 19px; line-height: 30px; }
.nrn-root .nrn-gcap { margin: 6px 2px 0; font-size: 13px; line-height: 1.5; color: #333; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-wrap: balance; }
.nrn-root .nrn-strip--lg .nrn-gl--n1 { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-left: auto; margin-right: auto; }
@media (min-width: 900px) {
	.nrn-root .nrn-strip--lg .nrn-gl--n3, .nrn-root .nrn-strip--lg .nrn-gl--n5, .nrn-root .nrn-strip--lg .nrn-gl--n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container nrn-strip (min-width: 760px) { .nrn-root .nrn-strip--lg .nrn-gl--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } } /* four across only when the column is wide enough for big tiles; otherwise two by two */
dialog.nrn-lb { border: 0; padding: 0; margin: 0; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; background: transparent; color: #fff; }
dialog.nrn-lb::backdrop { background: rgba(8, 11, 13, .95); }
dialog.nrn-lb *, dialog.nrn-lb *::before, dialog.nrn-lb *::after { box-sizing: border-box; }
.nrn-lbbox { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.nrn-lbf { margin: 0; display: flex; flex-direction: column; align-items: center; max-width: 100vw; padding: 0 68px; }
.nrn-lbimg { display: block; max-width: 100%; max-height: calc(100vh - 150px); width: auto; height: auto; object-fit: contain; background: #222; border-radius: 3px; touch-action: pan-y; }
.nrn-lbf figcaption { color: #e8edf0; font-size: 14px; line-height: 1.6; margin-top: 10px; text-align: center; display: flex; gap: 4px 12px; flex-wrap: wrap; justify-content: center; max-width: 640px; }
.nrn-lbcnt { font-variant-numeric: tabular-nums; color: #9fb3bf; }
.nrn-lbcr { flex-basis: 100%; font-size: 12px; color: #aebdc6; }
.nrn-lbx, .nrn-lbp, .nrn-lbn { position: absolute; border: 0; background: rgba(255, 255, 255, .16); color: #fff; cursor: pointer; border-radius: 50%; width: 48px; height: 48px; font-size: 28px; line-height: 48px; padding: 0; text-align: center; }
.nrn-lbx:hover, .nrn-lbp:hover, .nrn-lbn:hover { background: rgba(255, 255, 255, .3); }
.nrn-lbx { top: 12px; right: 12px; } .nrn-lbp { left: 10px; top: 50%; margin-top: -24px; } .nrn-lbn { right: 10px; top: 50%; margin-top: -24px; }
dialog.nrn-lb.is-single .nrn-lbp, dialog.nrn-lb.is-single .nrn-lbn, dialog.nrn-lb.is-single .nrn-lbcnt { display: none; }
@media (max-width: 560px) { .nrn-lbf { padding: 0 8px; } .nrn-lbp, .nrn-lbn { top: auto; bottom: 14px; margin: 0; } .nrn-lbp { left: calc(50% - 60px); } .nrn-lbn { right: calc(50% - 60px); } .nrn-lbimg { max-height: calc(100vh - 210px); } }

/* reactions and poll (shells for the REST of C6; disabled until it answers) */
.nrn-root .nrn-react, .nrn-root .nrn-poll { margin: 2em 0 0; padding: 14px 16px 12px; border: 1px solid #e2e6e8; border-radius: 8px; background: #fff; }
.nrn-root .nrn-react h3, .nrn-root .nrn-poll h3 { font-size: 14px; margin: 0 0 10px; color: var(--nrn-deep); padding: 0; border: 0; background: none; line-height: 1.5; }
.nrn-root .nrn-rrow { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (min-width: 560px) { .nrn-root .nrn-rrow { grid-template-columns: repeat(4, 1fr); } }
.nrn-root .nrn-rbtn1 { position: relative; font: inherit; text-align: center; padding: 9px 6px 8px; border: 1.5px solid #cfd8dd; border-radius: 10px; background: #fff; color: #333; cursor: pointer; min-height: 58px; display: flex; flex-direction: column; justify-content: flex-start; gap: 5px; }
.nrn-root .nrn-rbtn1:hover:not(:disabled) { border-color: var(--nrn-blue); }
.nrn-root .nrn-rbtn1:disabled, .nrn-root .nrn-pop:disabled { opacity: .55; cursor: not-allowed; }
.nrn-root .nrn-rl1 { font-weight: 700; font-size: 15px; line-height: 1.4; }
.nrn-root .nrn-rbar { display: block; height: 5px; border-radius: 999px; background: #eceff1; overflow: hidden; opacity: 0; }
.nrn-root .nrn-rbar i { display: block; height: 100%; width: 0; background: #8fa9ba; transition: width .35s ease; }
.nrn-root .nrn-rpc { font-size: 12px; color: #555; font-variant-numeric: tabular-nums; line-height: 1; opacity: 0; min-height: 12px; }
.nrn-root .nrn-react.done .nrn-rbar, .nrn-root .nrn-react.done .nrn-rpc { opacity: 1; }
.nrn-root .nrn-rbtn1[aria-pressed="true"] { border-color: var(--nrn-blue); background: #eef5f9; }
.nrn-root .nrn-rbtn1[aria-pressed="true"] .nrn-rbar i { background: var(--nrn-blue); }
.nrn-root .nrn-rbtn1[aria-pressed="true"] .nrn-rpc { font-weight: 700; color: var(--nrn-deep); }
.nrn-root .nrn-rhint, .nrn-root .nrn-phint { margin: 8px 0 0; font-size: 12px; color: #888; line-height: 1.6; }
.nrn-root .nrn-pq { font-size: 16px; font-weight: 700; line-height: 1.6; margin: 0 0 10px; }
.nrn-root .nrn-pops { display: grid; gap: 8px; }
.nrn-root .nrn-pop { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; font: inherit; font-size: 15px; padding: 10px 14px; border: 1.5px solid #cfd8dd; border-radius: 8px; background: #fff; color: var(--nrn-ink); cursor: pointer; min-height: 44px; }
.nrn-root .nrn-pop:hover:not(:disabled) { border-color: var(--nrn-blue); }
.nrn-root .nrn-pbar { position: absolute; inset: 0 auto 0 0; width: 0; background: #e3eef4; transition: width .35s ease; z-index: 0; }
.nrn-root .nrn-pt, .nrn-root .nrn-ppc { position: relative; z-index: 1; }
.nrn-root .nrn-pt { font-weight: 700; }
.nrn-root .nrn-ppc { font-size: 13px; font-variant-numeric: tabular-nums; color: #444; white-space: nowrap; }
.nrn-root .nrn-poll.done .nrn-pop { cursor: default; }
.nrn-root .nrn-pop.mine { border-color: var(--nrn-blue); }
.nrn-root .nrn-pop.mine .nrn-pbar { background: #c9dfeb; }
.nrn-root .nrn-pop.mine .nrn-pt::after { content: "　あなたの回答"; font-size: 11px; font-weight: 400; color: var(--nrn-deep); }
.nrn-root .nrn-pstate { margin: 8px 0 0; font-size: 13px; color: #555; line-height: 1.6; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.nrn-root .nrn-pstate button { font: inherit; font-size: 12px; color: #777; background: none; border: 0; text-decoration: underline; cursor: pointer; padding: 0; }

/* trial-review card (above the work card) */
.nrn-root .nrn-rev { display: flex; gap: 14px; align-items: center; margin: 2em 0 0; padding: 12px; border: 1px solid #d6e3ea; border-radius: 8px; background: #f5f9fb; }
.nrn-root .nrn-rthl { flex: 0 0 132px; display: block; }
.nrn-root .nrn-rth { display: block; aspect-ratio: 16 / 9; border-radius: 4px; overflow: hidden; background: #e4e8ea; position: relative; }
.nrn-root .nrn-rth img, .nrn-root .nrn-wth img, .nrn-root .nrn-rith img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; position: relative; margin: 0; }
.nrn-root .nrn-rb { flex: 1; min-width: 0; }
.nrn-root .nrn-rk { font-size: 12px; font-weight: 700; color: var(--nrn-deep); letter-spacing: .03em; }
.nrn-root .nrn-rt { display: block; font-size: 15.5px; font-weight: 700; line-height: 1.5; color: #1a1a1a; text-decoration: none; margin: 2px 0 4px; overflow-wrap: anywhere; }
.nrn-root .nrn-rx { font-size: 13.5px; line-height: 1.7; color: #444; margin: 0 0 8px; }
.nrn-root .nrn-rbtn { display: inline-block; background: var(--nrn-deep); color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; padding: 7px 16px; border-radius: 5px; line-height: 1.5; }
.nrn-root .nrn-rbtn:hover { background: #244e66; }
@media (max-width: 480px) { .nrn-root .nrn-rev { flex-direction: column; align-items: stretch; } .nrn-root .nrn-rthl { flex: none; width: 100%; } .nrn-root .nrn-rbtn { display: block; text-align: center; padding: 10px; } }

/* thumbnails: a picture that does not fit its box keeps its whole shape over a blurred copy of itself */
.nrn-root .nrn-fill::before { content: ""; position: absolute; inset: -20px; background: var(--nrn-src) center/cover; filter: blur(14px) brightness(.92); }
.nrn-root .nrn-fill img { object-fit: contain !important; object-position: center !important; }

/* work data card */
.nrn-root .nrn-work { margin: 1.2em 0 0; border: 1px solid var(--nrn-line); border-radius: 10px; padding: 0 0 14px; background: #fff; overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.nrn-root .nrn-rev + .nrn-work { margin-top: .9em; }
.nrn-root .nrn-wh { background: var(--nrn-blue); color: #fff; font-size: 13px; font-weight: 700; padding: 5px 14px; letter-spacing: .04em; }
.nrn-root .nrn-wb { display: flex; gap: 14px; padding: 14px 14px 0; align-items: flex-start; }
.nrn-root .nrn-wth { flex: 0 0 92px; aspect-ratio: 3 / 4; position: relative; overflow: hidden; background: #e9e9e6; border-radius: 3px; display: block; }
.nrn-root .nrn-wi { flex: 1; min-width: 0; }
.nrn-root .nrn-wt { font-size: 16px; font-weight: 700; line-height: 1.5; margin: 0 0 6px; overflow-wrap: anywhere; }
.nrn-root .nrn-work dl { margin: 0; display: grid; grid-template-columns: 5em 1fr; gap: 2px 8px; font-size: 14px; line-height: 1.6; }
.nrn-root .nrn-work dt { color: #777; font-size: 13px; margin: 0; font-weight: 400; }
.nrn-root .nrn-work dd { margin: 0; overflow-wrap: anywhere; }
.nrn-root .nrn-work dd .nrn-ed { display: inline-block; margin: 0 4px 0 0; padding: 0 5px; border-radius: 3px; background: #f0efe9; color: #666; font-size: 11px; line-height: 1.6; vertical-align: 1px; }
.nrn-root .nrn-pbox { margin: 14px 14px 0; padding: 10px 14px; background: #fafaf7; border: 1px solid #ecece6; border-radius: 8px; }
.nrn-root .nrn-pl { font-size: 12.5px; color: #666; line-height: 1.5; }
.nrn-root .nrn-pv { margin: 2px 0 0; line-height: 1.3; }
.nrn-root .nrn-pv b { font-size: 30px; font-weight: 700; letter-spacing: .01em; font-variant-numeric: tabular-nums; color: #1a1a1a; }
.nrn-root .nrn-yen { font-size: 15px; font-weight: 700; margin: 0 8px 0 2px; }
.nrn-root .nrn-ps { font-size: 12.5px; color: #777; margin-top: 2px; line-height: 1.6; }
.nrn-root .nrn-shops { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 12px 14px 0; }
.nrn-root .nrn-sb { display: block; text-align: center; text-decoration: none; font-weight: 700; font-size: 14px; line-height: 1.4; padding: 9px 8px; border-radius: 6px; border: 1.5px solid #cfd8dd; background: #fff; color: #333; }
.nrn-root .nrn-sb.is-surugaya { color: #b45309; border-color: #e6a55c; }
.nrn-root .nrn-sb.is-fanza { color: #be185d; border-color: #ea8fb5; }
.nrn-root .nrn-sb.is-getchu { color: #15803d; border-color: #7bc596; }
.nrn-root .nrn-sb.is-melonbooks { color: #0f766e; border-color: #6fc3b8; }
.nrn-root .nrn-sb.is-sofmap { color: #b91c1c; border-color: #e58f8f; }
.nrn-root .nrn-sb:hover { background: #fafafa; }
.nrn-root .nrn-adn { margin: 8px 14px 0; font-size: 11.5px; color: #888; line-height: 1.6; }
.nrn-root .nrn-wr { margin: 12px 14px 0; padding-top: 12px; border-top: 1px dashed #dde3e6; }
.nrn-root .nrn-wr .nrn-votes.nrn-votes { margin: 0; }
.nrn-root .nrn-btn { display: block; margin: 14px 14px 0; text-align: center; background: var(--nrn-deep); color: #fff; text-decoration: none; font-weight: 700; font-size: 15px; padding: 11px 12px; border-radius: 5px; }
.nrn-root .nrn-btn:hover { background: #244e66; color: #fff; }
@media (max-width: 480px) { .nrn-root .nrn-wth { flex-basis: 78px; } .nrn-root .nrn-pv b { font-size: 27px; } .nrn-root .nrn-art p { font-size: 16px; } .nrn-root .nrn-art h2 { font-size: 18px; } .nrn-root .nrn-shops { grid-template-columns: 1fr 1fr; } .nrn-root .nrn-sb:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* related articles */
.nrn-root .nrn-related { margin-top: 2.6em; padding-top: 1.1em; border-top: 2px solid #ddd; }
.nrn-root .nrn-related h3 { font-size: 16px; margin: 0 0 .7em; padding: 0; border: 0; background: none; color: inherit; }
.nrn-root .nrn-rl { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nrn-root .nrn-rl li { margin: 0; padding: 0; list-style: none; }
.nrn-root .nrn-ri { display: flex; gap: 12px; align-items: center; text-decoration: none; color: #1a1a1a; font-size: 14.5px; line-height: 1.55; font-weight: 700; }
.nrn-root .nrn-rith { flex: 0 0 96px; aspect-ratio: 16 / 9; position: relative; overflow: hidden; background: #e9e9e6; border-radius: 3px; display: block; }
.nrn-root .nrn-tx { min-width: 0; overflow-wrap: anywhere; }
.nrn-root .nrn-ri small { display: block; color: #888; font-weight: 400; font-size: 12px; }
.nrn-root .nrn-more { margin: 14px 0 0; font-size: 14px; }

@media (prefers-reduced-motion: reduce) { .nrn-root .nrn-xcap, .nrn-root .nrn-rbar i, .nrn-root .nrn-pbar { transition: none; } }
