: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,h4{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}.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-3)}.switch-bar{z-index:5;background:var(--color-background);padding:var(--spacing-1) 0;margin-bottom:var(--spacing-3);position:sticky;top:0}.tabs{gap:var(--spacing-half);display:flex}.tabs button{min-height:44px;padding:0 var(--spacing-2);font-family:var(--typography-font-heading);font-size:var(--fs-base);color:var(--color-text);background:var(--color-card);border:1px solid var(--rule-hairline);border-radius:var(--radius-sm);cursor:pointer;flex:1;font-weight:700}.tabs button[aria-selected=true]{color:var(--color-inverse-text);background:var(--color-inverse-bg);border-color:var(--color-inverse-bg)}.js .panel:not(.is-active){display:none}.board+.board{margin-top:var(--spacing-6)}.board>h2{font-size:var(--fs-xl);margin-bottom:var(--spacing-half)}.board-source{align-items:center;gap:var(--spacing-1) var(--spacing-2);margin:0 0 var(--spacing-2);font-size:var(--fs-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.board-badge img{width:auto;height:40px}.rank-list{gap:var(--spacing-3) var(--spacing-2);margin:0;padding:0;list-style:none;display:grid}.rank-list--app{grid-template-columns:repeat(auto-fill, minmax(var(--card-min-app), 1fr))}.rank-list--wide{grid-template-columns:repeat(auto-fill, minmax(var(--card-min), 1fr))}.rank-item{gap:var(--spacing-half);flex-direction:column;min-width:0;display:flex}.rank-cover{aspect-ratio:var(--cover-ratio);background:var(--color-surface);border-radius:var(--radius-sm);display:block;position:relative;overflow:hidden}.rank-list--app .rank-cover{aspect-ratio:var(--cover-ratio-app)}.rank-thumb{object-fit:cover;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-dev{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-peak{font-size:var(--fs-xs);color:var(--color-text-muted)}.rank-peak strong{font-size:var(--fs-sm);color:var(--color-text);font-variant-numeric:tabular-nums}.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-4)}.history>h3{font-size:var(--fs-lg);margin-bottom:var(--spacing-3)}.history-block{margin-bottom:var(--spacing-4)}.history-block>h4{align-items:center;gap:var(--spacing-1);font-size:var(--fs-base);margin-bottom:var(--spacing-2);display:flex}.history-block>h4: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:9em 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}.regulars--appstore .regular-item{grid-template-columns:var(--thumb-small-app) minmax(0, 1fr)}.regular-thumb{width:var(--thumb-small-width);height:var(--thumb-small-height);object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface)}.regulars--appstore .regular-thumb{width:var(--thumb-small-app);height:var(--thumb-small-app)}.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)}@media (width<=390px) and (height<=680px){.rank-list{gap:var(--spacing-2) var(--spacing-1)}}.board-badge{line-height:0;display:inline-block}.rank-name:hover,.site-name a:hover{text-decoration:underline}