/* Sunstone Realm 1.1: shared final layout, compact stories, living grass. */
:root {
 --ss-story-fg: hsl(210 30% 98%);
 --ss-story-muted: hsl(210 20% 90%);
 --ss-story-scrim: hsl(218 40% 6% / .84);
 --ss-footer-line: hsl(210 20% 90% / .15);
 --ss-footer-muted: hsl(215 18% 75%);
 --ss-grass-front: hsl(115 46% 38%);
 --ss-grass-back: hsl(105 47% 48%);
}
/* Equal outside tracks keep the announcement at the actual viewport centre. */
.ss-topbar .ss-topbar-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap: 12px; width: 100%; max-width: none; padding-inline: 12px; }
.ss-topbar-start { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-width: 0; justify-self: start; }
.ss-topbar-start .ss-topbar-ip { display: inline-flex; max-width: 100%; }
.ss-topbar-ip > span { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.ss-topbar .ss-rotator { display: block; width: 100%; min-width: 0; grid-column: 2; grid-row: 1; text-align: center; }
.ss-topbar-end { grid-column: 3; grid-row: 1; justify-self: end; margin: 0; }
.ss-topbar-link { gap: 5px; }
.ss-topbar-link span { display: inline; }
.ss-header .ss-header-row { width: 100%; max-width: none; padding-inline: 24px; gap: 16px; }
.ss-header .ss-brand-word { display: flex; align-items: center; }
.ss-header .ss-brand--text { margin: 0; align-self: center; }
.ss-header .ss-actions { margin-left: auto; flex: none; }
.ss-guest { display: flex; gap: 8px; }
.ss-auth-btn { white-space: nowrap; }
@media(min-width:1200px) {
 .ss-header .ss-header-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr) minmax(0,1fr); }
 .ss-header .ss-menu-wrap { justify-content: center; width: 100%; }
 .ss-header .ss-actions { justify-self: end; margin: 0; gap: 8px; }
 .ss-header .ss-nav-cta { display: none; }
 .ss-header .ss-auth-btn { padding-inline: 12px; }
 .ss-header .ss-auth-btn > i { display: none; }
 .ss-header .ss-menu-link { padding-inline: clamp(6px,.6vw,12px); }
}
/* The opening world fills the first screen; statistics start after a real gap. */
.ss-hero--realm .ss-hero-minecraft { min-height: max(600px,calc(100svh - var(--ss-nav-h,132px))); padding-block: clamp(64px,9vh,120px); }
.ss-realm-launch { gap: clamp(24px,4vw,64px); }
.ss-realm-logo { height: clamp(110px,12vw,164px); }
.ss-realm-slogan { max-width: 35ch; font-size: clamp(1.15rem,.8rem + 1vw,1.7rem); line-height: 1.5; }
.ss-realm-actions { margin-top: 36px; }
.ss-realm-season { margin-top: 30px; font-size: clamp(.92rem,.8rem + .3vw,1.12rem); }
.ss-realm-countdown { font-size: 1.12em; }
.ss-landscape-toggle { position: absolute; z-index: 3; right: 16px; bottom: 16px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--ss-hero-line); border-radius: 50%; background: var(--ss-realm-shadow); color: var(--ss-realm-fg); }
.ss-landscape-toggle:hover { background: var(--ss-hero-ink); }
.ss-main > .ss-hero--realm + .ss-stats { margin-top: 24px; }
.ss-stats { overflow: visible; }
/* Same viewport-anchored world effect as the hero, with a local clipping context. */
.ss-community-section { clip-path: inset(0); }
.ss-community-section::before { position: fixed; inset: 0; height: 100svh; background-position: center; opacity: .38; }
.ss-donor-period { display: inline; font-size: .8em; font-weight: 550; white-space: nowrap; }
.ss-community-grid > :last-child .ss-panel-head::before { background-image: url(../../img/worlds/grove-night.webp); }
/* Fade to transparent inside the visual itself; the glow never meets a hard edge. */
.ss-support-hub .ss-support-visual { height: 158px; margin: 0 0 16px; border-radius: 0; background: radial-gradient(ellipse 46% 48% at 50% 53%,color-mix(in oklab,var(--ss-accent) 24%,transparent),transparent 100%); }
.ss-support-visual img { filter: drop-shadow(0 7px 10px color-mix(in oklab,var(--ss-accent) 15%,transparent)); }
.ss-play-edition-body { min-width: 0; }
.ss-play-edition-body .ss-ip-mini { align-self: flex-start; width: fit-content; max-width: 100%; min-width: 0; }
.ss-play-edition-body .ss-ip-mini > span { flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
.ss-play-edition-body .ss-ip-mini > b { flex: none; }
/* A single cover owns the title, metadata and breadcrumb, then flows into text. */
.ss-article-hero { position: relative; isolation: isolate; display: grid; min-height: clamp(300px,34vw,440px); background: var(--ss-hero-ink); color: var(--ss-story-fg); }
.ss-article-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; z-index: -2; }
.ss-article-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,hsl(218 40% 6% / .4),var(--ss-story-scrim)); }
.ss-article-hero-inner { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 20px; padding-block: clamp(28px,4vw,56px); }
.ss-article-hero h1 { max-width: 26ch; margin: 0; color: var(--ss-story-fg); font: 750 clamp(1.8rem,1.2rem + 2.3vw,3.4rem)/1.2 var(--ss-display); text-wrap: balance; overflow-wrap: anywhere; }
.ss-article-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .85rem; }
.ss-article-breadcrumb a { color: var(--ss-story-muted); }
.ss-article-breadcrumb a:hover { color: var(--ss-story-fg); text-decoration: underline; }
.ss-article-hero .ss-article-meta,.ss-article-hero .ss-article-meta > span,.ss-article-hero .ss-article-meta i { color: var(--ss-story-fg); }
.ss-article-band--compact { padding-top: 28px; }
.ss-article-band--compact .ss-article-grid { gap: 24px; }
/* BEGIN FOOTER MODULE */
/* All scrollable surfaces inherit their own theme's track and Sunstone accent. */
* { scrollbar-width: thin; scrollbar-color: color-mix(in oklab,var(--ss-accent) 65%,var(--band-fg)) var(--band-sunk); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner { background: var(--band-sunk); }
*::-webkit-scrollbar-thumb { min-height: 28px; border: 2px solid var(--band-sunk); border-radius: 999px; background: color-mix(in oklab,var(--ss-accent) 65%,var(--band-fg)); }
*::-webkit-scrollbar-thumb:hover { background: var(--ss-accent); }
@media(forced-colors:active) { * { scrollbar-color: auto; scrollbar-width: auto; } }
/* Opaque adjoining sections overlap the clipped world's fractional bottom edge. */
.ss-home-join { position: relative; isolation: isolate; background: var(--band-bg); }
.ss-community-section + .ss-home-join { margin-top: -1px; border-top: 0; box-shadow: 0 -1px 0 var(--band-bg); }

.ss-footer-main { padding-inline: 6px; }
.ss-footer-layout { display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,2fr); gap: clamp(24px,3vw,48px); align-items: start; }
.ss-footer-intro,.ss-footer-links { min-width: 0; }
.ss-footer-menus { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 28px 24px; }
.ss-footer-menu { min-width: 0; }
.ss-footer-layout--with-discord { grid-template-columns: minmax(200px,.85fr) minmax(0,1.6fr) minmax(300px,360px); }
/* Sunstone's own world, with the invitation and roster inside one footer card. */
.ss-footer-lounge {
 --ss-lounge-bg: hsl(218 26% 13%);
 --ss-lounge-fg: hsl(210 30% 98%);
 --ss-lounge-muted: hsl(214 19% 77%);
 --ss-lounge-line: hsl(210 25% 90% / .16);
 --ss-lounge-shade: hsl(218 32% 9% / .88);
 --band-sunk: hsl(218 28% 10%);
 --band-fg: var(--ss-lounge-fg);
 position: relative; isolation: isolate; min-width: 0; min-height: 0; width: 100%;
 display: grid; grid-template-rows: auto minmax(0,1fr) auto; block-size: 248px; align-self: start;
 border: 1px solid var(--ss-lounge-line); border-radius: 22px; overflow: hidden;
 background: var(--ss-lounge-bg); color: var(--ss-lounge-fg); box-shadow: none;
}
.ss-footer-lounge::before { content: ''; position: absolute; z-index: -2; inset: 0; background: url(../../img/worlds/grove-night.webp) 55% center / cover no-repeat; opacity: .48; pointer-events: none; }
.ss-footer-lounge::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,color-mix(in oklab,var(--ss-accent) 10%,var(--ss-lounge-shade)),var(--ss-lounge-shade) 70%); pointer-events: none; }
.ss-lounge-head { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--ss-lounge-line); }
.ss-lounge-symbol { display: grid; place-items: center; flex: none; width: 30px; height: 30px; color: var(--ss-lounge-fg); }
.ss-lounge-symbol .ss-discord-icon { width: 29px; height: 23px; }
.ss-lounge-identity { flex: 1; min-width: 0; }
.ss-lounge-identity h3 { margin: 0; color: var(--ss-lounge-fg); font: 750 .78rem/1.4 var(--ss-display); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ss-lounge-identity p { margin: 2px 0 0; color: var(--ss-lounge-muted); font-size: .65rem; line-height: 1.3; }
.ss-lounge-signal { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--ss-lounge-muted); opacity: .5; }
.is-live .ss-lounge-signal { background: var(--ss-live); opacity: 1; box-shadow: 0 0 0 4px color-mix(in oklab,var(--ss-live) 12%,transparent); }
.ss-lounge-body { display: flex; flex-direction: column; gap: 6px; min-height: 0; overflow: hidden; padding: 10px 12px; }
.ss-lounge-roster-head { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 8px; }
.ss-lounge-presence { display: inline-flex; justify-content: center; align-items: center; gap: 5px; flex: none; padding: 4px 7px; border: 1px solid var(--ss-lounge-line); border-radius: 8px; background: color-mix(in oklab,var(--ss-accent) 9%,var(--ss-lounge-bg)); font-size: .65rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ss-lounge-presence b { font-weight: 750; }
.ss-lounge-roster { flex: 1; min-height: 0; text-align: left; }
.ss-lounge-roster-label { min-width: 0; margin: 0; color: var(--ss-lounge-muted); font-size: .65rem; font-weight: 650; }
.ss-footer-lounge:not(.is-live) .ss-lounge-roster { display: none; }
.ss-footer .ss-footer-lounge .ss-dc-board-members { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 34px; gap: 6px; height: 100%; min-height: 0; max-height: 100%; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; padding-right: 4px; margin: 0; }
.ss-footer-lounge .ss-dc-board-member { min-width: 0; gap: 6px; padding: 4px 6px; border: 1px solid var(--ss-lounge-line); border-radius: 8px; background: hsl(210 20% 98% / .035); }
.ss-footer-lounge .ss-dc-member-avatar { width: 24px; height: 24px; border-radius: 7px; }
.ss-footer-lounge .ss-dc-member-copy b { color: var(--ss-lounge-fg); font-size: .66rem; line-height: 1.15; }
.ss-footer-lounge .ss-dc-member-copy small { margin-top: 1px; color: var(--ss-lounge-muted); font-size: .56rem; line-height: 1.15; }
.ss-footer-lounge .ss-dc-board-status { flex: none; min-height: 0; margin: 0; color: var(--ss-lounge-muted); text-align: center; font-size: .6rem; line-height: 1.4; }
.ss-footer-lounge:is(.is-idle,.is-unavailable,.is-empty) .ss-dc-board-status { display: block; min-height: 0; max-width: none; margin: auto 0; }
.ss-footer-lounge .ss-dc-board-skeleton { flex: 1; min-height: 0; margin: 0; gap: 6px; align-content: center; grid-auto-rows: 24px; }
.ss-footer-lounge .ss-dc-board-skeleton span { height: 24px; }
.ss-lounge-join { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 9px 14px; border-top: 1px solid var(--ss-lounge-line); background: color-mix(in oklab,var(--ss-accent) 24%,var(--ss-lounge-bg)); color: var(--ss-lounge-fg); font: 750 .78rem/1.4 var(--ss-display); transition: background .2s; }
.ss-lounge-join:hover { color: var(--ss-lounge-fg); background: color-mix(in oklab,var(--ss-accent) 36%,var(--ss-lounge-bg)); }
.ss-lounge-join:focus-visible { outline: 2px solid var(--ss-lounge-fg); outline-offset: -5px; }
/* Exclude the card's intrinsic height from the footer row, then fill that row.
   Only the brand/menu columns determine the desktop footer's height. */
@supports(contain:size) {
 @media(min-width:768px) { .ss-footer-lounge { contain: size; block-size: auto; align-self: stretch; } }
}
@media(min-width:768px) and (max-width:1199.98px) {
 .ss-footer-layout--with-discord { grid-template-columns: minmax(0,1fr) minmax(300px,360px); grid-template-areas: 'intro lounge' 'links lounge'; }
 .ss-footer-layout--with-discord .ss-footer-intro { grid-area: intro; }
 .ss-footer-layout--with-discord .ss-footer-links { grid-area: links; }
 .ss-footer-layout--with-discord .ss-footer-lounge { grid-area: lounge; }
}
@media(max-width:767.98px) {
 .ss-footer-main { padding-inline: 4px; }
 .ss-footer-layout,.ss-footer-layout--with-discord { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .ss-footer-menus { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
 .ss-footer-lounge { max-width: 420px; justify-self: center; }
}

/* END FOOTER MODULE */
.ss-footer-ground { position: relative; overflow: visible; }
.ss-grass-blades { position: absolute; inset: -22px 0 0; overflow: clip; pointer-events: none; }
.ss-grass-blades i { position: absolute; bottom: 17px; left: var(--x); height: var(--h); width: clamp(7px,1vw,14px); background: var(--ss-grass-front); clip-path: polygon(40% 100%,0 0,60% 35%,100% 100%); transform-origin: 50% 100%; animation: ss-grass-wind var(--speed) ease-in-out var(--delay) infinite alternate; animation-play-state: paused; }
.ss-grass-blades--back i { background: var(--ss-grass-back); bottom: 23px; }
.ss-footer.is-in-view .ss-grass-blades i { animation-play-state: running; }
.ss-tab-hidden .ss-footer .ss-grass-blades i { animation-play-state: paused; }
@keyframes ss-grass-wind { from { transform: skewX(-20deg) rotate(-9deg); } to { transform: skewX(24deg) rotate(12deg); } }
@media(max-width:1199.98px) {
 .ss-header .ss-header-row { padding-inline: 20px; }
 .ss-topbar-start { font-size: .75rem; }
 .ss-topbar-status { gap: 4px; }
 .ss-topbar-start .ss-topbar-ip { font-size: .76rem; padding-inline: 4px; }
}
@media(max-width:767.98px) {
 .ss-topbar .ss-topbar-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 8px; }
 .ss-topbar .ss-rotator { grid-row: 1; grid-column: 1 / -1; height: 32px; }
 .ss-topbar .ss-rotator a { font-size: .73rem; }
 .ss-topbar-start { grid-row: 2; grid-column: 1; gap: 2px 8px; min-height: 36px; padding-block: 3px; }
 .ss-topbar-status { font-size: .68rem; }
 .ss-topbar-end { grid-row: 2; grid-column: 2; font-size: .75rem; }
 .ss-topbar-start .ss-topbar-ip { padding: 0; background: none; font-size: .7rem; }
 .ss-topbar-ip-ico { display: none; }
 .ss-header .ss-header-row { padding-inline: 16px; gap: 8px; }
 .ss-header .ss-brand-word b { font-size: clamp(1rem,4vw,1.3rem); }
 .ss-header .ss-actions { gap: 6px; }
 .ss-header .ss-guest { gap: 6px; }
 .ss-header .ss-auth-btn { min-height: 40px; padding: 9px 10px; font-size: .75rem; }
 .ss-header .ss-auth-btn > i { display: none; }
 .ss-header .ss-burger { width: 38px; }
 .ss-hero--realm .ss-hero-minecraft { min-height: max(560px,calc(100svh - var(--ss-nav-h,140px))); padding-block: 54px; }
 .ss-realm-launch { max-width: 100%; column-gap: 14px; row-gap: 32px; }
 .ss-realm-logo { height: 110px; width: min(100%,360px); }
 .ss-realm-slogan { font-size: 1.2rem; }
 .ss-realm-actions { margin-top: 28px; gap: 8px; }
 .ss-realm-actions .btn { min-width: 0; padding-inline: 16px; }
 .ss-realm-season { margin-top: 24px; }
 .ss-realm-link { max-width: 100%; gap: 6px; }
 .ss-realm-link-copy b { font-size: clamp(.84rem,3vw,1.1rem); }
 .ss-realm-link-copy small,.ss-realm-link-copy > span { font-size: .65rem; }
 .ss-realm-icon { width: 30px; height: 32px; font-size: 1.8rem; }
 .ss-realm-icon .ss-discord-icon { width: 29px; height: 24px; }
 .ss-article-hero { min-height: 320px; }
 .ss-article-hero-inner { gap: 16px; }
 .ss-article-meta { gap: 10px 14px; font-size: .8rem; }
}
@media(prefers-reduced-motion:reduce) { .ss-footer .ss-grass-blades i { animation: none; } }
html:not(.ss-motion) .ss-footer .ss-grass-blades i { animation: none; }
/* Phone fit (iPhone 17 = 402px and narrower): one-line announcement bar, a header that keeps the menu button on screen,
   store art beside its text instead of under it, single-row filters. */
@media(max-width:767.98px) {
 .ss-topbar .ss-topbar-row { display: flex; align-items: center; gap: 10px; min-height: 36px; padding-inline: 14px; }
 .ss-topbar-start { flex: none; min-height: 0; padding: 0; }
 .ss-topbar-start .ss-topbar-ip { display: none; }
 .ss-topbar-status { gap: 6px; font-size: 0; }
 .ss-topbar-status b { font-size: .74rem; }
 .ss-topbar .ss-rotator { flex: 1 1 auto; min-width: 0; height: 36px; }
 .ss-topbar .ss-rotator a { padding-inline: 2px; font-size: .72rem; }
 .ss-topbar .ss-rotator a span { min-width: 0; }
 .ss-topbar-end { flex: none; margin-left: auto; font-size: .74rem; }
 .ss-topbar-link span { display: none; }
 .ss-filter { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
 .ss-filter::-webkit-scrollbar { display: none; }
 .ss-filter > * { flex: none; }
 .ss-store-promo .ss-chip-row { max-width: 60%; }
}
@media(max-width:575.98px) {
 .ss-cat--voxel .ss-cat-stage--world, .ss-cat--voxel:not(.ss-cat--xl) .ss-cat-stage--world { width: 72px; height: 72px; max-height: none; min-height: 0; margin: 0; align-self: center; }
 .ss-cat--voxel .ss-cat-stage--world img, .ss-cat--voxel:not(.ss-cat--xl) .ss-cat-stage--world img { width: 100%; height: 100%; }
 .ss-cat--voxel:not(.ss-cat--xl) { grid-template-rows: auto; }
 .ss-cat-foot, .ss-cat--xl .ss-cat-foot, .ss-cat--voxel .ss-cat-foot { border-top: 0; background: none; }
 .ss-cat--voxel::after { display: none; }
 .ss-holo { width: min(250px,74%); }
 .ss-holo-stage img { width: min(70%,120px); }
 .ss-holo-name { font-size: 1.2rem; }
}
@media(max-width:389.98px) {
 .ss-header .ss-header-row { padding-inline: 12px; gap: 6px; }
 .ss-header .ss-brand { flex: 0 1 auto; min-width: 0; }
 .ss-header .ss-brand-word, .ss-header .ss-brand-word b { min-width: 0; max-width: 100%; }
 .ss-header .ss-auth-btn--in { flex: none; width: 42px; min-width: 42px; padding-inline: 0; justify-content: center; }
 .ss-header .ss-auth-btn--in > i { display: inline-block; font-size: 1.1rem; }
 .ss-header .ss-auth-btn--in > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* Rounded corners on iPhone Safari. WebKit paints filtered or composited layers outside a rounded overflow clip,
   so the blurred world art behind panel heads showed square corners (sidebars, top supporters). The art now sits
   exactly inside the head, takes its radius and needs no blur; cards with moving art get their own layer on iOS. */
:is(aside,.ss-side,.ss-aside,.ss-acc-side,.ss-store-side,.ss-lb-side) .ss-panel-head::before,
.ss-pl-side-title::before, .ss-store-side-title::before, .ss-tbx-side-title::before,
.ss-community-section .ss-panel .ss-panel-head::before,
.ss-dc-board-head::before { inset: 0; filter: none; border-radius: inherit; }
:is(aside,.ss-side,.ss-aside,.ss-acc-side,.ss-store-side,.ss-lb-side) .ss-panel-head::after,
.ss-pl-side-title::after, .ss-store-side-title::after, .ss-tbx-side-title::after,
.ss-community-section .ss-panel .ss-panel-head::after,
.ss-dc-board-head::after { border-radius: inherit; }
@supports (-webkit-touch-callout: none) {
 .ss-cat, .ss-tile, .ss-store-promo, .ss-product, .ss-product-media, .ss-forum-group, .ss-help-card, .ss-feature, .ss-news-card, .ss-mode, .ss-panel-head, .ss-pl-card { will-change: transform; }
}
/* Game-mode carousel on phones and tablets: sideways only (it used to scroll a few px vertically under the thumb),
   and snapping keeps the first card on the page gutter instead of the screen edge. */
@media(max-width:991.98px) {
 .ss-modes, .ss-modes[data-count] { overflow-y: hidden; overscroll-behavior-x: contain; scroll-padding-inline: calc(var(--bs-gutter-x) * .5); margin-top: -6px; padding-top: 6px; }
}
/* Phone text floor: nothing readable under 12px. These labels were sized in rem for desktop and shrank to 9–11.8px on
   phones; !important is limited to this floor so it wins over the component rules it corrects. */
@media(max-width:767.98px) {
 .ss-topbar-status b, .ss-rotator a span, .ss-topbar-link b, .ss-realm-link-copy small, .ss-realm-link-copy span,
 .ss-section-kicker, .ss-holo-top span, .ss-lounge-identity p, .ss-lounge-roster-label, .ss-lounge-presence b, .ss-lounge-presence span,
 .ss-dc-member-copy b, .ss-dc-member-copy small, .ss-dc-board-status, .ss-mc-field label { font-size: .75rem !important; }
}
/* LeaderOS cookie consent (TermsFeed 4.0, module cookie_consent): a Sunstone card on desktop and a slim bottom bar on
   phones (≤120px instead of the default half-screen box). The id selector outranks TermsFeed's stylesheet, which is
   injected after the theme CSS. */
#termsfeed-com---nb.termsfeed-com---nb { position: fixed; inset: auto auto 24px 24px; width: min(440px, calc(100vw - 48px)); max-width: none; height: auto; padding: 18px 20px; margin: 0; border: 1px solid var(--band-card-line); border-radius: var(--ss-r-lg, 20px); background: var(--band-card); color: var(--band-fg); box-shadow: var(--ss-shadow-float); font-family: var(--ss-font); }
#termsfeed-com---nb .cc-nb-main-container { padding: 0; }
#termsfeed-com---nb .cc-nb-title { margin: 0 0 6px; font: 700 1.05rem/1.3 var(--ss-display); color: var(--band-fg); }
#termsfeed-com---nb .cc-nb-text { margin: 0 0 14px; font: 400 .92rem/1.5 var(--ss-font); color: var(--band-muted); }
#termsfeed-com---nb .cc-nb-buttons-container { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
#termsfeed-com---nb .cc-nb-okagree, #termsfeed-com---nb .cc-nb-changep, #termsfeed-com---nb .cc-nb-reject { margin: 0; padding: 10px 16px; border: 0; border-radius: var(--ss-r, 14px); font: 700 .9rem/1.2 var(--ss-font); cursor: pointer; transition: transform .15s var(--ss-ease, ease); }
#termsfeed-com---nb .cc-nb-okagree { background: var(--ss-accent); color: var(--ss-on-accent); box-shadow: 0 4px 0 var(--ss-accent-edge, rgba(0, 0, 0, .25)); }
#termsfeed-com---nb .cc-nb-okagree:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--ss-accent-edge, rgba(0, 0, 0, .25)); }
#termsfeed-com---nb .cc-nb-changep, #termsfeed-com---nb .cc-nb-reject { background: transparent; color: var(--band-fg); box-shadow: inset 0 0 0 1.5px var(--band-card-line); }
#termsfeed-com---nb :is(.cc-nb-okagree, .cc-nb-changep, .cc-nb-reject):focus-visible { outline: 3px solid var(--ss-accent); outline-offset: 2px; }
@media(max-width:575.98px) {
 #termsfeed-com---nb.termsfeed-com---nb { inset: auto 8px 8px 8px; width: auto; padding: 12px 14px; border-radius: var(--ss-r, 14px); }
 #termsfeed-com---nb .cc-nb-title-container { display: none; }
 #termsfeed-com---nb .cc-nb-text { margin-bottom: 10px; font-size: .82rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
 #termsfeed-com---nb .cc-nb-buttons-container { flex-wrap: nowrap; }
 #termsfeed-com---nb .cc-nb-okagree, #termsfeed-com---nb .cc-nb-changep { flex: 1; padding: 9px 10px; font-size: .82rem; }
}