/* Hallmark · pre-emit critique: P5 H4 E4 S5 R4 V5
 * Hallmark · genre: playful · macrostructure: Ecosystem Index · theme: Hum · enrichment: none · nav: N13 · footer: Ft8
 * contrast: pass (40–41) · slop: pass (1–58) · mobile: pass (34, 49, 50–57)
 * audience: Vietnamese 16+ mobile meme viewers · use: browse and interact · tone: playful, sharp, warm
 */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;text-rendering:optimizeLegibility}
body.admin-bar .site-header{top:2rem}
img,video,iframe{display:block;max-width:100%}
img,video{height:auto}
button,input,textarea,select{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.16;letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0}
p{max-width:65ch}
button{cursor:pointer}
.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:var(--z-toast);inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);width:auto;height:auto;margin:0;padding:var(--space-sm) var(--space-md);clip:auto;background:var(--color-paper);color:var(--color-ink);border:var(--rule-strong) solid var(--color-focus);border-radius:var(--radius-sm)}
:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:3px}
.vv-icon{flex:none}

.site-header{position:sticky;z-index:var(--z-sticky);inset-block-start:0;height:var(--header-height);background:var(--color-paper);border-block-end:var(--rule-thin) solid var(--color-rule)}
.header-shell{width:min(100%,var(--shell-width));height:100%;margin-inline:auto;padding-inline:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}
.brand{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.04em;white-space:nowrap}
.brand-mark{position:relative;width:2rem;height:2rem;flex:none;border-radius:45% 55% 48% 52%;background:var(--color-accent);border:var(--rule-strong) solid var(--color-ink);transform:rotate(-3deg)}
.brand-mark i{position:absolute;inset-block-start:.58rem;width:.25rem;height:.3rem;border-radius:var(--radius-pill);background:var(--color-ink)}
.brand-mark i:first-child{inset-inline-start:.55rem}.brand-mark i:nth-child(2){inset-inline-end:.55rem}
.brand-mark b{position:absolute;inset-inline-start:.6rem;inset-block-end:.48rem;width:.72rem;height:.35rem;border-block-end:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-pill)}
.icon-button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}
.icon-button:active{transform:translateY(1px)}
.nav-toggle{display:grid;margin-inline-start:-.5rem}
.search-pill{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:2.75rem;height:2.75rem;padding-inline:.75rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}
.search-pill span,.search-pill kbd{display:none}
.search-pill kbd{font-family:var(--font-label);font-size:var(--text-xs);padding:var(--space-3xs) var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xs);background:var(--color-surface)}
.header-nav{display:none;align-items:center;gap:var(--space-lg);margin-inline-start:var(--space-sm)}
.header-nav a,.account-link{font-size:var(--text-sm);font-weight:600;white-space:nowrap}
.header-nav a{position:relative;padding-block:.65rem}
.header-nav a::after{content:"";position:absolute;inset-inline:0;inset-block-end:.35rem;height:.16rem;border-radius:var(--radius-pill);background:var(--color-cyan);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}
.header-actions{display:flex;align-items:center;gap:var(--space-2xs);margin-inline-start:auto}
.account-link{display:none;align-items:center;gap:var(--space-xs)}
.header-avatar,.author-chip img,.single-meta img,.profile-header img{border-radius:var(--radius-pill)}
.primary-button,.soft-button,.vv-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:0;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-weight:700;white-space:nowrap;box-shadow:0 var(--space-2xs) 0 var(--color-accent-deep),var(--shadow-soft);transform:translateY(0);transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),opacity var(--dur-short) var(--ease-out)}
.primary-button:active,.vv-button:active{transform:translateY(.18rem);box-shadow:0 .06rem 0 var(--color-accent-deep)}
.primary-button[disabled],.vv-button[disabled]{opacity:.52;cursor:not-allowed;pointer-events:none}
.header-actions>.primary-button span{display:none}
.soft-button{background:var(--color-paper);color:var(--color-ink);border:var(--rule-thin) solid var(--color-rule-strong);box-shadow:var(--shadow-soft)}

