/* chart components, same rules as the /trending/ pages */
.bc-week{display:inline-block;background:var(--banana);color:var(--night);border:3px solid var(--ink);border-radius:10px;padding:3px 10px;font-weight:800;font-size:13px;letter-spacing:.5px;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--ink)}
.bc-stats{flex:none;display:flex;gap:10px}
.bc-stat{background:var(--plum);border:3px solid var(--ink);border-radius:14px;padding:8px 14px;box-shadow:3px 3px 0 var(--ink)}
.bc-stat b{display:block;font-family:var(--display);font-weight:400;font-size:24px;color:var(--banana)}
.bc-stat b.mint{color:var(--mint)}
.bc-stat span{font-size:12px;color:var(--muted)}
.bc-row{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;background:var(--plum);border:2px solid var(--line);border-radius:14px;text-decoration:none;color:var(--cream)}
.bc-row:hover{color:var(--cream);border-color:var(--banana)}
.bc-img{flex:none;width:72px;height:96px;border-radius:10px;border:2px solid var(--ink);object-fit:cover;object-position:center top;background:var(--night);display:block}
.bc-rank{flex:none;width:38px;height:38px;display:grid;place-items:center;background:var(--night);color:var(--muted);border:2px solid var(--ink);border-radius:50%;font-family:var(--display);font-size:19px}
.bc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.bc-name{font-weight:800;font-size:16.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-metric{align-self:flex-start;color:var(--banana);border-radius:7px;padding:1px 0;font-weight:800;font-size:12.5px}
.bc-meta{font-size:12.5px;opacity:.8}
.bc-row.r1,.bc-row.r2,.bc-row.r3{border:3px solid var(--ink);color:var(--night)}
.bc-row.r1{background:#FFD23F}
.bc-row.r2{background:#DDD5E8}
.bc-row.r3{background:#FF9C5A}
.bc-row.r1:hover,.bc-row.r2:hover,.bc-row.r3:hover{color:var(--night);border-color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.bc-row.r1 .bc-rank,.bc-row.r2 .bc-rank,.bc-row.r3 .bc-rank,.bc-row.r1 .bc-metric,.bc-row.r2 .bc-metric,.bc-row.r3 .bc-metric{background:var(--night)}
.bc-row.r1 .bc-rank,.bc-row.r1 .bc-metric{color:#FFD23F}
.bc-row.r2 .bc-rank,.bc-row.r2 .bc-metric{color:#DDD5E8}
.bc-row.r3 .bc-rank,.bc-row.r3 .bc-metric{color:#FF9C5A}
.bc-row.r1 .bc-metric,.bc-row.r2 .bc-metric,.bc-row.r3 .bc-metric{padding:1px 7px}
.fc-banner{color:var(--night);border-bottom:3px solid var(--ink)}
.fc-banner .wrap{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 24px;padding-top:22px;padding-bottom:22px}
.fc-banner .crumbs,.fc-banner .crumbs a{color:var(--night);font-weight:700}
.fc-banner h1{margin:6px 0;font-size:clamp(32px,4.5vw,46px);line-height:1}
.fc-banner p{margin:0;font-size:16px;max-width:44em}
.fc-banner .bc-stat{background:var(--night);color:var(--cream)}
.fc-tabs,.fc-jump{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fc-tabs{padding-top:14px;padding-bottom:14px;border-bottom:2px solid var(--line)}
.fc-tab{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:3px solid var(--line);background:var(--plum);color:var(--cream);font-weight:800;font-size:14px;text-decoration:none}
.fc-tab.on{border-color:var(--ink);color:var(--night)}
.bc-row.r1 .fc-cta,.bc-row.r2 .fc-cta,.bc-row.r3 .fc-cta{background:var(--night);color:var(--cream)}
.fc-tab.on{background:var(--mint)}
button.fc-tab{font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.fc-tab:hover{color:var(--cream);border-color:var(--banana)}
.fc-tab.on:hover{color:var(--night);border-color:var(--ink)}
/* star wiki */
.sw-crumb{background:var(--mint);color:var(--night);border-bottom:3px solid var(--ink)}
.sw-crumb .wrap{padding-top:16px;padding-bottom:16px}
.sw-crumb a,.sw-crumb{color:var(--night);font-weight:700;font-size:15px}
.sw-hero{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding-top:30px}
.sw-photo{flex:none;position:relative;width:240px}
.sw-photo img{width:240px;height:320px;object-fit:cover;object-position:center top;border:3px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--ink);background:var(--plum);display:block}
.sw-photo .bc-week{position:absolute;top:-12px;left:-10px}
.sw-id{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}
.sw-kind{font-weight:800;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--mint)}
.sw-id h1{margin:4px 0 0;font-size:clamp(38px,5.4vw,58px);line-height:1}
.sw-stats{display:flex;flex-wrap:wrap;gap:10px}
.sw-stats .bc-stat b{font-size:26px;color:var(--cream)}
.sw-stats .bc-stat b.banana{color:var(--banana)}
.sw-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;background:var(--night-2);border:3px solid var(--ink);border-radius:18px;padding:6px 18px}
.sw-facts div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:2px solid var(--line)}
.sw-facts dt{color:var(--muted);font-size:14px}.sw-facts dd{margin:0;font-weight:800;font-size:15px;text-align:right}
.sw-cta{display:flex;flex-wrap:wrap;gap:12px}
.sw-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 26px;padding:14px 0;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.sw-cols{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.sw-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:40px}
.sw-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:22px}
.sw-main h2{margin:0 0 12px;font-size:32px}
.sw-main section{scroll-margin-top:16px}
.sw-bio p{margin:0 0 12px;color:var(--soft)}
.sw-src{font-size:13px;color:var(--muted);margin:8px 0 0}
.sw-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.sw-works.jp{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.sw-work{display:flex;flex-direction:column;gap:7px;background:var(--plum);border:2px solid var(--line);border-radius:14px;padding:8px;color:var(--cream);text-decoration:none}
.sw-work:hover{color:var(--cream);border-color:var(--banana)}
.sw-thumb{position:relative;aspect-ratio:16/9;border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:var(--night-2)}
.sw-works.jp .sw-thumb{aspect-ratio:3/4}
.sw-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:blur(12px);transform:scale(1.1);transition:filter .2s}
.sw-work:hover .sw-thumb img,.sw-work:focus-visible .sw-thumb img{filter:none;transform:none}
.sw-thumb .noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--muted)}
.sw-thumb .dur{position:absolute;right:6px;bottom:6px;background:var(--night);color:var(--cream);border-radius:6px;padding:0 6px;font-size:12px;font-weight:800}
.sw-wt{font-weight:800;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sw-wm{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted)}
.sw-wm b{color:var(--banana)}
.sw-take{background:var(--banana);color:var(--night);border:3px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);padding:16px 20px}
.sw-take .lbl{font-weight:800;font-size:12px;letter-spacing:.8px;text-transform:uppercase}
.sw-take p{margin:6px 0 0;font-size:16.5px}
.sw-cm{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.sw-cm article{background:var(--plum);border:2px solid var(--line);border-radius:14px;padding:12px 16px}
.sw-cm p{margin:0;font-size:15.5px}
.sw-cm .lk{float:right;color:var(--banana);font-weight:800;font-size:13px;margin-left:10px}
.sw-box{background:var(--night-2);border:3px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--ink);overflow:hidden}
.sw-box h2{margin:0;padding:12px 16px;color:var(--night);border-bottom:3px solid var(--ink);font-size:22px}
.sw-box ul{list-style:none;margin:0;padding:12px;display:flex;flex-direction:column;gap:8px}
.sw-box .bc-row{min-height:52px}
.sw-score{padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.sw-score div div{display:flex;justify-content:space-between;font-size:14px}
.sw-bar{height:10px;margin-top:4px;background:var(--night);border:2px solid var(--ink);border-radius:999px;overflow:hidden}
.sw-bar i{display:block;height:100%;background:var(--banana)}
.sw-mini{flex:none;width:44px;height:58px;border-radius:10px;border:2px solid var(--ink);object-fit:cover;object-position:center top;background:var(--night)}
.sw-dot{flex:none;width:40px;height:40px;border-radius:10px;border:2px solid var(--ink);background:var(--night);display:grid;place-items:center;font-family:var(--display);color:var(--banana)}
.sw-note{font-size:13px;color:var(--muted);margin-top:30px}
.sw-pn{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:700px){.sw-facts{grid-template-columns:minmax(0,1fr)}.sw-photo,.sw-photo img{width:180px}.sw-photo img{height:240px}}
/* hub */
.sw-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-top:20px}
.sw-filters input{flex:1 1 300px;min-height:48px;background:var(--plum);color:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:0 16px;font:inherit;font-size:16px}
.sw-grid{list-style:none;margin:0;padding:24px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.sw-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px 8px 12px;border-radius:16px;background:var(--plum);border:2px solid var(--line);color:var(--cream);text-decoration:none;height:100%;box-sizing:border-box}
.sw-card:hover{color:var(--cream);border-color:var(--banana)}
.sw-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border:2px solid var(--ink);border-radius:12px;background:var(--night);display:block}
.sw-card b{font-size:16px;line-height:1.2}
.sw-card .k{font-size:12px;font-weight:800;color:var(--mint);text-transform:uppercase;letter-spacing:.5px}
.sw-card .m{font-size:13px;font-weight:800;color:var(--banana)}
.sw-card .bc-rank{position:absolute;top:-6px;left:-6px;width:36px;height:36px;font-size:17px}
.sw-grid li[hidden]{display:none}
.sw-grid[hidden],.sw-empty[hidden]{display:none}
.sw-empty{padding:30px 0;color:var(--muted)}
