/* [eroge_portal] and [eroge_reviews] — D-107 "obi" (prototype N, approved 2026-10-15). The reading front is built on ONE grammar, the STRADDLE: an ink column
 * (the words, in the work's colour) and the paper meet at one edge and the picture's glass PANE crosses it - the picture whole in its own ratio, never
 * cropped, stretched or written over. Under every picture sits the OBI (帯): the review's own words in the work's colour, one sentence a line, in mincho -
 * the only mincho of the page; titles are always gothic. The page changes per work: from the key visual's measured lightness and saturation the server sets
 * a mood (is-pop / is-still / is-noir) and a hue (--h, degrees); --bl is the band's lightness, lowered for hues that would not hold white text at 4.5:1.
 * Loaded only where a shortcode is used, after nuruma-ui.css and nuruma-foundation.css. Every rule starts with `.nrm-ui.nrm-portal` (0,3,0) so it wins over the
 * nuruma-ui.css resets. Layout follows the width of the block itself (container queries in em of the 15px text: 34em ~ 510px, 46em ~ 690px, 60em ~ 900px), not
 * the viewport. The two grounds run from screen edge to screen edge (the page clips its own horizontal overflow); the words stay on the content column (--edge).
 * Motion (nothing under reduced motion, no scroll is taken): the pane and the words enter once; the pane floats; the colour layer breathes (transform and opacity
 * only); rows slide in as they scroll into view (animation-timeline: view(), @supports - elsewhere they are simply there); a hovered row lifts its pane. */

