:root{--top-wrap:1360px;--top-side:300px;--top-gap:24px;--top-bg:#f6f7fb;--top-accent:#4d5bd5;--top-line:#e5e8ef;--top-text:#1f2530}
.top-home-v2 .wrap{width:min(var(--top-wrap),calc(100% - 36px))}
.top-home-v2{background:var(--top-bg)}
.top-home-v2 .site-pr-top{background:#fbfbfd;border-bottom:1px solid #ebedf2;color:#8a92a0;font-size:12px;padding:6px 0}
.top-home-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--top-side);gap:var(--top-gap);align-items:start;padding-top:24px;padding-bottom:36px}
.top-home-main{min-width:0}
.top-home-sidebar{min-width:0;display:grid;gap:12px;position:sticky;top:94px}

/* Hero: exact compact/data-art direction from the approved sample. */
.top-hero{position:relative;overflow:hidden;min-height:276px;padding:31px 34px;border:1px solid #dfe3f2;border-radius:21px;background:linear-gradient(128deg,#fff 0%,#f9faff 52%,#ecefff 100%);box-shadow:0 10px 28px rgba(20,30,80,.05)}
.top-hero:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.42;background-image:linear-gradient(rgba(77,91,213,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(77,91,213,.075) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 18%,rgba(0,0,0,.16) 43%,rgba(0,0,0,.88) 100%);-webkit-mask-image:linear-gradient(90deg,transparent 18%,rgba(0,0,0,.16) 43%,rgba(0,0,0,.88) 100%);animation:topGridDrift 18s linear infinite}
.top-hero:after{content:"";position:absolute;z-index:0;right:-80px;top:-110px;width:340px;height:340px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(77,91,213,.15),rgba(77,91,213,0) 67%);animation:topHaloPulse 5.2s ease-in-out infinite}
.top-hero-data-art{position:absolute;z-index:0;inset:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent 33%,rgba(0,0,0,.22) 49%,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent 33%,rgba(0,0,0,.22) 49%,#000 70%)}
.top-hero-data-art svg{position:absolute;right:-1%;top:4%;width:58%;height:auto;aspect-ratio:620/260;overflow:visible;opacity:.53}
.top-hero .data-axis{stroke:#7d88d8;stroke-width:1;opacity:.17}.top-hero .data-bar{fill:#5968d8;opacity:.095;transform-box:fill-box;transform-origin:center bottom;animation:topBarBreathe 4.8s ease-in-out infinite}.top-hero .data-bar:nth-of-type(2n){animation-delay:-1.1s}.top-hero .data-bar:nth-of-type(3n){animation-delay:-2.3s}
.top-hero .data-line{fill:none;stroke:#5262d2;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:9 8;opacity:.36;animation:topDataFlow 10s linear infinite}.top-hero .data-line-glow{fill:none;stroke:#7b89ec;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.055}
.top-hero .data-node{fill:#fff;stroke:#5262d2;stroke-width:2;opacity:.58;transform-box:fill-box;transform-origin:center;animation:topNodePulse 3.6s ease-in-out infinite}.top-hero .data-node.n2{animation-delay:-1.2s}.top-hero .data-node.n3{animation-delay:-2.1s}.top-hero .data-node.n4{animation-delay:-.5s}
.top-hero .data-scan{position:absolute;right:-4%;top:16%;width:59%;height:1px;background:linear-gradient(90deg,transparent,rgba(82,98,210,.06) 18%,rgba(82,98,210,.32) 52%,transparent);box-shadow:0 0 12px rgba(82,98,210,.08);opacity:.7;animation:topScanLine 7.5s ease-in-out infinite}
@keyframes topGridDrift{to{background-position:28px 28px}}@keyframes topHaloPulse{0%,100%{opacity:.75;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}@keyframes topDataFlow{to{stroke-dashoffset:-68}}@keyframes topNodePulse{0%,100%{opacity:.38;transform:scale(.86)}50%{opacity:.85;transform:scale(1.16)}}@keyframes topBarBreathe{0%,100%{opacity:.065;transform:scaleY(.86)}50%{opacity:.14;transform:scaleY(1.03)}}@keyframes topScanLine{0%,100%{transform:translateY(0);opacity:.15}50%{transform:translateY(160px);opacity:.75}}
.top-hero-eyebrow{position:relative;z-index:1;margin:0;color:var(--top-accent);font-size:12px;font-weight:950;letter-spacing:.18em}
.top-hero h1{position:relative;z-index:1;margin:8px 0 10px;font-size:clamp(33px,3.1vw,47px);line-height:1.18;letter-spacing:-.035em;color:#242b3b}.top-hero h1 span{background:linear-gradient(90deg,#0f4c9c,#1776d2 45%,#d59b16);-webkit-background-clip:text;background-clip:text;color:transparent}
.top-hero-lead{position:relative;z-index:1;margin:0;color:#4e596a;font-size:16px;line-height:1.8}.top-hero-bottom{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:26px}.top-hero-stats{display:flex;align-items:flex-end;gap:25px;flex-wrap:wrap}.top-hero-stat{display:grid;gap:2px}.top-hero-stat small{font-size:12px;font-weight:800;color:#7b8597}.top-hero-stat strong{font-size:20px;line-height:1;color:#202a6b;font-variant-numeric:tabular-nums}.top-hero-stat strong span{font-size:11px;margin-left:3px;color:#727d91}.top-hero-actions{display:flex;gap:8px;flex:none}.top-hero-actions .btn{border-radius:999px}

/* Compact semantic H2: one row, icon + label + rule; no indentation below. */
.top-home-chapter{margin-top:18px}.top-home-chapter.is-recent{margin-top:22px}.top-home-h2-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0 6px;overflow:hidden}.top-home-h2-row>div{display:flex;align-items:center;gap:9px;flex:1 1 auto;min-width:0}.top-home-h2-row>div::after{content:"";height:1px;flex:1 1 48px;min-width:28px;margin-left:4px;background:linear-gradient(90deg,#cdd3e0 0%,#e5e8ef 75%,rgba(229,232,239,0) 100%)}.top-home-chapter.is-recent .top-home-h2-row>div::after{background:linear-gradient(90deg,#d6c6b1 0%,#ebe4da 75%,rgba(235,228,218,0) 100%)}
.top-home-h2-row h2,.top-home-notice-head h2{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;margin:0;color:#1f2b45;font-size:18px;font-weight:900;line-height:1.35}.top-home-h2-row>a{flex:none;color:#5260b9;background:var(--top-bg);padding-left:7px;font-size:12px;font-weight:850;text-decoration:none}.top-home-h2-row>a:hover{text-decoration:underline}
.top-h2-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;color:#5967c4}.top-home-chapter.is-recent .top-h2-icon{color:#a27a48}.top-home-portal-heading .top-h2-icon{color:#347f72}.top-home-notice-head .top-h2-icon{color:#69748a}.top-h2-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* H3 + 10-item responsive carousel. */
.top-home-v2 .home-pickup-section{padding:10px 0 4px;background:transparent!important}.top-home-v2 .home-pickup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.top-home-v2 .home-pickup-heading>div{min-width:0;border:0;padding:0}.top-home-v2 .home-pickup-kicker{display:none}.top-home-v2 .home-pickup-heading h3{margin:0;color:#303b52;font-size:16px;font-weight:850;line-height:1.4}.top-home-v2 .home-ranking-period{color:#8a92a3;font-size:.72em;font-weight:800;letter-spacing:.01em;white-space:nowrap}.top-home-v2 .home-pickup-more-link{flex:none;border:0;color:#5966ba;font-size:11px;font-weight:850;text-decoration:none}.top-home-v2 .home-pickup-more-link:hover{text-decoration:underline}
.home-pickup-carousel{--visible:6;--card-gap:8px;display:grid;grid-template-columns:24px minmax(0,1fr) 24px;column-gap:6px;align-items:start;position:relative;margin-inline:-1px;padding-inline:1px}.home-carousel-btn{position:relative;z-index:8;width:24px;height:82px;margin:0;border:1px solid #d8ddea;border-radius:8px;background:linear-gradient(180deg,#fff,#f6f7fb);color:#5360b8;font-size:22px;line-height:1;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(28,39,74,.06);display:flex;align-items:center;justify-content:center;padding:0;transition:.15s ease}.home-carousel-btn.is-prev{grid-column:1}.home-carousel-btn.is-next{grid-column:3}.home-carousel-btn:hover:not(:disabled){background:#eef0ff;border-color:#bdc5e7;color:#3545a2}.home-carousel-btn:disabled{opacity:.2;cursor:default;box-shadow:none}
.top-home-v2 .home-pickup-grid{grid-column:2;grid-row:1;min-width:0;display:flex;gap:var(--card-gap);overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1px 0 10px}.top-home-v2 .home-pickup-grid::-webkit-scrollbar{display:none}.top-home-v2 .home-pickup-card{flex:0 0 calc((100% - (var(--visible) - 1) * var(--card-gap)) / var(--visible));scroll-snap-align:start;border-radius:14px;box-shadow:0 6px 18px rgba(28,39,74,.05)}.top-home-v2 .home-pickup-body{padding:9px 9px 10px}.top-home-v2 .home-pickup-body h4{font-size:14px;line-height:1.55}.top-home-v2 .home-pickup-maker{font-size:12px}.top-home-v2 .home-pickup-metric span{font-size:11px}.top-home-v2 .home-pickup-metric strong{font-size:19px}.top-home-v2 .home-pickup-badges .type-badge,.top-home-v2 .home-pickup-badges .ai-badge,.top-home-v2 .home-pickup-badges .original-badge,.top-home-v2 .home-pickup-badges .parody-badge{font-size:10px}.top-home-v2 .home-pickup-rank{margin-right:0;font-size:10px}
.top-home-v2 .home-pickup-thumb img{object-fit:contain}

/* 5-day archive, intentionally compact. */
.top-home-archive{padding:8px 0 4px}.top-home-archive-heading{margin:0 0 6px!important}.top-home-archive-links{display:flex;gap:6px;flex-wrap:wrap;padding:9px 11px;border:1px solid #e1e4eb;border-radius:12px;background:#fff}.top-home-archive-links a{padding:5px 9px;border-radius:8px;background:#f4f5f9;color:#596477;text-decoration:none;font-size:11px;font-weight:850}.top-home-archive-links a:hover{background:#eceef7;color:#4050bd}

/* Explore cards: title + one line, visual explains the function. */
.top-home-explore{margin-top:22px}.top-home-portal-heading{padding-bottom:7px}.top-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.top-entry-card{position:relative;isolation:isolate;overflow:hidden;min-height:126px;padding:18px;display:flex;align-items:flex-end;border:1px solid #dfe3eb;border-radius:15px;background:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(28,39,74,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.top-entry-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(28,39,74,.09)}.top-entry-copy{position:relative;z-index:4;min-width:0;max-width:76%}.top-entry-card h3{margin:0 0 4px;font-size:19px;line-height:1.3;color:#29364f}.top-entry-copy p{margin:0;color:#687287;font-size:12px;font-weight:750;line-height:1.45}.top-entry-copy p span{display:inline-block;margin-left:3px;color:#4e5bc1;font-weight:950;transition:transform .2s ease}.top-entry-card:hover .top-entry-copy p span{transform:translateX(3px)}.top-entry-visual{position:absolute;z-index:1;right:8px;top:8px;width:47%;height:calc(100% - 16px);pointer-events:none;opacity:.72}.top-entry-card::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 38%,rgba(255,255,255,.18) 76%,rgba(255,255,255,0) 100%)}.top-entry-card.is-my::before{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(249,247,255,.90) 42%,rgba(249,247,255,.18) 78%,rgba(249,247,255,0) 100%)}.top-entry-card.is-market::before{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(245,251,255,.90) 42%,rgba(245,251,255,.18) 78%,rgba(245,251,255,0) 100%)}
.search-visual .result-row{position:absolute;right:3%;width:77%;height:15%;border:1px solid rgba(61,98,154,.22);border-radius:7px;background:rgba(255,255,255,.68);box-shadow:0 2px 8px rgba(52,83,130,.04)}.search-visual .r1{top:15%}.search-visual .r2{top:39%;width:64%;right:16%}.search-visual .r3{top:63%;width:71%;right:7%}.search-visual .result-row::before{content:"";position:absolute;left:8%;top:28%;width:42%;height:18%;border-radius:999px;background:rgba(72,108,164,.17);box-shadow:0 8px 0 rgba(72,108,164,.09)}.search-visual .lens{position:absolute;right:48%;top:31%;width:34px;height:34px;border:3px solid rgba(48,92,153,.45);border-radius:50%;animation:topSearchLens 5.2s ease-in-out infinite}.search-visual .lens::after{content:"";position:absolute;width:22px;height:3px;border-radius:999px;background:rgba(48,92,153,.45);right:-17px;bottom:-7px;transform:rotate(42deg);transform-origin:left center}.search-visual .scan{position:absolute;right:1%;top:12%;width:82%;height:2px;background:linear-gradient(90deg,transparent,rgba(70,111,171,.32),transparent);animation:topSearchScan 4.4s ease-in-out infinite}
.floor-visual .chip{position:absolute;left:1%;height:16%;min-width:30%;border:1px solid rgba(102,81,174,.20);border-radius:999px;background:rgba(248,246,255,.82)}.floor-visual .c1{top:10%;width:39%;animation:topChipDrift 5.4s ease-in-out infinite}.floor-visual .c2{top:35%;width:31%;animation:topChipDrift 5.4s ease-in-out -1.3s infinite}.floor-visual .c3{top:60%;width:43%;animation:topChipDrift 5.4s ease-in-out -2.5s infinite}.floor-visual .chip::after{content:"";position:absolute;left:17%;right:17%;top:42%;height:2px;border-radius:99px;background:rgba(98,77,168,.25)}.floor-visual .shelf{position:absolute;right:0;top:9%;width:50%;height:78%;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:6px;border:1px solid rgba(98,77,168,.18);border-radius:10px;background:rgba(255,255,255,.48);animation:topShelfGlow 4.8s ease-in-out infinite}.floor-visual .book{border-radius:5px;background:linear-gradient(145deg,rgba(130,111,198,.20),rgba(101,82,171,.08));border:1px solid rgba(106,86,177,.13);animation:topBookPulse 4.8s ease-in-out infinite}.floor-visual .book:nth-child(2){animation-delay:-.8s}.floor-visual .book:nth-child(3){animation-delay:-1.6s}.floor-visual .book:nth-child(4){animation-delay:-2.4s}
.market-visual .axis{position:absolute;left:5%;right:1%;bottom:18%;height:1px;background:rgba(54,117,169,.15)}.market-visual .bars{position:absolute;left:8%;right:4%;bottom:19%;height:62%;display:flex;align-items:flex-end;gap:7%}.market-visual .bar-mini{flex:1;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,rgba(72,137,190,.28),rgba(72,137,190,.10));transform-origin:center bottom;animation:topMarketBar 4.6s ease-in-out infinite}.market-visual .bar-mini:nth-child(1){height:35%}.market-visual .bar-mini:nth-child(2){height:53%;animation-delay:-.5s}.market-visual .bar-mini:nth-child(3){height:44%;animation-delay:-1s}.market-visual .bar-mini:nth-child(4){height:72%;animation-delay:-1.5s}.market-visual .bar-mini:nth-child(5){height:62%;animation-delay:-2s}.market-visual .bar-mini:nth-child(6){height:88%;animation-delay:-2.5s}.market-visual svg{position:absolute;inset:5% 0 8%;width:100%;height:87%;overflow:visible}.market-visual polyline{fill:none;stroke:rgba(47,103,160,.43);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 5;animation:topMarketLine 7s linear infinite}.market-visual circle{fill:#fff;stroke:rgba(47,103,160,.45);stroke-width:2;animation:topMarketDot 3.8s ease-in-out infinite}.market-visual circle:nth-of-type(2){animation-delay:-1.1s}.market-visual circle:nth-of-type(3){animation-delay:-2.2s}
@keyframes topSearchLens{0%,100%{transform:translate(-5px,-3px)}45%{transform:translate(20px,18px)}72%{transform:translate(3px,28px)}}@keyframes topSearchScan{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(88px);opacity:.7}}@keyframes topChipDrift{0%,100%{transform:translateX(0);opacity:.48}50%{transform:translateX(16px);opacity:.82}}@keyframes topShelfGlow{0%,100%{box-shadow:0 0 0 rgba(102,81,174,0)}50%{box-shadow:0 0 18px rgba(102,81,174,.10)}}@keyframes topBookPulse{0%,100%{transform:translateY(0);opacity:.58}50%{transform:translateY(-3px);opacity:.88}}@keyframes topMarketBar{0%,100%{transform:scaleY(.82);opacity:.55}50%{transform:scaleY(1.04);opacity:.9}}@keyframes topMarketLine{to{stroke-dashoffset:-60}}@keyframes topMarketDot{0%,100%{opacity:.4}50%{opacity:1}}

/* Notices. */
.top-home-notices{margin-top:22px}.top-home-notice-box{overflow:hidden;border:1px solid #dfe3eb;border-radius:15px;background:#fff}.top-home-notice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e8ebf1}.top-home-notice-head h2{font-size:17px}.top-home-notice-head>a{color:#5260b9;font-size:11px;font-weight:850;text-decoration:none}.top-home-notice-row{display:grid;grid-template-columns:90px 58px minmax(0,1fr);gap:9px;align-items:center;padding:10px 14px;border-bottom:1px solid #eef0f4;font-size:12px}.top-home-notice-row:last-child{border-bottom:0}.top-home-notice-row time{color:#8992a1}.top-home-notice-row>a{color:#34415a;text-decoration:none;font-weight:700}.top-home-notice-row>a:hover{text-decoration:underline}

/* Sidebar: optional discovery only; recommendation is non-blocking. */
.top-side-card{border:1px solid #dfe3eb;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(28,39,74,.045);overflow:hidden}.top-reco-card{position:relative}.top-reco-card:before{content:"";position:absolute;inset:0 0 auto;height:72px;pointer-events:none;background:linear-gradient(135deg,rgba(77,91,213,.09),rgba(77,91,213,0))}.top-reco-head{position:relative;z-index:1;padding:16px 16px 10px}.top-reco-headline{display:flex;align-items:center;justify-content:space-between;gap:8px}.top-reco-headline strong{font-size:17px;line-height:1.3;color:#26334d}.top-reco-headline span{flex:none;padding:3px 7px;border-radius:999px;background:#eef0ff;color:#4d5bd5;font-size:10px;font-weight:900;letter-spacing:.04em}.top-reco-head p{margin:5px 0 0;font-size:12px;color:#768095}.top-reco-loading{display:grid;gap:8px;padding:0 16px 14px}.top-reco-skeleton{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:center}.top-reco-skeleton i,.top-reco-skeleton span{display:block;background:linear-gradient(90deg,#eef0f4 25%,#f7f8fa 50%,#eef0f4 75%);background-size:200% 100%;animation:topRecoShimmer 1.3s linear infinite}.top-reco-skeleton i{height:56px;border-radius:9px}.top-reco-skeleton span{height:9px;border-radius:4px;margin-bottom:7px}.top-reco-skeleton span:last-child{width:65%;margin-bottom:0}@keyframes topRecoShimmer{to{background-position:-200% 0}}.top-reco-ready{display:none}.top-reco-card.is-ready .top-reco-loading{display:none}.top-reco-card.is-ready .top-reco-ready{display:block}.top-reco-list{display:grid;padding:0 10px 10px;gap:2px}.top-reco-item{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;padding:8px 6px;border-radius:12px;text-decoration:none;transition:.16s ease}.top-reco-item:hover{background:#f6f7ff;transform:translateY(-1px)}.top-reco-thumb{aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#e8ebf2}.top-reco-thumb img{width:100%;height:100%;object-fit:contain;display:block}.top-reco-copy{min-width:0}.top-reco-name{margin:0;font-size:13px;font-weight:850;line-height:1.45;color:#2b354a;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.top-reco-reason{display:inline-block;max-width:100%;margin-top:5px;padding:2px 6px;border-radius:5px;background:#f1f3ff;color:#5360b8;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-reco-sales{margin-top:5px;color:#7b8597;font-size:10px;font-weight:750}.top-reco-sales b{color:#c13f5d;font-size:12px}.top-reco-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 15px 12px;border-top:1px solid #eceef4;color:#8992a3;font-size:10px}.top-reco-footer a{color:#4655ba;text-decoration:none;font-size:11px;font-weight:850}
.top-side-mini-head{padding:14px 15px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.top-side-mini-head strong{font-size:15px;color:#2c3650}.top-side-mini-head a{font-size:10px;color:#5260b7;text-decoration:none;font-weight:850}.top-keyword-list{margin:0;padding:2px 10px 10px;list-style:none;counter-reset:kw}.top-keyword-list li{counter-increment:kw}.top-keyword-list li.is-loading{padding:12px;color:#939baa;font-size:12px;counter-increment:none}.top-keyword-list a{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 6px;border-radius:8px;text-decoration:none}.top-keyword-list a:hover{background:#f6f7fb}.top-keyword-list a:before{content:counter(kw);font-size:11px;font-weight:950;color:#9aa2b0;text-align:center}.top-keyword-list strong{font-size:14px;color:#30394b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-keyword-list small{font-size:11px;color:#959dad}.top-recent-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 14px 14px}.top-recent-item{text-decoration:none;min-width:0}.top-recent-thumb{aspect-ratio:4/3;border-radius:8px;background:#e8ebf2;overflow:hidden}.top-recent-thumb img{width:100%;height:100%;object-fit:contain;display:block}.top-recent-name{margin:5px 0 0;font-size:10px;line-height:1.4;color:#5f6879;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-sidebar-empty{grid-column:1/-1;margin:5px 0 8px;color:#929aaa;font-size:11px}

@media(max-width:1359px){.home-pickup-carousel{--visible:5}}
@media(max-width:1199px){.home-pickup-carousel{--visible:4}.top-hero{padding-inline:28px}.top-hero-data-art svg{width:68%;top:9%;right:-8%}}
@media(max-width:1023px){.top-home-layout{grid-template-columns:1fr}.top-home-sidebar{position:static;top:auto;margin-top:26px;grid-template-columns:1fr 1fr;align-items:start}.top-home-sidebar .top-side-card:first-child{grid-column:1/-1}.home-pickup-carousel{--visible:4}}
@media(max-width:767px){
  .top-home-v2 .wrap{width:min(100% - 22px,var(--top-wrap))}.top-home-v2 .site-pr-top{font-size:10px}.top-home-layout{padding-top:14px;padding-bottom:24px}.top-hero{min-height:auto;padding:23px 20px;border-radius:16px}.top-hero-data-art svg{width:96%;top:14%;right:-38%}.top-hero h1{font-size:32px}.top-hero-lead br{display:none}.top-hero-bottom{align-items:flex-start;flex-direction:column}.top-hero-stats{gap:15px}.top-hero-actions{width:100%;flex-wrap:wrap}
  .top-home-chapter{margin-top:14px}.top-home-chapter.is-recent{margin-top:17px}.top-home-h2-row{padding:8px 0 6px}.top-home-h2-row>div{gap:6px}.top-home-h2-row>div::after{min-width:18px}.top-home-h2-row h2,.top-home-notice-head h2{gap:6px;font-size:16px}.top-h2-icon{width:15px;height:15px;flex-basis:15px}.top-home-h2-row>a{font-size:11px}
  .top-home-v2 .home-pickup-section{padding-top:8px}.top-home-v2 .home-pickup-heading{gap:8px;margin-bottom:6px}.top-home-v2 .home-pickup-heading h3{font-size:15px}.top-home-v2 .home-pickup-more-link{display:inline-flex!important;align-items:center;white-space:nowrap;font-size:11px}
  .home-pickup-carousel{--visible:2;--card-gap:7px;display:block;margin-inline:-3px;padding-inline:0}.home-carousel-btn{display:none!important}.top-home-v2 .home-pickup-grid{gap:var(--card-gap);padding:1px 14px 10px;scroll-padding-inline:14px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.top-home-v2 .home-pickup-card{flex-basis:calc((100% - var(--card-gap) - 24px) / 2)}.home-pickup-carousel:before,.home-pickup-carousel:after{content:"";position:absolute;z-index:6;top:0;bottom:10px;width:18px;pointer-events:none}.home-pickup-carousel:before{left:0;background:linear-gradient(90deg,var(--top-bg),rgba(246,247,251,0))}.home-pickup-carousel:after{right:0;background:linear-gradient(270deg,var(--top-bg),rgba(246,247,251,0))}
  .top-entry-grid{grid-template-columns:1fr}.top-entry-card{min-height:116px;padding:16px}.top-entry-copy{max-width:78%}.top-entry-card h3{font-size:17px}.top-entry-copy p{font-size:11px}.top-entry-visual{right:7px;width:44%;opacity:.62}.top-home-sidebar{grid-template-columns:1fr;gap:12px;margin-top:22px}.top-home-sidebar .top-side-card:first-child{grid-column:auto}.top-home-notice-row{grid-template-columns:78px 52px minmax(0,1fr);gap:7px;padding:10px 11px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.top-hero:before,.top-hero:after,.top-hero .data-line,.top-hero .data-node,.top-hero .data-bar,.top-hero .data-scan,.search-visual .lens,.search-visual .scan,.floor-visual .chip,.floor-visual .shelf,.floor-visual .book,.market-visual .bar-mini,.market-visual polyline,.market-visual circle,.top-reco-skeleton i,.top-reco-skeleton span{animation:none!important}.top-home-v2 .home-pickup-grid{scroll-behavior:auto}}
/* Match the approved card density: two title lines, stable card height. */
.top-home-v2 .home-pickup-badges{min-height:18px}
.top-home-v2 .home-pickup-body h4{min-height:3.1em;-webkit-line-clamp:2}


/* 2026-08-13 refinements: optical centering and archive date carousel. */
.top-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding-top:0;
  padding-bottom:0;
  line-height:1;
}
.top-hero-actions .btn.btn-primary{min-height:44px}
.top-home-v2 .home-pickup-badges{align-items:center}
.top-home-v2 .home-pickup-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:18px;
  padding:0 5px;
  line-height:1;
  vertical-align:middle;
}
.top-home-v2 .home-pickup-badges .type-badge,
.top-home-v2 .home-pickup-badges .ai-badge,
.top-home-v2 .home-pickup-badges .original-badge,
.top-home-v2 .home-pickup-badges .parody-badge{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding-top:0;
  padding-bottom:0;
  line-height:1;
}
.top-home-archive-carousel{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 24px;
  column-gap:6px;
  align-items:center;
  min-width:0;
}
.top-home-archive-carousel .archive-carousel-btn{
  height:38px;
  align-self:center;
}
.top-home-archive-carousel .top-home-archive-links{
  grid-column:2;
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  min-width:0;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:9px 10px;
}
.top-home-archive-carousel .top-home-archive-links::-webkit-scrollbar{display:none}
.top-home-archive-carousel .top-home-archive-link{
  flex:0 0 auto;
  scroll-snap-align:start;
  white-space:nowrap;
}
@media(max-width:767px){
  .top-home-archive-carousel{
    display:block;
    position:relative;
    margin-inline:-3px;
  }
  .top-home-archive-carousel .archive-carousel-btn{display:none!important}
  .top-home-archive-carousel .top-home-archive-links{
    padding:9px 14px 10px;
    scroll-padding-inline:14px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
  }
  .top-home-archive-carousel:before,.top-home-archive-carousel:after{
    content:"";
    position:absolute;
    z-index:6;
    top:0;
    bottom:0;
    width:18px;
    pointer-events:none;
  }
  .top-home-archive-carousel:before{left:0;background:linear-gradient(90deg,var(--top-bg),rgba(246,247,251,0))}
  .top-home-archive-carousel:after{right:0;background:linear-gradient(270deg,var(--top-bg),rgba(246,247,251,0))}
}

/* 2026-08-13 sidebar refinement: roomy archive, visual recommendations, recent carousel. */
.top-home-archive-carousel{column-gap:9px;padding-inline:4px}
.top-home-archive-carousel .top-home-archive-links{padding:10px 18px;scroll-padding-inline:18px}

.top-reco-loading{gap:14px;padding:0 14px 14px}
.top-reco-skeleton{display:block}
.top-reco-skeleton>i{width:100%;height:auto;aspect-ratio:4/3;border-radius:11px}
.top-reco-skeleton>div{padding-top:9px}
.top-reco-skeleton span{height:10px;margin-bottom:7px}
.top-reco-skeleton span:first-child{width:92%}
.top-reco-skeleton span:nth-child(2){width:76%}
.top-reco-skeleton span:last-child{width:58%}
.top-reco-list{display:grid;padding:0 14px 14px;gap:14px}
.top-reco-item{display:block;padding:0;border-radius:12px;text-decoration:none;overflow:hidden;transition:.16s ease}
.top-reco-item:hover{background:#f7f8ff;transform:translateY(-1px)}
.top-reco-thumb{width:100%;aspect-ratio:4/3;border-radius:11px;overflow:hidden;background:#e8ebf2}
.top-reco-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.top-reco-copy{padding:8px 3px 2px;min-width:0}
.top-reco-name{margin:0;font-size:13px;font-weight:850;line-height:1.5;color:#2b354a;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.top-reco-reason{display:inline-block;max-width:100%;margin-top:6px;padding:3px 7px;border-radius:6px;background:#f1f3ff;color:#5360b8;font-size:10px;font-weight:800;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-reco-sales{display:none!important}

.top-recent-card{overflow:hidden}
.top-recent-controls{display:flex;align-items:center;gap:4px}
.top-recent-btn{width:24px;height:24px;padding:0;border:1px solid #dce1ec;border-radius:7px;background:#f8f9fc;color:#5966ba;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.top-recent-btn:hover:not(:disabled){background:#eef0ff;border-color:#c8cfea}
.top-recent-btn:disabled{opacity:.25;cursor:default}
.top-recent-list{display:flex;grid-template-columns:none;gap:7px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 14px 14px;scroll-padding-inline:14px}
.top-recent-list::-webkit-scrollbar{display:none}
.top-recent-item{flex:0 0 43%;scroll-snap-align:start;text-decoration:none;min-width:0}
.top-recent-thumb{aspect-ratio:4/3;border-radius:9px;background:#e8ebf2;overflow:hidden}
.top-recent-name{margin:6px 0 0;font-size:11px;line-height:1.4;color:#5f6879;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden}
.top-recent-list .top-sidebar-empty{flex:1 0 100%}

@media(max-width:767px){
  .top-home-archive-carousel{padding-inline:0}
  .top-home-archive-carousel .top-home-archive-links{padding:9px 18px 10px;scroll-padding-inline:18px}
  .top-recent-item{flex-basis:43%}
  .top-recent-btn{display:none}
  .top-recent-list{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}
}

/* 2026-08-13 final sidebar refinement: horizontal recommendations + playful loading. */
.top-reco-head{padding:16px 16px 8px}
.top-reco-headline strong{font-size:17px;line-height:1.2}
.top-reco-loading{padding:0 12px 12px}
.top-reco-loading-stage{position:relative;height:270px;border-radius:14px;overflow:hidden;background:linear-gradient(rgba(77,91,213,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(77,91,213,.035) 1px,transparent 1px),linear-gradient(180deg,#fbfcff,#f7f8fc);background-size:20px 20px,20px 20px,auto}
.top-reco-thinking{position:absolute;left:0;right:0;bottom:18px;z-index:6;text-align:center;font-size:12px;font-weight:850;color:#6772c8;letter-spacing:.02em;animation:topRecoBreatheText 1.45s ease-in-out infinite}
.top-reco-thinking-dots{display:inline-block;min-width:18px;text-align:left}
@keyframes topRecoBreatheText{0%,100%{opacity:.58;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}
.top-reco-chip{position:absolute;z-index:4;padding:.52em .78em;border:1px solid rgba(77,91,213,.10);border-radius:999px;background:rgba(239,242,255,.97);color:#5865c5;font-weight:850;box-shadow:0 3px 10px rgba(77,91,213,.07);white-space:nowrap;opacity:0;transform:scale(.45) translateY(5px)}
.top-reco-chip.w5{font-size:14px}.top-reco-chip.w4{font-size:12.5px}.top-reco-chip.w3{font-size:11px}.top-reco-chip.w2{font-size:10px}.top-reco-chip.w1{font-size:9.5px}
.top-reco-chip.c1{left:20px;top:28px}.top-reco-chip.c2{right:18px;top:52px}.top-reco-chip.c3{left:66px;top:98px}.top-reco-chip.c4{right:42px;top:132px}.top-reco-chip.c5{left:25px;top:161px}
.top-reco-chip.is-born{animation:topRecoPopIn .38s cubic-bezier(.19,1.4,.36,1) forwards,topRecoFloat 2.6s .38s ease-in-out infinite alternate}
@keyframes topRecoPopIn{0%{opacity:0;transform:scale(.45) translateY(6px)}70%{opacity:1;transform:scale(1.13) translateY(-1px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes topRecoFloat{from{transform:translate3d(0,-2px,0) rotate(-1deg)}to{transform:translate3d(3px,4px,0) rotate(1deg)}}
.top-reco-core{position:absolute;left:50%;top:51%;width:92px;height:112px;transform:translate(-50%,-50%);z-index:2}
.top-reco-card-outline{position:absolute;inset:0;border:1px solid #cfd6f2;border-radius:12px;background:rgba(255,255,255,.78);box-shadow:0 10px 26px rgba(77,91,213,.08);opacity:.58;animation:topRecoCardPulse 1.8s ease-in-out infinite}
.top-reco-card-outline:before{content:"";position:absolute;left:10px;right:10px;top:10px;height:67px;border-radius:8px;background:linear-gradient(135deg,#edf0f7,#e2e6f1)}
.top-reco-card-outline:after{content:"";position:absolute;left:11px;right:24px;bottom:12px;height:7px;border-radius:5px;background:#e4e7ef;box-shadow:0 -13px 0 #eef0f5}
@keyframes topRecoCardPulse{0%,100%{transform:scale(.97);opacity:.5}50%{transform:scale(1.02);opacity:.82}}
.top-reco-orbit{position:absolute;left:50%;top:51%;width:150px;height:150px;transform:translate(-50%,-50%);border:1px dashed rgba(77,91,213,.12);border-radius:50%;animation:topRecoSpin 12s linear infinite}
.top-reco-orbit:before,.top-reco-orbit:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#7180ea;box-shadow:0 0 0 5px rgba(113,128,234,.08)}
.top-reco-orbit:before{left:10px;top:30px}.top-reco-orbit:after{right:14px;bottom:29px}
@keyframes topRecoSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.top-reco-burst{position:absolute;left:50%;top:51%;width:18px;height:18px;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:rgba(111,126,235,.22);z-index:1;opacity:0}
.top-reco-wipe{position:absolute;left:50%;top:51%;width:0;height:142px;transform:translate(-50%,-50%);border-radius:18px;opacity:0;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.96) 35%,rgba(235,239,255,.98) 50%,rgba(255,255,255,.96) 65%,rgba(255,255,255,0));z-index:8}
/* Finalize the thinking sequence by pulling all five keyword chips into the center card.
   JS freezes each chip at its current rendered position and supplies the exact travel vector,
   so this remains centered even if sidebar width or keyword text changes. */
.top-reco-loading.is-converging .top-reco-orbit{animation-duration:1.15s;opacity:.72}
.top-reco-loading.is-converging .top-reco-card-outline{animation:topRecoAbsorbCore .78s ease-in-out both}
.top-reco-chip.is-sinking{
  z-index:7;
  transform-origin:50% 50%;
  animation:topRecoSink .68s var(--sink-delay,0ms) cubic-bezier(.18,.76,.18,1) forwards!important;
  will-change:transform,opacity,filter;
}
@keyframes topRecoSink{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg);opacity:1;filter:blur(0)}
  55%{transform:translate3d(var(--sink-mid-x),var(--sink-mid-y),0) scale(.72) rotate(var(--sink-rot));opacity:.96;filter:blur(.15px)}
  82%{opacity:.72;filter:blur(.8px)}
  100%{transform:translate3d(var(--sink-x),var(--sink-y),0) scale(.06) rotate(var(--sink-rot));opacity:0;filter:blur(4px)}
}
@keyframes topRecoAbsorbCore{
  0%,100%{transform:scale(1);box-shadow:0 10px 26px rgba(77,91,213,.08)}
  45%{transform:scale(.94);box-shadow:0 0 0 5px rgba(77,91,213,.06),0 12px 30px rgba(77,91,213,.13)}
  72%{transform:scale(1.045);box-shadow:0 0 0 8px rgba(77,91,213,.075),0 15px 34px rgba(77,91,213,.16)}
}
.top-reco-loading.is-confirming .top-reco-burst{animation:topRecoBurst .55s cubic-bezier(.11,.75,.2,1) forwards}
@keyframes topRecoBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}35%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) scale(11)}}
.top-reco-loading.is-confirming .top-reco-card-outline{animation:topRecoConfirmCard .62s cubic-bezier(.17,.9,.18,1) forwards}
@keyframes topRecoConfirmCard{0%{transform:scale(.96);opacity:.68}32%{transform:scale(1.10);opacity:1;box-shadow:0 0 0 7px rgba(77,91,213,.08),0 18px 38px rgba(77,91,213,.18)}62%{transform:scale(.98)}100%{transform:scale(1);opacity:1}}
.top-reco-loading.is-confirming .top-reco-wipe{animation:topRecoWipe .48s .17s cubic-bezier(.13,.8,.18,1) forwards}
@keyframes topRecoWipe{0%{width:0;opacity:0}20%{opacity:1}100%{width:330px;opacity:0}}
.top-reco-loading.is-confirming .top-reco-thinking{animation:topRecoThinkingOut .28s ease forwards}
@keyframes topRecoThinkingOut{to{opacity:0;transform:translateY(5px)}}
.top-reco-ready{display:none}
.top-reco-card.is-ready .top-reco-loading{display:none}
.top-reco-card.is-ready .top-reco-ready{display:block;animation:topRecoReadyIn .42s cubic-bezier(.16,.84,.22,1) both}
@keyframes topRecoReadyIn{0%{opacity:0;transform:translateX(10px) scale(.985)}65%{opacity:1;transform:translateX(-2px) scale(1.008)}100%{opacity:1;transform:none}}
.top-reco-viewport{overflow:hidden;padding:0 0 2px 14px}
.top-reco-track{display:flex;gap:10px;width:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.top-reco-track::-webkit-scrollbar{display:none}
.top-reco-item{flex:0 0 calc((100% - 10px) / 1.4);scroll-snap-align:start;display:block;padding:0;text-decoration:none;border-radius:12px;overflow:hidden;transition:.16s ease;background:transparent}
.top-reco-item:hover{background:#f7f8ff;transform:translateY(-1px)}
.top-reco-thumb{width:100%;aspect-ratio:4/3;border-radius:11px;overflow:hidden;background:#e8ebf2}.top-reco-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.top-reco-copy{padding:8px 3px 2px;min-width:0}.top-reco-name{margin:0;font-size:13px;font-weight:850;line-height:1.5;color:#2b354a;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.top-reco-reason{display:block;max-width:100%;margin-top:6px;color:#5360b8;font-size:10.5px;font-weight:800;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.top-reco-controls{display:flex;justify-content:flex-end;gap:4px;padding:6px 14px 0}
.top-reco-btn{width:24px;height:24px;padding:0;border:1px solid #dce1ec;border-radius:7px;background:#f8f9fc;color:#5966ba;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.top-reco-btn:hover:not(:disabled){background:#eef0ff;border-color:#c8cfea}.top-reco-btn:disabled{opacity:.25;cursor:default}
.top-reco-footer{display:flex;justify-content:flex-end;padding:8px 14px 12px;border-top:1px solid #eceef4}.top-reco-footer a{color:#4655ba;text-decoration:none;font-size:11px;font-weight:850}
.top-reco-empty{padding:0 16px 14px}
@media(max-width:1023px){.top-reco-item{flex-basis:calc((100% - 10px) / 2.2)}}
@media(max-width:767px){
  .top-reco-head{padding:16px 16px 6px}
  .top-reco-loading-stage{height:250px}
  .top-reco-item{flex-basis:calc((100% - 10px) / 2.2)}
  .top-reco-controls{display:none}
  .top-reco-track{padding-right:14px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}
}
@media(prefers-reduced-motion:reduce){.top-reco-orbit,.top-reco-card-outline,.top-reco-chip,.top-reco-thinking{animation:none!important}.top-reco-chip.is-sinking{opacity:0!important;transform:none!important;filter:none!important}}

/* 2026-08-13 recommendation carousel: one card, arrows beside the thumbnail. */
.top-reco-stage{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 26px;
  column-gap:6px;
  align-items:start;
  padding:0 8px 2px;
  min-width:0;
}
.top-reco-viewport{
  grid-column:2;
  overflow:hidden;
  padding:0;
  min-width:0;
}
.top-reco-track{
  display:flex;
  gap:10px;
  width:100%;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 0 2px;
}
.top-reco-track::-webkit-scrollbar{display:none}
.top-reco-item{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  scroll-snap-align:start;
}
.top-reco-btn{
  width:26px;
  height:44px;
  margin-top:68px;
  padding:0;
  border:1px solid #dce1ec;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7f8fc);
  color:#5966ba;
  font-size:19px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(28,39,74,.05);
}
.top-reco-btn.is-prev{grid-column:1}
.top-reco-btn.is-next{grid-column:3}
.top-reco-btn:hover:not(:disabled){background:#eef0ff;border-color:#c8cfea}
.top-reco-btn:disabled{opacity:.22;cursor:default;box-shadow:none}
.top-reco-controls{display:none!important}
.top-reco-thumb{width:100%;aspect-ratio:4/3}
@media(max-width:1023px){
  .top-reco-item{flex-basis:100%;min-width:100%}
}
@media(max-width:767px){
  .top-reco-stage{display:block;padding:0 14px 2px;position:relative}
  .top-reco-stage>.top-reco-btn{display:none!important}
  .top-reco-track{padding:0;scroll-padding-inline:0;-webkit-mask-image:none;mask-image:none}
  .top-reco-item{flex-basis:100%;min-width:100%}
}

/* 2026-08-13 recommendation engine/UI refinement. */
.top-reco-card:before{
  inset:0;
  height:auto;
  background:linear-gradient(155deg,rgba(77,91,213,.085) 0,rgba(77,91,213,.035) 78px,rgba(77,91,213,0) 185px);
}
.top-reco-head{position:relative;z-index:2}
.top-reco-ready,.top-reco-loading{position:relative;z-index:1}
.top-reco-badges{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  padding:7px 3px 0;
}
.top-reco-badge{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 6px;
  border:1px solid #dfe3eb;
  border-radius:5px;
  background:#f8f9fb;
  color:#596477;
  font-size:9.5px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
.top-reco-badge.is-type{background:#f6f8fb;color:#556173}
.top-reco-badge.is-ai.ai{border-color:#e7c9dc;background:#fff2f8;color:#b04c83}
.top-reco-badge.is-ai.partial_ai{border-color:#e7d9bd;background:#fff9ed;color:#9c7425}
.top-reco-badge.is-ai.non_ai{border-color:#dce2e9;background:#f8fafc;color:#687486}
.top-reco-badge.is-creation.original{border-color:#cce6da;background:#f0fbf6;color:#297253}
.top-reco-badge.is-creation.parody{border-color:#ddd7ee;background:#f7f4ff;color:#655398}
.top-reco-copy{padding-top:7px}
.top-reco-stage{padding-bottom:2px}
.top-reco-footer{display:none!important}
@media(max-width:767px){
  .top-reco-stage{padding-bottom:2px}
  .top-reco-badges{padding-top:6px}
}


/* 2026-08-13 keyword list stagger reveal. */
.top-keyword-list .top-keyword-enter{opacity:0;transform:translateY(-8px);animation:topKeywordDrop .28s cubic-bezier(.18,.78,.28,1) forwards;animation-delay:calc(var(--kw-i) * 70ms)}
@keyframes topKeywordDrop{0%{opacity:0;transform:translateY(-8px)}70%{opacity:1;transform:translateY(1px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.top-keyword-list .top-keyword-enter{opacity:1;transform:none;animation:none!important}}

/* 2026-08-13 keyword list layout stability: render ten real-size invisible rows before API completion. */
.top-keyword-list .top-keyword-placeholder{counter-increment:none}
.top-keyword-list .top-keyword-placeholder a{pointer-events:none;cursor:default}
.top-keyword-list .top-keyword-placeholder a:before{content:""}
.top-keyword-list .top-keyword-placeholder strong,.top-keyword-list .top-keyword-placeholder small{visibility:hidden}
.top-keyword-list .top-keyword-placeholder:first-child strong{visibility:visible;color:#939baa;font-size:12px;font-weight:500}

/* FANZAブックス広告: 表紙のみ・3候補カルーセル。中央1枚を大きく、左右は端だけ見せてフェードする。 */
.top-books-ad-card{overflow:hidden;border-color:#e1e5ee;background:linear-gradient(180deg,#fff 0,#fbfcff 100%)}
.top-books-ad-card[hidden]{display:none!important}
.top-books-ad-head{display:flex;align-items:center;gap:7px;padding:9px 12px 8px;border-bottom:1px solid #edf0f5;background:rgba(248,249,252,.78);color:#737b88;font-size:11px;font-weight:800;letter-spacing:.02em}
.top-books-ad-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:3px 6px;border:1px solid #d7dbe3;border-radius:999px;background:#fff;color:#69717e;font-size:9px;font-weight:950;letter-spacing:.08em;box-shadow:0 1px 2px rgba(35,45,70,.04)}
.top-books-ad-body{position:relative;padding:8px 0 9px;text-align:center}
.top-books-ad-carousel{position:relative;min-width:0}
.top-books-ad-viewport{position:relative;overflow:hidden;width:100%;height:246px}
.top-books-ad-stage{position:relative;width:100%;height:100%}
.top-books-ad-slide{position:absolute;z-index:1;left:50%;top:4px;width:168px;height:238px;opacity:0;pointer-events:none;transform:translateX(-50%) scale(.86);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.75,.25,1),opacity .22s ease,filter .22s ease;filter:saturate(.72) brightness(.98)}
.top-books-ad-slide.is-active{z-index:3;opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1);filter:none}
.top-books-ad-slide.is-prev{z-index:1;opacity:.62;transform:translateX(calc(-50% - 156px)) scale(.88)}
.top-books-ad-slide.is-next{z-index:1;opacity:.62;transform:translateX(calc(-50% + 156px)) scale(.88)}
.top-books-ad-link{display:flex;width:168px;height:238px;align-items:center;justify-content:center;border-radius:9px;background:#f4f5f8;text-decoration:none!important;overflow:hidden;box-shadow:0 4px 14px rgba(26,34,54,.15);transition:box-shadow .16s ease,transform .16s ease}
.top-books-ad-link img{display:block;width:100%;height:100%;object-fit:contain;background:#f4f5f8}
.top-books-ad-slide.is-active .top-books-ad-link:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(26,34,54,.20)}
.top-books-ad-fade{position:absolute;z-index:4;top:0;bottom:0;width:62px;pointer-events:none}
.top-books-ad-fade.is-left{left:0;background:linear-gradient(90deg,#fff 13%,rgba(255,255,255,.94) 35%,rgba(255,255,255,.60) 68%,rgba(255,255,255,0) 100%)}
.top-books-ad-fade.is-right{right:0;background:linear-gradient(270deg,#fff 13%,rgba(255,255,255,.94) 35%,rgba(255,255,255,.60) 68%,rgba(255,255,255,0) 100%)}
.top-books-ad-nav{position:absolute;z-index:6;top:107px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid #dfe3ed;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 10px rgba(34,45,73,.09);color:#5966be;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.top-books-ad-nav:hover{background:#fff;border-color:#cfd5e5;transform:translateY(-1px)}
.top-books-ad-nav.is-prev{left:9px}.top-books-ad-nav.is-next{right:9px}
.top-books-ad-dots{display:flex;align-items:center;justify-content:center;gap:6px;min-height:15px;margin-top:2px}
.top-books-ad-dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:#d5d9e4;cursor:pointer;transition:width .18s ease,background .18s ease}
.top-books-ad-dot.is-active{width:16px;background:#707bc9}
@media(prefers-reduced-motion:reduce){.top-books-ad-slide,.top-books-ad-link,.top-books-ad-nav,.top-books-ad-dot{transition:none!important}}


/* 2026-08-14 OppAI recommendation explanation. */
.top-reco-why{
  margin:-2px 12px 6px;
  color:#667087;
}
.top-reco-why summary{
  display:inline-flex;
  align-items:center;
  gap:4px;
  list-style:none;
  cursor:pointer;
  color:#6873bd;
  font-size:10px;
  font-weight:850;
  line-height:1.25;
  user-select:none;
}
.top-reco-why summary::-webkit-details-marker{display:none}
.top-reco-why summary:after{content:"＋";font-size:11px;color:#939bd0;transition:transform .16s ease}
.top-reco-why[open] summary:after{content:"−"}
.top-reco-why-body{
  margin-top:5px;
  padding:8px 9px;
  border:1px solid #e4e7f2;
  border-radius:9px;
  background:rgba(248,249,255,.92);
  color:#626d82;
  font-size:10px;
  line-height:1.58;
}
.top-reco-why-body p{margin:0 0 6px}
.top-reco-why-body p:last-child{margin-bottom:0}
.top-reco-why-body strong{color:#4552a9}

/* 2026-08-14 shared discovery sidebar: search results / item / circle. */
.public-sidebar-wrap{width:min(1360px,calc(100% - 36px))}
.public-sidebar-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--top-side);gap:var(--top-gap);align-items:start;min-width:0}
.public-sidebar-main{min-width:0}
.public-discovery-sidebar{align-self:start}
/* Search page: keep a clear gap below the search panel and align the sidebar with the first results block. */
.search-page .public-sidebar-layout{margin-top:20px}
.search-page .public-sidebar-main>:first-child{margin-top:0}
@media(max-width:1180px){
  .public-sidebar-layout{grid-template-columns:1fr}
  .public-discovery-sidebar{position:static;top:auto;margin-top:24px;grid-template-columns:1fr 1fr;align-items:start}
  .public-discovery-sidebar .top-side-card:first-child{grid-column:1/-1}
}
@media(max-width:767px){
  .public-sidebar-wrap{width:min(100% - 22px,1360px)}
  .public-discovery-sidebar{grid-template-columns:1fr;gap:12px;margin-top:20px}
  .public-discovery-sidebar .top-side-card:first-child{grid-column:auto}
}

/* 2026-08-15 community recommendation sidebar: one current pick above the normal discovery sidebar. */
.community-sidebar-card[hidden]{display:none!important}
.community-sidebar-head{position:relative;z-index:1;padding-bottom:9px}.community-sidebar-body{position:relative;z-index:1}
.community-sidebar-body{padding:0 12px 13px}
.community-sidebar-item{display:block;min-width:0;padding:0;text-decoration:none;color:inherit}
.community-sidebar-thumb{display:flex;width:100%;aspect-ratio:4/3;align-items:center;justify-content:center;overflow:hidden;border-radius:11px;background:#eef1f6;color:#98a0ad;font-size:9px}
.community-sidebar-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.community-sidebar-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding-top:8px}
.community-sidebar-title{display:-webkit-box;overflow:hidden;margin:7px 1px 0;color:#2b354a;font-size:13px;font-weight:850;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.community-sidebar-maker{overflow:hidden;margin:5px 1px 0;color:#7b8597;font-size:10px;line-height:1.45;white-space:nowrap;text-overflow:ellipsis}
.community-sidebar-item:hover .community-sidebar-title{color:#4050bd;text-decoration:underline}
@media(max-width:1023px){.top-home-sidebar>.community-sidebar-card,.top-home-sidebar>.top-reco-card{grid-column:1/-1}}


/* 2026-08-16 data-column pickup: low-height editorial strip between community picks and recent market. */
.top-analysis-pickup{position:relative;margin-top:20px}
.top-analysis-pickup-link{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:92px;padding:16px 20px;border:1px solid #cbdcf4;border-radius:13px;background:linear-gradient(102deg,#f7fbff 0%,#fff 48%,#f8fbff 100%);box-shadow:0 7px 22px rgba(24,62,112,.065);color:#233550;text-decoration:none!important;overflow:hidden;isolation:isolate;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.top-analysis-pickup-link::before{content:"";position:absolute;z-index:-1;inset:-50% auto -50% -18%;width:26%;background:linear-gradient(90deg,transparent,rgba(49,143,255,.12),transparent);transform:skewX(-18deg) translateX(-220%);animation:top-analysis-pickup-scan 5.8s ease-in-out infinite}
.top-analysis-pickup-link::after{content:"";position:absolute;right:18px;bottom:-25px;width:90px;height:90px;border-radius:50%;border:18px solid rgba(22,114,232,.045);z-index:-1}
.top-analysis-pickup-link:hover{transform:translateY(-1px);border-color:#98bde9;box-shadow:0 10px 28px rgba(24,80,153,.10)}
.top-analysis-pickup-labels{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:92px}
.top-analysis-pickup-badge{display:inline-flex;align-items:center;gap:7px;color:#1265cf;font-size:12px;font-weight:950;letter-spacing:.06em}
.top-analysis-pickup-badge i{display:block;width:8px;height:8px;border-radius:50%;background:#2185f1;box-shadow:0 0 0 4px rgba(33,133,241,.12);animation:top-analysis-pickup-pulse 2.2s ease-out infinite}
.top-analysis-pickup-type{color:#8290a3;font-size:9px;font-weight:850;letter-spacing:.12em}
.top-analysis-pickup-copy{min-width:0}
.top-analysis-pickup-copy strong{display:block;overflow:hidden;color:#173a69;font-size:17px;font-weight:900;line-height:1.45;white-space:nowrap;text-overflow:ellipsis}
.top-analysis-pickup-copy span{display:block;overflow:hidden;margin-top:4px;color:#69768a;font-size:12px;line-height:1.55;white-space:nowrap;text-overflow:ellipsis}
.top-analysis-pickup-action{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-right:5px;white-space:nowrap}
.top-analysis-pickup-action small{color:#9aa4b3;font-size:9px}
.top-analysis-pickup-action b{color:#1769ce;font-size:12px;font-weight:900}
@keyframes top-analysis-pickup-scan{0%,52%{transform:skewX(-18deg) translateX(-220%);opacity:0}58%{opacity:1}78%,100%{transform:skewX(-18deg) translateX(620%);opacity:0}}
@keyframes top-analysis-pickup-pulse{0%{box-shadow:0 0 0 0 rgba(33,133,241,.26)}70%{box-shadow:0 0 0 7px rgba(33,133,241,0)}100%{box-shadow:0 0 0 0 rgba(33,133,241,0)}}
@media(max-width:767px){
  .top-analysis-pickup{margin-top:16px}
  .top-analysis-pickup-link{grid-template-columns:1fr auto;gap:8px 12px;min-height:0;padding:14px 15px}
  .top-analysis-pickup-labels{grid-column:1/-1;flex-direction:row;align-items:center;gap:9px;min-width:0}
  .top-analysis-pickup-copy strong{font-size:14px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .top-analysis-pickup-copy span{font-size:11px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}
  .top-analysis-pickup-action small{display:none}
  .top-analysis-pickup-action b{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.top-analysis-pickup-link::before,.top-analysis-pickup-badge i{animation:none!important}}


/* 2026-08-17 OppAI recommendation identity. */
.top-reco-maker{
  margin:3px 0 0;
  overflow:hidden;
  color:#8992a3;
  font-size:10px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.top-reco-maker + .top-reco-reason{margin-top:5px}
/* 2026-08-17 OppAI v2: mark works the visitor explicitly recommended. */
.top-recent-thumb{position:relative}
.top-recent-recommended{position:absolute;left:5px;bottom:5px;display:inline-flex;align-items:center;min-height:18px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(224,116,28,.94);padding:2px 6px;color:#fff;font-size:8px;font-weight:950;line-height:1;box-shadow:0 2px 7px rgba(47,35,25,.2);white-space:nowrap}
