@import url('https://fonts.googleapis.com/css2?family=Bowlby+One+SC&family=Nunito+Sans:wght@400;600;700;800;900&display=swap');

:root{color:#f7f7f7;background:#080808;font-family:'Nunito Sans','Arial',sans-serif}
body{min-height:100vh;background:#080808;color:#f7f7f7}
.voxel-sky{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(#050505 0 60%,#181818 60% 72%,#282828 72% 73%,#8a552e 73% 100%)}
.brick-ground{position:absolute;left:0;right:0;bottom:0;height:27%;border-top:9px solid #444;background-color:#8c592f;background-image:repeating-linear-gradient(0deg,transparent 0 36px,#55351f 37px 40px),repeating-linear-gradient(90deg,transparent 0 56px,#593720 57px 60px);box-shadow:inset 0 8px 0 #a16a3c}
.pixel-cloud{position:absolute;top:11%;left:7%;width:105px;height:25px;background:#d5d5d5;box-shadow:18px -19px 0 #ededed,45px -37px 0 #f5f5f5,83px -16px 0 #dedede,110px 4px 0 #c8c8c8,27px 10px 0 #bdbdbd;opacity:.8;filter:drop-shadow(0 10px 0 #777)}
.cloud-two{top:25%;left:auto;right:10%;transform:scale(.75)}
.ruin-one,.ruin-two{position:absolute;bottom:27%;left:9%;width:120px;height:145px;background:linear-gradient(90deg,#c4b68e 0 13%,#e1d5b0 14% 25%,#b5a77e 26% 37%,#ded0a8 38% 49%,#b5a77e 50% 62%,#e0d2aa 63% 75%,#b5a77e 76% 87%,#d8cba3 88% 100%);clip-path:polygon(0 13%,8% 13%,8% 4%,17% 4%,17% 13%,28% 13%,28% 0,39% 0,39% 13%,50% 13%,50% 4%,61% 4%,61% 13%,72% 13%,72% 0,83% 0,83% 13%,92% 13%,92% 4%,100% 4%,100% 100%,0 100%);opacity:.28;filter:drop-shadow(12px 12px 0 #000)}
.ruin-two{left:auto;right:8%;transform:scale(.8);transform-origin:bottom right}
.page-shell{position:relative;z-index:1;max-width:1440px;padding:18px 26px 38px}
.topbar{height:42px}
.brand{color:#fff;font-family:'Bowlby One SC','Arial Black',sans-serif;font-size:19px;letter-spacing:0;text-shadow:2px 2px #000}
.brand-mark{border-radius:5px;border:2px solid #f1f1f1;background:#f2ce00;color:#111;box-shadow:3px 3px 0 #725c00}
.brand-light{color:#e6c52b}
.ad-free{color:#eee;font-size:11px;font-weight:900;letter-spacing:1px}
.dot{background:#38cf83;box-shadow:0 0 0 3px #214c36}
.game-layout{display:grid;grid-template-columns:minmax(205px,260px) minmax(430px,620px) minmax(205px,260px);gap:10px;align-items:start;justify-content:center;margin:38px auto 0;max-width:1180px}
.vip-panel,.roller-card,.history-section,.vip-login-section{background:rgba(10,10,10,.88);border:3px solid #777;border-radius:12px;box-shadow:0 7px 0 #171717,0 13px 26px #0008;backdrop-filter:blur(2px)}
.vip-panel{padding:13px 11px 15px;min-height:385px}
.vip-panel h2,.vip-caption{text-align:center}
.vip-panel h2{font:20px 'Bowlby One SC','Arial Black',sans-serif;margin:0;color:#fff;text-shadow:2px 2px #000;letter-spacing:.5px}
.vip-caption{margin:3px 0 11px;color:#d4d4d4;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.vip-list{display:flex;flex-direction:column;gap:7px}
.vip-empty{margin:0;padding:15px 9px;border:1px dashed #777;border-radius:7px;color:#ccc;text-align:center;font-size:11px;font-weight:700;line-height:1.5}
.vip-card{display:flex;align-items:center;gap:9px;width:100%;min-height:56px;padding:6px 7px;border:1px solid #777;border-radius:9px;background:rgba(66,66,66,.82);color:#fff;text-align:left;cursor:pointer;transition:transform .12s,border-color .12s,background .12s}
.vip-card:hover{transform:translateX(2px);border-color:#f2d500;background:#555}
.vip-avatar{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border:2px solid #eee;border-radius:50%;color:#fff;font:900 11px 'Nunito Sans',sans-serif;text-shadow:1px 1px #111;background:#345c7c}
.avatar-blue{background:linear-gradient(135deg,#3178a8,#142f5d)}.avatar-gold{background:linear-gradient(135deg,#dba72f,#6d3e18)}.avatar-violet{background:linear-gradient(135deg,#a34cba,#432359)}.avatar-green{background:linear-gradient(135deg,#53a777,#174d38)}.avatar-red{background:linear-gradient(135deg,#df5656,#672222)}
.vip-copy{display:flex;min-width:0;flex:1;flex-direction:column;line-height:1.1}
.vip-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:15px 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.1px}
.vip-copy small{margin-top:4px;color:#e4e4e4;font-size:10px;font-weight:700}
.vip-tag{padding:3px 5px;border-radius:4px;background:#858585;color:#fff;font-size:8px;font-weight:900;letter-spacing:.5px}
.roller-card{width:100%;max-width:none;padding:19px 21px 17px;border-radius:12px}
.game-title{text-align:center;margin:0 0 13px}
.game-title p{margin:0;color:#e4c800;font-size:9px;font-weight:900;letter-spacing:2px}
.game-title h1{margin:0;color:#fff;font:clamp(26px,3vw,35px)/1.08 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:1px;text-shadow:3px 3px #444}
.game-title span{display:block;margin-top:4px;color:#fff;font:15px 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.7px}
.card-topline{display:none}
.verify-id-strip{margin:0 auto 8px;padding:8px 9px;background:#292929;border:1px solid #555;border-radius:7px}
.verify-id-strip .section-label{color:#e6d345;letter-spacing:.9px}
.verify-id-strip code{color:#fff;font:700 11px 'Nunito Sans',sans-serif}
.verify-id-strip a,.copy-room{color:#ffe100;font-size:10px;font-weight:900}
.dice-stage{min-height:124px;padding:17px 4px;gap:9px}
.die{position:relative;display:block;width:clamp(56px,7vw,76px);height:clamp(56px,7vw,76px);border:6px solid #fff;border-radius:13px;background:var(--die);box-shadow:inset 0 -4px 0 #0003,0 4px 0 #555,0 8px 13px #0008}
.die::after{position:absolute;top:50%;left:50%;width:12px;height:12px;content:"";transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 1px 2px #0007}
.die.landing{animation:die-land .28s cubic-bezier(.2,.8,.25,1) both}
.roll-summary{min-height:31px;border-top:1px dashed #777;padding-top:9px;color:#fff;font-size:12px;font-weight:800}
.controls{gap:8px;padding-top:12px}
.count-control{color:#fff;font-size:10px;font-weight:900;letter-spacing:.8px}
.count-control select{height:39px;border:2px solid #ddd;border-radius:4px;background:#fff;color:#111;font:900 13px 'Nunito Sans',sans-serif}
.roll-button{height:44px;min-width:145px;border:2px solid #fff;border-radius:4px;background:#ffdc00;color:#171717;font:900 15px 'Bowlby One SC','Arial Black',sans-serif;box-shadow:0 4px 0 #987d00;letter-spacing:.5px}
.roll-button:hover{background:#ffe94b;color:#111;transform:translateY(-1px)}
.roll-button:active{transform:translateY(2px);box-shadow:0 1px 0 #987d00}
.roll-button:disabled{color:#353535}
.roll-button span{font-family:Arial,sans-serif}
.sound-toggle{height:39px;width:39px;border:2px solid #ddd;border-radius:4px;background:#3b3b3b;color:#fff}
.keyboard-hint{margin:12px 0 0;color:#bbb;font-size:9px;font-weight:800;letter-spacing:.5px}
kbd{border:1px solid #aaa;border-radius:3px;background:#4b4b4b;color:#fff}
.history-section{max-width:1180px;margin:31px auto 0;padding:16px 18px}
.history-heading{align-items:center;margin-bottom:12px}
.history-heading .eyebrow{margin:0 0 4px;color:#e8d000}
.history-heading h2{color:#fff;font:23px 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.5px}
.history-count{border:1px solid #aaa;border-radius:4px;background:#494949;color:#fff;font-weight:900}
.stats-panel{margin-bottom:13px;padding:10px 12px;border:1px solid #656565;border-radius:8px;background:rgba(69,69,69,.88)}
.stats-panel>strong{display:block;margin-bottom:8px;color:#fff;font:13px 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.4px}
.color-stats{display:flex;flex-wrap:wrap;gap:6px}
.stat-chip{display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#262626;font-size:11px}
.stat-chip i{width:10px;height:10px;background:var(--swatch);border-radius:1px}
.stat-chip strong{color:#333}
.history-empty{border:1px dashed #777;border-radius:5px;color:#ccc}
.roll-history{border-top:0}
.history-item{justify-content:flex-start;gap:12px;padding:12px 8px;border-bottom:1px dashed #8a8a8a}
.history-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.history-roll-title{width:126px;flex-shrink:0;color:#fff;font:13px 'Bowlby One SC','Arial Black',sans-serif}
.history-colors{gap:5px;margin:0;flex-wrap:wrap}
.history-color{width:34px;height:34px;border:3px solid #fff;border-radius:5px;box-shadow:inset 0 -3px 0 #0003,0 2px 0 #555}
.history-time{max-width:170px;color:#c7c7c7;font-size:10px}
.history-count,.vip-tag,.copy-room,.vip-login-button{letter-spacing:.5px}
.vip-login-section{display:flex;flex-direction:column;align-items:center;gap:9px;max-width:600px;margin:30px auto 0;padding:19px;text-align:center}
.vip-login-section>p{margin:0;color:#e6d000;font-size:10px;font-weight:900;letter-spacing:1.5px}
.vip-login-button{padding:12px 22px;border:2px solid #fff;border-radius:4px;background:#ffdc00;color:#171717;font:17px 'Bowlby One SC','Arial Black',sans-serif;box-shadow:0 4px 0 #987d00;cursor:pointer}
.vip-login-button:hover{background:#ffe94b;transform:translateY(-1px)}
.vip-login-section>span{color:#ccc;font-size:11px}
.color-key{max-width:600px;margin:27px auto 0;padding:14px;border:2px solid #666;border-radius:8px;background:rgba(0,0,0,.75)}
.color-key>.section-label{color:#eee;text-align:center}
.color-list{gap:16px}
.color-list span{color:#eee;font-weight:800}
.swatch{width:11px;height:11px;border-radius:2px}
footer{color:#aaa;font-size:10px;font-weight:800;letter-spacing:.5px}
.vip-dialog{position:fixed;max-width:430px;width:calc(100% - 28px);padding:27px;border:3px solid #818181;border-radius:9px;background:#151515;color:#fff;box-shadow:0 12px 45px #000b}
.vip-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
.vip-dialog .eyebrow{color:#ebd300}
.vip-dialog h2{margin:0;color:#fff;font:25px 'Bowlby One SC','Arial Black',sans-serif}
.vip-dialog>p:not(.eyebrow){color:#ccc;font-size:13px;line-height:1.6}
.vip-dialog .roll-button{margin-top:5px}
.dialog-close{position:absolute;top:9px;right:12px;border:0;background:none;color:#fff;font-size:25px;cursor:pointer}
.vip-dialog [hidden],.active-vip-banner[hidden]{display:none!important}
.vip-dialog-form{display:flex;flex-direction:column;gap:8px;margin-top:17px}
.vip-dialog-form label{color:#eee;font-size:10px;font-weight:900;letter-spacing:.7px}
.vip-dialog-form input,.vip-dialog-form select{height:43px;padding:0 11px;border:2px solid #bbb;border-radius:4px;background:#fff;color:#181818;font:700 13px 'Nunito Sans',sans-serif}
.vip-dialog-form .roll-button{width:100%;margin-top:6px}
.dialog-status{padding:10px;border:1px solid #777;border-radius:5px;background:#333;color:#fff;font-size:12px;line-height:1.5}
.active-vip-banner{display:flex;justify-content:center;align-items:center;gap:9px;margin:0 auto 10px;padding:8px;border:2px solid #ffe000;border-radius:5px;background:#494000;color:#fff;font-size:11px;font-weight:900;text-align:center}
.active-vip-banner a{color:#ffea32;text-decoration:underline}
@media(max-width:980px){.page-shell{padding-inline:18px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:700px;gap:12px}.roller-card{grid-column:1/-1;grid-row:1;max-width:620px;justify-self:center}.vip-panel{min-height:0}.history-section{max-width:700px}}
@media(max-width:600px){.page-shell{padding:13px 12px 30px}.game-layout{grid-template-columns:1fr;margin-top:24px}.roller-card{grid-column:1;grid-row:1;padding:16px 13px}.vip-panel{padding:12px}.vip-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.vip-card{min-height:58px;padding:5px}.vip-avatar{width:30px;height:30px}.vip-copy strong{font-size:12px}.vip-copy small{font-size:8px}.vip-tag{font-size:7px}.history-section{margin-top:23px;padding:12px 10px}.history-main{gap:7px}.history-roll-title{width:94px;font-size:11px}.history-color{width:27px;height:27px;border-width:3px}.history-time{max-width:78px;font-size:9px}.verify-id-strip{flex-wrap:wrap}.verify-id-strip>span{flex:1 1 100%}.history-item{padding:10px 3px}.history-heading h2{font-size:19px}.stats-panel{padding:8px}.vip-login-section{margin-top:23px}.intro{display:none}}
/* Greek temple night scene, squared white dice, and creator profile cards */
.voxel-sky{background:radial-gradient(ellipse at 50% 58%,#163b57 0,#0b1d2d 34%,#050a10 78%),radial-gradient(circle at 14% 14%,#fff8 0 1px,transparent 2px),radial-gradient(circle at 32% 24%,#ffe8a888 0 1px,transparent 2px),radial-gradient(circle at 72% 17%,#fff9 0 1px,transparent 2px),radial-gradient(circle at 88% 34%,#ffe8a888 0 1px,transparent 2px),linear-gradient(180deg,transparent 0 60%,#202329 60% 73%,#8c592f 73% 100%);background-size:auto,auto,auto,auto,auto,auto}
.voxel-sky::before{position:absolute;content:"";left:50%;bottom:27%;width:min(440px,48vw);height:210px;transform:translateX(-50%);opacity:.32;background:repeating-linear-gradient(90deg,#d8c89b 0 9px,#806f4c 10px 13px,#c9b98f 14px 48px,#706044 49px 53px);clip-path:polygon(50% 0,100% 25%,96% 32%,91% 32%,91% 100%,80% 100%,80% 41%,70% 41%,70% 100%,59% 100%,59% 41%,41% 41%,41% 100%,30% 100%,30% 41%,20% 41%,20% 100%,9% 100%,9% 32%,4% 32%,0 25%)}
.voxel-sky::after{position:absolute;content:"";left:0;right:0;top:58%;height:10px;opacity:.62;background:repeating-linear-gradient(90deg,#d6bb64 0 12px,transparent 12px 19px,#d6bb64 19px 25px,transparent 25px 38px);border-top:1px solid #d6bb64;border-bottom:1px solid #d6bb64}
.dice-stage>.die{width:clamp(86px,9vw,104px);height:clamp(86px,9vw,104px);flex:0 0 auto;border:6px solid #fff;border-radius:13px;background:#fff;box-shadow:inset 0 -5px 0 #d8d8d8,0 5px 0 #777,0 12px 22px #000b;transform:none}
.die::after{width:20px;height:20px;background:var(--pip);box-shadow:0 2px 4px #0005}
.die.rolling,.die.landing{animation:none!important}
.history-color{position:relative;display:inline-grid;place-items:center;background:#fff;border:2px solid #fff;border-radius:5px;box-shadow:inset 0 -3px 0 #d7d7d7,0 2px 0 #666}
.history-color::after{width:10px;height:10px;border-radius:50%;content:"";background:var(--swatch);box-shadow:0 1px 2px #0005}
.vip-card{border-radius:14px;background:linear-gradient(135deg,#202328,#34373d);border-color:#666;min-height:64px}
.vip-avatar{font:900 23px Arial,sans-serif;background:#08090c;border:2px solid #25f4ee;box-shadow:2px 2px 0 #fe2c55;color:#fff;text-shadow:2px 0 #25f4ee,-2px 0 #fe2c55}
.vip-copy strong{font-family:'Nunito Sans','Arial',sans-serif;font-size:13px;font-weight:900}
.vip-copy small{color:#b7c0cb;font-size:9px}
.vip-tag{border-radius:20px;background:#fe2c55;color:#fff;padding:4px 7px}
.roll-panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(590px,calc(100% - 28px));max-width:none;margin:0;padding:30px 24px 24px;border:3px solid #c5a64d;border-radius:14px;background:linear-gradient(145deg,#101820,#080a0c 72%);color:#fff;box-shadow:0 24px 90px #000e;text-align:center}
.roll-panel::backdrop{background:#000b;backdrop-filter:blur(6px)}
.roll-panel .eyebrow{color:#f4d267;margin-bottom:5px}
.roll-panel h2{margin:0;font:26px 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.6px}
.roll-panel-dice{min-height:145px;margin:12px 0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.roll-panel-dice .die{width:clamp(68px,13vw,92px);height:clamp(68px,13vw,92px);border:6px solid #fff;border-radius:13px;background:#fff;box-shadow:inset 0 -5px 0 #d8d8d8,0 5px 0 #777,0 12px 20px #000a;transform:none}
.roll-panel-dice .die::after{width:18px;height:18px;background:var(--pip)}
.roll-panel-result{min-height:22px;margin:0;color:#f4d267;font-size:14px;font-weight:900;letter-spacing:.7px}
.roll-panel .dialog-close{color:#fff}
@media(max-width:600px){.dice-stage>.die{width:clamp(68px,18vw,86px);height:clamp(68px,18vw,86px);border-width:5px}.die::after{width:16px;height:16px}.roll-panel{padding:27px 14px 18px}.roll-panel-dice{gap:8px}}
/* Restore colored dice and keep the roll motion simple and in place */
.dice-stage>.die{background:var(--die)}
.die::after{background:#fff}
.dice-stage>.die.rolling{animation:simple-die-roll .24s ease-in-out infinite alternate!important;animation-delay:var(--delay,0ms)}
.dice-stage>.die.landing{animation:die-land .22s ease-out both!important}
@keyframes simple-die-roll{from{transform:translateY(-5px) rotate(-4deg)}to{transform:translateY(4px) rotate(4deg)}}
.history-color{background:var(--swatch)}
.history-color::after{background:#fff}
/* Larger play area, compact lower history, and a separate adjustable counter */
.game-layout{grid-template-columns:minmax(190px,240px) minmax(580px,780px) minmax(190px,240px);gap:14px;max-width:1320px;margin-top:48px}
.roller-card{min-height:480px;padding:25px 28px 22px}
.dice-stage{min-height:205px;padding:30px 8px;gap:14px}
.dice-stage>.die{width:clamp(100px,8.2vw,118px);height:clamp(100px,8.2vw,118px)}
.history-section{max-width:1080px;margin-top:54px;padding:14px 16px}
.history-heading{margin-bottom:9px}
.history-item{min-height:49px;padding:8px 7px;gap:10px}
.history-roll-title{font-size:12px}
.history-color{width:27px;height:27px}
.history-color::after{width:9px;height:9px}
.dice-counter{display:flex;flex-direction:column;align-items:center;gap:6px;margin:12px auto 0}
.dice-counter-label{color:#e8d000;font-size:9px;font-weight:900;letter-spacing:1px}
.dice-counter-controls{display:flex;justify-content:center;align-items:stretch;gap:4px}
.dice-counter-controls button{min-width:44px;padding:5px 8px;border:1px solid #888;border-radius:4px;background:#393939;color:#fff;font:900 12px 'Nunito Sans',sans-serif;cursor:pointer}
.dice-counter-controls button:hover{border-color:#ffe000;background:#505050}
.dice-counter-controls output{display:grid;place-items:center;min-width:112px;padding:0 12px;border:2px solid #aaa;border-radius:4px;background:#202020;color:#fff;font:900 24px 'Nunito Sans',sans-serif}
@media(max-width:980px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:800px}.roller-card{min-height:450px}.history-section{max-width:800px}}
@media(max-width:600px){.game-layout{grid-template-columns:1fr;margin-top:30px;gap:10px}.roller-card{min-height:420px;padding:18px 13px}.dice-stage{min-height:180px;padding:23px 4px;gap:9px}.dice-stage>.die{width:clamp(72px,19vw,94px);height:clamp(72px,19vw,94px);border-width:5px}.dice-counter-controls{gap:3px}.dice-counter-controls button{min-width:38px;padding:5px}.dice-counter-controls output{min-width:88px;font-size:21px}.history-section{margin-top:38px;padding:11px 9px}}
/* Match the supplied three-column game layout */
.voxel-sky{background:linear-gradient(#050505 0 60%,#181818 60% 72%,#292929 72% 73%,#8c592f 73% 100%)}
.voxel-sky::before,.voxel-sky::after{display:none}
.pixel-cloud{top:9%;left:7%;width:105px;height:27px;background:#d5d5d5;box-shadow:18px -19px 0 #ededed,45px -37px 0 #f5f5f5,83px -16px 0 #dedede,110px 4px 0 #c8c8c8,27px 10px 0 #bdbdbd;opacity:.88;filter:drop-shadow(0 10px 0 #777)}
.cloud-two{top:26%;left:auto;right:8%;transform:scale(.85)}
.game-layout{grid-template-columns:260px 430px 260px;gap:10px;max-width:970px;margin-top:45px;align-items:start}
.vip-panel{min-height:680px;background:rgba(10,10,10,.82)}
.roller-card{display:flex;flex-direction:column;min-height:calc(100vh - 104px);padding:20px 18px 18px;background:rgba(10,10,10,.9)}
.game-title{margin-bottom:12px}
.game-title h1{font-size:clamp(29px,3vw,37px)}
.verify-id-strip{margin-bottom:8px}
.dice-stage{min-height:152px;padding:19px 2px;gap:8px}
.dice-stage>.die{width:clamp(66px,5.2vw,78px);height:clamp(66px,5.2vw,78px);border-width:6px}
.die::after{width:14px;height:14px}
.roll-summary{min-height:35px;padding-top:9px}
.controls{margin-top:auto;gap:10px;padding-top:14px}
.roll-button#roll-button{width:100%;height:48px;min-width:0;margin-top:12px;font-size:19px}
.dice-counter{margin-top:12px}
.dice-counter-controls{width:100%;display:grid;grid-template-columns:70px minmax(100px,1fr) 70px;gap:0;align-items:stretch}
.counter-side{display:flex;flex-direction:column}
.counter-side button{min-width:0;flex:1;padding:2px 4px;border-color:#666;border-radius:0;background:rgba(100,100,100,.8);font-size:11px;line-height:1.1}
.counter-side:first-child button{border-right:0;text-align:left;padding-left:10px}
.counter-side:last-child button{border-left:0;text-align:right;padding-right:10px}
.dice-counter-controls output{min-width:0;border:0;border-radius:0;background:rgba(70,70,70,.8);font-size:28px}
.dice-counter-label{display:none}
.keyboard-hint{margin:9px 0 0}
.history-section{max-width:1080px;margin:52px auto 0;padding:13px 16px}
.history-item{min-height:42px;padding:6px 7px}
.history-color{width:24px;height:24px}
@media(max-width:980px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:760px;gap:12px}.roller-card{grid-column:1/-1;grid-row:1;max-width:520px;min-height:calc(100vh - 90px);justify-self:center}.vip-panel{min-height:320px}.history-section{max-width:760px}}
@media(max-width:600px){.game-layout{grid-template-columns:1fr;max-width:470px;margin-top:25px;gap:10px}.roller-card{grid-column:1;grid-row:1;min-height:calc(100vh - 80px);padding:17px 13px}.vip-panel{min-height:0}.dice-stage{min-height:142px}.dice-stage>.die{width:clamp(62px,17vw,76px);height:clamp(62px,17vw,76px);border-width:5px}.die::after{width:12px;height:12px}.dice-counter-controls{grid-template-columns:60px minmax(90px,1fr) 60px}.history-section{margin-top:37px;padding:10px 9px}}
/* VIP creator cards show profile links and a red active-session outline */
.vip-card{display:block;width:100%;min-height:0;padding:6px;border:1px solid #777;border-radius:9px;background:rgba(55,55,55,.88);transition:border-color .15s,box-shadow .15s}
.vip-card-main{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.vip-card.is-active{border:3px solid #ff304f!important;box-shadow:0 0 0 2px #ff304f55,0 0 16px #ff304f77!important}
.vip-card.is-active .vip-tag{background:#ff304f}
.vip-profile-link{display:block;margin:5px 0 0 44px;color:#f2d448;font-size:9px;font-weight:900;letter-spacing:.25px;text-decoration:none}
.vip-profile-link:hover{text-decoration:underline}
.verify-id-strip{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7px 9px;padding:9px}
.verify-id-strip>span{grid-column:1/-1;justify-content:center;flex-wrap:wrap;gap:7px}
.verify-id-strip .copy-room,.verify-id-strip>a{justify-self:center}
@media(max-width:600px){.vip-profile-link{margin-left:38px}.verify-id-strip>span{gap:5px}.verify-id-strip code{font-size:10px}}
/* Make the past results easy to scan without expanding the main play area */
.history-section{max-width:1180px;padding:17px 20px}
.history-heading h2{font-size:25px}
.history-item{min-height:54px;padding:9px 10px}
.history-colors{gap:8px}
.history-color{width:34px;height:34px;border-width:3px;filter:saturate(1.28) contrast(1.06)}
.history-color::after{width:13px;height:13px}
.stat-chip{padding:5px 9px;font-weight:800}
.stat-chip i{width:13px;height:13px;border-radius:2px;filter:saturate(1.2)}
.vip-card.is-active{border-color:#ff304f!important}
/* Keep history color swatches small and flat */
.history-color{width:28px;height:28px;border-width:2px;filter:saturate(1.25) contrast(1.08)}
.history-color::after{display:none}
.history-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px auto 0;padding-top:10px;border-top:1px dashed #777}
.history-pagination[hidden]{display:none}
.history-pagination button{min-width:84px;padding:7px 10px;border:1px solid #888;border-radius:4px;background:#383838;color:#fff;font:900 10px 'Nunito Sans',sans-serif;letter-spacing:.5px;cursor:pointer}
.history-pagination button:hover:not(:disabled){border-color:#ffdf00;color:#ffdf00}
.history-pagination button:disabled{opacity:.4;cursor:default}
.history-pagination span{min-width:105px;color:#ddd;text-align:center;font-size:10px;font-weight:900;letter-spacing:.5px}
.roll-callout{margin:8px 0 -7px;color:#fff;text-align:center;font:clamp(22px,3vw,30px)/1.1 'Bowlby One SC','Arial Black',sans-serif;letter-spacing:.6px;text-shadow:2px 3px #444;animation:callout-pop .25s ease-out both}
#roll-callout[hidden]{display:none!important}
.dice-stage>.die.rolling{background:#eee!important;box-shadow:inset 0 -4px 0 #ddd,0 4px 0 #777,0 8px 16px #0009}
.dice-stage>.die.rolling::after{background:#fff!important;box-shadow:0 0 0 1px #e2e2e2}
@keyframes callout-pop{from{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