.nrm-ui.nrm-portal { container-type: inline-size; container-name: nrm-portal; display: grid; gap: 44px; max-width: 1240px; margin: 0 auto; font-size: var(--nu-fs-m); line-height: var(--nu-lh-body); line-break: strict; }
.nrm-ui.nrm-portal > * { min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-t, .nrm-ui.nrm-portal .nrm-portal-hit__t, .nrm-ui.nrm-portal .nrm-portal-hero__t { word-break: auto-phrase; }
.nrm-ui.nrm-portal a, .nrm-ui.nrm-portal input, .nrm-ui.nrm-portal button { scroll-margin-top: 72px; } /* a focus scroll never parks a control under the sticky header */
.nrm-ui.nrm-portal [hidden] { display: none; }
.nrm-ui.nrm-portal .nu-tok { white-space: nowrap; }
.nrm-ui.nrm-portal .nu-num { font-variant-numeric: tabular-nums; }
.nrm-ui.nrm-portal a:focus-visible, .nrm-ui.nrm-portal input:focus-visible, .nrm-ui.nrm-portal button:focus-visible { outline: 2px solid var(--nu-accent); outline-offset: 2px; }

.nrm-ui.nrm-portal .nrm-portal-sec { min-width: 0; }
.nrm-ui.nrm-portal .nu-head { row-gap: 2px; }
.nrm-ui.nrm-portal .nu-head__t { padding: 0; font-size: var(--nu-fs-h2); font-weight: 800; letter-spacing: var(--nu-ls-tight); }
.nrm-ui.nrm-portal .nu-head__s { order: 3; font-size: var(--nu-fs-s); letter-spacing: var(--nu-ls-meta); color: var(--nu-sub); }

.nrm-ui.nrm-portal a.nrm-portal-link { display: block; color: var(--nu-text); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.nrm-ui.nrm-portal a.nrm-portal-link:hover { color: var(--nu-link); text-decoration: underline; }
.nrm-ui.nrm-portal a.nrm-portal-stretch { padding: 0; margin: 0; }
.nrm-ui.nrm-portal a.nrm-portal-stretch::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.nrm-ui.nrm-portal a.nrm-portal-work { display: inline-flex; align-items: center; min-height: 32px; font-size: var(--nu-fs-s); font-weight: 700; color: var(--nu-link); text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-portal-work::after { content: "\2192" / ""; margin-left: 6px; }
.nrm-ui.nrm-portal a.nrm-portal-work:hover, .nrm-ui.nrm-portal a.nrm-portal-work:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (pointer: coarse) { .nrm-ui.nrm-portal a.nrm-portal-work { min-height: var(--nu-tap); } }
@media (pointer: coarse) { .nrm-ui.nrm-portal a.nrm-portal-link { padding: 12px 0; margin: -12px 0; } } /* the link box itself is >= 44px tall on touch; the layout does not grow */

/* ---- Search (purchase intent) on the same left axis: the statement, ONE round field with the arrow inside it, the hits as hairline rows; the entries wrap under it as chips */
.nrm-ui.nrm-portal .nrm-portal-find { min-width: 0; padding: 44px 0 0; border-top: 1px solid var(--nu-edge); text-align: left; }
.nrm-ui.nrm-portal .nrm-portal-find__h { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 4px; margin: 0 0 16px; }
.nrm-ui.nrm-portal .nrm-portal-find__ic { display: none; }
.nrm-ui.nrm-portal .nrm-portal-find__t { margin: 0; padding: 0; font-size: var(--nu-fs-h2); line-height: 1.25; font-weight: 700; letter-spacing: var(--nu-ls-tight); color: var(--nu-text); } /* the shop block is quieter than the reading path */
.nrm-ui.nrm-portal .nrm-portal-find__s { margin: 0; font-size: var(--nu-fs-m); line-height: var(--nu-lh-body); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-portal-search { display: grid; gap: 4px; margin: 0; max-width: 40em; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-search__row { display: flex; align-items: center; gap: 4px; min-width: 0; min-height: 56px; padding: 0 4px 0 22px; background: var(--nu-white); border: 1px solid var(--nu-line-strong); border-radius: 999px; box-shadow: var(--nu-inset-soft); } /* the control boundary stays >= 3:1 (WCAG 1.4.11) */
.nrm-ui.nrm-portal .nrm-portal-search__row:focus-within { border-color: var(--nu-accent); box-shadow: 0 0 0 2px var(--nu-accent); }
.nrm-ui.nrm-portal .nrm-portal-search__q, .nrm-ui.nrm-portal input[type="search"].nrm-portal-search__q { flex: 1 1 auto; min-width: 0; width: auto; min-height: var(--nu-tap); padding: 8px 0; font-size: var(--nu-fs-l); line-height: 1.4; color: var(--nu-text); background: transparent; border: 0; border-radius: 0; box-shadow: none; -webkit-appearance: none; appearance: none; }
.nrm-ui.nrm-portal .nrm-portal-search__q:focus-visible, .nrm-ui.nrm-portal input[type="search"].nrm-portal-search__q:focus-visible { outline: none; } /* the round field itself carries the ring */
.nrm-ui.nrm-portal .nrm-portal-search__q::placeholder { color: var(--nu-sub); opacity: 1; }
.nrm-ui.nrm-portal .nrm-portal-search__go { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 48px; min-height: var(--nu-tap); padding: 0; font-size: var(--nu-fs-xl); font-weight: 700; color: var(--nu-text); background: transparent; border: 0; border-radius: 50%; }
.nrm-ui.nrm-portal .nrm-portal-search__go::after { content: "\2192" / ""; line-height: 1; }
.nrm-ui.nrm-portal .nrm-portal-search__go:hover { color: var(--nu-accent-dark); background: var(--nu-accent-soft); }
.nrm-ui.nrm-portal .nrm-portal-hits { margin-top: 8px; min-width: 0; text-align: left; }
.nrm-ui.nrm-portal .nrm-portal-hits__n, .nrm-ui.nrm-portal .nrm-portal-hits__scope { margin: 0 0 4px; font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-portal-hits__n:empty { display: none; }
.nrm-ui.nrm-portal .nrm-portal-hits__scope[hidden], .nrm-ui.nrm-portal .nrm-portal-hits__more[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-portal-hits__more { margin: 0; }
.nrm-ui.nrm-portal .nrm-portal-hits__more a { display: inline-flex; align-items: center; min-height: 32px; color: var(--nu-link); font-weight: 700; }
@media (pointer: coarse) { .nrm-ui.nrm-portal .nrm-portal-hits__more a { min-height: var(--nu-tap); } }
.nrm-ui.nrm-portal .nrm-portal-hitlist { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--nu-edge); }
.nrm-ui.nrm-portal .nrm-portal-hitlist[hidden], .nrm-ui.nrm-portal .nrm-portal-hit[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-portal-hit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 16px; margin: 0; padding: 8px 0; border-top: 1px solid var(--nu-edge); }
.nrm-ui.nrm-portal .nrm-portal-hit__id { display: grid; flex: 1 1 12em; gap: 0; margin: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-hit__t { font-weight: 700; line-height: var(--nu-lh-tight); overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-portal-hit__m { font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-portal-hit .nrm-portal-routes { flex: 0 1 auto; margin: 0; }

.nrm-ui.nrm-portal .nrm-portal-sec--entries .nu-head { display: none; }
.nrm-ui.nrm-portal .nrm-portal-tiles ul { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; list-style: none; border: 0; }
.nrm-ui.nrm-portal .nrm-portal-tiles li { margin: 0; padding: 0; min-width: 0; border: 0; }
.nrm-ui.nrm-portal a.nrm-portal-tile { min-height: 40px; padding: 4px 16px 4px 6px; border: 1px solid var(--nu-edge); border-radius: var(--nu-r-pill, 999px); background: var(--nu-white); color: var(--nu-text); font-size: var(--nu-fs-s); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; word-break: auto-phrase; }
.nrm-ui.nrm-portal a.nrm-portal-tile:hover, .nrm-ui.nrm-portal a.nrm-portal-tile:focus-visible { border-color: var(--nu-accent); color: var(--nu-accent-dark); text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-portal-tile .nu-glow__disc { width: 26px; height: 26px; }
.nrm-ui.nrm-portal a.nrm-portal-tile .nu-glow__disc svg { width: 16px; height: 16px; }

/* ---- Releases (今月・近日発売): light rows, small jacket, the price column; two columns from 640px */
.nrm-ui.nrm-portal .nrm-portal-main { display: grid; gap: 32px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-sec--release { container-type: inline-size; container-name: nrm-rel; padding: 28px 0 0; border-top: 1px solid var(--nu-edge); }
.nrm-ui.nrm-portal .nrm-portal-row { display: grid; grid-template-columns: var(--nu-img-thumb, 56px) minmax(0, 1fr); column-gap: 12px; align-items: start; min-width: 0; margin: 0; padding: 12px 0; border-top: 1px solid var(--nu-edge); }
.nrm-ui.nrm-portal .nrm-portal-thumb { width: var(--nu-img-thumb, 56px); max-width: 100%; }
.nrm-ui.nrm-portal .nrm-portal-jlink { display: block; color: inherit; text-decoration: none; } /* D-109: the release jacket links to the work page */
.nrm-ui.nrm-portal .nrm-portal-row__b, .nrm-ui.nrm-portal .nrm-portal-row__id, .nrm-ui.nrm-portal .nrm-portal-row__side { display: grid; align-content: start; gap: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-row__b { gap: 4px; }
.nrm-ui.nrm-portal .nrm-portal-row__side { gap: 4px; }
.nrm-ui.nrm-portal .nrm-portal-row__price { display: grid; gap: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-date { display: flex; flex-wrap: wrap; align-items: baseline; overflow-wrap: anywhere; margin: 0; font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-portal-date .nu-badge { margin-right: 8px; }
.nrm-ui.nrm-portal .nrm-portal-row__t { display: block; margin: 0; padding: 0; font-size: var(--nu-fs-m); font-weight: 700; line-height: var(--nu-lh-tight); color: var(--nu-text); }
.nrm-ui.nrm-portal .nrm-portal-t { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; } /* release rows clamp; review rows unset this above */
.nrm-ui.nrm-portal .nrm-portal-brand, .nrm-ui.nrm-portal .nrm-portal-media { margin: 0; font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-portal-plabel { margin: 0; font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-portal-price { margin: 0; overflow-wrap: anywhere; font-size: var(--nu-fs-l); font-weight: 700; line-height: var(--nu-lh-tight); color: var(--nu-text); }
.nrm-ui.nrm-portal .nrm-portal-price b { font-weight: 700; }
.nrm-ui.nrm-portal .nrm-portal-price small { display: inline-block; font-size: var(--nu-fs-s); font-weight: 400; color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-portal-price small:first-child { margin-right: 8px; }
.nrm-ui.nrm-portal .nrm-portal-price:not(:has(b)) { font-size: var(--nu-fs-s); font-weight: 400; color: var(--nu-sub); } /* an expired price replaced by its sentence (nuruma-ui.js) is quiet text */
.nrm-ui.nrm-portal .nrm-portal-pnone { margin: 0; overflow-wrap: anywhere; font-size: var(--nu-fs-s); font-weight: 400; line-height: var(--nu-lh-body); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-portal-counts { display: flex; flex-wrap: wrap; gap: 0 8px; margin: 0; font-size: var(--nu-fs-s); line-height: var(--nu-lh-body); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-portal-routes { display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; margin: 0; min-width: 0; }
.nrm-ui.nrm-portal a.nrm-portal-route, .nrm-ui.nrm-portal a.nrm-portal-rv { display: inline-flex; align-items: center; max-width: 100%; min-height: 32px; font-size: var(--nu-fs-s); font-weight: 700; line-height: var(--nu-lh-tight); color: var(--nu-link); text-decoration: none; overflow-wrap: anywhere; }
.nrm-ui.nrm-portal a.nrm-portal-route::after, .nrm-ui.nrm-portal a.nrm-portal-rv::after { content: "→" / ""; margin-left: 4px; }
.nrm-ui.nrm-portal a.nrm-portal-route:hover, .nrm-ui.nrm-portal a.nrm-portal-rv:hover, .nrm-ui.nrm-portal a.nrm-portal-route:focus-visible, .nrm-ui.nrm-portal a.nrm-portal-rv:focus-visible { color: var(--nu-accent-dark); text-decoration: underline; }
@media (pointer: coarse) { .nrm-ui.nrm-portal a.nrm-portal-route, .nrm-ui.nrm-portal a.nrm-portal-rv { min-height: var(--nu-tap); } }
.nrm-ui.nrm-portal .nrm-portal-note { margin: 12px 0 0; font-size: var(--nu-fs-s); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nu-state .nu-btn { min-height: var(--nu-tap); }

.nrm-ui.nrm-portal .nrm-reviews-tags { display: grid; gap: 8px; min-width: 0; width: 100%; }
.nrm-ui.nrm-portal .nrm-reviews-tags__l { margin: 0; font-size: var(--nu-fs-xs); font-weight: 700; letter-spacing: var(--nu-ls-meta); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-reviews-taglist { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; border: 0; }
.nrm-ui.nrm-portal .nrm-reviews-taglist li { margin: 0; padding: 0; border: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-reviews-tag { display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; min-height: 36px; padding: 4px 12px; border: 1px solid var(--nu-edge); border-radius: var(--nu-r-pill, 999px); background: var(--nu-white); color: var(--nu-text); font-size: var(--nu-fs-s); font-weight: 700; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; transition: transform 120ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal .nrm-reviews-tag__n { font-weight: 400; color: var(--nu-sub); }
.nrm-ui.nrm-portal a.nrm-reviews-tag:hover, .nrm-ui.nrm-portal a.nrm-reviews-tag:focus-visible { border-color: var(--nu-accent); color: var(--nu-accent-dark); text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-reviews-tag:active { transform: scale(.97); }
.nrm-ui.nrm-portal .nrm-reviews-tag[aria-pressed="true"] { border-color: var(--nu-ink); background: var(--nu-ink); color: var(--nu-white); }
.nrm-ui.nrm-portal .nrm-reviews-tag[aria-pressed="true"] .nrm-reviews-tag__n { color: var(--nu-white); opacity: .8; }
.nrm-ui.nrm-portal a.nrm-reviews-tag[aria-pressed="true"]:hover, .nrm-ui.nrm-portal a.nrm-reviews-tag[aria-pressed="true"]:focus-visible { color: var(--nu-white); border-color: var(--nu-ink); }
@media (pointer: coarse) { .nrm-ui.nrm-portal .nrm-reviews-tag { min-height: var(--nu-tap); } }
.nrm-ui.nrm-portal details.nrm-reviews-moretags { width: 100%; }
.nrm-ui.nrm-portal details.nrm-reviews-moretags > summary::before { display: none; } /* a plain disclosure, not an information pill */
.nrm-ui.nrm-portal details.nrm-reviews-moretags > .nrm-reviews-taglist { padding: 8px 12px 12px; }
.nrm-ui.nrm-portal .nrm-reviews-status { margin: 0; min-height: 1.5em; font-size: var(--nu-fs-s); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-reviews-clear { margin: -8px 0 0; }
.nrm-ui.nrm-portal .nrm-reviews-clear:not(:has(button:not([hidden]))) { display: none; }
.nrm-ui.nrm-portal .nrm-reviews-empty[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-reviews-more { margin: 0; text-align: center; }
.nrm-ui.nrm-portal .nrm-reviews-more .nu-btn { width: 100%; min-height: 48px; padding: 8px 28px; border-radius: var(--nu-r-pill, 999px); } /* the one way on through the list: full width on a phone */
/* phones: the first twelve chips in one native scrolling row (the rest stay behind the disclosure); the row bleeds to the page edge with the page's own inset as padding */
.nrm-ui.nrm-portal .nrm-reviews-tags > ul.nrm-reviews-taglist { flex-wrap: nowrap; margin: 0 -16px; padding: 2px 16px 6px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nrm-ui.nrm-portal .nrm-reviews-tags > ul.nrm-reviews-taglist::-webkit-scrollbar { display: none; }
.nrm-ui.nrm-portal .nrm-reviews-tags > ul.nrm-reviews-taglist li { flex: none; scroll-snap-align: start; }
.nrm-ui.nrm-portal .nrm-reviews-more:not(:has(button:not([hidden]))) { display: none; }

/* ---- Colour: every mood-carrying element (hero, row, card, pick, wall pill, mood tile) names --ink (the dark ground), --band (the 帯) and --on (the text on them). */
.nrm-ui.nrm-portal { --edge: max(16px, calc(50vw - 50cqw)); --on: var(--nu-white, hsl(0 0% 100%)); --serif: "Shippori Mincho ExtraBold", "Shippori Mincho", "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "MS PMincho", serif; --sans: var(--nu-font, "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif); }
.nrm-ui.nrm-portal.is-pop, .nrm-ui.nrm-portal .is-pop { --ink: hsl(var(--h, 20) 85% var(--bl, 40%)); --ink-deep: hsl(var(--h, 20) 70% 22%); --band: hsl(var(--h, 20) 78% var(--bl, 40%)); --paper-a: hsl(var(--h, 20) 80% 88%); --paper-b: hsl(var(--h, 20) 60% 96%); }
.nrm-ui.nrm-portal.is-still, .nrm-ui.nrm-portal .is-still { --ink: hsl(var(--h, 20) 12% 16%); --ink-deep: hsl(var(--h, 20) 14% 14%); --band: hsl(var(--h, 20) 30% 22%); --paper-a: hsl(var(--h, 20) 40% 91%); --paper-b: hsl(var(--h, 20) 30% 96%); }
.nrm-ui.nrm-portal.is-noir, .nrm-ui.nrm-portal .is-noir { --ink: hsl(var(--h, 20) 20% 6%); --ink-deep: hsl(var(--h, 20) 20% 6%); --band: hsl(var(--h, 20) 70% var(--bl, 40%)); --paper-a: hsl(var(--h, 20) 30% 16%); --paper-b: hsl(var(--h, 20) 14% 10%); }

/* ---- The colour layer behind the words: the picture's own thumbnail, enlarged and blurred. Decoration; it breathes with transform / opacity only. */
.nrm-ui.nrm-portal .nrm-deep { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.nrm-ui.nrm-portal .nrm-deep > i { position: absolute; inset: -30%; display: block; background-size: cover; background-position: center; filter: blur(60px) saturate(1.7) brightness(.55); opacity: .9; }
.nrm-ui.nrm-portal .is-pop > .nrm-str__ink > .nrm-deep > i, .nrm-ui.nrm-portal .is-pop > .nrm-row__ink > .nrm-deep > i { filter: blur(60px) saturate(2) brightness(.95); opacity: .5; }

/* ---- The glass pane the picture sits in, and the obi under the picture */
.nrm-ui.nrm-portal .nrm-pane { position: relative; z-index: 2; padding: 12px; border-radius: 22px; background: hsl(0 0% 100% / .42); -webkit-backdrop-filter: blur(24px) saturate(1.7); backdrop-filter: blur(24px) saturate(1.7); border: 1px solid hsl(0 0% 100% / .6); box-shadow: inset 0 1px 0 hsl(0 0% 100% / .9), 0 40px 80px -36px hsl(var(--h, 20) 40% 8% / .6); }
.nrm-ui.nrm-portal .is-still .nrm-pane { border-radius: 6px; background: hsl(0 0% 100% / .6); }
.nrm-ui.nrm-portal .is-noir .nrm-pane { background: hsl(0 0% 100% / .1); border-color: hsl(0 0% 100% / .2); box-shadow: inset 0 1px 0 hsl(0 0% 100% / .24), 0 40px 80px -36px hsl(0 0% 0% / .8); }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { .nrm-ui.nrm-portal .nrm-pane { background: var(--nu-surface, hsl(0 0% 100%)); } .nrm-ui.nrm-portal .is-noir .nrm-pane { background: hsl(var(--h, 20) 16% 14%); } }
@media (prefers-reduced-transparency: reduce) { .nrm-ui.nrm-portal .nrm-pane { background: var(--nu-surface, hsl(0 0% 100%)); -webkit-backdrop-filter: none; backdrop-filter: none; } .nrm-ui.nrm-portal .is-noir .nrm-pane { background: hsl(var(--h, 20) 16% 14%); } }
.nrm-ui.nrm-portal .nrm-pane .nu-frame { border: 0; border-radius: 8px; background: hsl(0 0% 0% / .05); box-shadow: 0 0 0 1px hsl(0 0% 0% / .08); }
.nrm-ui.nrm-portal .nrm-pane .nu-frame--none { background: transparent; box-shadow: none; border: 1px dashed currentColor; color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-obi { position: relative; z-index: 1; display: grid; grid-template-columns: 4px minmax(0, 1fr); column-gap: 16px; align-items: center; margin: 12px -12px -12px; padding: 20px 24px 22px 24px; border-radius: 0 0 21px 21px; background: var(--band); color: var(--on); box-shadow: inset 0 1px 0 hsl(0 0% 100% / .25); }
.nrm-ui.nrm-portal .is-still .nrm-obi { border-radius: 0 0 5px 5px; }
.nrm-ui.nrm-portal .nrm-obi::before { content: ""; align-self: stretch; border-radius: 2px; background: hsl(0 0% 100% / .85); }
.nrm-ui.nrm-portal .nrm-obi__w { margin: 0; font-family: var(--serif); font-weight: 800; font-size: clamp(18.4px, 1.1cqw + 14.4px, 28px); line-height: 1.5; color: var(--on); text-shadow: 0 1px 0 hsl(0 0% 0% / .15); word-break: auto-phrase; line-break: strict; text-wrap: pretty; overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-obi.is-long .nrm-obi__w { font-size: clamp(16.3px, .8cqw + 13.6px, 22.4px); }
.nrm-ui.nrm-portal .nrm-ln { display: block; }

/* ---- Chips: ONE kind everywhere (a tag, a link). On an ink ground they are glass pills; on paper (cards) a quiet warm pill. */
.nrm-ui.nrm-portal .nrm-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; position: relative; z-index: 4; }
.nrm-ui.nrm-portal .nrm-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid hsl(0 0% 100% / .32); background: hsl(0 0% 100% / .12); color: var(--on); font-size: var(--nu-fs-s); font-weight: 700; line-height: 1.2; text-decoration: none; transition: background 150ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal a.nrm-chip:hover, .nrm-ui.nrm-portal a.nrm-chip:focus-visible { background: hsl(0 0% 100% / .26); text-decoration: none; }
.nrm-ui.nrm-portal .is-pop .nrm-str__ink .nrm-chip, .nrm-ui.nrm-portal .is-pop .nrm-row__ink .nrm-chip { border: 0; background: var(--on); color: var(--ink-deep); font-weight: 800; }
.nrm-ui.nrm-portal .is-pop .nrm-str__ink a.nrm-chip:hover, .nrm-ui.nrm-portal .is-pop .nrm-str__ink a.nrm-chip:focus-visible, .nrm-ui.nrm-portal .is-pop .nrm-row__ink a.nrm-chip:hover, .nrm-ui.nrm-portal .is-pop .nrm-row__ink a.nrm-chip:focus-visible { background: hsl(0 0% 100% / .86); }
@media (pointer: coarse) { .nrm-ui.nrm-portal .nrm-chip { min-height: var(--nu-tap, 44px); } }

/* ---- THE STRADDLE (the lead): ink + paper, full width of the screen; stacked on a phone (words first, then the pane overlapping the ink), side by side from 46em */
.nrm-ui.nrm-portal .nrm-portal-top { display: grid; gap: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-str { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); margin: 0 calc(50% - 50vw); min-width: 0; }
.nrm-ui.nrm-portal .nrm-str__ink { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; padding: 28px var(--edge) 88px; background: var(--ink); color: var(--on); }
.nrm-ui.nrm-portal .nrm-str__ink > *:not(.nrm-deep) { position: relative; z-index: 1; }
.nrm-ui.nrm-portal .nrm-str__paper { position: relative; z-index: 2; display: flex; align-items: center; min-width: 0; margin-top: -56px; padding: 0 var(--edge) 40px calc(var(--edge) + 28px); background: linear-gradient(180deg, transparent 56px, var(--paper-a) 56px, var(--paper-b)); }
.nrm-ui.nrm-portal .nrm-str__paper .nrm-pane { width: 100%; }
.nrm-ui.nrm-portal .nrm-portal-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; background: none; font-size: var(--nu-fs-s); font-weight: 700; line-height: 1.4; letter-spacing: var(--nu-ls-meta); color: inherit; opacity: .9; }
.nrm-ui.nrm-portal .nrm-portal-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.nrm-ui.nrm-portal .nrm-portal-hero__t { display: block; margin: 0; padding: 0; max-width: 12em; font-family: var(--sans); font-size: clamp(28px, 2.2cqw + 16px, 56px); font-weight: 900; line-height: 1.16; letter-spacing: -.02em; color: var(--on); text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere; text-shadow: 0 2px 0 hsl(0 0% 0% / .12); }
.nrm-ui.nrm-portal .nrm-portal-hero.is-longt .nrm-portal-hero__t { font-size: clamp(23.2px, 1.5cqw + 14.4px, 38.4px); line-height: 1.25; }
.nrm-ui.nrm-portal .nrm-portal-hero__t a.nrm-portal-link { display: inline; color: var(--on); }
.nrm-ui.nrm-portal .nrm-portal-hero__t .nrm-portal-t { display: inline; -webkit-line-clamp: unset; overflow: visible; }
.nrm-ui.nrm-portal .nrm-portal-hero__t a.nrm-portal-link:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.nrm-ui.nrm-portal .nrm-str__ink .nrm-portal-date { margin: 0; font-size: var(--nu-fs-s); letter-spacing: var(--nu-ls-meta); color: var(--on); opacity: .8; }
.nrm-ui.nrm-portal .nrm-portal-hero__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 8px 0 0; }
.nrm-ui.nrm-portal a.nrm-portal-hero__img { display: grid; place-items: center; min-width: 0; color: inherit; text-decoration: none; }
.nrm-ui.nrm-portal .nrm-portal-hero__frame { --nrm-hero-h: min(56vh, 420px); width: min(100%, calc(var(--nrm-hero-h) * var(--nu-r, 1.6))); max-width: 100%; margin: 0; } /* the frame takes the picture's own ratio: whole, never cropped */
.nrm-ui.nrm-portal .nrm-portal-hero__frame.nu-frame--none { width: 100%; aspect-ratio: 1.6 !important; }
.nrm-ui.nrm-portal .nrm-pane__cap { display: flex; justify-content: flex-end; margin: 6px 4px 0; font-size: var(--nu-fs-xs); }
.nrm-ui.nrm-portal .nrm-pane__cap a.nrm-portal-work { min-height: 32px; color: var(--nu-text); }
.nrm-ui.nrm-portal .is-noir .nrm-pane__cap a.nrm-portal-work { color: var(--on); }

/* ---- ROWS (つづけて読む, 特集): the same straddle at row size, the sides alternate; the whole row opens the article */
.nrm-ui.nrm-portal .nrm-portal-sec--reviews, .nrm-ui.nrm-portal .nrm-portal-sec--feature { padding-top: 36px; }
.nrm-ui.nrm-portal .nrm-portal-sec--reviews .nu-head, .nrm-ui.nrm-portal .nrm-portal-sec--feature .nu-head { margin: 0 0 14px; }
.nrm-ui.nrm-portal ul.nrm-portal-rvs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border: 0; }
.nrm-ui.nrm-portal li.nrm-row { position: relative; isolation: isolate; overflow-x: clip; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 0; align-items: stretch; min-width: 0; margin: 0 calc(50% - 50vw); padding: 0; border: 0; }
.nrm-ui.nrm-portal li.nrm-row[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-row__ink { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 28px var(--edge) 80px; background: var(--ink); color: var(--on); }
.nrm-ui.nrm-portal .nrm-row__ink > *:not(.nrm-deep) { position: relative; z-index: 1; }
.nrm-ui.nrm-portal .nrm-row__side { position: relative; z-index: 2; display: flex; align-items: center; min-width: 0; margin-top: -56px; padding: 0 var(--edge) 28px calc(var(--edge) + 20px); background: linear-gradient(180deg, transparent 56px, var(--paper-a) 56px, var(--paper-b)); }
.nrm-ui.nrm-portal li.nrm-row.is-flip .nrm-row__side { padding: 0 calc(var(--edge) + 20px) 28px var(--edge); }
.nrm-ui.nrm-portal .nrm-row__side .nrm-pane { width: 100%; padding: 10px; border-radius: 16px; }
.nrm-ui.nrm-portal .nrm-row__side .nrm-obi { margin: 10px -10px -10px; padding: 14px 18px 16px 18px; border-radius: 0 0 15px 15px; }
.nrm-ui.nrm-portal .nrm-row__side .nrm-obi__w { font-size: clamp(16.3px, .7cqw + 13.6px, 21.6px); }
.nrm-ui.nrm-portal .nrm-row__side .nrm-obi.is-long .nrm-obi__w { font-size: clamp(15.2px, .5cqw + 12.8px, 18.4px); }
.nrm-ui.nrm-portal .nrm-row__side .nrm-portal-rthumb { width: 100%; aspect-ratio: 16 / 10 !important; margin: 0; }
.nrm-ui.nrm-portal .nrm-pane__img { display: block; min-width: 0; }
.nrm-ui.nrm-portal .nrm-row .nrm-portal-row__t { display: block; margin: 0; padding: 0; max-width: 16em; font-family: var(--sans); font-size: clamp(20px, 1cqw + 16px, 30.4px); font-weight: 900; line-height: 1.3; letter-spacing: -.01em; color: var(--on); text-wrap: balance; }
.nrm-ui.nrm-portal .nrm-row .nrm-portal-t { display: inline; -webkit-line-clamp: unset; overflow: visible; word-break: keep-all; overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-row a.nrm-portal-link, .nrm-ui.nrm-portal li.nrm-row:hover a.nrm-portal-link, .nrm-ui.nrm-portal li.nrm-row:focus-within a.nrm-portal-link { color: var(--on); text-decoration: none; }
.nrm-ui.nrm-portal li.nrm-row:hover .nrm-portal-row__t .nrm-portal-t { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.nrm-ui.nrm-portal .nrm-row .nrm-rv__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-size: var(--nu-fs-s); letter-spacing: var(--nu-ls-meta); color: var(--on); opacity: .8; }
.nrm-ui.nrm-portal .nrm-row .nrm-chips { margin-top: 4px; }
.nrm-ui.nrm-portal .nrm-row a.nrm-portal-work { position: relative; z-index: 4; color: var(--on); }
.nrm-ui.nrm-portal li.nrm-row:has(a.nrm-portal-stretch:focus-visible) { outline: 3px solid var(--nu-accent); outline-offset: -3px; }

/* the entry to every 感想: one big row between the rows and the releases */
.nrm-ui.nrm-portal .nrm-portal-all { margin: 32px 0 0; border: 0; }
.nrm-ui.nrm-portal a.nrm-portal-all__a { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; min-height: 76px; padding: 12px 24px 12px 12px; border-radius: 24px; background: var(--ink); color: var(--on); font-size: var(--nu-fs-l); font-weight: 800; letter-spacing: var(--nu-ls-tight); text-decoration: none; border: 0; transition: transform 120ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal a.nrm-portal-all__a .nu-glow__disc { background: var(--on); color: var(--ink-deep, var(--ink)); }
.nrm-ui.nrm-portal a.nrm-portal-all__a .nu-glow__t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; color: var(--on); }
.nrm-ui.nrm-portal .nrm-portal-all__n { font-size: var(--nu-fs-s); font-weight: 700; letter-spacing: var(--nu-ls-meta); color: var(--on); opacity: .75; }
.nrm-ui.nrm-portal a.nrm-portal-all__a:hover, .nrm-ui.nrm-portal a.nrm-portal-all__a:focus-visible { color: var(--on); text-decoration: none; transform: translateY(-2px); }
.nrm-ui.nrm-portal a.nrm-portal-all__a:active { transform: translateY(1px); }

/* ---- 今月の発売: a strip of jackets, each a column (the calendar's own wording: date, title, brand, price, store bonuses, routes) */
.nrm-ui.nrm-portal .nrm-portal-main { display: grid; gap: 32px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-portal-sec--release { min-width: 0; padding-top: 36px; }
.nrm-ui.nrm-portal ul.nrm-rels { display: flex; gap: 14px; margin: 0; padding: 4px 0 12px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; border: 0; list-style: none; }
.nrm-ui.nrm-portal ul.nrm-rels > li.nrm-portal-row { position: relative; flex: 0 0 172px; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 8px; min-width: 0; padding: 0; border: 0; scroll-snap-align: start; }
.nrm-ui.nrm-portal ul.nrm-rels .nrm-portal-thumb { width: 100%; aspect-ratio: 3 / 4; border-radius: 10px; background: var(--nu-ground-2); box-shadow: var(--nu-print-flat); }
.nrm-ui.nrm-portal ul.nrm-rels .nrm-portal-row__t { font-size: var(--nu-fs-s); line-height: 1.4; }
.nrm-ui.nrm-portal ul.nrm-rels .nrm-portal-t { -webkit-line-clamp: 3; }
.nrm-ui.nrm-portal ul.nrm-rels .nrm-portal-price { font-size: var(--nu-fs-m); }
.nrm-ui.nrm-portal ul.nrm-rels .nrm-portal-routes { gap: 0 10px; }

/* ---- The review list: head, three ways in (today's pick, mood tiles, word wall), the sticky bar, the card grid */
.nrm-ui.nrm-portal.nrm-reviews { gap: 20px; }
.nrm-ui.nrm-portal .nrm-reviews-head { display: grid; justify-items: start; gap: 6px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-reviews__t { margin: 0; padding: 0; font-family: var(--sans); font-size: clamp(28px, 1.6cqw + 19.2px, 44.8px); font-weight: 900; line-height: 1.15; letter-spacing: -.02em; color: var(--nu-text); }
.nrm-ui.nrm-portal .nrm-reviews-head .nrm-portal-kicker { color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-meet { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-pick { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; padding: 14px; border-radius: 18px; overflow: hidden; background: var(--ink); color: var(--on); }
.nrm-ui.nrm-portal .nrm-pick > *:not(.nrm-deep) { position: relative; z-index: 1; }
.nrm-ui.nrm-portal .nrm-pick__pic .nrm-portal-rthumb { width: 100%; aspect-ratio: 16 / 10 !important; margin: 0; border: 0; border-radius: 10px; background: hsl(0 0% 0% / .45); }
.nrm-ui.nrm-portal .nrm-pick__b { display: grid; align-content: center; gap: 8px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-pick__lab { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0; font-size: var(--nu-fs-s); font-weight: 700; color: var(--on); opacity: .9; }
.nrm-ui.nrm-portal .nrm-pick__again { min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: hsl(0 0% 100% / .16); color: var(--on); font: inherit; font-size: var(--nu-fs-s); font-weight: 700; cursor: pointer; }
.nrm-ui.nrm-portal .nrm-pick__again:hover, .nrm-ui.nrm-portal .nrm-pick__again:focus-visible { background: hsl(0 0% 100% / .3); }
.nrm-ui.nrm-portal .nrm-pick__again[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-pick__w { margin: 0; font-family: var(--serif); font-weight: 800; font-size: clamp(16.8px, .6cqw + 14.4px, 21.6px); line-height: 1.55; color: var(--on); word-break: auto-phrase; line-break: strict; text-wrap: pretty; }
.nrm-ui.nrm-portal .nrm-pick__t { margin: 0; font-family: var(--sans); font-size: var(--nu-fs-m); font-weight: 800; line-height: 1.4; }
.nrm-ui.nrm-portal .nrm-pick__t a { color: var(--on); text-decoration: none; }
.nrm-ui.nrm-portal .nrm-pick__t a:hover { text-decoration: underline; }
.nrm-ui.nrm-portal a.nrm-pick__go { justify-self: start; display: inline-flex; align-items: center; min-height: var(--nu-tap, 44px); padding: 0 18px; border-radius: 999px; background: var(--on); color: var(--ink-deep, var(--nu-text)); font-size: var(--nu-fs-s); font-weight: 800; text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-pick__go::after { content: "\2192" / ""; margin-left: 8px; }
.nrm-ui.nrm-portal .nrm-moods { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; align-content: start; }
.nrm-ui.nrm-portal .nrm-moods[hidden] { display: none; }
.nrm-ui.nrm-portal .nrm-moods__l, .nrm-ui.nrm-portal .nrm-wall__l { margin: 0; font-size: var(--nu-fs-xs); font-weight: 700; letter-spacing: var(--nu-ls-meta); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-moods ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.nrm-ui.nrm-portal .nrm-moods li { margin: 0; padding: 0; min-width: 0; }
.nrm-ui.nrm-portal .nrm-mood { display: grid; justify-items: start; align-content: center; gap: 2px; width: 100%; min-height: 64px; padding: 10px 12px; border: 0; border-radius: 14px; color: var(--on); font: inherit; text-align: left; cursor: pointer; transition: transform 120ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal .nrm-mood b { font-size: var(--nu-fs-s); font-weight: 800; line-height: 1.35; }
.nrm-ui.nrm-portal .nrm-mood i { font-style: normal; font-size: var(--nu-fs-xs); font-weight: 600; opacity: .85; line-height: 1.4; }
.nrm-ui.nrm-portal .nrm-mood.is-pop { background: linear-gradient(100deg, hsl(18 80% 40%), hsl(330 70% 42%)); }
.nrm-ui.nrm-portal .nrm-mood.is-still { background: linear-gradient(100deg, hsl(210 30% 36%), hsl(160 28% 30%)); }
.nrm-ui.nrm-portal .nrm-mood.is-noir { background: linear-gradient(100deg, hsl(300 25% 18%), hsl(0 30% 14%)); }
.nrm-ui.nrm-portal .nrm-mood:active { transform: scale(.98); }
.nrm-ui.nrm-portal .nrm-mood[aria-pressed="true"] { outline: 3px solid var(--nu-text); outline-offset: 2px; }
.nrm-ui.nrm-portal .nrm-wall { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-wall ul { display: flex; gap: 10px; margin: 0; padding: 0 0 4px; overflow-x: auto; list-style: none; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, hsl(0 0% 0%) 90%, transparent); mask-image: linear-gradient(90deg, hsl(0 0% 0%) 90%, transparent); }
.nrm-ui.nrm-portal .nrm-wall ul::-webkit-scrollbar { display: none; }
.nrm-ui.nrm-portal .nrm-wall li { flex: none; position: relative; margin: 0; padding: 0; } /* the hidden title context (absolute) must be clipped with the row */
.nrm-ui.nrm-portal a.nrm-wall__a { display: inline-flex; align-items: center; min-height: var(--nu-tap, 44px); padding: 0 16px 0 14px; border-radius: 999px; background: var(--band); color: var(--on); font-family: var(--serif); font-size: var(--nu-fs-m); font-weight: 800; white-space: nowrap; text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-wall__a::before { content: ""; width: 3px; height: 1.2em; margin-right: 10px; border-radius: 2px; background: hsl(0 0% 100% / .85); }
.nrm-ui.nrm-portal a.nrm-wall__a:hover, .nrm-ui.nrm-portal a.nrm-wall__a:focus-visible { filter: brightness(1.12); text-decoration: none; }
.nrm-ui.nrm-portal .nrm-reviews-find { position: sticky; top: 8px; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 12px; align-items: center; min-width: 0; padding: 6px 10px; border-radius: 16px; background: var(--nu-surface, hsl(0 0% 100%)); border: 1px solid var(--nu-edge); box-shadow: var(--nu-elev-1, 0 8px 24px -16px hsl(0 0% 0% / .35)); } /* the ONLY part that stays on screen: one field row */
.nrm-ui.nrm-portal .nrm-reviews-find .nrm-reviews-search { max-width: none; margin: 0; }
.nrm-ui.nrm-portal .nrm-reviews-count { display: flex; gap: 10px; margin: 0; font-size: var(--nu-fs-xs); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-reviews-find .nrm-reviews-clear { margin: 0; }
.nrm-ui.nrm-portal .nrm-reviews-find .nrm-reviews-clear .nu-btn { min-height: 36px; padding: 0 8px; }
.nrm-ui.nrm-portal .nrm-reviews-bar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.nrm-ui.nrm-portal .nrm-reviews-bar .nrm-reviews-status { min-height: 0; margin: 0; }
.nrm-ui.nrm-portal .nrm-reviews-bar .nrm-reviews-status:empty { display: none; }
@media (max-width: 480px) { .nrm-ui.nrm-portal .nrm-reviews-count span:last-child { display: none; } }
.nrm-ui.nrm-portal ul.nrm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; grid-auto-flow: row dense; margin: 0; padding: 0; list-style: none; border: 0; }
.nrm-ui.nrm-portal li.nrm-card { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 14px; background: var(--nu-surface, hsl(0 0% 100%)); box-shadow: 0 1px 2px hsl(0 0% 0% / .06), 0 12px 28px -22px hsl(0 0% 0% / .4); transition: transform 180ms var(--nu-ease, ease), box-shadow 180ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal li.nrm-card[hidden] { display: none; }
.nrm-ui.nrm-portal li.nrm-card:hover, .nrm-ui.nrm-portal li.nrm-card:focus-within { transform: translateY(-3px); box-shadow: 0 1px 2px hsl(0 0% 0% / .06), 0 22px 40px -24px hsl(0 0% 0% / .5); }
.nrm-ui.nrm-portal li.nrm-card:has(a.nrm-portal-stretch:focus-visible) { outline: 3px solid var(--nu-accent); outline-offset: 2px; }
.nrm-ui.nrm-portal .nrm-card__pic .nrm-portal-rthumb { width: 100%; aspect-ratio: 16 / 10 !important; margin: 0; border: 0; border-radius: 0; background: hsl(0 0% 6%); box-shadow: none; }
.nrm-ui.nrm-portal .nrm-card__pic .nu-frame--none { background: var(--nu-ground-2); color: var(--nu-sub); border: 0; }
.nrm-ui.nrm-portal .nrm-card .nrm-obi { margin: 0; padding: 9px 12px; border-radius: 0; column-gap: 10px; grid-template-columns: 3px minmax(0, 1fr); box-shadow: none; }
.nrm-ui.nrm-portal .nrm-card .nrm-obi__w { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: var(--nu-fs-s); line-height: 1.45; text-shadow: none; }
.nrm-ui.nrm-portal .nrm-card .nrm-ln { display: inline; }
.nrm-ui.nrm-portal .nrm-card__b { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 10px 12px 6px; }
.nrm-ui.nrm-portal .nrm-card .nrm-portal-row__t { display: block; margin: 0; padding: 0; font-family: var(--sans); font-size: var(--nu-fs-s); font-weight: 800; line-height: 1.4; color: var(--nu-text); position: static; }
.nrm-ui.nrm-portal .nrm-card .nrm-portal-t { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: keep-all; overflow-wrap: anywhere; }
.nrm-ui.nrm-portal .nrm-card a.nrm-portal-link, .nrm-ui.nrm-portal li.nrm-card:hover a.nrm-portal-link { color: var(--nu-text); text-decoration: none; }
.nrm-ui.nrm-portal .nrm-card .nrm-rv__meta { display: flex; gap: 8px; margin: 0; font-size: var(--nu-fs-xs); color: var(--nu-sub); }
.nrm-ui.nrm-portal .nrm-card .nrm-chips { padding: 4px 12px 12px; align-self: end; }
.nrm-ui.nrm-portal .nrm-card .nrm-chip { min-height: 28px; padding: 0 9px; border: 0; background: var(--nu-ground-2); color: var(--nu-text); font-size: var(--nu-fs-xs); font-weight: 700; }
.nrm-ui.nrm-portal .nrm-card .nrm-chip[aria-pressed="true"] { background: var(--nu-ink, var(--nu-text)); color: var(--nu-white, hsl(0 0% 100%)); }
.nrm-ui.nrm-portal .nrm-card a.nrm-chip:hover, .nrm-ui.nrm-portal .nrm-card a.nrm-chip:focus-visible { background: var(--nu-edge); }
@media (pointer: coarse) { .nrm-ui.nrm-portal .nrm-card .nrm-chip { min-height: var(--nu-tap, 44px); } }
.nrm-ui.nrm-portal li.nrm-card.is-wide { grid-column: span 2; }


/* ---- D-107 parity with the approved mock (prototype N): the page takes the work's paper, bigger words, the white pill buttons, the drawn read affordance,
 * heads with the order at the far side, the entry row, and the two boxes of the practical half. */
.nrm-ui.nrm-portal { background: var(--paper-b, transparent); box-shadow: 0 0 0 100vmax var(--paper-b, transparent); clip-path: inset(0 -100vmax); }
.nrm-ui.nrm-portal.is-noir { --nu-text: hsl(0 0% 96%); --nu-sub: hsl(0 0% 76%); --nu-edge: hsl(0 0% 100% / .18); --nu-surface: hsl(var(--h, 20) 14% 14%); --nu-ground-2: hsl(var(--h, 20) 14% 20%); --nu-link: hsl(var(--h, 20) 90% 80%); --nu-accent: hsl(var(--h, 20) 90% 72%); --nu-accent-dark: hsl(var(--h, 20) 90% 80%); color: var(--nu-text); }
.nrm-ui.nrm-portal .nrm-portal-hero__t { font-size: clamp(30px, 4.4cqw, 64px); line-height: 1.12; }
.nrm-ui.nrm-portal.is-pop .nrm-portal-hero__t, .nrm-ui.nrm-portal .nrm-portal-hero.is-pop .nrm-portal-hero__t { font-size: clamp(32px, 5cqw, 72px); line-height: 1.06; letter-spacing: -.03em; }
.nrm-ui.nrm-portal .nrm-portal-hero.is-longt .nrm-portal-hero__t { font-size: clamp(26px, 3cqw, 48px); line-height: 1.2; }
.nrm-ui.nrm-portal .nrm-obi__w { font-size: clamp(20px, 2.2cqw, 30px); }
.nrm-ui.nrm-portal .nrm-obi.is-long .nrm-obi__w { font-size: clamp(17px, 1.6cqw, 23px); }
.nrm-ui.nrm-portal .nrm-row .nrm-portal-row__t { font-size: clamp(22px, 2.1cqw, 32px); }
.nrm-ui.nrm-portal .nrm-row.is-pop .nrm-portal-row__t { font-size: clamp(26px, 2.6cqw, 38px); line-height: 1.15; letter-spacing: -.02em; }
.nrm-ui.nrm-portal .nrm-str__ink > .nrm-portal-kicker + .nrm-portal-hero__t { margin-top: 6px; }

/* the buttons of the lead: a white pill (a dark one on POP) and a quiet ghost beside it */
.nrm-ui.nrm-portal .nrm-str a.nu-glass { min-height: 52px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--on); color: var(--ink-deep, hsl(0 0% 10%)); font-size: 16px; font-weight: 800; box-shadow: 0 10px 30px -10px hsl(0 0% 0% / .6); }
.nrm-ui.nrm-portal .nrm-str a.nu-glass::after { display: none; }
.nrm-ui.nrm-portal .nrm-str a.nu-glass .nu-glass__arrow { background: hsl(0 0% 0% / .08); color: inherit; }
.nrm-ui.nrm-portal .nrm-str a.nu-glass:hover { background: hsl(0 0% 100% / .9); box-shadow: 0 14px 34px -12px hsl(0 0% 0% / .65); }
.nrm-ui.nrm-portal .is-pop.nrm-str a.nu-glass, .nrm-ui.nrm-portal .is-pop .nrm-str a.nu-glass { background: hsl(var(--h, 20) 20% 10%); color: var(--on); box-shadow: 0 6px 0 hsl(0 0% 0% / .35); }
.nrm-ui.nrm-portal .is-pop.nrm-str a.nu-glass .nu-glass__arrow { background: hsl(0 0% 100% / .16); }
.nrm-ui.nrm-portal .is-pop.nrm-str a.nu-glass:active { transform: translateY(3px); box-shadow: 0 2px 0 hsl(0 0% 0% / .35); }
.nrm-ui.nrm-portal a.nrm-portal-others { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; border-radius: 999px; border: 1px solid hsl(0 0% 100% / .3); background: hsl(0 0% 100% / .14); color: var(--on); font-size: 16px; font-weight: 700; text-decoration: none; }
.nrm-ui.nrm-portal a.nrm-portal-others:hover, .nrm-ui.nrm-portal a.nrm-portal-others:focus-visible { background: hsl(0 0% 100% / .26); text-decoration: none; }
.nrm-ui.nrm-portal .is-pop a.nrm-portal-others { background: hsl(0 0% 100% / .9); color: var(--ink-deep, hsl(0 0% 10%)); border: 0; }

/* a row's drawn read affordance (aria-hidden: the stretched title link is the one real link) */
.nrm-ui.nrm-portal .nrm-row__go { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; font-size: var(--nu-fs-s); font-weight: 700; color: var(--on); }
.nrm-ui.nrm-portal .nrm-row__go i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--on); color: var(--ink-deep, hsl(0 0% 10%)); font-style: normal; transition: transform 200ms var(--nu-ease, ease); }
.nrm-ui.nrm-portal li.nrm-row:hover .nrm-row__go i { transform: translateX(4px); }

/* heads: the title at one end, its order at the other */
.nrm-ui.nrm-portal .nrm-portal-sec--reviews .nu-head, .nrm-ui.nrm-portal .nrm-portal-sec--feature .nu-head, .nrm-ui.nrm-portal .nrm-portal-sec--release .nu-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 16px; }
.nrm-ui.nrm-portal .nrm-portal-sec--reviews .nu-head__t, .nrm-ui.nrm-portal .nrm-portal-sec--feature .nu-head__t, .nrm-ui.nrm-portal .nrm-portal-sec--release .nu-head__t { font-size: clamp(22px, 1.6cqw + 8px, 32px); }

/* the entry to every 感想: one wide light bar, the count and a large arrow at the far side */
.nrm-ui.nrm-portal a.nrm-portal-all__a { min-height: 84px; padding: 0 28px; border: 1px solid var(--nu-edge); background: hsl(0 0% 100% / .75); color: var(--nu-text); font-size: clamp(18px, 1.2cqw + 8px, 22px); flex-wrap: nowrap; justify-content: space-between; box-shadow: 0 14px 34px -26px hsl(0 0% 0% / .5); }
.nrm-ui.nrm-portal.is-noir a.nrm-portal-all__a { background: hsl(0 0% 100% / .08); }
.nrm-ui.nrm-portal a.nrm-portal-all__a .nu-glow__disc { display: none; }
.nrm-ui.nrm-portal a.nrm-portal-all__a .nu-glow__t { flex: 1 1 auto; justify-content: space-between; color: var(--nu-text); }
.nrm-ui.nrm-portal .nrm-portal-all__n { color: var(--nu-sub); opacity: 1; }
.nrm-ui.nrm-portal a.nrm-portal-all__a::after { content: "\2192" / ""; margin-left: 16px; font-size: 26px; font-weight: 400; }
.nrm-ui.nrm-portal a.nrm-portal-all__a:hover, .nrm-ui.nrm-portal a.nrm-portal-all__a:focus-visible { color: var(--nu-text); }

/* the practical half: two boxes (the work search 3 : the entries 2) */
.nrm-ui.nrm-portal .nrm-portal-lower { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; padding-bottom: 40px; }
.nrm-ui.nrm-portal .nrm-portal-lower > .nrm-portal-find, .nrm-ui.nrm-portal .nrm-portal-lower > .nrm-portal-sec--entries { margin: 0; padding: 26px; border: 1px solid var(--nu-edge); border-radius: 24px; background: hsl(0 0% 100% / .7); box-shadow: 0 20px 44px -34px hsl(0 0% 0% / .55); min-width: 0; }
.nrm-ui.nrm-portal.is-noir .nrm-portal-lower > .nrm-portal-find, .nrm-ui.nrm-portal.is-noir .nrm-portal-lower > .nrm-portal-sec--entries { background: hsl(0 0% 100% / .06); }
.nrm-ui.nrm-portal .nrm-portal-sec--entries .nu-head { display: block; }
.nrm-ui.nrm-portal .nrm-portal-sec--entries .nu-head__t { font-size: 22px; }
.nrm-ui.nrm-portal .nrm-portal-lower > .nrm-portal-sec--entries .nrm-portal-tiles { margin-top: 14px; }

/* the dark paper (a NOIR lead): the fields and the entry pills of the practical half stay readable */
.nrm-ui.nrm-portal.is-noir .nrm-portal-search__row { background: hsl(0 0% 100% / .08); border-color: hsl(0 0% 100% / .4); }
.nrm-ui.nrm-portal.is-noir .nrm-portal-search__q, .nrm-ui.nrm-portal.is-noir input[type="search"].nrm-portal-search__q { color: var(--nu-text); background: transparent; }
.nrm-ui.nrm-portal.is-noir .nrm-portal-search__q::placeholder { color: var(--nu-sub); }
.nrm-ui.nrm-portal.is-noir .nrm-portal-search__go { color: var(--nu-text); }
.nrm-ui.nrm-portal.is-noir a.nrm-portal-tile { background: hsl(0 0% 100% / .08); border-color: hsl(0 0% 100% / .3); color: var(--nu-text); }
.nrm-ui.nrm-portal.is-noir a.nrm-portal-tile .nu-glow__disc { background: hsl(0 0% 100% / .14); color: var(--nu-text); }
.nrm-ui.nrm-portal.is-noir .nrm-rels .nrm-portal-thumb, .nrm-ui.nrm-portal.is-noir ul.nrm-rels .nrm-portal-thumb { border-color: hsl(0 0% 100% / .2); }

/* the article's own 体験版点数 (its score table's 総合): one quiet token; large in today's pick */
.nrm-ui.nrm-portal .nrm-score { display: inline-flex; align-items: baseline; gap: 4px; font-size: var(--nu-fs-xs); }
.nrm-ui.nrm-portal .nrm-score b { font-size: 1.3em; font-weight: 800; }
.nrm-ui.nrm-portal .nrm-score small { font-size: 1em; opacity: .75; }
.nrm-ui.nrm-portal .nrm-portal-scoreline { margin: 0; color: var(--on); }
.nrm-ui.nrm-portal .nrm-portal-scoreline .nrm-score { font-size: var(--nu-fs-s); }
.nrm-ui.nrm-portal .nrm-pick__score { margin: 0; color: var(--on); }
.nrm-ui.nrm-portal .nrm-pick__score .nrm-score { font-size: var(--nu-fs-s); }
.nrm-ui.nrm-portal .nrm-pick__score .nrm-score b { font-size: 2.2em; line-height: 1; }
.nrm-ui.nrm-portal .nrm-card .nrm-score b { font-size: 1.15em; color: var(--nu-text); }

.nrm-ui.nrm-portal .nrm-moods__n { display: block; margin-top: 2px; font-weight: 400; letter-spacing: 0; color: var(--nu-sub); }

/* touch: every control is a 44px target (a short chip keeps 44 wide too) */
@media (pointer: coarse) {
	.nrm-ui.nrm-portal .nrm-chip { min-width: var(--nu-tap, 44px); justify-content: center; }
	.nrm-ui.nrm-portal .nrm-pick__again { min-height: var(--nu-tap, 44px); }
	.nrm-ui.nrm-portal .nrm-pick__t a { display: inline-flex; align-items: center; min-height: var(--nu-tap, 44px); }
	.nrm-ui.nrm-portal a.nrm-portal-tile { min-height: var(--nu-tap, 44px); }
	.nrm-ui.nrm-portal ul.nrm-rels a.nrm-portal-link { display: flex; align-items: center; min-height: var(--nu-tap, 44px); }
}

/* ---- Widths */
@container nrm-portal (min-width: 34em) {
	.nrm-ui.nrm-portal .nrm-reviews-more .nu-btn { width: auto; }
	.nrm-ui.nrm-portal .nrm-moods ul { gap: 10px; }
	.nrm-ui.nrm-portal .nrm-pick { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 16px; min-height: 240px; }
	.nrm-ui.nrm-portal .nrm-pick__pic { align-self: center; }
	.nrm-ui.nrm-portal ul.nrm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 14px; }
}
@container nrm-portal (min-width: 46em) {
	.nrm-ui.nrm-portal .nrm-str { grid-template-columns: 50% minmax(0, 1fr); min-height: min(86svh, 760px); }
	.nrm-ui.nrm-portal .nrm-str__ink { justify-content: center; gap: 14px; padding: 72px 130px 56px var(--edge); }
	.nrm-ui.nrm-portal .nrm-str__paper { margin: 0; padding: 72px var(--edge) 56px 0; background: linear-gradient(180deg, var(--paper-a), transparent); }
	.nrm-ui.nrm-portal .nrm-str__paper .nrm-pane { width: calc(100% + 110px); margin-left: -110px; padding: 14px; }
	.nrm-ui.nrm-portal .nrm-str__paper .nrm-obi { margin: 14px -14px -14px; padding: 24px 28px 26px 28px; }
	.nrm-ui.nrm-portal li.nrm-row { grid-template-columns: 50% minmax(0, 1fr); min-height: 300px; }
	.nrm-ui.nrm-portal .nrm-row__ink { justify-content: center; padding: 40px 120px 40px var(--edge); }
	.nrm-ui.nrm-portal .nrm-row__side { margin: 0; padding: 36px var(--edge) 36px 0; background: linear-gradient(180deg, var(--paper-a), var(--paper-b)); }
	.nrm-ui.nrm-portal .nrm-row__side .nrm-pane { width: calc(100% + 100px); margin-left: -100px; }
	.nrm-ui.nrm-portal li.nrm-row.is-flip { grid-template-columns: minmax(0, 1fr) 50%; }
	.nrm-ui.nrm-portal li.nrm-row.is-flip .nrm-row__ink { order: 2; padding: 40px var(--edge) 40px 120px; }
	.nrm-ui.nrm-portal li.nrm-row.is-flip .nrm-row__side { order: 1; padding: 36px 0 36px var(--edge); }
	.nrm-ui.nrm-portal li.nrm-row.is-flip .nrm-row__side .nrm-pane { width: calc(100% + 100px); margin-left: 0; margin-right: -100px; }
	.nrm-ui.nrm-portal .nrm-portal-hero__frame { --nrm-hero-h: min(60vh, 520px); }
	.nrm-ui.nrm-portal .nrm-meet { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
	.nrm-ui.nrm-portal .nrm-portal-lower:has(> .nrm-portal-sec--entries) { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; }
	.nrm-ui.nrm-portal .nrm-moods ul { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; height: 100%; }
	.nrm-ui.nrm-portal .nrm-moods { align-content: stretch; }
	.nrm-ui.nrm-portal .nrm-moods ul .nrm-mood { height: 100%; }
}
@container nrm-portal (min-width: 60em) {
	.nrm-ui.nrm-portal .nrm-str { grid-template-columns: 46% minmax(0, 1fr); }
	.nrm-ui.nrm-portal .nrm-str__ink { padding-right: 170px; }
	.nrm-ui.nrm-portal .nrm-str__paper .nrm-pane { width: calc(100% + 150px); margin-left: -150px; }
	.nrm-ui.nrm-portal li.nrm-row { grid-template-columns: 46% minmax(0, 1fr); }
	.nrm-ui.nrm-portal li.nrm-row.is-flip { grid-template-columns: minmax(0, 1fr) 46%; }
	.nrm-ui.nrm-portal ul.nrm-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.nrm-ui.nrm-portal ul.nrm-rels > li.nrm-portal-row { flex-basis: 188px; }
}
/* the card grid's wide cards: picture left, words large right (three or more columns only) */
@container nrm-portal (min-width: 34em) {
	.nrm-ui.nrm-portal li.nrm-card.is-wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr; }
	.nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-card__pic { grid-row: 1 / 4; }
	.nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-card__pic .nrm-portal-rthumb { height: 100%; aspect-ratio: auto !important; }
	.nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-obi, .nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-card__b, .nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-chips { grid-column: 2; }
	.nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-obi { padding: 14px 16px; }
	.nrm-ui.nrm-portal li.nrm-card.is-wide .nrm-obi__w { font-size: var(--nu-fs-l); -webkit-line-clamp: 4; }
}
/* Short landscape phones: the lead picture is capped by the screen HEIGHT so even a tall key visual never pushes the title off the first screen */
@media (max-height: 520px) and (max-width: 900px) { .nrm-ui.nrm-portal .nrm-portal-hero__frame { --nrm-hero-h: 62vh; } }

/* ---- Motion. Nothing under reduced motion. The entrance and the float are the hero's; the rows slide in only where the browser can drive it by the scroll
 * position (the rule is inside @supports: elsewhere a row is simply there); the colour layer moves with transform / opacity only. */
@media (prefers-reduced-motion: no-preference) {
	.nrm-ui.nrm-portal .nrm-str .nrm-pane { animation: nrm-enter .8s var(--nu-ease, cubic-bezier(.2, .8, .2, 1)) both, nrm-float 7s 1s ease-in-out infinite alternate; transition: rotate .25s var(--nu-ease, ease); }
	.nrm-ui.nrm-portal .nrm-str__paper { perspective: 1400px; }
	.nrm-ui.nrm-portal .nrm-str__ink > *:not(.nrm-deep) { animation: nrm-up .7s var(--nu-ease, cubic-bezier(.2, .8, .2, 1)) both; }
	.nrm-ui.nrm-portal .nrm-str__ink > *:nth-child(3) { animation-delay: .08s; } .nrm-ui.nrm-portal .nrm-str__ink > *:nth-child(4) { animation-delay: .14s; }
	.nrm-ui.nrm-portal .nrm-str__ink > *:nth-child(5) { animation-delay: .2s; } .nrm-ui.nrm-portal .nrm-str__ink > *:nth-child(6) { animation-delay: .26s; }
	.nrm-ui.nrm-portal .nrm-deep > i { animation: nrm-breathe 9s ease-in-out infinite alternate; }
	.nrm-ui.nrm-portal .nrm-row__side .nrm-pane { transition: transform .35s var(--nu-ease, ease), box-shadow .35s var(--nu-ease, ease); }
	.nrm-ui.nrm-portal li.nrm-row:hover .nrm-row__side .nrm-pane { transform: translateY(-8px); }
	@keyframes nrm-enter { from { opacity: 0; transform: translateY(40px) scale(.98); } to { opacity: 1; transform: none; } }
	@keyframes nrm-float { to { transform: translateY(-14px); } }
	@keyframes nrm-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
	@keyframes nrm-breathe { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.25) translate(-6%, 5%); } }
	@supports (animation-timeline: view()) {
		.nrm-ui.nrm-portal li.nrm-row .nrm-row__side .nrm-pane { animation: nrm-in-l linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
		.nrm-ui.nrm-portal li.nrm-row.is-flip .nrm-row__side .nrm-pane { animation-name: nrm-in-r; }
		.nrm-ui.nrm-portal li.nrm-row .nrm-row__ink > *:not(.nrm-deep) { animation: nrm-up2 linear both; animation-timeline: view(); animation-range: entry 20% entry 70%; }
		@keyframes nrm-in-l { from { opacity: 0; transform: translateX(-90px); } to { opacity: 1; transform: none; } }
		@keyframes nrm-in-r { from { opacity: 0; transform: translateX(90px); } to { opacity: 1; transform: none; } }
		@keyframes nrm-up2 { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
	}
}
@media print { .nrm-ui.nrm-portal * { animation: none !important; } }

/* Windows high contrast / forced colours: borders and outlines carry the structure; the colour layers go */
@media (forced-colors: active) {
	.nrm-ui.nrm-portal .nrm-portal-search__row { border: 1px solid ButtonText; }
	.nrm-ui.nrm-portal .nrm-portal-search__row:focus-within { outline: 2px solid Highlight; outline-offset: 2px; box-shadow: none; }
	.nrm-ui.nrm-portal .nrm-portal-search__go, .nrm-ui.nrm-portal a.nrm-portal-tile, .nrm-ui.nrm-portal a.nrm-portal-route, .nrm-ui.nrm-portal a.nrm-portal-rv, .nrm-ui.nrm-portal a.nrm-portal-work { forced-color-adjust: auto; color: LinkText; }
	.nrm-ui.nrm-portal .nrm-deep { display: none; }
	.nrm-ui.nrm-portal .nrm-str__ink, .nrm-ui.nrm-portal .nrm-row__ink, .nrm-ui.nrm-portal .nrm-str__paper, .nrm-ui.nrm-portal .nrm-row__side { background: Canvas; color: CanvasText; }
	.nrm-ui.nrm-portal .nrm-pane, .nrm-ui.nrm-portal .nrm-obi, .nrm-ui.nrm-portal li.nrm-card, .nrm-ui.nrm-portal .nrm-pick, .nrm-ui.nrm-portal .nrm-reviews-find, .nrm-ui.nrm-portal .nrm-mood, .nrm-ui.nrm-portal a.nrm-wall__a, .nrm-ui.nrm-portal a.nrm-portal-all__a, .nrm-ui.nrm-portal .nrm-chip { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
	.nrm-ui.nrm-portal .nrm-obi__w, .nrm-ui.nrm-portal .nrm-portal-hero__t, .nrm-ui.nrm-portal .nrm-portal-hero__t a.nrm-portal-link, .nrm-ui.nrm-portal .nrm-row a.nrm-portal-link, .nrm-ui.nrm-portal .nrm-portal-kicker, .nrm-ui.nrm-portal .nu-head__t, .nrm-ui.nrm-portal .nrm-pick__w, .nrm-ui.nrm-portal .nrm-pick__t a { color: CanvasText; text-shadow: none; }
	.nrm-ui.nrm-portal .nrm-reviews-tag { border: 1px solid ButtonText; }
	.nrm-ui.nrm-portal .nrm-reviews-tag[aria-pressed="true"], .nrm-ui.nrm-portal .nrm-chip[aria-pressed="true"], .nrm-ui.nrm-portal .nrm-mood[aria-pressed="true"] { border-width: 2px; background: Highlight; color: HighlightText; }
	.nrm-ui.nrm-portal a:focus-visible, .nrm-ui.nrm-portal input:focus-visible, .nrm-ui.nrm-portal button:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
}
