.cd-app{--bg:#090D16;--card:#0F1524;--line:#1B243B;--gold:#FFD700;--txt:#F8FAFC;--mut:#94A3B8;--red:#FB7185;--grn:#34D399;
  max-width:520px;margin:0 auto;padding:16px;color:var(--txt);background:var(--bg);font-family:'Outfit',system-ui,sans-serif;box-sizing:border-box;border-radius:20px;position:relative}
.cd-app *{box-sizing:border-box}
.cd-app h2,.cd-app h3,.cd-app p,.cd-app ul,.cd-app ol{margin:0;padding:0}
.cd-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.cd-logo{font-weight:900;font-size:26px;letter-spacing:.02em;color:var(--gold);flex:1}
.cd-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-family:'Space Grotesk',monospace;font-size:14px}
.cd-chip b{color:var(--gold)}
.cd-mini{background:var(--card);border:1px solid var(--line);color:var(--txt);border-radius:999px;padding:6px 12px;font:600 13px 'Outfit',sans-serif;cursor:pointer}
.cd-top .cd-chip:first-child{margin-right:auto}
.cd-hi{color:var(--mut);margin-bottom:12px}.cd-hi b{color:var(--txt)}
.cd-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px}
.cd-card h3{font-size:13px;font-weight:700;color:var(--mut);margin-bottom:12px}
.cd-center{text-align:center}
.cd-btn{display:block;width:100%;border:0;border-radius:14px;padding:15px;margin-top:12px;background:var(--gold);color:#1a1400;font:800 15px 'Outfit',sans-serif;cursor:pointer;text-align:center;text-decoration:none;box-shadow:0 6px 20px rgba(255,215,0,.18);transition:transform .12s}
.cd-btn:hover{transform:translateY(-1px)}.cd-btn:active{transform:scale(.98)}
.cd-btn.ghost{background:#1B243B;color:var(--txt);box-shadow:none}
.cd-btn.alt{background:#10281f;color:var(--grn);border:1px solid #14532d;box-shadow:none;margin:0 0 14px}
.cd-btn:disabled,.cd-stake:disabled{opacity:.45;cursor:not-allowed;transform:none}
.cd-btn:focus-visible,.cd-stake:focus-visible,.cd-mini:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cd-stakes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cd-stake{background:#0B1120;border:2px solid var(--line);border-radius:14px;padding:10px 6px;color:var(--txt);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:700 16px 'Space Grotesk',sans-serif}
.cd-stake.sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,215,0,.15)}
.cd-coin{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 3px 8px rgba(0,0,0,.6)}
.cd-stats{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;font-size:11px;color:var(--mut);gap:4px}
.cd-stats b{display:block;font:700 18px 'Space Grotesk',sans-serif;color:var(--txt)}
.cd-board{list-style:none}.cd-board li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.cd-board li span{flex:1}.cd-board b{color:var(--gold);margin-right:4px}
.cd-rules{padding-left:18px!important;color:var(--mut);font-size:14px;line-height:1.6}
.cd-foot{text-align:center;color:#64748B;font-size:12px;margin-top:10px}
/* game */
.cd-side{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px}
.cd-side.me{border-color:rgba(255,215,0,.35)}
.cd-name{display:flex;align-items:center;gap:8px;font-weight:700;margin:4px 0 10px}.cd-name small{color:var(--mut);font-weight:500;flex:1}
.cd-name b{margin-left:auto;font:700 20px 'Space Grotesk',sans-serif;color:var(--gold)}
.cd-side.me .cd-name{margin:10px 0 0}
.cd-coins{display:flex;flex-wrap:wrap;gap:6px;min-height:46px}
.cd-coins .cd-coin{width:42px;height:42px}
.cd-empty{color:var(--mut)}
.cd-coin.leave{animation:cdLeave .6s forwards}.cd-coin.arrive{animation:cdArrive .6s}
@keyframes cdLeave{to{transform:scale(.2);opacity:0;filter:brightness(2)}}
@keyframes cdArrive{from{transform:scale(2);opacity:0;filter:brightness(2)}to{transform:scale(1);opacity:1}}
.cd-mid{text-align:center;padding:14px 0 6px}
.cd-dice-wrap{width:64px;height:64px;margin:6px auto 18px;perspective:600px}
.cd-dice{--s:64px;position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;transition:transform .45s cubic-bezier(.25,1.4,.4,1)}
.cd-dice.rolling{animation:cdSpin .6s linear infinite}
@keyframes cdSpin{to{transform:rotateX(720deg) rotateY(720deg) rotateZ(360deg)}}
.cd-face{position:absolute;inset:0;border-radius:12px;background:radial-gradient(circle at 30% 25%,#fff,#e2e8f0);border:1.5px solid #cbd5e1;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:9px;backface-visibility:hidden}
.cd-face i{display:block;place-self:center;width:9px;height:9px;border-radius:50%}.cd-face i.on{background:#0f172a}
.f1{transform:translateZ(32px)}.f6{transform:rotateY(180deg) translateZ(32px)}.f2{transform:rotateY(90deg) translateZ(32px)}
.f5{transform:rotateY(-90deg) translateZ(32px)}.f3{transform:rotateX(90deg) translateZ(32px)}.f4{transform:rotateX(-90deg) translateZ(32px)}
.cd-msg{min-height:40px;color:var(--mut);font-size:14px;padding:0 8px}
.cd-bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:8px 12px 0}.cd-bar i{display:block;height:100%;background:var(--gold);transition:width 1s linear}
.cd-mid .cd-btn{margin:14px 12px 0;width:calc(100% - 24px)}
/* result modal (matches original look) */
.cd-modal{position:absolute;inset:0;background:rgba(0,0,0,.82);border-radius:20px;display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;z-index:5;overflow:auto}
.cd-result{width:100%;background:#111726;border:2px solid var(--gold);border-radius:28px;padding:24px 18px;text-align:center}
.cd-trophy{width:70px;height:70px;margin:0 auto 14px;border-radius:50%;background:#3a3000;border:2px solid var(--gold);display:grid;place-items:center;font-size:32px}
.cd-result h2{color:var(--gold);font-weight:900;font-size:28px;line-height:1.05;text-transform:uppercase}
.cd-result>p{color:var(--mut);margin:10px 0 18px;font-size:15px}
.cd-rows{background:#0F1524;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:left}
.cd-rows div{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
.cd-rows b{font-family:'Space Grotesk',monospace}.cd-rows hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.net.neg{color:var(--red)}.net.pos{color:var(--grn)}
@media (prefers-reduced-motion:reduce){.cd-dice.rolling{animation:none}.cd-coin.leave,.cd-coin.arrive{animation:none}}
