:root{--bg:#111018;--surface:#1c1a25;--surface-2:#282431;--media-placeholder:#45404f;--text-card-bg:#302b3a;--border:#40394b;--text:#f5f2f8;--muted:#c5bccc;--accent:#b88aef;--accent-strong:#8149c1;--accent-hover:#925bd1;--on-accent:#fff;--video-bg:#000;--focus:#e0c6ff;--radius:14px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--header-h:6rem}
*{box-sizing:border-box}html{scroll-padding-top:var(--header-h)}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Yu Gothic",sans-serif;line-height:1.65}a{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}img{max-width:100%}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(1.35rem,3vw,2rem);line-height:1.4}h2{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-top:var(--space-4)}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}.header-inner{max-width:82rem;margin:auto;padding:.55rem 1rem}.brand{color:var(--text);font-weight:800;text-decoration:none;font-size:1.1rem}.brand span{color:var(--accent)}.tabs{display:flex;gap:.35rem;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding-top:.4rem}.tabs a{color:var(--muted);text-decoration:none;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--border);font-size:.85rem}.tabs a:hover{color:var(--text);border-color:var(--accent)}main{max-width:82rem;margin:auto;padding:1rem 1rem 6rem}.catalog{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.catalog li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-width:0;display:flex;flex-direction:column}.card-link{display:flex;flex-direction:column;gap:.55rem;color:var(--text);text-decoration:none;flex:1}.card-media{aspect-ratio:4/3;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:contain}.card-empty{background:linear-gradient(145deg,var(--surface-2),var(--surface));border-bottom:1px solid var(--border);min-height:5.25rem;display:flex;align-items:flex-end;padding:.7rem;color:var(--muted);font-size:.75rem}.card-info{padding:0 .7rem .75rem;display:flex;flex-direction:column;gap:.35rem}.card-empty+.card-info{padding-top:.7rem}.card-title{font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card-price{font-size:1.12rem;font-weight:800}.card-rating{font-size:.82rem;color:var(--muted)}.badges{display:flex;gap:.3rem;flex-wrap:wrap}.badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.12rem .48rem;font-size:.7rem}.badge-rank{color:var(--accent);border-color:var(--accent-strong)}.card-out{margin:0 .7rem .7rem;align-self:flex-start;font-size:.8rem}.rail .catalog{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(9.5rem,13rem);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}.rail .catalog li{scroll-snap-align:start}.sort-nav{display:flex;gap:.4rem;overflow:auto;white-space:nowrap;padding:.6rem 0}.sort-nav a{display:inline-block;padding:.35rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;text-decoration:none;font-size:.85rem}.product-layout{display:grid;gap:var(--space-2)}.product-media{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:grid;place-items:center}.product-media img{display:block;width:100%;height:auto;object-fit:contain}.product-empty{min-height:13rem;display:grid;place-items:center;color:var(--muted)}.product-info,.product-section,.fixed-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2)}.product-price{font-size:1.65rem;font-weight:800}.price-detail{color:var(--muted);font-size:.86rem}.product-info p,.product-section p{overflow-wrap:anywhere}.product-action{display:block;background:var(--accent-strong);color:var(--on-accent);text-align:center;text-decoration:none;font-weight:800;border-radius:12px;padding:.85rem 1rem}.product-action:hover{background:var(--accent-hover)}.product-section{margin-top:var(--space-2)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1)}.gallery img{display:block;width:100%;height:auto;border-radius:8px}.product-section video{width:100%;max-width:48rem;background:var(--video-bg)}.site-footer{border-top:1px solid var(--border);padding:2rem 1rem 6rem;color:var(--muted)}.footer-inner{max-width:82rem;margin:auto}.site-footer nav{display:flex;gap:.75rem;flex-wrap:wrap}.site-footer a{color:var(--muted)}.site-footer p{margin:.7rem 0}.sticky-action{position:fixed;bottom:0;left:0;right:0;z-index:19;padding:.5rem 1rem max(.5rem,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.sticky-action .product-action{max-width:42rem;margin:auto}.fixed-content h2{margin-top:1.6rem}.fixed-content ul{padding-left:1.5rem}.fixed-content li{margin:.4rem 0}.ranking-list .catalog{grid-template-columns:1fr}.ranking-list .catalog li:nth-child(n+11) .card-link{display:grid;grid-template-columns:6rem 1fr;align-items:center}.ranking-list .catalog li:nth-child(n+11) .card-media{height:5rem;aspect-ratio:auto}.ranking-list .catalog li:nth-child(n+11) .card-empty{min-height:5rem}.ranking-list .catalog li:nth-child(n+11) .card-info{padding:.5rem}.summary{color:var(--muted)}
@media(min-width:700px){main{padding:1.5rem 1.5rem 5rem}.catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.product-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.sticky-action{position:static;border:0;background:transparent;padding:0;margin-top:var(--space-2)}.rail .catalog{grid-auto-columns:14rem}.site-footer{padding-bottom:3rem}}
@media(min-width:1150px){.catalog{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ranking-list--continued .catalog li .card-link{display:grid;grid-template-columns:6rem 1fr;align-items:center}.ranking-list--continued .catalog li .card-media{height:5rem;aspect-ratio:auto}.ranking-list--continued .catalog li .card-empty{min-height:5rem}.ranking-list--continued .catalog li .card-info{padding:.5rem}
.card-media,.product-media{background:var(--media-placeholder)}
.card--text{background:linear-gradient(145deg,var(--text-card-bg),var(--surface))}
.catalog li.card--text{background:linear-gradient(145deg,var(--text-card-bg),var(--surface))}
.card--text .card-info{padding:.85rem;flex:1;justify-content:center;gap:.55rem}
.ranking-list .catalog li.card--text:nth-child(n+11) .card-link,.ranking-list--continued .catalog li.card--text .card-link{display:flex}
.card--text .card-title{font-size:1rem;line-height:1.5}
.card-meta{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.product-media:not(.product-empty){aspect-ratio:4/3}
.product-media:not(.product-empty) img{height:100%;object-fit:contain}
.product-section video{display:block;width:100%;max-width:none;margin-inline:auto}
.rail{position:relative}
.rail::after{content:"";position:absolute;right:0;top:4.5rem;bottom:.6rem;width:2rem;background:linear-gradient(90deg,transparent,var(--bg));pointer-events:none}
@media(min-width:700px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin:1rem 0}.pagination-links{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.pagination a,.pagination .page-current,.pagination .page-disabled{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;padding:.25rem .55rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;font-size:.9rem}.pagination .page-current{background:var(--accent-strong);color:var(--on-accent);border-color:var(--accent-strong);font-weight:700}.pagination .page-disabled{color:var(--muted);opacity:.6}.page-gap{padding:0 .15rem}.page-position{color:var(--muted);font-size:.85rem;white-space:nowrap}
