/* Sève Noire — interface « Lire » (plateforme de lecture dans le navigateur). */
body.snl-lire { --snl-header: 0px; background: var(--snl-paper); }
html.snl-night body.snl-lire {
	--wp--preset--color--paper: #191a18; --wp--preset--color--white: #222320; --wp--preset--color--ink: #f3eee4;
	--wp--preset--color--muted: #b2aa9e; --wp--preset--color--sand: #30312c; --wp--preset--color--red: #d9604a; --wp--preset--color--blue: #7f9be0;
	--wp--custom--rule: rgba(243, 238, 228, 0.2); color-scheme: dark;
}
.snl-app { display: grid; grid-template-columns: 224px minmax(0, 1fr); min-height: 100vh; font-size: 0.875rem; background: var(--snl-paper); color: var(--snl-ink); }
.snl-app > * { margin: 0 !important; }
.snl-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.5rem 1.05rem; background: var(--wp--preset--color--white); border-right: 1px solid var(--snl-rule); z-index: 5; overflow-y: auto; }
body.admin-bar .snl-sidebar { top: 32px; height: calc(100vh - 32px); }
.snl-sidebar__brand { padding: 0.25rem 0.5rem 1.4rem; border-bottom: 1px solid var(--snl-rule); }
.snl-lire-brand { display: flex; align-items: center; gap: 0.65rem; }
.snl-seal { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--snl-ink); border-radius: 50%; font: 1.2rem var(--snl-serif); }
.snl-seal::after { content: ""; position: absolute; top: 4px; right: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--snl-red); }
.snl-lire-brand__name { display: block; font: 500 1rem var(--snl-serif); letter-spacing: 0.015em; }
.snl-lire-brand__tag { display: block; margin-top: 3px; font-size: 0.5rem; letter-spacing: 0.28em; text-transform: uppercase; text-align: center; }
.snl-nav-label { margin: 1.5rem 0.6rem 0.55rem !important; color: var(--snl-muted); font: 400 0.5rem var(--snl-sans); letter-spacing: 0.18em; text-transform: uppercase; }
.snl-app-nav { width: 100%; }
.snl-app-nav .wp-block-navigation__container { width: 100%; gap: 0.2rem; align-items: stretch; }
.snl-app-nav .wp-block-navigation-item { width: 100%; }
.snl-app-nav .wp-block-navigation-item__content { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0.7rem 0.6rem; border-radius: 3px; color: #49453f; font-size: 0.6875rem; }
html.snl-night .snl-app-nav .wp-block-navigation-item__content { color: var(--snl-muted); }
.snl-ico .wp-block-navigation-item__content::before { width: 17px; color: var(--snl-muted); font-size: 0.875rem; text-align: center; content: "•"; }
.snl-ico--home .wp-block-navigation-item__content::before { content: "⌂"; }
.snl-ico--catalog .wp-block-navigation-item__content::before { content: "▤"; }
.snl-ico--library .wp-block-navigation-item__content::before { content: "♡"; }
.snl-ico--audio .wp-block-navigation-item__content::before { content: "♬"; }
.snl-ico--film .wp-block-navigation-item__content::before { content: "▷"; }
.snl-ico--account .wp-block-navigation-item__content::before { content: "◷"; }
.snl-app-nav .wp-block-navigation-item__content:hover, .snl-app-nav [aria-current="page"] { background: rgba(127, 117, 98, 0.14); color: var(--snl-ink); }
.snl-app-nav [aria-current="page"] { box-shadow: inset 2px 0 var(--snl-red); }
.snl-sidebar__bottom { margin-top: auto !important; padding: 0.9rem 0.5rem 0.1rem; border-top: 1px solid var(--snl-rule); color: var(--snl-muted); font-size: 0.5625rem; line-height: 1.6; }
.snl-sidebar__bottom p { margin: 0 0 0.9rem; }
.snl-sidebar__bottom a { color: var(--snl-red); }
.snl-app__main { min-width: 0; }
.snl-topbar { position: sticky; top: 0; z-index: 4; height: 65px; padding: 0 clamp(1.125rem, 4vw, 3.4rem); background: color-mix(in srgb, var(--snl-paper) 94%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--snl-rule); }
body.admin-bar .snl-topbar { top: 32px; }
.snl-mobile-brand { display: none; font: 1rem var(--snl-serif); }
.snl-mobile-brand span { font: 0.5625rem var(--snl-sans); letter-spacing: 0.2em; }
.snl-search { position: relative; width: min(390px, 48vw); }
.snl-search::before { content: "⌕"; position: absolute; left: 0.75rem; top: 50%; transform: translateY(-52%); color: var(--snl-muted); font-size: 1.1rem; pointer-events: none; }
.snl-search input { width: 100%; padding: 0.65rem 0.75rem 0.65rem 2.1rem; border: 1px solid var(--snl-rule); background: var(--wp--preset--color--white); color: var(--snl-ink); font: 0.6875rem var(--snl-sans); }
.snl-topbar__actions { display: flex; align-items: center; gap: 0.9rem; }
.snl-icon-btn { padding: 0.3rem; border: 0; background: none; color: inherit; font-size: 1.05rem; cursor: pointer; }
.snl-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--snl-sand); font: 0.95rem var(--snl-serif); }
.snl-chip-login { font: 700 0.5625rem var(--snl-sans); letter-spacing: 0.1em; text-transform: uppercase; }
.snl-chip-login:hover { color: var(--snl-red); }
.snl-app__wrap { max-width: 1440px; margin: 0 auto !important; padding: 1.75rem clamp(1.125rem, 4vw, 3.4rem) 4.4rem; }
.snl-app__wrap > * { margin-block: 0; }
.snl-app__wrap--reader { padding-bottom: 6rem; }
.snl-app .snl-eyebrow { font-size: 0.5rem; margin-bottom: 0.5rem; letter-spacing: 0.17em; }
.snl-app-title { margin: 0.5rem 0 0.55rem !important; font-size: clamp(2.1rem, 4vw, 3.4rem) !important; letter-spacing: -0.035em; line-height: 1; }
.snl-app .snl-lead { max-width: 610px; margin: 0; font-size: 0.75rem; line-height: 1.65; }
.snl-app .wp-block-button__link { padding: 0.8rem 1rem; font-size: 0.5625rem; letter-spacing: 0.08em; }
.snl-page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.1rem; margin: 0.4rem 0 1.5rem; }
.snl-sec { margin-bottom: 2.2rem; }
.snl-sec-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.9rem; padding-bottom: 0.55rem; border-bottom: 1px solid var(--snl-ink); }
.snl-sec-head h2 { margin: 0; font-size: 1.625rem; letter-spacing: -0.02em; }
.snl-sec-head .snl-sub { margin: 0.25rem 0 0; color: var(--snl-muted); font-size: 0.5625rem; }
.snl-sec-head .snl-text-link { margin: 0; } .snl-sec-head .snl-text-link a { padding: 0.3rem; border: 0; color: var(--snl-red); font-size: 0.5625rem; }
.snl-app .snl-grid .wp-block-post-template, .snl-grid--catalog .wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; }
.snl-app .snl-card { background: var(--wp--preset--color--white); border: 1px solid var(--snl-rule); box-shadow: none; }
.snl-app .snl-card__cover { aspect-ratio: auto; height: 190px; position: relative; }
.snl-app .snl-card__body .wp-block-post-title { font-size: 0.9375rem; letter-spacing: 0; }
.snl-app .snl-card__body .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.snl-meta { margin: 0; color: var(--snl-muted); font: italic 0.625rem var(--snl-serif); }
.snl-meta.snl-eyebrow { font: 700 0.5rem var(--snl-sans); }
.snl-progress-line { height: 3px; margin-top: 0.4rem; background: rgba(127, 117, 98, 0.25); }
.snl-progress-line span { display: block; height: 100%; background: var(--snl-red); }
.snl-progress-label { display: flex; justify-content: space-between; margin-top: 0.5rem; color: var(--snl-muted); font-size: 0.5rem; }
.snl-continue { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; }
.snl-continue .snl-card__cover a { display: block; height: 100%; }
.snl-prompt { padding: 1.4rem; border: 1px dashed var(--snl-rule); color: var(--snl-muted); font-size: 0.75rem; line-height: 1.6; }
.snl-prompt a { color: var(--snl-red); font-weight: 600; }
/* À la une */
.snl-featured { position: relative; display: flex; align-items: flex-end; min-height: 330px; margin-bottom: 2.1rem; padding: clamp(1.5rem, 5vw, 3.4rem); overflow: hidden; background: linear-gradient(160deg, #26392b 2%, #7b593b 45%, #161b17 78%); color: #fffdf7; }
.snl-featured__art { position: absolute; inset: 0; }
.snl-featured__art img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; }
.snl-featured::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(18, 18, 15, 0.92), rgba(23, 25, 20, 0.7) 45%, rgba(17, 17, 12, 0.05)), linear-gradient(0deg, rgba(16, 16, 11, 0.55), transparent 50%); }
.snl-featured__content { position: relative; z-index: 2; max-width: 465px; }
.snl-featured__kicker { display: inline-block; margin-bottom: 0.75rem; padding: 0.4rem 0.55rem; background: var(--snl-red); color: #fff; font: 700 0.5rem var(--snl-sans); letter-spacing: 0.14em; text-transform: uppercase; }
.snl-featured h2 { margin: 0 0 0.45rem; font-size: clamp(2.1rem, 4.3vw, 3.4rem); letter-spacing: -0.03em; line-height: 0.98; }
.snl-featured__author { margin: 0 0 0.75rem; font: italic 0.8125rem var(--snl-serif); color: #e7ddcc; }
.snl-featured__copy { max-width: 380px; margin: 0 0 1.1rem; color: #e9e3d8; font-size: 0.625rem; line-height: 1.6; }
.snl-featured .snl-btns { display: flex; gap: 0.55rem; flex-wrap: wrap; }
.snl-btn { display: inline-block; padding: 0.8rem 1rem; border: 1px solid transparent; font: 700 0.5625rem var(--snl-sans); letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: background 0.2s, color 0.2s; }
.snl-btn--red { background: var(--snl-red); color: #fff; } .snl-btn--red:hover { background: #8f3022; color: #fff; }
.snl-btn--line { background: transparent; border-color: currentColor; color: inherit; } .snl-btn--line:hover { background: var(--snl-ink); color: var(--snl-paper); }
.snl-featured .snl-btn--line { border-color: rgba(255, 255, 255, 0.6); color: #fff; } .snl-featured .snl-btn--line:hover { background: #fff; color: var(--snl-ink); }
.snl-account-card { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.6rem; background: linear-gradient(120deg, var(--snl-sand), color-mix(in srgb, var(--snl-sand) 70%, var(--snl-paper))); }
.snl-account-card h2 { margin: 0 0 0.5rem; font-size: 1.6rem; letter-spacing: -0.02em; }
.snl-account-card p { max-width: 520px; margin: 0; font-size: 0.75rem; line-height: 1.6; color: var(--snl-muted); }
.snl-coming, .snl-audio-panel { padding: 1.6rem; margin-top: 1.25rem; background: var(--snl-sand); display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.snl-audio-panel { display: block; background: var(--snl-ink); color: var(--snl-paper); }
html.snl-night .snl-audio-panel { background: #0f100e; color: #f3eee4; }
.snl-audio-panel h2, .snl-coming h2, .snl-coming h3 { margin: 0 0 0.5rem; font-size: 1.75rem; letter-spacing: -0.02em; }
.snl-audio-panel p, .snl-coming p { max-width: 560px; margin: 0; font-size: 0.75rem; line-height: 1.65; color: inherit; opacity: 0.8; }
/* Catalogue */
.snl-filters { display: grid; gap: 0.75rem; margin-bottom: 1.2rem; }
.snl-filters__row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.snl-filters input[type="search"], .snl-filters select { padding: 0.65rem; border: 1px solid var(--snl-rule); background: var(--wp--preset--color--white); color: var(--snl-ink); font: 0.6875rem var(--snl-sans); }
.snl-filters input[type="search"] { flex: 1; min-width: 190px; }
.snl-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.snl-chip { padding: 0.45rem 0.7rem; border: 1px solid var(--snl-rule); border-radius: 30px; font-size: 0.5625rem; }
.snl-chip:hover, .snl-chip.is-active { border-color: var(--snl-ink); background: var(--snl-ink); color: var(--snl-paper); }
/* Série */
.snl-split-feature { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.snl-large-cover { min-height: 370px; overflow: hidden; background: linear-gradient(135deg, #21372b, #a7633d 53%, #1c1b17); }
.snl-large-cover figure, .snl-large-cover img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.snl-detail p { max-width: 620px; font-size: 0.6875rem; line-height: 1.7; color: color-mix(in srgb, var(--snl-ink) 78%, transparent); }
.snl-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.75rem 0 1rem; }
.snl-tags a, .snl-tags span { padding: 0.35rem 0.5rem; background: var(--snl-sand); font-size: 0.5rem; letter-spacing: 0.05em; text-transform: uppercase; }
.snl-episodes { margin: 1.2rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--snl-ink); }
.snl-episode { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; padding: 0.9rem 0.5rem; border-bottom: 1px solid var(--snl-rule); }
.snl-episode__num { color: var(--snl-red); font: 1.2rem var(--snl-serif); }
.snl-episode h3 { margin: 0 0 0.2rem; font: 400 1.0625rem var(--snl-serif); letter-spacing: 0; }
.snl-episode small { color: var(--snl-muted); font-size: 0.5625rem; }
.snl-episode__go { color: var(--snl-red); font-size: 0.9rem; }
.snl-episode.is-locked .snl-episode__go { color: var(--snl-muted); font-size: 0.5625rem; letter-spacing: 0.06em; text-transform: uppercase; }
.snl-episode.is-soon { opacity: 0.55; }
.snl-episode { position: relative; }
.snl-episode h3 a::after { content: ""; position: absolute; inset: 0; }
/* Lecteur */
.snl-reader-layout { display: grid; grid-template-columns: 190px minmax(0, 730px) 190px; justify-content: center; gap: 2.2rem; align-items: start; }
.snl-reader-toc { position: sticky; top: 92px; }
.snl-reader-toc h3 { margin: 0 0 0.8rem; font: 400 1.1rem var(--snl-serif); letter-spacing: 0; }
.snl-toc { display: grid; padding: 0; margin: 0; list-style: none; }
.snl-toc a { display: block; padding: 0.55rem 0.65rem; border-left: 1px solid var(--snl-rule); color: var(--snl-muted); font-size: 0.5625rem; }
.snl-toc .is-current a { border-left: 2px solid var(--snl-red); color: var(--snl-ink); }
.snl-toc .is-locked a::after { content: " · compte"; font-size: 0.5rem; }
.snl-reader-paper { min-height: 70vh; padding: clamp(1.4rem, 5vw, 3.6rem); background: var(--wp--preset--color--white); border: 1px solid var(--snl-rule); box-shadow: 0 8px 28px rgba(36, 27, 11, 0.03); }
.snl-reader-tools { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.9rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--snl-rule); font-size: 0.625rem; }
.snl-reader-tools button, .snl-reader-tools a { padding: 0.2rem; border: 0; background: none; color: inherit; font-size: 0.625rem; cursor: pointer; }
.snl-reader-title { margin: 0 0 0.4rem !important; font-size: clamp(1.9rem, 3.6vw, 2.2rem) !important; letter-spacing: -0.02em; line-height: 1.05; }
.snl-reader-byline { margin: 0 0 1.6rem; color: var(--snl-muted); font: italic 0.75rem var(--snl-serif); }
.snl-reader-text { max-width: 580px; margin: 0 auto; font: 400 var(--snl-reader-size, 1.0625rem)/1.95 Georgia, "Times New Roman", serif; }
.snl-reader-text > * { margin-block: 0 1.35em; font-size: inherit; line-height: inherit; }
.snl-reader-text h2, .snl-reader-text h3 { margin-top: 1.8em; font-family: var(--snl-serif); line-height: 1.15; letter-spacing: -0.02em; }
.snl-endmark { margin: 2rem 0 0; text-align: center; color: var(--snl-red); font-size: 1.5rem; }
.snl-reader-side { position: sticky; top: 95px; }
.snl-reader-side .snl-reader-tools { display: grid; gap: 0; margin: 0; padding: 0; border: 0; }
.snl-reader-side button, .snl-reader-side a { width: 100%; padding: 0.75rem 0; border: 0; border-bottom: 1px solid var(--snl-rule); background: none; color: var(--snl-muted); font-size: 0.5625rem; text-align: left; cursor: pointer; }
.snl-reader-side button:hover, .snl-reader-side a:hover { color: var(--snl-red); }
.snl-reader-progress { position: sticky; bottom: 0; z-index: 3; display: flex; align-items: center; gap: 0.75rem; padding: 0.8rem clamp(1.125rem, 4vw, 3.4rem); background: color-mix(in srgb, var(--snl-paper) 94%, transparent); border-top: 1px solid var(--snl-rule); font-size: 0.5625rem; color: var(--snl-muted); }
.snl-reader-progress__bar { flex: 1; height: 3px; background: rgba(127, 117, 98, 0.3); }
.snl-reader-progress__bar span { display: block; width: 0; height: 100%; background: var(--snl-red); transition: width 0.15s; }
.snl-episode-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.4rem; padding-block: 1.4rem; border-block: 1px solid var(--snl-rule); }
.snl-episode-nav small { display: block; color: var(--snl-red); font: 700 0.5rem var(--snl-sans); letter-spacing: 0.14em; text-transform: uppercase; }
.snl-episode-nav strong { font: 400 1.25rem var(--snl-serif); }
.snl-episode-nav a:last-child { text-align: right; }
.snl-audio-player { margin: 0 0 1.6rem; padding: 0.9rem 1rem; background: var(--snl-sand); }
.snl-audio-player audio { width: 100%; }
/* Barrière : compte requis */
.snl-gate { max-width: 560px; margin: 1.5rem auto 0; padding: 1.9rem; border: 1px solid var(--snl-ink); background: var(--snl-paper); text-align: center; font-family: var(--snl-sans); }
.snl-gate .snl-eyebrow { font-size: 0.5625rem; }
.snl-gate h2 { margin: 0 0 0.7rem; font-size: 1.875rem; letter-spacing: -0.03em; line-height: 1.05; }
.snl-gate p { margin: 0 auto 1.1rem; max-width: 42ch; font-size: 0.8125rem; line-height: 1.65; color: var(--snl-muted); }
.snl-gate .snl-btns { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; }
.snl-gate-inline { margin-top: 1.5rem; padding: 1.3rem; background: var(--snl-sand); text-align: center; }
.snl-gate-inline p { margin: 0 0 0.9rem; font-size: 0.75rem; }
.snl-gate-inline strong { display: block; margin-bottom: 0.3rem; font: 400 1.25rem var(--snl-serif); }
/* Bibliothèque, compte, formulaires */
.snl-tabs { display: flex; gap: 1.25rem; margin: 0.9rem 0 1.1rem; border-bottom: 1px solid var(--snl-ink); }
.snl-tabs a { padding: 0.65rem 0; color: var(--snl-muted); font-size: 0.5625rem; border-bottom: 2px solid transparent; }
.snl-tabs a.is-active { color: var(--snl-ink); border-bottom-color: var(--snl-red); }
.snl-library-list { background: var(--wp--preset--color--white); border: 1px solid var(--snl-rule); }
.snl-library-row { display: grid; grid-template-columns: 60px 1fr 120px auto; gap: 0.85rem; align-items: center; padding: 0.7rem 0.85rem; border-bottom: 1px solid var(--snl-rule); }
.snl-library-row:last-child { border-bottom: 0; }
.snl-mini-cover { height: 63px; overflow: hidden; background: linear-gradient(135deg, #5f201f, #b23c2f 50%, #171612); }
.snl-mini-cover img { width: 100%; height: 100%; object-fit: cover; }
.snl-library-row h3 { margin: 0 0 0.2rem; font: 400 1.0625rem var(--snl-serif); letter-spacing: 0; }
.snl-library-row small { color: var(--snl-muted); font-size: 0.5625rem; }
.snl-library-row .snl-link { color: var(--snl-red); font-size: 0.5625rem; font-weight: 700; }
.snl-empty { padding: 1.6rem; color: var(--snl-muted); font: 1.1rem var(--snl-serif); }
.snl-auth { max-width: 460px; margin: 0 auto; padding: clamp(0rem, 4vw, 1rem) 0 2rem; }
.snl-focus { display: grid; place-content: center; min-height: 100vh; padding: 2rem 1.125rem; background: var(--snl-paper); }
.snl-focus__back { display: block; margin: 0 auto 1.4rem; width: min(460px, 100%); font: 700 0.625rem var(--snl-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--snl-red); }
.snl-focus__card { width: min(460px, 100%); margin-inline: auto; padding: clamp(1.4rem, 5vw, 2.4rem); background: var(--wp--preset--color--white); border: 1px solid var(--snl-rule); }
.snl-focus__card .snl-auth { padding: 0; }
.snl-form { display: grid; gap: 1rem; margin-top: 1.5rem; font-family: var(--snl-sans); }
.snl-field { display: grid; gap: 0.35rem; }
.snl-field label { font: 700 0.625rem var(--snl-sans); letter-spacing: 0.1em; text-transform: uppercase; }
.snl-field input[type="text"], .snl-field input[type="email"], .snl-field input[type="password"] { width: 100%; padding: 0.8rem; border: 1px solid var(--snl-rule); background: var(--snl-paper); color: var(--snl-ink); font: 1rem var(--snl-sans); }
.snl-field small { color: var(--snl-muted); font-size: 0.6875rem; }
.snl-check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.75rem; line-height: 1.5; color: var(--snl-muted); }
.snl-check input { margin-top: 0.2rem; }
.snl-check a { color: var(--snl-red); text-decoration: underline; }
.snl-form__error, .snl-form__ok { padding: 0.8rem 1rem; font-size: 0.8125rem; border-left: 3px solid var(--snl-red); background: color-mix(in srgb, var(--snl-red) 10%, var(--snl-paper)); }
.snl-form__ok { border-left-color: var(--snl-green); background: color-mix(in srgb, var(--snl-green) 12%, var(--snl-paper)); }
.snl-form__links { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.75rem; }
.snl-form__links a { color: var(--snl-red); text-decoration: underline; }
.snl-form .snl-btn { padding: 1rem 1.25rem; font-size: 0.6875rem; }
.snl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.snl-account section { margin-bottom: 2rem; padding: 1.4rem; background: var(--wp--preset--color--white); border: 1px solid var(--snl-rule); }
.snl-account h2 { margin: 0 0 0.7rem; font-size: 1.4rem; letter-spacing: -0.02em; }
.snl-account p { max-width: 62ch; font-size: 0.75rem; line-height: 1.65; color: var(--snl-muted); }
.snl-account .snl-form { max-width: 460px; margin-top: 0.8rem; }
.snl-btn--danger { background: transparent; border-color: var(--snl-red); color: var(--snl-red); } .snl-btn--danger:hover { background: var(--snl-red); color: #fff; }

@media (max-width: 1100px) {
	.snl-app { grid-template-columns: 195px minmax(0, 1fr); }
	.snl-continue, .snl-app .snl-grid .wp-block-post-template, .snl-grid--catalog .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.snl-reader-layout { grid-template-columns: 155px minmax(0, 700px); gap: 1.4rem; }
	.snl-reader-side { display: none; }
}
@media (max-width: 760px) {
	.snl-app { display: block; padding-bottom: 62px; }
	.snl-sidebar { display: none; }
	.snl-topbar { height: 58px; padding-inline: 0.95rem; }
	.snl-mobile-brand { display: block; }
	.snl-search { width: min(260px, 47vw); }
	.snl-app__wrap { padding: 1.4rem 0.95rem 2.2rem; }
	.snl-page-head, .snl-account-card, .snl-coming { flex-direction: column; align-items: flex-start; }
	.snl-continue, .snl-app .snl-grid .wp-block-post-template, .snl-grid--catalog .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
	.snl-app .snl-card__cover { height: 135px; }
	.snl-featured { min-height: 310px; padding: 1.4rem; }
	.snl-split-feature { grid-template-columns: 115px minmax(0, 1fr); gap: 0.95rem; }
	.snl-large-cover { min-height: 170px; }
	.snl-reader-layout { display: block; }
	.snl-reader-toc { position: static; margin-bottom: 0.75rem; }
	.snl-reader-toc h3 { display: none; }
	.snl-toc { display: flex; overflow-x: auto; gap: 0.25rem; }
	.snl-toc a { white-space: nowrap; border-left: 0; border-bottom: 1px solid var(--snl-rule); }
	.snl-toc .is-current a { border-left: 0; border-bottom: 2px solid var(--snl-red); }
	.snl-reader-paper { min-height: 65vh; padding: 1.4rem 1.2rem; }
	.snl-reader-progress { bottom: 62px; padding-inline: 0.9rem; }
	.snl-library-row { grid-template-columns: 50px 1fr auto; }
	.snl-library-row .snl-progress-col { display: none; }
	.snl-tabbar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 6; height: 62px; padding-bottom: env(safe-area-inset-bottom); background: var(--wp--preset--color--white); border-top: 1px solid var(--snl-rule); }
	.snl-tabbar .wp-block-navigation__container { width: 100%; justify-content: space-around; }
	.snl-tabbar .wp-block-navigation-item__content { display: grid; justify-items: center; gap: 2px; padding: 0.5rem 0.2rem; font-size: 0.5rem; color: var(--snl-muted); }
	.snl-tabbar .wp-block-navigation-item__content::before { font-size: 1rem; }
	.snl-tabbar [aria-current="page"] { color: var(--snl-red); }
}
@media (min-width: 761px) { .snl-tabbar { display: none; } }
@media (max-width: 390px) { .snl-top-actions .snl-avatar { display: none; } .snl-search { width: 40vw; } }
