:root{--fs-2xs:clamp(.625rem, .6rem + .13vw, .6875rem);--fs-xs:clamp(.75rem, .73rem + .1vw, .8rem);--fs-sm:clamp(.875rem, .85rem + .13vw, .95rem);--fs-base:clamp(1rem, .95rem + .25vw, 1.125rem);--fs-lg:clamp(1.125rem, 1rem + .6vw, 1.25rem);--fs-xl:clamp(1.25rem, 1.05rem + 1vw, 1.5rem);--fs-2xl:clamp(1.5rem, 1.15rem + 1.75vw, 2rem);--fs-3xl:clamp(1.875rem, 1.2rem + 3.4vw, 3rem)}*,:before,:after{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-family:var(--typography-font-body);font-size:var(--fs-base);line-height:var(--typography-line-body);margin:0}h1,h2,h3{font-family:var(--typography-font-heading);line-height:var(--typography-line-heading);margin:0}a{color:inherit}img{display:block}.site-header{background:var(--color-inverse-bg);color:var(--color-inverse-text);padding:var(--spacing-2) 0}.site-name{width:var(--container-max);font-family:"Monomaniac One", var(--typography-font-heading);font-size:var(--fs-lg);margin:0 auto;line-height:1}.site-name a{align-items:center;gap:.4em;text-decoration:none;display:inline-flex}.site-name svg{width:1.2em;height:1.2em;fill:var(--color-inverse-accent);flex-shrink:0}.main{width:var(--container-max);padding:var(--spacing-3) 0 var(--spacing-8);margin:0 auto}.genre>h1,.home>h1{font-size:var(--fs-2xl);margin-bottom:var(--spacing-2)}.lead{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0 0 var(--spacing-4)}.board-date{margin:0 0 var(--spacing-1);font-size:var(--fs-xs);color:var(--color-text-muted)}.rank-list{margin:0;padding:0;list-style:none}.rank-list--grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-min), 1fr));gap:var(--spacing-3) var(--spacing-2);display:grid}.rank-list--strip{gap:var(--spacing-2);display:flex}.rank-item{gap:var(--spacing-half);flex-direction:column;min-width:0;display:flex}.rank-list--strip>.rank-item{flex:0 0 var(--strip-card);scroll-snap-align:start}.rank-cover{aspect-ratio:var(--cover-ratio);background:var(--color-surface);border-radius:var(--radius-sm);display:block;position:relative;overflow:hidden}.rank-thumb{object-fit:contain;width:100%;height:100%}.rank-badge{min-width:1.9em;font-family:var(--typography-font-heading);font-size:var(--rank-size);text-align:center;color:var(--color-text-muted);background:var(--color-background);border-bottom-right-radius:var(--radius-sm);padding:.1em .4em;line-height:1.5;position:absolute;top:0;left:0}.rank-item[data-rank="1"] .rank-badge,.rank-item[data-rank="2"] .rank-badge,.rank-item[data-rank="3"] .rank-badge{color:var(--rank-badge-text);background:var(--rank-badge-bg)}.rank-body{flex-direction:column;gap:2px;min-width:0;display:flex}.rank-name{-webkit-line-clamp:2;line-clamp:2;font-size:var(--fs-sm);-webkit-box-orient:vertical;text-decoration:none;display:-webkit-box;overflow:hidden}.rank-author{font-size:var(--fs-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-price{font-size:var(--fs-sm)}.rank-chips{gap:var(--spacing-half);font-size:var(--fs-2xs);flex-wrap:wrap;display:flex}.rank-chips:empty{display:none}.chip{border-radius:var(--radius-full);border:1px solid;padding:0 .5em;line-height:1.7;display:inline-block}.chip-new{color:var(--color-accent)}.chip-up{color:var(--color-accent);border-color:#0000;padding:0}.chip-down{color:var(--color-text-muted);border-color:#0000;padding:0}.chip-streak{color:var(--color-text-muted)}.history{margin-top:var(--spacing-6)}.history>h2{font-size:var(--fs-xl);margin-bottom:var(--spacing-3)}.history-block{margin-bottom:var(--spacing-4)}.history-block>h3{align-items:center;gap:var(--spacing-1);font-size:var(--fs-base);margin-bottom:var(--spacing-2);display:flex}.history-block>h3:before{content:"";background:var(--rule-hairline);flex:none;width:6px;height:1.2em}.timeline{margin:0;padding:0;list-style:none}.timeline-item{gap:var(--spacing-2);padding:var(--spacing-1) 0;border-bottom:1px solid var(--rule-hairline);font-size:var(--fs-sm);grid-template-columns:6.5em minmax(0,1fr);display:grid}.timeline-date{color:var(--color-text-muted);font-size:var(--fs-xs)}.timeline-name{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.regulars{margin:0;padding:0;list-style:none}.regular-item{grid-template-columns:var(--thumb-small-width) minmax(0, 1fr);align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) 0;border-bottom:1px solid var(--rule-hairline);display:grid}.regular-thumb{width:var(--thumb-small-width);height:var(--thumb-small-height);object-fit:contain;border-radius:var(--radius-sm);background:var(--color-surface)}.regular-body{gap:2px;min-width:0;display:grid}.regular-name{-webkit-line-clamp:1;line-clamp:1;font-size:var(--fs-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.regular-meta{font-size:var(--fs-2xs);color:var(--color-text-muted)}.regular-best{margin-left:var(--spacing-1)}.genre-row{background:var(--color-card);border-radius:var(--radius-sm);padding:var(--spacing-3);margin-bottom:var(--spacing-4)}.genre-row>h2{font-size:var(--fs-lg);margin-bottom:var(--spacing-2)}.genre-strip{overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:var(--spacing-1);overflow-x:auto}.genre-more{margin:var(--spacing-1) 0 0;font-size:var(--fs-xs)}.crumbs{width:var(--container-max);margin:var(--spacing-1) auto 0;font-size:var(--fs-xs);color:var(--color-text-muted)}.crumbs ol{gap:var(--spacing-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:var(--spacing-1)}.genre-nav{margin-top:var(--spacing-8)}.genre-nav>h2{font-size:var(--fs-base);color:var(--color-text-muted);padding-bottom:var(--spacing-1);border-bottom:1px solid var(--rule-hairline);margin-bottom:var(--spacing-2)}.genre-nav ul{gap:var(--spacing-1) var(--spacing-3);font-size:var(--fs-sm);margin:0;padding:0;list-style:none;display:grid}.genre-nav [aria-current=page]{color:var(--color-text-muted)}@media (width>=641px){.genre-nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1025px){.genre-nav ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=390px) and (height<=680px){.rank-list--grid{gap:var(--spacing-2) var(--spacing-1)}}.genre-row>h2 a{text-decoration:none}.rank-name:hover,.site-name a:hover,.genre-row>h2 a:hover{text-decoration:underline}