.page-shell{width:min(100%,var(--shell-width));margin-inline:auto;padding:var(--space-lg) var(--space-sm) var(--space-3xl);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}
.primary-rail,.discovery-rail{display:none}
.feed-column{grid-column:1;min-width:0;width:100%;max-width:var(--feed-width);margin-inline:auto}
.feed-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-2xs) var(--space-md)}
.feed-header p,.content-page>header>p,.profile-header p{margin:0 0 var(--space-2xs);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}
.feed-header h1{margin:0;font-size:clamp(1.75rem,6vw,2.5rem)}
.feed-pulse{display:flex;align-items:flex-end;gap:var(--space-2xs);height:2rem;padding-block-end:var(--space-2xs)}
.feed-pulse i{display:block;width:.32rem;border-radius:var(--radius-pill);background:var(--color-coral)}
.feed-pulse i:first-child{height:.65rem}.feed-pulse i:nth-child(2){height:1.15rem;background:var(--color-cyan)}.feed-pulse i:last-child{height:1.65rem;background:var(--color-accent-deep)}
.feed-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block-end:var(--space-lg);padding:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2)}
.feed-tabs a{min-height:2.5rem;display:grid;place-items:center;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:700;white-space:nowrap}
.feed-tabs a.is-current{background:var(--color-ink);color:var(--color-paper)}
.feed-list{display:grid;gap:var(--space-lg)}
.meme-card{position:relative;min-width:0;padding:var(--space-md);background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.meme-card:nth-child(3n+2){background:var(--color-cyan-soft)}
.meme-card:nth-child(3n+3){background:var(--color-coral-soft)}
.meme-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-block-end:var(--space-sm)}
.author-chip{display:flex;align-items:center;gap:var(--space-xs);min-width:0}
.author-chip img{width:2.25rem;height:2.25rem}
.author-chip span{display:grid;min-width:0}
.author-chip strong{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.author-chip small,.single-meta small{font-size:var(--text-xs);color:var(--color-muted)}
.topic-chip{max-width:9rem;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);font-family:var(--font-label);font-size:var(--text-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meme-card__title{margin:0 0 var(--space-sm);font-size:clamp(1.2rem,4vw,1.5rem)}
.meme-card__title a{display:block}
.meme-card__summary{margin-block-end:var(--space-sm);color:var(--color-ink-soft);font-size:var(--text-sm)}
.meme-card__summary p{margin:0}
.media-link{display:block;margin-inline:calc(var(--space-md)*-1);min-width:0}
.meme-media{position:relative;margin:0;background:var(--color-paper-3);overflow:hidden}
.meme-media img,.meme-media video{width:100%;max-height:46rem;object-fit:contain;background:var(--color-paper-3)}
.meme-embed{position:relative;aspect-ratio:16/9;background:var(--color-ink)}
.meme-embed iframe,.meme-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}
.meme-actions{position:relative;display:flex;align-items:center;gap:var(--space-2xs);padding-block-start:var(--space-sm);overflow-x:auto;scrollbar-width:none}
.meme-actions::-webkit-scrollbar{display:none}
.action-button{display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:2.75rem;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-soft);font-size:var(--text-xs);font-weight:700;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}
.action-button span{display:none}.action-button strong{font-variant-numeric:tabular-nums}
.action-button.is-active{background:var(--color-accent);color:var(--color-accent-ink)}
.action-button--quiet{margin-inline-start:auto}
.action-button:active{transform:translateY(1px)}
.action-button[disabled]{opacity:.5;cursor:not-allowed}
.action-status{position:absolute;width:1px;height:1px;overflow:hidden}

