/* Remaining destinations in the JackPlay editorial system. */
body[data-jp-page="vote"],body[data-jp-page="fame"],body[data-jp-page="bestiary"],body[data-jp-page="rules"],body[data-jp-page="banlist"],body[data-jp-page="wiki"],body[data-jp-page="profile"]{background:#0d0912}
body[data-jp-page] .page-head{max-width:1280px;padding:50px 48px 38px!important;background:none}
body[data-jp-page] .page-head h1{color:#f2ece7;line-height:1.09;letter-spacing:-.06em;font-size:clamp(42px,4.8vw,65px)}
body[data-jp-page] .page-head em{color:#c8a2f3}
body[data-jp-page] .page-head p{font-size:14px;color:#b9a7c5;line-height:1.9}
/* Voting is an invitation with a distinct form area, rather than a row of tiles. */
.voting-page{max-width:1280px;padding:40px 48px 20px}
.voting-heading{position:relative;isolation:isolate;text-align:left;min-height:280px;padding:35px 43% 30px 0;margin-bottom:30px;overflow:hidden;border-bottom:1px solid #c3a1d533}
.voting-heading:before{content:'';position:absolute;z-index:-1;right:0;top:0;bottom:24px;width:37%;border-radius:70px 16px 16px 16px;background:linear-gradient(90deg,#1c102344,#1c102315),url('/assets/wiki/overview.webp') center/cover;border:1px solid #c6a4df33}
.voting-heading h1{font-size:clamp(40px,4.6vw,62px);margin:14px 0 20px;text-transform:none;letter-spacing:-.06em;line-height:1.12;color:#f2ece7}
.voting-heading h1 em{color:#c8a2f3}
.voting-heading p{font-size:14px;line-height:1.9;color:#baa7c6;max-width:430px}
.vote-panel{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);gap:35px;align-items:center;padding:28px;background:#21152b;border:1px solid #bd94d43b;border-radius:18px}
.vote-input-group{width:100%;min-width:0;flex:none;gap:14px}
.vote-avatar{width:54px;height:54px;flex:none;border-radius:12px;border-color:#b993d044}
.nick-field{min-width:0;flex:1}.nick-field input{width:100%;background:#130d1d;border-color:#b18dc641;font-size:14px}
.vote-sites{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;flex:none}
.vote-sites .vote-site{min-height:115px;border-radius:13px;box-shadow:inset 0 1px 0 #fff3,0 7px 20px #0002;transition:transform .2s,filter .2s}
.vote-sites .vote-site:hover{transform:translateY(-4px);filter:brightness(1.06)}
.vote-sites strong{font-size:9px;overflow-wrap:anywhere}
.vote-help{font-size:12px;text-align:left;color:#b9a3c6;margin:19px 0 0}
.vote-rewards{max-width:none;text-align:left;margin:22px 0 0;padding:21px 25px;border-left:3px solid #c6a0ea;border-radius:0 12px 12px 0;background:#a47ad410;border-color:#c6a0ea;color:#bda5cc;font-size:12px;line-height:1.9}
.vote-rewards strong{font-size:14px;color:#e8d3f5}
.vote-direct-links{justify-content:flex-start;margin-top:24px;font-size:10px;gap:8px 20px}
.top-voters{border-top:1px solid #bc9bd32b;padding-top:35px}
/* Ranking columns and individual player rows. */
body[data-jp-page="fame"] .page-head{padding-bottom:25px!important}
.fame-grid{max-width:1280px;padding-top:12px;gap:24px;align-items:start}
.fame-grid .ranking-table{border-color:#bf98d338;border-radius:18px;background:#17101f}
.fame-grid .playtime-heading{padding:28px;background:linear-gradient(115deg,#31203d,#1a1224);border-color:#bf98d328;gap:15px}
.fame-grid .playtime-heading h2{font-size:19px;letter-spacing:-.035em;color:#ebd9f4}
.fame-grid .playtime-heading p{font-size:11px;color:#b7a0c6}
.fame-grid .clock-icon,.fame-grid .gem-heading-icon{border:1px solid #b99bd341;border-radius:12px;background:#b99bd30a;color:#d3afea;width:44px;height:44px;flex:none}
.player-row{padding:18px 25px;border-color:#bb9bd418;gap:15px}
.player-row .player-head{width:39px;height:39px;border-radius:9px}
.player-row .rank-number{font-size:12px;color:#a88ab9;min-width:22px}
.player-row .player-name{font-size:13px;font-weight:600}
.player-row .player-time{font-size:12px;color:#c2a8d2}
.player-row.rank-1{background:linear-gradient(90deg,#d8ae6a15,transparent)}
.player-row.rank-1 .rank-number{color:#ebc28c;font-size:18px}
.ranking-note,.gems-controls{font-size:11px;color:#a990ba;line-height:1.8}
/* Bestiary gets a large field-guide feature. */
body[data-jp-page="bestiary"] #main>.section{padding-top:5px}
body[data-jp-page="bestiary"] #main>.section>.card{display:grid!important;grid-template-columns:1.1fr 1fr;column-gap:40px;max-width:none!important;padding:30px 36px!important;margin:0!important;background:linear-gradient(120deg,#2b1a36,#17101f);border:1px solid #bf98d338;border-radius:20px;align-items:center;transform:none}
body[data-jp-page="bestiary"] #main>.section>.card>img{grid-column:1;grid-row:1/6;width:100%!important;height:390px!important;margin:0!important;object-fit:contain!important;border-radius:15px!important;background:radial-gradient(ellipse,#50305e55,transparent)!important}
body[data-jp-page="bestiary"] #main>.section>.card>.eyebrow{grid-column:2;align-self:end;font-size:9px;letter-spacing:.17em;color:#bfa0d0;margin:0 0 18px}
body[data-jp-page="bestiary"] #main>.section>.card>h2{grid-column:2;font-size:43px;letter-spacing:-.055em;line-height:1.12;margin:0 0 20px}
body[data-jp-page="bestiary"] #main>.section>.card>p{grid-column:2;font-size:14px;max-width:none;color:#c5afd2;margin:0 0 25px}
body[data-jp-page="bestiary"] #main>.section>.card>.text-link{grid-column:2;align-self:start;padding:12px 0;border-top:1px solid #c3a1d52b;font-size:12px;color:#d7b1ef}
/* Rules read like a structured guide, with less box repetition. */
body[data-jp-page="rules"] .community-page{max-width:1280px;padding:45px 48px 20px}
body[data-jp-page="rules"] .community-page>h1{font-size:clamp(42px,4.8vw,65px);letter-spacing:-.06em;line-height:1.1;color:#f2ece7;margin:18px 0 24px}
.rules-switch{border-bottom:1px solid #bea0d22c;margin:32px 0;padding-bottom:20px;gap:12px}
.rules-switch button{border-color:#b58bce38;border-radius:9px;padding:13px 22px;background:#21162b;font-size:13px}
.rules-switch button[aria-pressed=true]{background:#d2b1ef;color:#251431;border-color:#ead3fb}
.rules-switch span{font-size:10px}
.rules-layout{grid-template-columns:230px minmax(0,1fr);gap:45px}
.rules-index{border:0;border-radius:0;background:none;border-left:1px solid #bd9ad43b;padding:4px 0 4px 14px}
.rules-index>strong{font-size:9px;letter-spacing:.15em;color:#c1a2d1;margin:0 8px 15px}
.rules-index a{padding:9px 8px;font-size:11px;line-height:1.7;color:#b79ec5}
.rules-intro{border:1px solid #bd98d33b;border-radius:16px;background:linear-gradient(110deg,#30203b,#1b1224);padding:28px 30px}
.rules-intro h2{font-size:28px;letter-spacing:-.04em}
.rules-intro p{font-size:14px;line-height:1.9;color:#c5b0d1}
.rule-section{border:0;border-radius:0;background:none;padding:25px 0;border-bottom:1px solid #bc98d328;margin-bottom:0}
.rule-section h2{font-size:25px;letter-spacing:-.04em;gap:19px;margin-bottom:19px}
.rule-section h2>span{font-size:20px;font-weight:400;color:#b08ac8;letter-spacing:-.06em}
.rule-section li{font-size:14px;line-height:1.95;color:#c3afcf;margin:13px 0}
.rule-section li::marker{color:#b38acb}
.rule-note{background:#b58cd00b;border-color:#c3a0df;padding:17px 20px;line-height:1.9}
.appeal-panel{border-radius:17px;border-color:#bc98d338;padding:28px 30px;background:#261830}
/* Moderation archive is neutral, readable and clearly separated. */
.banlist-page{max-width:1280px;padding:45px 48px 25px}
.banlist-heading{position:relative;text-align:left;margin:0 0 32px;padding:20px 100px 30px 0;border-bottom:1px solid #c19cd52e}
.banlist-heading h1{font-size:clamp(42px,4.8vw,65px);letter-spacing:-.06em;line-height:1.1;text-transform:none;color:#f2ece7;margin:10px 0 20px}
.banlist-heading p{max-width:600px;font-size:14px;line-height:1.9;color:#b8a3c6}
.banlist-heading:after{content:'⌕';position:absolute;right:12px;top:20px;font-size:80px;font-weight:400;color:#ba93d141;line-height:1}
.ban-search{gap:12px;margin-bottom:25px}
.ban-search label{background:#21152b;border-color:#b38bc83d;border-radius:10px;min-height:52px}
.ban-search .primary{font-size:12px;border-radius:10px;padding:11px 24px}
.ban-types{display:flex;gap:10px;border-bottom:1px solid #b897cb28;padding-bottom:23px;margin-bottom:25px;flex-wrap:wrap}
.ban-types button{border-color:#b590ce34;border-radius:8px;background:#1c1325;font-size:11px;padding:12px 20px;min-height:44px}
.ban-types button.selected{background:#d3b2ec;border-color:#e4caf7;color:#2b1835}
.selected .ban-count{background:#3920471c;color:#482354}
.ban-table-wrap{border-color:#b38bc83b;border-radius:16px;background:#18101f}
.ban-table th{font-size:10px;letter-spacing:.12em;color:#b899cb;background:#2a1b34;padding:20px 18px}
.ban-table td{font-size:12px;line-height:1.8;color:#c6b0d3;padding:21px 18px;border-color:#b18ac51a}
.ban-player strong{font-size:13px}.ban-player img,.ban-avatar{border-radius:9px;width:36px;height:36px}
.ban-table tr:hover td{background:#c4a1df05}
.ban-state{font-size:8px;letter-spacing:.05em;padding:5px 9px}
.ban-pagination{justify-content:flex-end;font-size:11px}
.ban-pagination button{background:#25182e;border-color:#ad88c239;font-size:11px;min-height:40px}
.ban-notice{font-size:11px;text-align:left;color:#a48bae}
.ban-help{text-align:left;margin-top:30px;padding:22px 25px;border-left:2px solid #b490cf;background:#b58ad20b;font-size:12px;line-height:1.9}
/* Illustrated wiki has a featured lead, then compact editorial cards. */
.wiki-hub{max-width:1280px;padding:45px 48px 20px}
.wiki-hub-head{text-align:left;margin-bottom:32px;padding:0 0 28px;border-bottom:1px solid #c3a0d52b}
.wiki-hub-head h1{font-size:clamp(42px,4.8vw,65px);letter-spacing:-.06em;line-height:1.1;color:#f2ece7;margin:16px 0 22px}
.wiki-hub-head p{font-size:14px;line-height:1.9;color:#baa5c8}
.wiki-hub-head .eyebrow{font-size:9px;letter-spacing:.17em;color:#bb9ccc}
.wiki-start-banner{padding:24px 27px;border-radius:14px;background:#2a1b35;border-color:#ba94d13a;margin-bottom:17px}
.wiki-start-banner strong{font-size:20px;letter-spacing:-.035em}
.wiki-start-banner span span{font-size:12px;line-height:1.8}
.season-hub-tip{border:0;border-left:3px solid #9bb9dd;border-radius:0 12px 12px 0;background:#8eacd811;padding:18px 24px;margin-bottom:22px}
.season-hub-tip strong{font-size:14px}.season-hub-tip span span{font-size:12px}
.wiki-tools{gap:16px;padding:0 0 25px;border-bottom:1px solid #bc98d32a}
.wiki-search{background:#21152b;border-color:#bd98d33a;border-radius:10px}
.wiki-search input{font-size:13px}
.wiki-filters button{border-radius:8px;font-size:11px;min-height:43px;background:#1b1222}
.wiki-filters button.selected{background:#d2b0ec;color:#291731;border-color:#ead5f7}
#wiki-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.wiki-card{position:relative;padding:0 0 18px;overflow:hidden;border:0;border-bottom:1px solid #ba98cd38;border-radius:0;background:none;box-shadow:none;transition:transform .2s}
.wiki-card:hover{border-color:#cfa4ee;background:none;box-shadow:none;transform:translateY(-4px)}
.wiki-card .pyro-card-cover{border-radius:14px;border:1px solid #b38dca30;aspect-ratio:16/10;margin:0 0 19px}
.wiki-card-top{margin:0 0 13px;min-height:29px}
.wiki-card .wiki-symbol{width:29px;height:29px;border:0;background:none;font-size:20px;justify-content:start}
.wiki-card .wiki-category{font-size:9px;letter-spacing:.03em;padding:3px 8px}
.wiki-card h2{font-size:23px;line-height:1.25;letter-spacing:-.04em;color:#f0e4f6;margin-bottom:13px}
.wiki-card p{font-size:12px;color:#b6a0c3;line-height:1.9;margin-bottom:18px}
.wiki-card-bottom{border:0;padding-top:12px;font-size:10px;color:#d5b5eb}
.wiki-results-heading{margin-bottom:25px}.wiki-results-heading h2{font-size:19px;letter-spacing:-.03em}
.wiki-results-heading>span{font-size:11px}
.wiki-help-banner{margin-top:35px;border-radius:14px;background:#291a34;border-color:#b692d03b}
/* Profiles use distinct stat tiles and a calmer public-history panel. */
.profile-stat{background:linear-gradient(130deg,#2a1a35,#1a1223);border-color:#b48ace35;border-radius:14px;padding:23px}
.profile-stat strong{color:#e0c1f3;font-size:25px;letter-spacing:-.04em}
.profile-stat span,.profile-stat small{color:#b39ac1}
.profile-support{background:#a479c30b;border-color:#b68bce31;border-radius:14px}
@media(max-width:1000px){.vote-panel{grid-template-columns:1fr;gap:23px}.vote-input-group{max-width:520px}.vote-sites{grid-template-columns:repeat(5,minmax(0,1fr))}.vote-sites strong{font-size:10px}.rules-layout{gap:28px;grid-template-columns:190px minmax(0,1fr)}#wiki-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fame-grid .playtime-heading{padding:22px}.fame-grid .playtime-heading h2{font-size:16px}}
@media(max-width:800px){.rules-layout{grid-template-columns:1fr}.rules-index{display:grid;grid-template-columns:1fr 1fr;position:static;border-left:0;border-bottom:1px solid #bd9ad42a;padding-bottom:20px}.rules-index>strong{grid-column:1/-1}.fame-grid{gap:20px}.voting-heading{padding-right:40%;min-height:250px}.voting-heading h1:before{font-size:44px}.voting-heading:before{width:35%}body[data-jp-page="bestiary"] #main>.section>.card{gap:25px;padding:25px!important}body[data-jp-page="bestiary"] #main>.section>.card>h2{font-size:32px}body[data-jp-page="bestiary"] #main>.section>.card>img{height:310px!important}}
@media(max-width:650px){body[data-jp-page] .page-head{padding:30px 20px 27px!important}body[data-jp-page] .page-head h1{font-size:44px}.voting-page,.banlist-page,.wiki-hub{padding:25px 20px 20px}.voting-heading{padding:0 0 220px;min-height:0;margin-bottom:25px}.voting-heading h1:before{font-size:47px}.voting-heading p{font-size:13px;max-width:none}.voting-heading:before{top:auto;bottom:22px;width:100%;height:175px;border-top-left-radius:60px;background-position:center 45%}.vote-panel{padding:20px;gap:22px}.vote-input-group{gap:12px}.vote-avatar{width:45px;height:45px}.vote-sites{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vote-sites .vote-site{min-height:110px}.vote-sites .vote-site-mcservery{grid-column:span 2;min-height:90px;flex-direction:row;gap:15px}.vote-sites strong{font-size:10px}.vote-rewards{padding:18px 20px}.vote-rewards strong{font-size:13px}.vote-direct-links{gap:5px 17px}.fame-grid{padding:5px 20px 0}.fame-grid .playtime-heading{padding:23px}.player-row{padding:17px 19px}.fame-grid .playtime-heading h2{font-size:19px}body[data-jp-page="bestiary"] #main>.section{padding:0 20px}body[data-jp-page="bestiary"] #main>.section>.card{grid-template-columns:1fr;gap:0;padding:22px!important}body[data-jp-page="bestiary"] #main>.section>.card>img{grid-column:1;grid-row:auto;height:280px!important;margin-bottom:25px!important}body[data-jp-page="bestiary"] #main>.section>.card>.eyebrow,body[data-jp-page="bestiary"] #main>.section>.card>h2,body[data-jp-page="bestiary"] #main>.section>.card>p,body[data-jp-page="bestiary"] #main>.section>.card>.text-link{grid-column:1}body[data-jp-page="bestiary"] #main>.section>.card>h2{font-size:36px}body[data-jp-page="rules"] .community-page{padding:28px 20px 20px}body[data-jp-page="rules"] .community-page>h1{font-size:44px}.rules-switch button{padding:12px 15px;flex-direction:column;gap:4px;font-size:12px}.rules-index{gap:4px}.rules-index a{font-size:11px}.rules-intro{padding:23px}.rules-intro h2{font-size:25px}.rule-section h2{font-size:23px;gap:14px}.rule-section li{font-size:13px}.appeal-panel{padding:25px;gap:20px}.banlist-heading{padding:5px 50px 22px 0;margin-bottom:24px}.banlist-heading h1{font-size:46px}.banlist-heading:after{font-size:60px;right:0}.banlist-heading p{font-size:13px}.ban-search .primary{padding:10px 16px}.ban-search input{font-size:16px}.ban-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:20px}.ban-types button{font-size:11px;padding:11px 13px}.ban-pagination{justify-content:center;gap:12px}.ban-help{padding:18px 20px}.wiki-hub-head h1{font-size:48px}.wiki-hub-head{margin-bottom:25px}.wiki-hub-head p{font-size:13px}.wiki-start-banner{padding:21px;gap:14px}.wiki-start-banner strong{font-size:20px}.season-hub-tip{padding:17px 20px}.wiki-tools{gap:15px}.wiki-search input{font-size:16px}.wiki-filters button{font-size:11px}#wiki-grid{grid-template-columns:1fr;gap:28px}.wiki-card .pyro-card-cover{aspect-ratio:16/9}.wiki-card h2{font-size:26px}.wiki-card p{font-size:13px}.wiki-card-bottom{font-size:11px}.wiki-results-heading h2{font-size:18px}.wiki-results-heading>span{font-size:10px}.wiki-card .wiki-category{font-size:10px}}
@media(prefers-reduced-motion:reduce){.wiki-card,.vote-sites .vote-site{transition:none}.wiki-card:hover,.vote-sites .vote-site:hover{transform:none}}
/* The standalone catalogue renders separately from the community app. */
main:has(>.creatures){max-width:1280px;margin:auto;padding:45px 48px 20px}
main:has(>.creatures)>.eyebrow{display:inline-block;border:0;background:none;border-radius:0;padding:0;font-size:9px;letter-spacing:.17em;color:#b89bc9;margin:0 0 17px}
main:has(>.creatures)>h1{font-size:clamp(42px,4.8vw,65px);letter-spacing:-.06em;line-height:1.1;color:#f2ece7;margin:0 0 25px}
main:has(>.creatures)>h1 em{color:#c8a2f3}
main:has(>.creatures)>.bestiary-intro{font-size:14px;line-height:1.9;color:#bda8ca;max-width:650px;margin-bottom:33px}
main:has(>.creatures)>.filters{padding:22px 25px;background:#22162c;border:1px solid #b690ce3b;border-radius:13px;gap:18px;box-shadow:none}
main:has(>.creatures)>.filters label{font-size:10px;color:#baa0ca;gap:8px}
main:has(>.creatures)>.filters input,main:has(>.creatures)>.filters select{border-radius:8px;background:#130d1d;border:1px solid #b38ace39;color:#e8d8f1;min-height:46px;font-size:12px}
main:has(>.creatures)>.filters button{font-size:11px;background:#372244;border-color:#b993d13b;min-height:44px;border-radius:8px;padding:11px 15px}
main:has(>.creatures)>#count{font-size:11px;color:#b59bc5;margin:23px 0}
.creatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.creatures .creature{display:flex;flex-direction:column;border:0;border-bottom:1px solid #b892ce3d;border-radius:0;background:none;box-shadow:none;overflow:hidden;padding:0 0 20px;transition:transform .2s}
.creatures .creature:hover{transform:translateY(-4px);border-color:#cfa4ef;background:none;box-shadow:none}
.creatures .creature-art{position:relative;min-height:250px;border:1px solid #b48dcb29;border-radius:16px;background:radial-gradient(ellipse at 50% 65%,#79559628,transparent 65%),#1b1323;display:grid;place-items:center;overflow:hidden}
.creatures .creature-art:after{content:'';position:absolute;width:165px;height:165px;border:1px solid #b894d321;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.creatures .creature-art img{width:100%;height:250px;object-fit:contain;position:relative;z-index:1}
.creatures .creature-caption{padding:20px 0 0;display:flex;flex-direction:column;flex:1}
.creatures .creature-caption>.eyebrow{font-size:9px;color:#b99bcc;letter-spacing:.13em;margin-bottom:12px}
.creatures .creature-caption h2{font-size:25px;letter-spacing:-.045em;line-height:1.25;color:#efe1f5;margin:0 0 13px}
.creatures .creature-caption p{font-size:11px;color:#b7a1c4;line-height:1.8;margin-bottom:20px}
.creatures .creature-caption>.text-link{font-size:11px;color:#d4b0e9;margin-top:auto}
main:has(>.creatures)>#pager{justify-content:flex-end;gap:12px;margin-top:28px}
main:has(>.creatures)>#pager button{background:#291a34;border-color:#b38ccb3b;border-radius:8px;padding:11px 17px;font-size:11px;min-height:42px}
main:has(>.creatures)>.note{font-size:11px;line-height:1.9;color:#a88fb8;border-left:2px solid #ad87c5;background:#af85c00a;padding:18px 22px;margin-top:28px}
@media(min-width:1001px){.creatures .creature:first-child{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;padding-bottom:0;border:1px solid #bd97d43d;border-radius:17px;background:linear-gradient(120deg,#301b3b,#191020)}.creatures .creature:first-child .creature-art{border:0;border-radius:0;background:radial-gradient(ellipse,#8c559f26,transparent 70%);min-height:350px}.creatures .creature:first-child .creature-art img{height:350px}.creatures .creature:first-child .creature-caption{padding:25px 25px 25px 0}.creatures .creature:first-child h2{font-size:37px}.creatures .creature:first-child .text-link{border-top:1px solid #be99d32c;padding-top:20px}}
@media(max-width:1000px){.creatures{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){main:has(>.creatures){padding:28px 20px 20px}main:has(>.creatures)>h1{font-size:45px}main:has(>.creatures)>.bestiary-intro{font-size:13px}main:has(>.creatures)>.filters{padding:20px;gap:15px}main:has(>.creatures)>.filters input,main:has(>.creatures)>.filters select{font-size:16px}.creatures{grid-template-columns:1fr;gap:28px}.creatures .creature-art,.creatures .creature-art img{height:280px}.creatures .creature-caption h2{font-size:28px}.creatures .creature-caption p{font-size:12px}.creatures .creature-caption>.text-link{font-size:12px}main:has(>.creatures)>#pager{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.creatures .creature{transition:none}.creatures .creature:hover{transform:none}}
