@font-face{font-family:Bangers;src:url(/assets/fonts/Bangers.woff2) format("woff2");font-display:swap}
@font-face{font-family:Marker;src:url(/assets/fonts/PermanentMarker.woff2) format("woff2");font-display:swap}
@font-face{font-family:Lilita;src:url(/assets/fonts/Lilita.woff2) format("woff2");font-display:swap}
@font-face{font-family:Huninn;src:url(/assets/fonts/Huninn.woff2) format("woff2");font-display:swap}
:root{--ink:#111;--y:#FFD60A;--p:#FF2E93;--c:#22D3EE;--l:#A3E635;--o:#FFD60A;--v:#8B7CFF;--paper:#FFF8E7;--navy:#0E1446;--red:#FF4D4D;--brown:#8B4A2B}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:#fff;font-family:Huninn,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.55;background-color:var(--navy);background-image:radial-gradient(circle at 8% 22%,rgba(255,46,147,.35) 0 70px,transparent 72px),radial-gradient(circle at 94% 40%,rgba(163,230,53,.28) 0 90px,transparent 92px),radial-gradient(circle at 70% 85%,rgba(34,211,238,.25) 0 110px,transparent 112px),repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.06) 58px 62px),repeating-linear-gradient(90deg,transparent 0 118px,rgba(255,255,255,.04) 118px 122px);background-attachment:fixed}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
.h-zh{font-family:Huninn,"Noto Sans TC",sans-serif;font-weight:400;letter-spacing:.02em}
.num,.score,.rank,.burst .in b,.kv span b{font-family:Lilita,Bangers,Impact!important}
.panel,.callrow,.item,.side.bright,.notice,table.board td,.tabs button,nav.main a,.btn,.sticker,.bar,form.appeal{color:var(--ink)}
.stroke{-webkit-text-stroke:6px var(--ink);paint-order:stroke fill}
.h-en{font-family:Bangers,Impact,sans-serif;letter-spacing:.04em;font-weight:400}
.marker{font-family:Marker,"Comic Sans MS",cursive}
.preview-bar{background:repeating-linear-gradient(-45deg,var(--y) 0 18px,var(--ink) 18px 36px);padding:4px 0}
.preview-bar div{background:var(--ink);color:var(--y);text-align:center;font-size:13px;padding:4px 10px;max-width:max-content;margin:0 auto;border-radius:4px}
header.top{position:sticky;top:0;z-index:20;background:var(--navy);border-bottom:4px solid var(--y);box-shadow:0 4px 0 var(--ink)}
header.top .wrap{display:flex;align-items:center;gap:12px;min-height:62px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none}
.logo img{width:46px;height:46px}.logo .zh{font-size:28px;color:var(--y);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--p)}
.logo .en{font-size:15px;background:var(--l);color:var(--ink);border:2px solid var(--ink);padding:1px 8px;transform:rotate(-4deg);border-radius:3px}
nav.main{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
nav.main a{text-decoration:none;font-weight:700;padding:6px 12px;border:3px solid var(--ink);border-radius:999px;background:#fff;box-shadow:3px 3px 0 var(--ink);font-size:14px;transition:transform .08s}
nav.main a:hover,nav.main a.on{background:var(--y);transform:translate(-1px,-1px) rotate(-2deg)}
.ticker{background:#000;color:#fff;overflow:hidden;white-space:nowrap;border-bottom:4px solid var(--ink);font-size:14px}
.ticker .track{display:inline-block;padding:6px 0;animation:tick 60s linear infinite}
.ticker span{margin:0 18px}.up{color:#5dff8a}.down{color:#ff6b8a}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}}
.hero{position:relative;min-height:560px;background:#0E1446 url(/art/hero.webp) right center/cover no-repeat;border-bottom:5px solid var(--ink);overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,70,.96) 0,rgba(14,20,70,.82) 38%,rgba(14,20,70,0) 62%)}
.hero .wrap{position:relative;padding-top:34px;padding-bottom:30px}
.hero .copy{max-width:600px}
.hero .logoA{width:min(520px,92%);height:auto;display:block;margin-left:-14px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.35))}
.hero .tag{font-size:clamp(20px,3vw,28px);margin:6px 0 6px;color:#fff}
.hero .tag-en{font-family:Marker,cursive;font-size:clamp(20px,3vw,28px);color:var(--l)}
.spray{position:absolute;pointer-events:none;opacity:.9}
.statstrip{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.sticker{display:inline-flex;align-items:center;gap:6px;border:3px solid var(--ink);border-radius:10px;padding:4px 10px;background:#fff;box-shadow:3px 3px 0 var(--ink);font-weight:700;white-space:nowrap}
.sticker.tilt{transform:rotate(-3deg)}.sticker.tilt2{transform:rotate(2deg)}
.panel{background:var(--paper);border:4px solid var(--ink);border-radius:16px;box-shadow:8px 8px 0 var(--ink);padding:18px;margin:22px 0;position:relative}
.panel h2{margin:0 0 10px;font-size:clamp(26px,4vw,38px)}
.panel h2{color:var(--y);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--p)}.panel h2 .h-en{color:var(--p);text-shadow:3px 3px 0 var(--ink);margin-left:8px;font-size:.7em}
.panel .wally{position:absolute;right:14px;top:-58px;width:110px;height:auto;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.35));transform:rotate(6deg)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.tabs button{font:inherit;font-weight:700;cursor:pointer;border:3px solid var(--ink);background:#fff;border-radius:10px;padding:6px 12px;box-shadow:3px 3px 0 var(--ink)}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--y);transform:rotate(-2deg)}
.tabs .sep{width:10px}
table.board{width:100%;border-collapse:separate;border-spacing:0 8px}
table.board th{font-size:13px;text-align:left;padding:0 8px;color:#444}
table.board td{background:#fff;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:8px;vertical-align:middle}
table.board td:first-child{border-left:3px solid var(--ink);border-radius:12px 0 0 12px}
table.board td:last-child{border-right:3px solid var(--ink);border-radius:0 12px 12px 0}
table.board tr:hover td{background:#fffbe0}
.rank{font-family:Bangers,Impact;font-size:30px;width:52px;text-align:center}
.rank{-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;color:#fff}.rank.r1{color:var(--y)}.rank.r2{color:var(--c)}.rank.r3{color:var(--p)}
.who{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.who .av{width:48px;height:48px;flex:none;border:3px solid var(--ink);border-radius:12px;overflow:hidden;background:#fff}
.who .av svg,.who .av img{width:100%;height:100%;display:block}
.who b{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who small{display:block;color:#555;font-size:12px}
.demo{white-space:nowrap;display:inline-block;font-size:10px;background:var(--v);color:#fff!important;border:2px solid var(--ink);border-radius:5px;padding:0 4px;margin-left:4px;vertical-align:2px;font-weight:700;color:var(--ink)}
.score{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;font-family:Bangers,Impact;font-size:28px;border:3px solid var(--ink);border-radius:50%;box-shadow:3px 3px 0 var(--ink)}
.s-hi{background:var(--l)}.s-mid{background:var(--y)}.s-lo{background:var(--p);color:#fff}.s-na{background:#ddd;font-size:16px}
.num{font-family:Bangers,Impact;font-size:22px;letter-spacing:.03em}
.muted{color:#555;font-size:13px}
.lbl{display:inline-flex;align-items:center;gap:4px;border:2.5px solid var(--ink);border-radius:8px;padding:1px 8px;font-weight:700;font-size:13px;margin:2px 4px 2px 0;background:#fff;white-space:nowrap}
.lbl i{font-style:normal;font-family:Bangers,Impact;font-size:15px;background:var(--ink);color:#fff;border-radius:4px;padding:0 4px}
.wl{font-size:12px;font-weight:700;border:2px solid var(--ink);border-radius:6px;padding:0 6px}
.wl-L1{background:var(--l)}.wl-L2{background:var(--c)}.wl-NONE{background:#ddd}
.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;border:3px solid var(--ink);background:var(--y);border-radius:12px;padding:7px 14px;box-shadow:4px 4px 0 var(--ink);transition:transform .08s;color:var(--ink)}
.btn:hover{transform:translate(-2px,-2px) rotate(-1deg)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn.pink{background:var(--p);color:#fff}.btn.cyan{background:var(--c)}.btn.white{background:#fff}.btn.sm{padding:3px 10px;font-size:13px;box-shadow:3px 3px 0 var(--ink)}
.insufficient td{opacity:.62}
.callrow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;padding:14px;background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:5px 5px 0 var(--ink)}
.bubble{position:relative;background:#fff;border:3px solid var(--ink);border-radius:18px;padding:12px 14px;font-size:17px}
.bubble:after{content:"";position:absolute;left:26px;bottom:-16px;border:8px solid transparent;border-top:12px solid var(--ink)}
.track-say,.track-do{font-family:Bangers,Impact;font-size:20px;display:inline-block;padding:0 8px;border:3px solid var(--ink);border-radius:8px;margin-bottom:8px}
.track-say{background:var(--c)}.track-do{background:var(--l)}
.tl{position:relative;height:56px;margin:22px 0 4px;border-bottom:3px dashed var(--ink)}
.tl .m{position:absolute;bottom:-12px;transform:translateX(-50%);text-align:center;font-size:11px;white-space:nowrap}
.tl .m.up{bottom:auto;top:-6px}.tl .m.up b{margin:1px auto 0}.tl .m b{display:block;width:22px;height:22px;margin:0 auto 2px;border:2.5px solid var(--ink);border-radius:50%;line-height:17px;font-size:12px}
.tl .t0 b{background:var(--y)}.tl .buy b{background:var(--l)}.tl .sell b{background:var(--p);color:#fff}
.kv{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;margin-top:22px}
.kv span b{font-family:Bangers,Impact;font-size:18px;letter-spacing:.03em}
.profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.profile-head .bigav{width:120px;height:120px;border:4px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:5px 5px 0 var(--ink);transform:rotate(-3deg)}
.profile-head .bigav svg,.profile-head .bigav img{width:100%;height:100%}
.burst{position:relative;width:170px;height:170px}
.burst svg{position:absolute;inset:0;width:100%;height:100%}
.burst .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-6deg)}
.burst .in b{font-family:Bangers,Impact;font-size:58px;line-height:1}
.burst .in small{font-weight:700;font-size:12px}
.bars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.bar{border:3px solid var(--ink);border-radius:10px;background:#fff;padding:6px 8px}
.bar .fill{height:12px;border:2px solid var(--ink);border-radius:6px;background:linear-gradient(90deg,var(--p),var(--y),var(--l));margin-top:4px;position:relative;overflow:hidden}
.bar .fill i{position:absolute;right:0;top:0;bottom:0;background:#eee}
.cardbox{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}
.cardbox img{width:100%;border:4px solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 var(--ink);background:#fff;display:block}
.sharebtns{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}
.vs .mid{font-family:Bangers,Impact;font-size:80px;color:var(--p);-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);align-self:center;transform:rotate(-8deg)}
.side{border:4px solid var(--ink);border-radius:16px;padding:14px;box-shadow:6px 6px 0 var(--ink)}
.side.bright{background:#fff9c4}.side.dim{background:#1d1660;color:#fff;box-shadow:6px 6px 0 var(--v)}.side.dim h3{color:var(--v)}.side.dim .muted{color:#bbb}
.side h3{margin:0 0 8px;font-size:30px}
.item{border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);padding:10px;margin:10px 0;box-shadow:4px 4px 0 #000}
.item .muted{color:#555 !important}
form.appeal label{display:block;font-weight:700;margin:12px 0 4px}
form.appeal input,form.appeal select,form.appeal textarea{width:100%;font:inherit;border:3px solid var(--ink);border-radius:10px;padding:9px 10px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
form.appeal textarea{min-height:130px}
.hp{position:absolute;left:-9999px}
.notice{border:3px dashed var(--ink);background:#fff;border-radius:12px;padding:10px 14px;margin:10px 0}
.ok-box{background:var(--l);border:3px solid var(--ink);border-radius:12px;padding:12px;font-weight:700;display:none}
.err-box{background:var(--p);color:#fff;border:3px solid var(--ink);border-radius:12px;padding:12px;font-weight:700;display:none}
.md table{border-collapse:collapse;width:100%;background:#fff;margin:10px 0;font-size:14px}
.md th,.md td{border:2px solid var(--ink);padding:6px 8px;text-align:left;vertical-align:top}
.md th{background:var(--y)}
.md code{background:#fff;border:2px solid var(--ink);border-radius:6px;padding:1px 6px;font-size:14px}
.md h3{font-size:24px;margin:22px 0 6px}
footer{margin-top:40px;background:#000;border-top:5px solid var(--p);color:#eee;padding:24px 0 40px;font-size:13px}
footer a{color:var(--y)}
footer .big{font-family:Bangers,Impact;font-size:30px;color:var(--y);letter-spacing:.05em}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) rotate(-2deg);background:var(--ink);color:var(--y);padding:10px 16px;border-radius:10px;font-weight:700;display:none;z-index:50;border:3px solid var(--y)}
.empty{font-family:Marker,cursive;font-size:18px;color:#666}
.hidden{display:none !important}
@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr}.hero .art{order:-1}.hero .art img,.hero .art svg.mascot{width:190px}
  .hero .art .b1{right:6%;top:0}
  .callrow,.cardbox,.vs{grid-template-columns:1fr}.vs .mid{text-align:center;font-size:60px}
  .profile-head{grid-template-columns:auto 1fr}.profile-head .burst{grid-column:1/-1;justify-self:center}
  .profile-head .bigav{width:84px;height:84px}
  .bars{grid-template-columns:repeat(2,1fr)}
  table.board .hide-m{display:none}
  table.board td{padding:6px}.rank{width:30px;font-size:22px}.score{width:46px;height:46px;font-size:22px}
  .who .av{width:38px;height:38px}.who b{font-size:15px;max-width:38vw}
  nav.main{margin-left:0;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  nav.main a{flex:none}
  header.top{position:static}
  .panel{padding:12px;box-shadow:5px 5px 0 var(--ink)}
}

.verdict{display:inline-flex;align-items:center;gap:6px;border:3px solid var(--ink);border-radius:10px;padding:2px 10px;font-weight:700;box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg);font-size:15px}
.verdict small{font-family:Bangers,Impact;font-size:13px;letter-spacing:.04em}
.v-mingdeng{background:var(--y)}.v-mingdeng_bad{background:var(--v);color:#fff}.v-yanqian{background:var(--p);color:#fff}.v-pending{background:var(--c)}.v-talk{background:var(--paper)}
.neg{color:#d81b3b}.pos{color:#3f7d0a}
.side.dim .neg,.ticker .neg{color:var(--red)}
.hero-stats .sticker{background:var(--paper)}
.muted-w{color:#c9cdf2;font-size:13px}
@media (max-width:820px){
 .hero{background-image:url(/art/hero-m.webp);background-position:center bottom;background-size:cover;min-height:640px}
 .hero:before{background:linear-gradient(180deg,rgba(14,20,70,.97) 0,rgba(14,20,70,.88) 52%,rgba(14,20,70,0) 78%)}
 .panel .wally{width:72px;top:-40px;right:6px}
 .panel h1,.panel h2{padding-right:70px}
 .profile-head{grid-template-columns:84px 1fr;gap:12px}.profile-head h1{padding-right:0}
 .profile-head>div:nth-child(2){min-width:0}
 .profile-head .burst{width:150px;height:150px}.burst .in b{font-size:46px}.burst .in small{font-size:11px}
 .profile-head h1{font-size:28px!important}
 .tabs{gap:6px}.tabs button{padding:4px 9px;font-size:14px}.tabs .sep{display:none}
 .cardbox img{box-shadow:4px 4px 0 var(--ink)}
}
/* ---- i18n: per-language fonts + language switcher ---- */
@font-face{font-family:ZCOOL;src:url(/assets/fonts/ZCOOL.woff2) format("woff2");font-display:swap}
@font-face{font-family:Jua;src:url(/assets/fonts/Jua.woff2) format("woff2");font-display:swap}
html[lang=zh-Hans] body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",Huninn,sans-serif}
html[lang=ko] body{font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Noto Sans CJK KR",Huninn,sans-serif}
html[lang=zh-Hans] :is(.h-zh,.btn,.lbl,.verdict,nav.main a,.tabs button,.sticker,.who b,.track-say,.track-do,.empty,footer .big,.hero .tag){font-family:ZCOOL,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:400}
html[lang=ko] :is(.h-zh,.btn,.lbl,.verdict,nav.main a,.tabs button,.sticker,.who b,.track-say,.track-do,.empty,footer .big,.hero .tag){font-family:Jua,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-weight:400}
html:is([lang=zh-Hans],[lang=ko]) .verdict small{font-family:Bangers,Impact,sans-serif}
.logo .h-logo{font-family:Huninn,"Noto Sans TC",sans-serif!important}
.logo .h-en{font-family:Marker,Jua,ZCOOL,cursive;letter-spacing:0;white-space:nowrap}
html:is([lang=zh-Hans],[lang=ko]) .logo .h-en{font-family:Jua,ZCOOL,sans-serif}
html[lang=zh-Hans] .logo .h-en{font-family:ZCOOL,sans-serif}
nav.main{order:2}
.langs{order:3;display:flex;gap:0;border:3px solid var(--ink);border-radius:999px;overflow:hidden;box-shadow:3px 3px 0 var(--ink);background:#fff;flex:none}
.langs a{padding:5px 10px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;font-family:Lilita,Jua,ZCOOL,sans-serif;letter-spacing:.03em;border-left:2px solid var(--ink)}
.langs a:first-child{border-left:0}
.langs a.on{background:var(--p);color:#fff}
.langs a:hover:not(.on){background:var(--y)}
@media (max-width:820px){ .langs{order:1;margin-left:auto} nav.main{order:3} .logo .h-en{font-size:12px} }
.ticker{display:flex;align-items:stretch}
.ticker .track{flex:none}
.ticker .live{flex:none;margin:0;position:relative;z-index:2;background:var(--y);color:var(--ink);font-weight:700;font-size:12px;padding:7px 10px;border-right:3px solid var(--ink);white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis}
@media (max-width:820px){ .ticker .live{font-size:10.5px;padding:7px 6px;white-space:normal;line-height:1.15;max-width:44vw} }
@media (max-width:820px){
  .who>span:last-child{min-width:0}
  .who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw}
  table.board .btn.sm{padding:3px 7px;font-size:12px;white-space:normal;text-align:center;line-height:1.15}
  table.board td{padding:6px 4px}
}
.cardbox{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.cardbox img{height:auto;max-width:100%}@media (max-width:820px){.cardbox{grid-template-columns:minmax(0,1fr)}}
html[lang=ko] body{word-break:keep-all;overflow-wrap:anywhere}html[lang=ko] table.board th{word-break:keep-all}
@media (max-width:820px){table.board .btn.sm{min-width:4.6em;overflow-wrap:normal}}
@media (max-width:820px){table.board .btn.sm{min-width:3.6em;padding:3px 5px;font-size:11.5px}table.board td.rank{width:24px}html[lang=ko] table.board th{font-size:11px}}
/* v3 polish: ticker label + mobile leaderboard fit */
.ticker .live span{margin:0}
.ticker .live .l-short{display:none}
@media (max-width:820px){
  .ticker .live{white-space:nowrap;max-width:none;font-size:11px;padding:7px 8px}
  .ticker .live .l-full{display:none}.ticker .live .l-short{display:inline}
  #board{padding-left:10px;padding-right:10px}
  table.board{border-spacing:0 6px}
  table.board td{padding:6px 3px}
  table.board td:first-child{padding-left:4px}
  table.board td:last-child{padding-right:6px}
  .who{gap:6px}
  .who b,.who small{max-width:calc(100vw - 250px)}
  table.board .score{width:42px;height:42px;font-size:20px}
}
/* wallet connect */
.wbtn{white-space:nowrap}.woverlay{position:fixed;inset:0;background:rgba(14,20,70,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:12px}
.wmodal{background:#fff;border:4px solid #111;border-radius:16px;box-shadow:8px 8px 0 #111;padding:16px;max-width:420px;width:100%;max-height:90vh;overflow:auto;color:#111}
.wmodal h3{margin:0 0 6px}.wmodal h4{margin:12px 0 6px}.wmodal .wopt{display:block;width:100%;margin:6px 0;text-align:left}.wsafe{background:#FFF8E7;border:2px solid #111;border-radius:10px;padding:6px 8px;font-size:13px;font-weight:700}
.wmodal .small,.mycheck .small{font-size:12px}.wallet-actions{margin:10px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.mycheck{flex-basis:100%}
html[lang=ko] .wmodal,html[lang=ko] .wallet-actions{word-break:keep-all}
/* public launch: real board (home + /real/) — graffiti rows like the demo board, fits 320px+ */
.rkboard{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.rk{display:grid;grid-template-columns:30px 56px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);text-decoration:none;min-width:0;transition:transform .08s}
.rk:hover{transform:translate(-2px,-2px) rotate(-.4deg)}
.rkboard.ns .rk{grid-template-columns:56px minmax(0,1fr) auto}
.rk-n{font-family:Bangers,Impact,sans-serif;font-size:28px;text-align:center;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;color:#fff;line-height:1}
.rk-n.na{color:#999;-webkit-text-stroke:0}.rk-n.r1{color:var(--y)}.rk-n.r2{color:var(--c)}.rk-n.r3{color:var(--p)}
.rk-av{width:56px;height:56px;border:3px solid var(--ink);border-radius:14px;overflow:hidden;background:#fff;box-shadow:2px 2px 0 var(--ink);transform:rotate(-3deg)}
.rk:nth-child(even) .rk-av{transform:rotate(3deg)}
.rk-av img{width:100%;height:100%;display:block}
.rk-who{min-width:0;display:flex;flex-direction:column;gap:3px}
.rk-who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Lilita,Bangers,Impact,sans-serif;font-weight:400;font-size:18px;letter-spacing:.2px}
.rk-who small{display:block;color:#555;font-size:12px}
.rk-badges{display:flex;flex-wrap:wrap;gap:4px 5px;min-width:0}
.sb{display:inline-flex;align-items:center;gap:3px;border:2px solid var(--ink);border-radius:7px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:1.55;background:var(--paper);white-space:nowrap;box-shadow:2px 2px 0 var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sb:nth-child(odd){transform:rotate(-2deg)}.sb:nth-child(even){transform:rotate(1.5deg)}
.sb-up{background:var(--l)}.sb-down{background:#FFD1E3}.sb-ch{background:var(--y)}.sb-promo{background:#fff}.sb-facts{background:var(--ink);color:#fff}
.sb.v-mingdeng{background:var(--y)}.sb.v-mingdeng_bad{background:var(--v);color:#fff}.sb.v-yanqian{background:var(--p);color:#fff}
.rk-tk{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;font-size:12px;min-width:0}
.rk-tk small{color:#555;font-size:11px}
.rk-tk i{font-style:normal;font-family:Lilita,Bangers,Impact,sans-serif;background:var(--ink);color:var(--y);border-radius:5px;padding:0 5px;letter-spacing:.3px;max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk-end{display:flex;flex-direction:column;align-items:center;gap:6px}
.rk-end .score{width:52px;height:52px;font-size:24px}
.rk-end .score.need,.rk-end .score.facts{font-family:inherit!important;font-size:10.5px;font-weight:800;text-align:center;line-height:1.1;padding:2px;letter-spacing:0}
.rk-end .score.facts{background:var(--ink);color:#fff;border-radius:12px;transform:rotate(-4deg)}
.rk-btn{white-space:nowrap;font-size:12px!important}
html[lang=zh-Hans] :is(.sb,.rk-btn,.bt-tag,.bt-stat small){font-family:ZCOOL,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:400}
html[lang=ko] :is(.sb,.rk-btn,.bt-tag,.bt-stat small){font-family:Jua,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-weight:400}
.demo-board{opacity:.97}
@media (max-width:420px){.rk{grid-template-columns:22px 44px minmax(0,1fr) auto;gap:7px;padding:8px 8px}.rkboard.ns .rk{grid-template-columns:44px minmax(0,1fr) auto}
  .rk-n{font-size:22px;-webkit-text-stroke:4px var(--ink)}.rk-av{width:44px;height:44px;border-radius:11px}.rk-who b{font-size:16px}
  .rk-end .score{width:44px;height:44px;font-size:20px}.rk-end .score.need,.rk-end .score.facts{font-size:9.5px}.rk-btn{padding:2px 6px!important;font-size:11px!important}.sb{font-size:10.5px;padding:0 5px}}
/* battle card (real KOL page) */
.battle-wrap{margin:8px 0 6px}
.battle{position:relative;overflow:hidden;background:var(--navy);color:#fff;border:4px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--ink);padding:16px 16px 12px;display:flex;flex-direction:column;gap:12px;max-width:640px}
.bt-wall{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--acc) 55%,transparent) 0 60px,transparent 62px),radial-gradient(circle at 94% 10%,color-mix(in srgb,var(--p) 60%,transparent) 0 46px,transparent 48px),radial-gradient(circle at 88% 70%,color-mix(in srgb,var(--c) 40%,transparent) 0 80px,transparent 82px),repeating-linear-gradient(0deg,transparent 0 38px,#ffffff10 38px 41px)}
.battle>*{position:relative}
.bt-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bt-brand{display:flex;align-items:center;gap:8px}.bt-brand b{font-family:ZCOOL,Huninn,sans-serif;font-weight:400;font-size:22px;color:var(--y);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--p)}
.bt-tag{background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:10px;padding:1px 10px;font-family:Bangers,Impact,sans-serif;letter-spacing:1.5px;font-size:15px;transform:rotate(3deg);box-shadow:3px 3px 0 var(--p);white-space:nowrap}
.bt-main{display:flex;align-items:center;gap:14px;min-width:0}
.bt-av{flex:none;width:104px;height:104px;border:4px solid var(--ink);border-radius:20px;overflow:hidden;background:#fff;box-shadow:5px 5px 0 var(--ink);transform:rotate(-4deg)}.bt-av img{width:100%;height:100%;display:block}
.bt-id{min-width:0;display:flex;flex-direction:column;gap:6px}
.bt-name{font-family:Bangers,Impact,sans-serif;font-size:clamp(26px,7vw,40px);line-height:1;letter-spacing:.5px;color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink),7px 7px 0 var(--acc);overflow-wrap:anywhere}
.bt-sub{font-family:Lilita,sans-serif;font-size:15px;color:#e8e8ff}
.battle .sb{color:var(--ink)}.battle .sb.v-mingdeng_bad,.battle .sb.v-yanqian,.battle .sb-facts{color:#fff}.battle .sb-facts{background:#000;border-color:#fff}
.bt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.bt-stat{background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);padding:6px 8px;text-align:center}
.bt-stat:nth-child(odd){transform:rotate(-1.5deg)}.bt-stat:nth-child(even){transform:rotate(1.2deg)}
.bt-stat b{display:block;font-family:Lilita,Bangers,Impact,sans-serif;font-weight:400;font-size:28px;line-height:1.05}.bt-stat small{font-size:12px;font-weight:700;color:#444}
.bt-stat.up b{color:#0a8f3a}.bt-stat.down b{color:#d61f4f}.bt-stat.sc{background:var(--acc)}.bt-stat.s-lo b,.bt-stat.s-lo small{color:#fff}.bt-stat.facts{background:#ddd}
.bt-stamps{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bt-stamps small{width:100%;font-size:12px;opacity:.85}.bt-stamps .verdict{color:var(--ink)}.bt-stamps .v-yanqian,.bt-stamps .v-mingdeng_bad{color:#fff}
.bt-facts{margin:0;font-size:13px;background:#000;border:2px dashed #fff;border-radius:10px;padding:4px 8px}
.bt-tk .rk-tk{font-size:13px}.bt-tk .rk-tk small{color:#cfd3ff}.bt-tk .rk-tk i{background:var(--y);color:var(--ink);border:2px solid var(--ink)}
.bt-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;opacity:.95}.bt-foot b{color:var(--y);overflow-wrap:anywhere}
.av-note{font-size:12px;margin:4px 0 10px}
@media (max-width:420px){.battle{padding:12px 12px 10px;gap:10px;border-radius:18px;box-shadow:5px 5px 0 var(--ink)}.bt-av{width:78px;height:78px;border-radius:16px}.bt-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bt-stats.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.bt-stats.n3 .bt-stat b{font-size:21px}.bt-stats.n3 .bt-stat small{font-size:11px}.bt-stat b{font-size:24px}.bt-brand b{font-size:18px}.bt-tag{font-size:13px}}
/* fixed-size export (PNG battle card) */
.battle.og{width:1200px;height:675px;max-width:none;border-radius:0;border:0;box-shadow:none;padding:30px 40px 24px;gap:20px}
.battle.og .bt-av{width:190px;height:190px;border-radius:30px;border-width:6px}.battle.og .bt-name{font-size:78px;-webkit-text-stroke:9px var(--ink)}.battle.og .bt-sub{font-size:26px}
.battle.og .sb{font-size:20px;padding:1px 10px;border-width:3px}.battle.og .bt-stats{grid-template-columns:repeat(4,1fr);gap:18px}.battle.og .bt-stats.n3{grid-template-columns:repeat(3,1fr)}.battle.og .bt-stat b{font-size:52px}.battle.og .bt-stat small{font-size:20px}
.battle.og .bt-brand b{font-size:36px}.battle.og .bt-brand img{width:56px;height:56px}.battle.og .bt-tag{font-size:26px}.battle.og .bt-stamps .verdict{font-size:22px}
.battle.og .bt-tk .rk-tk{font-size:22px}.battle.og .bt-tk .rk-tk small{font-size:20px}.battle.og .bt-foot{margin-top:auto;font-size:19px}.battle.og .bt-facts{font-size:20px}
/* iOS Safari: never let anything widen the layout viewport */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
img,svg,video{max-width:100%}
.statstrip .sticker,.sticker{max-width:100%;white-space:normal}