.pagination{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-start:var(--space-xl)}
.pagination .page-numbers{display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);font-weight:700;white-space:nowrap}
.pagination .current{background:var(--color-ink);color:var(--color-paper)}
.plugin-notice,.vv-notice{margin-block-end:var(--space-lg);padding:var(--space-md);border:var(--rule-thin) dashed var(--color-coral);border-radius:var(--radius-input);background:var(--color-coral-soft);color:var(--color-ink)}
.empty-state{padding:var(--space-2xl) var(--space-lg);text-align:center;border:var(--rule-thin) dashed var(--color-rule-strong);border-radius:var(--radius-card)}
.empty-state h1,.empty-state h2{margin:var(--space-md) 0 var(--space-xs)}
.empty-state p{margin:0 auto var(--space-lg);color:var(--color-muted)}
.empty-mark,.rail-character{position:relative;display:inline-block;width:4rem;height:4rem;border-radius:45% 55% 50% 48%;background:var(--color-accent);border:var(--rule-strong) solid var(--color-ink);transform:rotate(-4deg)}
.empty-mark i,.rail-character i{position:absolute;inset-block-start:1.15rem;inset-inline-start:1.15rem;width:.4rem;height:.45rem;border-radius:var(--radius-pill);background:var(--color-ink);box-shadow:1.25rem 0 0 var(--color-ink)}
.empty-mark b,.rail-character b{position:absolute;inset-inline-start:1.25rem;inset-block-end:.9rem;width:1.35rem;height:.6rem;border-block-end:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-pill)}
.empty-state--404>strong{display:block;font-family:var(--font-display);font-size:clamp(4rem,18vw,8rem);line-height:1;color:var(--color-coral);font-variant-numeric:tabular-nums}

.single-column{display:grid;gap:var(--space-lg)}
.single-meme,.comments-area,.content-page,.profile-header{min-width:0;padding:var(--space-md);background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card)}
.breadcrumbs{display:flex;align-items:center;gap:var(--space-2xs);margin-block-end:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}
.breadcrumbs a,.breadcrumbs span{white-space:nowrap}
.single-meme__header h1,.content-page>header h1,.profile-header h1{margin:0 0 var(--space-md);font-size:clamp(1.75rem,7vw,2.75rem)}
.single-meta{display:flex;align-items:center;gap:var(--space-sm);margin-block-end:var(--space-md)}
.single-meta span{display:grid}.single-meta a{font-weight:700}
.single-description,.entry-content{color:var(--color-ink-soft)}
.single-description>*:first-child,.entry-content>*:first-child{margin-block-start:0}
.single-meme>.meme-media{margin-inline:calc(var(--space-md)*-1)}
.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-start:var(--space-md)}
.tag-list a{padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-lavender-soft);font-family:var(--font-label);font-size:var(--text-xs)}
.comments-head{border-block-end:var(--rule-thin) dashed var(--color-rule);padding-block-end:var(--space-md)}
.comments-head h2{margin:0}.comments-head p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}
.comment-list{padding:0;list-style:none}.comment-list .children{list-style:none;padding-inline-start:var(--space-lg)}
.comment-body{padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule)}
.comment-meta{display:flex;gap:var(--space-xs);align-items:center}.comment-author{display:flex;gap:var(--space-xs);align-items:center}.comment-metadata{font-size:var(--text-xs);color:var(--color-muted)}
.comment-form{display:grid;gap:var(--space-md)}.comment-form p{margin:0}.comment-form label,.vv-field label,.report-dialog label{display:block;margin-block-end:var(--space-2xs);font-size:var(--text-sm);font-weight:700}
.comment-form textarea,.comment-form input:not([type=submit]),.vv-field input,.vv-field textarea,.vv-field select,.report-dialog textarea,.report-dialog select,.page-search input{width:100%;min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule-strong);outline:var(--rule-strong) solid transparent;outline-offset:1px;border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink)}
.comment-form textarea,.vv-field textarea,.report-dialog textarea{min-height:6rem;resize:vertical}
.comment-form textarea:focus-visible,.comment-form input:focus-visible,.vv-field input:focus-visible,.vv-field textarea:focus-visible,.vv-field select:focus-visible,.report-dialog textarea:focus-visible,.report-dialog select:focus-visible,.page-search input:focus-visible{outline-color:var(--color-focus)}
.icon-button[disabled],.search-pill[disabled],.action-button[disabled],.primary-button[disabled],.soft-button[disabled],.vv-button[disabled],input[disabled],textarea[disabled],select[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}
.content-page>header{margin-block-end:var(--space-xl)}.content-page>header>span{color:var(--color-muted)}
.entry-content a{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.vv-submit{display:grid;gap:var(--space-lg)}.vv-field small{display:block;min-height:1lh;margin-block-start:var(--space-2xs);color:var(--color-muted)}
.vv-form-status{min-height:1.5rem;margin:0;color:var(--color-muted)}
.vv-media-field{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.vv-media-field>label,.vv-media-field>small{flex-basis:100%}.vv-button--secondary{background:var(--color-paper);color:var(--color-ink);border:var(--rule-thin) solid var(--color-rule-strong);box-shadow:none}.vv-media-selection{color:var(--color-muted);font-size:var(--text-sm);overflow-wrap:anywhere}
.vv-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.vv-button--danger,.action-button--danger{color:var(--color-danger)}.vv-button--danger{background:transparent;border:var(--rule-thin) solid currentColor;box-shadow:none}.action-button--owner{color:var(--color-ink)}
.page-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);margin-block-end:var(--space-lg);padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}
.page-search input{border:0;background:transparent}.page-search input:focus-visible{outline:0}
.profile-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-md);margin-block-end:var(--space-lg)}

