/* Shared page frame and record cards. Playable board geometry remains game-specific. */
.riki-game-page{--riki-page-width:1120px;--riki-page-gutter:28px}
.riki-game-page>main{box-sizing:border-box;width:100%;max-width:var(--riki-page-width);margin-inline:auto;padding-inline:var(--riki-page-gutter)}
.riki-game-page .riki-game-tail{max-width:var(--riki-page-width);padding-inline:var(--riki-page-gutter);margin-top:48px}
.riki-game-page main>.riki-game-tail{width:calc(100% + 2 * var(--riki-page-gutter));margin-inline:calc(-1 * var(--riki-page-gutter))}
.riki-game-page .rg-steps li{display:block}
.riki-game-page .rg-step-number{flex:none}
.riki-game-page .riki-rankings{box-sizing:border-box;display:block;position:relative;isolation:isolate;width:100%;max-width:var(--riki-page-width);margin:48px auto 0;padding:0 var(--riki-page-gutter);background:transparent;color:#17274a;border:0;border-radius:0;box-shadow:none;text-align:left;font-family:"Arial Rounded MT Bold",Arial,"Malgun Gothic",sans-serif}
.riki-game-page .riki-rank-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;padding:0}
.riki-game-page .riki-rank-head h2{margin:0;color:#17274a;font-size:24px;line-height:1.4;font-weight:900;letter-spacing:-1px}
.riki-game-page .riki-rank-head .eyebrow,.riki-game-page .riki-rankings :is(.board-mark,.board-number,.hall-note){display:none}
.riki-game-page .riki-rank-head button{width:auto;flex-shrink:0;min-height:44px;margin:0;padding:10px 14px;border:1px solid #dfe7f6;border-radius:14px;background:#fff;color:#2e5bff;font-size:12px;line-height:1.4;font-weight:700;white-space:nowrap;box-shadow:none}
.riki-game-page .riki-rankings>.riki-rank-description,.riki-game-page .riki-rankings>:is(p,#board-message,.board-note,.board-status,.ranking-note,.speed-board-note){margin:0 0 20px;color:#66758e;font-size:12px;line-height:1.8;text-align:left}
.riki-game-page .riki-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0}
.riki-game-page .riki-rank-grid.riki-rank-single{grid-template-columns:minmax(0,1fr)}
.riki-game-page .riki-rank-card{box-sizing:border-box;min-width:0;position:relative;margin:0;padding:24px;border:1px solid #dfe7f6;border-radius:24px;background:#fff;box-shadow:none;text-align:left;color:#17274a}
.riki-game-page .riki-rank-card:has(:is(#alltime,#alltime-board,#speed-all-time,#hallOfFameList)),.riki-game-page .riki-rank-card.hall{background:#fff8de;border-color:#f0e7bf}
.riki-game-page .riki-rank-card :is(.board-heading,.board-title){display:block;margin:0;padding:0}
.riki-game-page .riki-rank-card h3{margin:0 0 7px;padding:0;color:#17274a;font-size:19px;line-height:1.4;letter-spacing:-.5px;font-weight:900}
.riki-game-page .riki-rank-card h3 em{color:inherit;font-style:normal}
.riki-game-page .riki-rank-card :is(p,.board-title>span){display:block;margin:0;color:#66758e;font-size:12px;line-height:1.8;font-weight:400}
.riki-game-page .riki-rank-list{display:block;list-style:none;margin:20px 0 0;padding:0;gap:0;counter-reset:riki-rank;background:transparent;border:0;border-radius:0;box-shadow:none}
.riki-game-page .riki-rank-list li{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;min-height:54px;margin:0;padding:12px 0;border:0;border-top:1px solid #e5ebf6;border-radius:0;background:transparent;color:#17274a;font-size:13px;line-height:1.6;text-align:left;box-shadow:none}
.riki-game-page .riki-rank-card.hall li,.riki-game-page .riki-rank-card:has(#alltime) li{border-top-color:#eee4c5}
.riki-game-page .riki-rank-list li>:first-child{flex:0 0 24px;margin:0;color:#6a83aa;font-size:13px;font-weight:800;text-align:left;grid-row:auto}
.riki-game-page .riki-rank-list li>:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.riki-game-page .riki-rank-list li>strong{flex:0 0 auto;margin-left:auto;color:#2456ca;font-size:14px;font-weight:800;white-space:nowrap}
.riki-game-page .riki-rank-list li{counter-increment:riki-rank}
.riki-game-page .riki-rank-list li>:last-child:not(:first-child){flex:0 0 auto;margin-left:auto;color:#2456ca;font-size:14px;font-weight:800;white-space:nowrap}
.riki-game-page .riki-rank-list li.empty{display:block;color:#66758e;min-height:72px;line-height:1.8}
.riki-game-page .riki-rank-list li.empty:has(>span){display:flex;min-height:54px}
.riki-game-page .riki-rank-list li.empty>:first-child{color:inherit;font-size:inherit}
.riki-game-page .riki-rank-list .hall-medal{font-size:0}
.riki-game-page .riki-rank-list .hall-medal::after{content:counter(riki-rank,decimal-leading-zero);font-size:13px}
.riki-game-page .riki-rankings :is(.ranking-note,.ranking-message,.board-status,.speed-board-note){margin-top:16px;color:#66758e}
.riki-game-page .riki-rankings .ranking-note a{color:#2e5bff}
.riki-game-page .riki-rankings .ranking-celebration{margin-bottom:20px;background:#f3f7ff;border-color:#dfe7f6;color:#17274a}
.riki-game-page .riki-rankings .ranking-celebration :is(h3,strong){color:#2e5bff}
.riki-game-page .riki-rankings .ranking-celebration .nickname-help{color:#66758e}
@media(max-width:760px){
 .riki-game-page{--riki-page-gutter:20px}
 .riki-game-page .riki-rankings{margin-top:36px}
 .riki-game-page .riki-rank-head{gap:12px;margin-bottom:16px}
 .riki-game-page .riki-rank-head h2{font-size:22px}
 .riki-game-page .riki-rank-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .riki-game-page .riki-rank-card{padding:20px;border-radius:20px}
 .riki-game-page .riki-rank-list li{gap:8px;font-size:12px}
 .riki-game-page .riki-rank-list li>strong{font-size:13px}
 .riki-game-page .riki-game-tail{margin-top:36px}
 .riki-game-page .rg-steps li{display:grid}
}
@media(max-width:359px){.riki-game-page{--riki-page-gutter:14px}.riki-game-page .riki-rank-head h2{font-size:20px}.riki-game-page .riki-rank-head button{padding-inline:10px}.riki-game-page .riki-rank-card{padding:16px}}

/* Shared today/all-time TOP 5 presentation. Names and scores remain easy to scan. */
.riki-game-page .riki-rank-card{padding:26px 24px 22px;border-color:#dce5fb;background:linear-gradient(180deg,#f2f6ff 0,#fff 125px);box-shadow:0 7px 24px #244ac006}
.riki-game-page .riki-rank-card:has(:is(#alltime,#alltime-board,#speed-all-time,#hallOfFameList)),.riki-game-page .riki-rank-card.hall{background:linear-gradient(180deg,#fff8df 0,#fffdf6 130px);border-color:#eee3b8}
.riki-game-page .riki-rank-card-head{min-height:91px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:0;padding:3px 0 8px}
.riki-game-page .riki-rank-card h3{font-size:21px;letter-spacing:-.6px;text-align:center;line-height:1.45;margin:0 0 8px;width:100%}
.riki-game-page .riki-rank-card :is(p,.board-title>span){text-align:center}
.riki-game-page .riki-rank-card .board-heading,.riki-game-page .riki-rank-card .board-title{width:100%;text-align:center}
.riki-game-page .riki-rank-card-head p{font-size:11px;line-height:1.75}
.riki-game-page .riki-rank-list{margin:10px 0 0;padding:0}
.riki-game-page .riki-rank-list li{min-height:59px;padding:11px 10px;gap:13px;border:0;border-radius:13px;margin:0 0 5px;background:#ffffffb8}
.riki-game-page .riki-rank-list li:nth-child(odd){background:#eef3ff80}
.riki-game-page .riki-rank-card.hall .riki-rank-list li:nth-child(odd),.riki-game-page .riki-rank-card:has(:is(#alltime,#alltime-board,#speed-all-time)) .riki-rank-list li:nth-child(odd){background:#fff2c570}
.riki-game-page .riki-rank-list li:has(>:nth-child(3))>:first-child{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#e7efff;color:#5476b3;font-size:13px!important;line-height:1;font-weight:900;text-align:center;box-shadow:inset 0 1px 1px #ffffffcc}
.riki-game-page .riki-rank-list li:not(.empty):nth-child(1)>:first-child{background:linear-gradient(145deg,#ffe797,#ffd064);color:#806014;box-shadow:0 3px 8px #e6ba442b,inset 0 1px 1px #fff5cf}
.riki-game-page .riki-rank-list li:not(.empty):nth-child(2)>:first-child{background:linear-gradient(145deg,#e8eff9,#c6d6ed);color:#536a89}
.riki-game-page .riki-rank-list li:not(.empty):nth-child(3)>:first-child{background:linear-gradient(145deg,#ffe5d5,#f2bd9e);color:#8d6048}
.riki-game-page .riki-rank-list .hall-medal::after{content:none}
.riki-game-page .riki-rank-list li>:nth-child(2){font-weight:700;color:#3c5378;line-height:1.6;overflow-wrap:anywhere}
.riki-game-page .riki-rank-list li>:last-child:not(:first-child){color:#2e5bff;font-size:14px;font-variant-numeric:tabular-nums}
.riki-game-page .riki-rank-list li.empty{padding:14px 10px;background:transparent;color:#8592a8}
.riki-game-page .riki-rank-list li.empty:has(>:nth-child(3))>:first-child{background:#eff3f9;color:#9aa9c0}
.riki-game-page .riki-rank-list li.empty>:nth-child(2),.riki-game-page .riki-rank-list li.empty>:last-child:not(:first-child){font-weight:400;color:#8795ae;font-size:12px}
@media(max-width:760px){.riki-game-page .riki-rank-card{padding:22px 18px 17px}.riki-game-page .riki-rank-card h3{font-size:20px}.riki-game-page .riki-rank-card-head{min-height:84px}.riki-game-page .riki-rank-list li{gap:10px;padding-inline:9px;min-height:58px}.riki-game-page .riki-rank-list li>:last-child:not(:first-child){font-size:13px}}
@media(max-width:359px){.riki-game-page .riki-rank-card{padding:21px 13px 15px}.riki-game-page .riki-rank-list li{gap:8px;padding-inline:6px}.riki-game-page .riki-rank-list li:has(>:nth-child(3))>:first-child{flex-basis:30px;width:30px;height:32px;border-radius:10px}}