.mobile-sheet{position:fixed;z-index:var(--z-modal);inset:0;visibility:hidden;pointer-events:none}
.mobile-sheet.is-open{visibility:visible;pointer-events:auto}
.sheet-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--color-overlay);opacity:0;transition:opacity var(--dur-short) var(--ease-out)}
.mobile-sheet.is-open .sheet-scrim{opacity:1}
.sheet-panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(19rem,86%);padding:max(var(--space-md),env(safe-area-inset-top)) var(--space-md) var(--space-lg);background:var(--color-paper);transform:translateX(-102%);transition:transform var(--dur-long) var(--ease-out);display:grid;align-content:start;gap:var(--space-xs)}
.mobile-sheet.is-open .sheet-panel{transform:translateX(0)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--space-md);font-size:var(--text-lg)}
.sheet-panel>a,.sheet-panel>button:not(.icon-button){display:flex;align-items:center;gap:var(--space-sm);min-height:3rem;padding-inline:var(--space-sm);border:0;border-radius:var(--radius-input);background:transparent;font-weight:700;text-align:start;white-space:nowrap}

.search-dialog,.report-dialog{position:fixed;inset:0;width:min(35rem,calc(100% - 1.5rem));height:fit-content;max-height:min(80dvh,42rem);margin:auto;padding:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-card);overflow:hidden}
.search-dialog::backdrop,.report-dialog::backdrop{background:var(--color-overlay)}
.search-dialog__head,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule)}
.search-dialog__head label{font-weight:700}.dialog-head h2{margin:0;font-size:var(--text-lg)}
.search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-sm);margin:var(--space-md);padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-input);background:var(--color-surface)}
.search-field input{width:100%;min-height:3rem;border:0;outline:0;background:transparent}
.search-results{max-height:24rem;padding:0 var(--space-md) var(--space-md);overflow:auto}.search-results>p{color:var(--color-muted)}
.search-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:3.25rem;padding:var(--space-sm);border-radius:var(--radius-input)}
.search-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result small{color:var(--color-muted);white-space:nowrap}
.report-dialog form{padding-block-end:var(--space-md)}.report-dialog form>label,.report-dialog form>select,.report-dialog form>textarea,.report-dialog form>.primary-button,.report-dialog form>[role=status]{margin-inline:var(--space-md);width:calc(100% - var(--space-xl))}.report-dialog form>label{margin-block-start:var(--space-md)}

.site-footer{position:relative;margin-block-start:var(--space-xl);border-block-start:var(--rule-strong) solid var(--color-ink);background:var(--color-paper-2);overflow:hidden}
.site-footer::before{content:'';display:block;width:clamp(5rem,14vw,11rem);height:.45rem;background:var(--color-accent)}
.footer-shell{width:min(100%,var(--shell-width));margin-inline:auto;padding:var(--space-xl) var(--space-md) var(--space-2xl);display:grid;gap:var(--space-xl)}
.footer-brand-block{align-self:start}.footer-brand{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.05em}.footer-brand .brand-mark{width:2.5rem;height:2.5rem}.footer-brand .brand-mark i{inset-block-start:.75rem}.footer-brand .brand-mark i:first-child{inset-inline-start:.72rem}.footer-brand .brand-mark i:nth-child(2){inset-inline-end:.72rem}.footer-brand .brand-mark b{inset-inline-start:.76rem;inset-block-end:.6rem;width:.88rem}.footer-brand-block p{max-width:28ch;margin:var(--space-md) 0 0;color:var(--color-muted);line-height:1.65;text-wrap:pretty}
.footer-contact-panel{display:grid;gap:var(--space-xs);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-accent);color:var(--color-accent-ink);font-style:normal;box-shadow:0 .35rem 0 var(--color-accent-deep)}
.footer-kicker{font-family:var(--font-label);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.footer-contact-panel .footer-kicker{color:var(--color-accent-ink);opacity:.68}.footer-contact-panel>strong{font-size:var(--text-lg);letter-spacing:-.035em}.footer-contact-panel>a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-block-start:var(--space-sm);padding-block:var(--space-sm) var(--space-xs);border-block-end:var(--rule-strong) solid currentColor;font-size:clamp(var(--text-sm),4.2vw,var(--text-md));font-weight:700;overflow-wrap:anywhere;transition:transform var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}
.footer-links{display:grid;align-content:start}.footer-links>.footer-kicker{margin-block-end:var(--space-sm)}.footer-links>a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule-strong);font-size:var(--text-sm);font-weight:600;transition:padding-inline var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}
.footer-bottom{width:min(100%,var(--shell-width));margin-inline:auto;padding:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs) var(--space-lg);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.footer-bottom small{font:inherit}.footer-bottom span{text-wrap:balance}

@media (hover:hover) and (pointer:fine){
  .icon-button:hover,.sheet-panel>a:hover,.sheet-panel>button:hover{background:var(--color-paper-3)}
  .search-pill:hover{background:var(--color-paper-3);transform:translateY(-1px)}
  .header-nav a:hover::after{transform:scaleX(1)}
  .primary-button:hover,.vv-button:hover{transform:translateY(-2px);box-shadow:0 .375rem 0 var(--color-accent-deep),var(--shadow-card)}
  .soft-button:hover{transform:translateY(-1px)}
  .meme-card{transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
  .meme-card:hover{transform:translateY(-2px);box-shadow:0 1rem 2.25rem -1rem var(--color-shadow)}
  .action-button:hover{background:var(--color-paper-3);color:var(--color-ink)}
  .search-result:hover{background:var(--color-paper-2)}
	.footer-contact-panel>a:hover{transform:translateX(.25rem);opacity:.78}
	.footer-links>a:hover{padding-inline-start:var(--space-xs);color:var(--color-ink-soft)}
}

@media (min-width:40rem){
  .header-shell{padding-inline:var(--space-lg)}
  .search-pill{min-width:12rem;justify-content:flex-start}.search-pill span{display:inline}.search-pill kbd{display:inline;margin-inline-start:auto}
  .header-actions>.primary-button span{display:inline}
  .meme-card,.single-meme,.comments-area,.content-page,.profile-header{padding:var(--space-lg)}
  .media-link,.single-meme>.meme-media{margin-inline:calc(var(--space-lg)*-1)}
  .action-button span{display:inline}
  .page-shell{padding-inline:var(--space-lg)}
	.footer-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-inline:var(--space-lg)}
	.footer-brand-block{grid-column:1/-1}.footer-bottom{padding-inline:var(--space-lg)}
}

@media (min-width:60rem){
  .nav-toggle{display:none}.header-nav{display:flex}.account-link{display:flex}
  .page-shell{grid-template-columns:var(--rail-left) minmax(0,var(--feed-width));gap:var(--space-xl);justify-content:start}
  .primary-rail{display:block;grid-column:1;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-lg));max-height:calc(100dvh - var(--header-height) - var(--space-xl));overflow:auto;padding-block:var(--space-sm)}
  .feed-column{grid-column:2;margin-inline:0}
  .rail-nav{display:grid;gap:var(--space-2xs)}
  .rail-nav a,.saved-link{display:flex;align-items:center;gap:var(--space-sm);min-height:2.75rem;padding-inline:var(--space-sm);border-radius:var(--radius-input);font-weight:700;white-space:nowrap}
  .rail-nav a.is-current{background:var(--color-ink);color:var(--color-paper)}
  .rail-section{margin-block-start:var(--space-xl);padding-block-start:var(--space-md);border-block-start:var(--rule-thin) dashed var(--color-rule-strong)}
  .rail-section h2,.rail-title{margin:0 0 var(--space-sm);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}
  .topic-list{display:grid;gap:var(--space-2xs)}
  .topic-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-height:2.4rem;padding-inline:var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-sm)}
  .topic-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-list small{color:var(--color-muted);font-variant-numeric:tabular-nums}
  .topic-dot{width:.65rem;height:.65rem;border-radius:40%;background:var(--color-coral)}.topic-dot--1{background:var(--color-cyan)}.topic-dot--2{background:var(--color-accent-deep)}.topic-dot--3{background:var(--color-mint)}.topic-dot--4{background:var(--color-lavender)}
  .saved-link{margin-block-start:var(--space-lg);border:var(--rule-thin) solid var(--color-rule)}
  .rail-policy{margin:var(--space-lg) var(--space-sm);font-size:var(--text-xs);color:var(--color-muted)}
	.footer-shell{grid-template-columns:minmax(0,.9fr) minmax(18rem,1.25fr) minmax(0,1fr);align-items:start;gap:var(--space-2xl);padding-block:var(--space-2xl)}
	.footer-brand-block{grid-column:auto}
}

@media (min-width:76rem){
  .page-shell{grid-template-columns:var(--rail-left) minmax(0,var(--feed-width)) minmax(0,var(--rail-right))}
  .discovery-rail{display:grid;grid-column:3;position:sticky;inset-block-start:calc(var(--header-height) + var(--space-lg));gap:var(--space-lg);max-height:calc(100dvh - var(--header-height) - var(--space-xl));overflow:auto;padding-block:var(--space-sm)}
  .rail-block{padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink)}
  .rail-block--cyan{background:var(--color-cyan-soft)}.rail-block--pear{background:var(--color-paper-2)}
  .rail-block h2{margin:0 0 var(--space-md);font-size:var(--text-md)}.rail-block p{font-size:var(--text-sm);color:var(--color-ink-soft)}
  .trend-list{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none;counter-reset:trend}
  .trend-list li{counter-increment:trend;display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:var(--space-xs)}.trend-list li::before{content:counter(trend);font-family:var(--font-label);color:var(--color-muted)}
  .trend-list a{display:grid;gap:var(--space-2xs)}.trend-list span{font-size:var(--text-sm);font-weight:700}.trend-list small{font-size:var(--text-xs);color:var(--color-muted)}
  .rail-character{float:inline-end;width:3rem;height:3rem;margin-inline-start:var(--space-xs)}.rail-character i{inset-block-start:.82rem;inset-inline-start:.82rem;transform:scale(.75);transform-origin:left}.rail-character b{inset-inline-start:.88rem;inset-block-end:.62rem;width:1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media (pointer:coarse){.icon-button,.action-button,.primary-button,.soft-button,.vv-button,.feed-tabs a{min-height:2.75rem}}
