:root{--bg:#050809;--panel:rgba(13,18,18,.87);--line:rgba(235,255,242,.09);--text:#f2f8f4;--muted:#7d8c84;--accent:#8ef7b8;--warn:#ffd178;--danger:#ff7b84}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -12%,rgba(48,105,73,.25),transparent 38%),linear-gradient(#070b0c,#040607);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(110px);opacity:.14;pointer-events:none}.ambient.a{width:430px;height:430px;background:#43dc8c;left:-280px;top:18%}.ambient.b{width:520px;height:520px;background:#315e98;right:-340px;bottom:-300px}.shell{width:min(1200px,calc(100% - 24px));margin:auto;padding:15px 0 60px}header{height:60px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.brand>span{width:43px;height:43px;border-radius:14px;border:1px solid rgba(142,247,184,.28);background:rgba(142,247,184,.07);color:var(--accent);display:grid;place-items:center;font-size:26px;font-weight:950}.brand b{letter-spacing:.18em}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.sync{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:9px;letter-spacing:.1em}.sync i{width:6px;height:6px;border-radius:50%;background:#59675f}.sync.online i{background:var(--accent);box-shadow:0 0 12px var(--accent)}.sync b{padding:4px 6px;border:1px solid var(--line);border-radius:7px;color:#9eaaa4}
.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(18,24,24,.91),rgba(7,11,12,.89));box-shadow:0 28px 82px rgba(0,0,0,.43);backdrop-filter:blur(22px);border-radius:28px}.hidden{display:none!important}button,input,select{font:inherit}.hero{max-width:880px;margin:7vh auto 0;padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}.hero:after{content:"0";position:absolute;right:-70px;top:-100px;font-size:390px;font-weight:950;color:rgba(142,247,184,.022);pointer-events:none}.hero>*{position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:900;color:var(--accent)}h1{font-size:clamp(52px,9vw,88px);line-height:.9;letter-spacing:-.07em;margin:18px 0}h1 em{font-style:normal;color:#738078}.hero>p{max-width:610px;color:#98a39e;line-height:1.65}.mode-buttons{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:28px}.primary,.secondary{min-height:52px;border-radius:15px;font-weight:900}.primary{border:0;background:linear-gradient(135deg,#9af7bd,#59da92);color:#061009;box-shadow:0 14px 34px rgba(65,206,129,.18)}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.035);color:white}.form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(0,0,0,.15);align-items:end}.form label span{display:block;color:var(--muted);font-size:8px;letter-spacing:.13em;font-weight:900;margin:0 0 6px 3px}.form input,.form select{width:100%;height:45px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035);color:white;padding:0 12px;outline:0}.compact{height:45px;min-height:45px;padding:0 15px}
.room-head{padding:19px 23px;display:flex;justify-content:space-between;align-items:center}.room-head strong{display:block;font-size:clamp(38px,6vw,62px);letter-spacing:.09em;line-height:1}.room-head small{display:block;color:var(--muted);font-size:9px;letter-spacing:.14em;margin-top:4px}.room-actions{display:flex;gap:7px}.small{min-height:38px;padding:0 11px;font-size:9px}.lobby-grid{display:grid;grid-template-columns:1fr 310px;gap:12px;margin-top:12px}.lobby-grid>.card{padding:22px}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.section-title small{font-size:8px;letter-spacing:.15em;color:var(--muted)}.section-title h2,.section-title h3{margin:3px 0 0}.section-title>span{color:var(--muted);font-size:9px}.members{display:grid;gap:7px;margin-top:12px}.member{padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);display:flex;justify-content:space-between;align-items:center}.member-left{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:10px;background:rgba(142,247,184,.08);color:var(--accent);font-weight:900;display:grid;place-items:center}.member b{display:block;font-size:12px}.member small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.tags{display:flex;gap:4px}.tag{border:1px solid var(--line);border-radius:99px;padding:4px 6px;color:var(--muted);font-size:7px;letter-spacing:.08em}.tag.host,.tag.ready{color:var(--accent);border-color:rgba(142,247,184,.23)}.tag.watch{color:var(--warn)}.tag.offline{color:var(--danger)}.controls{padding:20px}.control-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}.control-row span{font-size:8px;letter-spacing:.13em;color:var(--muted)}.control-row b{font-size:12px}.wide{width:100%;margin-top:10px}.controls p{font-size:9px;line-height:1.5;color:var(--muted)}
.score-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;margin:10px 0}.score-chip{padding:9px 11px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025);display:flex;justify-content:space-between;align-items:center}.score-chip.active{background:rgba(142,247,184,.065);border-color:rgba(142,247,184,.22)}.score-chip small{display:block;color:var(--muted);font-size:7px;letter-spacing:.1em}.score-chip b{font-size:17px}.game-grid{display:grid;grid-template-columns:1fr 290px;gap:11px}.table{padding:clamp(19px,3vw,34px);min-height:690px}.table-head{display:flex;justify-content:space-between;align-items:flex-start}.table-head h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.05em;margin:3px 0 9px}.remaining{text-align:right}.remaining small{display:block;font-size:8px;letter-spacing:.15em;color:var(--muted)}.remaining strong{display:block;font-size:clamp(35px,5vw,54px);letter-spacing:-.06em}.remaining span{display:block;color:var(--accent);font-size:8px;letter-spacing:.12em}.busts{display:flex;gap:4px;align-items:center}.busts i{width:17px;height:4px;border-radius:6px;background:rgba(255,255,255,.07)}.busts i.on{background:var(--danger)}.busts small{margin-left:5px;color:var(--muted);font-size:8px}.opening{margin-top:18px;padding:11px 13px;border:1px solid rgba(142,247,184,.12);background:rgba(142,247,184,.035);border-radius:13px}.opening>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.1em}.opening b{color:var(--accent)}.bar{height:4px;background:rgba(255,255,255,.05);border-radius:8px;margin-top:8px;overflow:hidden}.bar i{height:100%;display:block;width:0;background:var(--accent);transition:.25s}.pressure{text-align:center;padding:38px 0 18px}.pressure>small{font-size:8px;letter-spacing:.2em;color:var(--muted)}.pressure>strong{display:block;font-size:clamp(78px,12vw,126px);letter-spacing:-.08em;line-height:.86;margin:10px 0}.pressure>p{font-size:9px;color:var(--muted)}.pressure-bars{display:flex;gap:4px;max-width:260px;margin:13px auto}.pressure-bars i{height:4px;flex:1;background:rgba(255,255,255,.055);border-radius:5px}.pressure-bars i.on{background:var(--accent)}.pressure-bars i.hot{background:var(--warn)}.pressure-bars i.danger{background:var(--danger)}.dice{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;min-height:79px}.die{width:clamp(58px,8vw,74px);height:clamp(58px,8vw,74px);border-radius:17px;background:linear-gradient(145deg,#fbfefc,#dce2df);color:#07100b;display:grid;place-items:center;font-size:43px;box-shadow:inset -7px -8px 15px rgba(16,25,20,.14),0 14px 28px rgba(0,0,0,.36)}.die.idle{opacity:.2;background:#425049}.die.selected{transform:translateY(-6px);box-shadow:0 0 0 3px rgba(142,247,184,.34),0 17px 30px rgba(0,0,0,.4)}.options{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:19px auto 0;max-width:690px}.option{border:1px solid var(--line);background:rgba(255,255,255,.03);color:white;border-radius:11px;padding:8px 10px;font-size:9px}.option b{color:var(--accent);margin-left:6px}.option.active{border-color:rgba(142,247,184,.4);background:rgba(142,247,184,.08)}.status{text-align:center;color:var(--muted);font-size:9px;min-height:18px;margin:16px 0}.actions{display:grid;grid-template-columns:1fr 1.25fr;gap:7px;max-width:690px;margin:auto}.action{padding:0 14px;display:flex;justify-content:space-between;align-items:center}.action:disabled{opacity:.25}.rematch{display:block;width:min(420px,100%);margin:14px auto 0}.live-panel{padding:17px}.live{color:var(--accent)!important}.role-badge{display:inline-block;margin-top:12px;border:1px solid var(--line);border-radius:99px;padding:5px 8px;font-size:7px;letter-spacing:.1em;color:var(--warn)}.feed{margin-top:8px;max-height:550px;overflow:auto}.feed-item{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.045);font-size:9px}.feed-item b{display:block}.feed-item span{display:block;color:var(--muted);margin-top:3px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,18px);opacity:0;background:#eef7f1;color:#07100b;padding:10px 13px;border-radius:99px;font-size:9px;font-weight:900;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:860px){.lobby-grid,.game-grid{grid-template-columns:1fr}.feed{max-height:220px}.table{min-height:auto}}
@media(max-width:620px){.shell{width:calc(100% - 14px);padding-top:5px}.hero{margin-top:2vh;border-radius:24px}.mode-buttons,.form{grid-template-columns:1fr}.room-head{align-items:flex-end}.room-actions{flex-direction:column}.lobby-grid>.card{padding:17px}.table{padding:17px 12px;border-radius:24px}.pressure{padding:31px 0 17px}.pressure>strong{font-size:88px}.actions{grid-template-columns:1fr 1.18fr}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}

.postgame{max-width:690px;margin:18px auto 0;padding:16px;border:1px solid rgba(142,247,184,.14);background:rgba(142,247,184,.035);border-radius:16px}.postgame-title{text-align:center}.postgame-title small,.history-head small,.replay-head small{font-size:8px;letter-spacing:.14em;color:var(--accent);font-weight:900}.postgame-title h3{margin:4px 0 12px;font-size:24px}.awards{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.award{padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.award small{display:block;font-size:7px;letter-spacing:.1em;color:var(--muted)}.award b{display:block;margin-top:4px;font-size:11px}.award span{color:var(--accent)}.replay-open{width:100%;margin-top:9px;min-height:40px;font-size:9px}.history-head{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}.history-head button{border:0;background:transparent;color:var(--muted);font-size:7px;letter-spacing:.1em}.history-list{display:grid;gap:5px;margin-top:8px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);cursor:pointer;color:white}.history-item div small{display:block;color:var(--muted);font-size:7px}.history-item div b{font-size:9px}.history-item>span{font-size:8px;color:var(--accent)}.replay-panel{margin-top:11px;padding:18px}.replay-head{display:flex;justify-content:space-between;align-items:center}.replay-head h3{margin:3px 0 0}.replay-integrity{margin:12px 0;padding:8px;border-radius:10px;background:rgba(142,247,184,.05);border:1px solid rgba(142,247,184,.12);font-size:8px;color:var(--accent);word-break:break-all}.replay-stage{display:grid;grid-template-columns:45px 1fr 45px;gap:8px;align-items:stretch}.replay-nav{min-height:100px}.replay-event{min-height:100px;border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(255,255,255,.02)}.replay-event small{display:block;color:var(--muted);font-size:7px;letter-spacing:.1em}.replay-event strong{display:block;font-size:16px;margin:5px 0}.replay-event p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.replay-progress{height:3px;background:rgba(255,255,255,.05);margin-top:10px;border-radius:5px;overflow:hidden}.replay-progress i{display:block;height:100%;width:0;background:var(--accent)}.replay-counter{text-align:center;color:var(--muted);font-size:8px;margin-top:6px}
@media(max-width:620px){.awards{grid-template-columns:1fr}.replay-stage{grid-template-columns:36px 1fr 36px}.replay-nav{padding:0}}

.room-actions .toggle-on{border-color:rgba(142,247,184,.25);color:var(--accent)}
.reaction-title{font-size:7px;letter-spacing:.12em;color:var(--muted);margin-top:13px}.reactions{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:6px}.reactions button{height:34px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);font-size:16px}.reactions button:hover{background:rgba(142,247,184,.07);transform:translateY(-1px)}
.moment-overlay{position:fixed;z-index:80;left:50%;top:50%;width:min(620px,calc(100% - 30px));min-height:300px;transform:translate(-50%,-44%) scale(.86);opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.09);border-radius:35px;background:radial-gradient(circle at 50% 45%,rgba(142,247,184,.13),rgba(5,8,9,.93) 60%);box-shadow:0 45px 120px rgba(0,0,0,.7);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:opacity .18s,transform .28s cubic-bezier(.2,.8,.2,1)}
.moment-overlay.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.moment-overlay small{position:relative;z-index:2;font-size:9px;letter-spacing:.2em;color:var(--muted)}.moment-overlay strong{position:relative;z-index:2;font-size:clamp(54px,10vw,100px);line-height:.9;letter-spacing:-.065em;margin:11px 0}.moment-overlay p{position:relative;z-index:2;color:#9eaaa4;font-size:12px}.moment-ring{position:absolute;width:210px;height:210px;border:1px solid rgba(142,247,184,.22);border-radius:50%;box-shadow:0 0 80px rgba(142,247,184,.09);animation:ringPulse .9s ease-out infinite}.moment-overlay[data-kind="BUST"] strong,.moment-overlay[data-kind="OVERSHOOT"] strong,.moment-overlay[data-kind="TRIPLE_BUST"] strong{color:var(--danger)}.moment-overlay[data-kind="HOT_DICE"] strong,.moment-overlay[data-kind="BIG_BANK"] strong{color:var(--warn)}.moment-overlay[data-kind="WIN"] strong{color:var(--accent);text-shadow:0 0 50px rgba(142,247,184,.2)}.moment-overlay[data-kind="WIN"] .moment-ring{width:250px;height:250px;border-color:rgba(142,247,184,.38)}
.screen-flash{position:fixed;z-index:70;inset:0;background:white;opacity:0;pointer-events:none}.screen-flash.flash{animation:flash .34s ease-out}.screen-flash.danger{background:var(--danger)}.screen-flash.hot{background:var(--warn)}.screen-flash.win{background:var(--accent)}
.reaction-layer{position:fixed;z-index:75;inset:0;pointer-events:none;overflow:hidden}.reaction-pop{position:absolute;left:var(--x);bottom:-50px;font-size:34px;animation:reactionFloat 2.2s ease-out forwards;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4))}
.table.impact{animation:tableImpact .4s cubic-bezier(.2,.8,.2,1)}.dice.impact .die{animation:diceImpact .45s cubic-bezier(.2,.8,.2,1)}
@keyframes ringPulse{0%{transform:scale(.72);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes flash{0%{opacity:.22}100%{opacity:0}}
@keyframes reactionFloat{0%{transform:translateY(0) scale(.7) rotate(-8deg);opacity:0}12%{opacity:1}100%{transform:translateY(-75vh) scale(1.25) rotate(12deg);opacity:0}}
@keyframes tableImpact{0%{transform:translateX(0)}20%{transform:translateX(-4px)}45%{transform:translateX(5px)}70%{transform:translateX(-2px)}100%{transform:translateX(0)}}
@keyframes diceImpact{0%{transform:translateY(0)}45%{transform:translateY(-10px) rotate(5deg)}100%{transform:translateY(0)}}
body.reduce-motion .moment-overlay{transition:none}body.reduce-motion .moment-ring,body.reduce-motion .reaction-pop,body.reduce-motion .table.impact,body.reduce-motion .dice.impact,body.reduce-motion .screen-flash.flash{animation:none!important}.moment-overlay[data-kind="ROLL"]{display:none}
@media(max-width:620px){.room-actions{max-width:160px}.moment-overlay{min-height:250px;border-radius:27px}.reactions button{font-size:14px;padding:0}}

.header-right{display:flex;align-items:center;gap:10px}.profile-pill{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:99px;padding:7px 10px;font-size:8px;letter-spacing:.1em;font-weight:900}.profile-pill.linked{color:var(--accent);border-color:rgba(142,247,184,.24);background:rgba(142,247,184,.05)}
.profile-panel{max-width:880px;margin:0 auto 12px;padding:18px}.profile-create,.profile-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-create small,.profile-title small{font-size:8px;letter-spacing:.14em;color:var(--accent);font-weight:900}.profile-create h3,.profile-title h3{margin:3px 0;font-size:18px}.profile-create p{margin:0;color:var(--muted);font-size:9px}.profile-create-form{display:flex;gap:7px;min-width:min(380px,48%)}.profile-create-form input{min-width:0;flex:1;height:45px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035);color:white;padding:0 11px}.profile-title span{display:block;color:var(--muted);font-size:7px}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:14px}.stat{border:1px solid var(--line);border-radius:11px;padding:9px;background:rgba(255,255,255,.02)}.stat small{display:block;color:var(--muted);font-size:6px;letter-spacing:.08em}.stat b{display:block;font-size:14px;margin-top:3px}.achievement-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.achievement{border:1px solid rgba(142,247,184,.17);background:rgba(142,247,184,.035);color:var(--accent);border-radius:99px;padding:5px 7px;font-size:7px}.tag.profile{color:#8fc7ff;border-color:rgba(143,199,255,.22)}
@media(max-width:760px){.stat-grid{grid-template-columns:repeat(3,1fr)}.profile-create{align-items:flex-start;flex-direction:column}.profile-create-form{width:100%;min-width:0}}
@media(max-width:620px){.header-right{gap:5px}.profile-panel{padding:14px}.profile-title{align-items:flex-start}.profile-create-form{flex-direction:column}.stat-grid{grid-template-columns:repeat(2,1fr)}}

.bot-builder{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.bot-builder label span{display:block;color:var(--muted);font-size:7px;letter-spacing:.13em;font-weight:900;margin-bottom:6px}.bot-builder select{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035);color:white;padding:0 9px}.bot-note{padding-top:9px;border-top:1px solid rgba(255,255,255,.04)}.tag.bot{color:var(--warn);border-color:rgba(255,209,120,.22)}.tag.safe{color:#9ddbbd}.tag.balanced{color:#8fc7ff}.tag.aggressive{color:#ff9f79}.tag.chaos{color:#d6a3ff}.bot-remove{border:1px solid rgba(255,123,132,.18);background:transparent;color:var(--danger);border-radius:8px;padding:4px 6px;font-size:7px;margin-left:3px}.bot-thinking{color:var(--warn)!important}

.controller-label{font-size:7px;letter-spacing:.12em;color:var(--accent);border:1px solid rgba(142,247,184,.2);border-radius:99px;padding:5px 7px}.tv-share{margin-top:10px;padding:14px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center}.tv-share small{display:block;color:var(--accent);font-size:7px;letter-spacing:.14em;font-weight:900}.tv-share b{display:block;font-size:10px;word-break:break-all;margin:4px 0}.tv-share span{display:block;color:var(--muted);font-size:8px}.tv-share-actions{display:flex;gap:6px;flex-wrap:wrap}
.tv-mode{overflow:hidden}.tv-shell{width:min(1500px,calc(100% - 40px));margin:auto;padding:22px 0}.tv-header{height:70px;display:flex;justify-content:space-between;align-items:center}.tv-live{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.12em;color:var(--muted)}.tv-live i{width:7px;height:7px;border-radius:50%;background:#59675f}.tv-live.online i{background:var(--accent);box-shadow:0 0 13px var(--accent)}.tv-live b{border:1px solid var(--line);padding:5px 7px;border-radius:8px}.tv-join{display:flex;justify-content:space-between;align-items:center;padding:18px 25px}.tv-join small{display:block;color:var(--accent);font-size:8px;letter-spacing:.16em}.tv-join strong{font-size:clamp(42px,6vw,72px);letter-spacing:.1em;line-height:1}.tv-join-copy{text-align:right}.tv-join-copy span,.tv-join-copy em{display:block;color:var(--muted);font-size:9px;font-style:normal}.tv-join-copy b{display:block;font-size:18px;margin:4px 0}.tv-board{display:grid;grid-template-columns:1fr 400px;gap:12px;margin-top:12px;height:calc(100vh - 205px)}.tv-main{padding:28px 35px;display:flex;flex-direction:column}.tv-turn{display:flex;justify-content:space-between;align-items:flex-start}.tv-turn small,.tv-remaining small{font-size:8px;letter-spacing:.16em;color:var(--accent)}.tv-turn h1{font-size:clamp(58px,8vw,110px);margin:4px 0;line-height:.86}.tv-remaining{text-align:right}.tv-remaining strong{display:block;font-size:clamp(55px,7vw,92px);letter-spacing:-.06em}.tv-risk{text-align:center;margin:auto 0}.tv-risk small{display:block;color:var(--muted);font-size:9px;letter-spacing:.2em}.tv-risk strong{font-size:clamp(88px,14vw,180px);letter-spacing:-.08em;line-height:.85}.tv-dice{display:flex;justify-content:center;gap:14px;margin:25px 0}.tv-dice .die{width:92px;height:92px;font-size:56px}.tv-moment{text-align:center;min-height:65px}.tv-moment small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em}.tv-moment b{display:block;font-size:28px;margin-top:4px}.tv-moment span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.tv-score{padding:20px}.tv-scores{display:grid;gap:7px;margin-top:12px}.tv-score-row{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;background:rgba(255,255,255,.02)}.tv-score-row.active{border-color:rgba(142,247,184,.28);background:rgba(142,247,184,.05)}.tv-score-row small{display:block;color:var(--muted);font-size:7px}.tv-score-row b{font-size:13px}.tv-score-row strong{font-size:23px}.tv-score-row>span{grid-column:1/-1;color:var(--muted);font-size:7px}.tv-reactions{position:fixed;inset:0;pointer-events:none}.tv-reaction-pop{position:absolute;bottom:-40px;font-size:42px;animation:reactionFloat 2.2s ease-out forwards}
body.controller-mode .feed-panel,body.controller-mode .score-rail,body.controller-mode .history-head,body.controller-mode .history-list,body.controller-mode #profilePanel{display:none!important}body.controller-mode .game-grid{grid-template-columns:1fr}body.controller-mode .table,body.controller-mode .room-head{max-width:760px;margin-left:auto;margin-right:auto}body.controller-mode .lobby-grid{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto}body.controller-mode .members-card{display:none}
@media(max-width:900px){.tv-board{grid-template-columns:1fr 320px}.tv-dice .die{width:72px;height:72px;font-size:45px}.tv-shell{width:calc(100% - 18px)}}@media(max-width:760px){.tv-share{flex-direction:column;align-items:flex-start}.tv-share-actions{width:100%}}

.security-foot{max-width:880px;margin:18px auto 0;text-align:center;color:var(--muted);font-size:7px;letter-spacing:.12em;opacity:.72}

.release-badge{font-size:7px;letter-spacing:.12em;color:#ffd178;border:1px solid rgba(255,209,120,.22);background:rgba(255,209,120,.045);border-radius:99px;padding:5px 8px;font-weight:900}
.security-foot{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.diagnostic-copy{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);border-radius:8px;padding:5px 7px;font-size:7px;letter-spacing:.08em}
.offline-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.offline-card{width:min(520px,100%);padding:28px;text-align:center}.offline-card .offline-zero{font-size:82px;line-height:1;color:var(--accent);font-weight:900}.offline-card h1{font-size:34px;margin:10px 0}.offline-card p{color:var(--muted);line-height:1.6}.offline-card button{margin-top:16px}
@supports not (backdrop-filter: blur(1px)){.card{background:#0b1110}.ambient{display:none}}
@media(max-width:480px){.release-badge{display:none}.security-foot{padding:0 10px}.diagnostic-copy{min-height:34px}.mode-buttons button,.form button,.actions button{min-height:44px}}


/* Stage 19 — physical dice and visible table pressure */
.die.physical-die{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform-style:preserve-3d;
  background:
    radial-gradient(circle at 28% 20%,rgba(255,255,255,.98),rgba(255,255,255,.18) 26%,transparent 42%),
    linear-gradient(145deg,#fffef8 0%,#f0eee4 56%,#d8d5c9 100%);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:
    inset 4px 4px 10px rgba(255,255,255,.82),
    inset -8px -10px 16px rgba(29,37,31,.17),
    0 5px 0 rgba(174,170,157,.9),
    0 18px 34px rgba(0,0,0,.42);
}
.die.physical-die:before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.38);
  pointer-events:none;
}
.die-edge{
  position:absolute;
  inset:auto 11% -8% 11%;
  height:18%;
  border-radius:50%;
  background:rgba(32,38,34,.12);
  filter:blur(5px);
  z-index:-1;
}
.pip-grid{
  width:67%;
  height:67%;
  display:grid;
  grid-template:repeat(3,1fr)/repeat(3,1fr);
  gap:3px;
  transform:translateZ(8px);
}
.pip{display:block;width:clamp(7px,1.15vw,10px);height:clamp(7px,1.15vw,10px);border-radius:50%;align-self:center;justify-self:center;opacity:0}
.pip.on{
  opacity:1;
  background:radial-gradient(circle at 35% 30%,#35423b 0,#0a0e0c 48%,#000 100%);
  box-shadow:inset 1px 1px 2px rgba(255,255,255,.18),0 1px 1px rgba(255,255,255,.22);
}
.p1{grid-area:1/1}.p2{grid-area:1/2}.p3{grid-area:1/3}.p4{grid-area:2/1}.p5{grid-area:2/2}.p6{grid-area:2/3}.p7{grid-area:3/1}.p8{grid-area:3/2}.p9{grid-area:3/3}
.die.physical-die.selected{
  transform:translateY(-10px) rotateX(4deg);
  border-color:rgba(142,247,184,.82);
  box-shadow:
    inset 4px 4px 10px rgba(255,255,255,.82),
    inset -8px -10px 16px rgba(29,37,31,.14),
    0 5px 0 rgba(117,191,145,.72),
    0 0 0 3px rgba(142,247,184,.24),
    0 20px 42px rgba(0,0,0,.46),
    0 0 34px rgba(142,247,184,.14);
}
.die.settle-0:not(.selected){transform:rotate(-1.2deg)}
.die.settle-1:not(.selected){transform:rotate(.7deg)}
.die.settle-2:not(.selected){transform:rotate(-.35deg)}
.die.rolling.roll-a{animation:zeroDieRollA .72s cubic-bezier(.18,.78,.18,1)}
.die.rolling.roll-b{animation:zeroDieRollB .72s cubic-bezier(.18,.78,.18,1)}
.die.rolling.roll-c{animation:zeroDieRollC .72s cubic-bezier(.18,.78,.18,1)}
@keyframes zeroDieRollA{
  0%{transform:translate3d(-6px,-3px,0) rotateX(0) rotateY(0) rotateZ(-8deg) scale(.94)}
  25%{transform:translate3d(8px,-28px,0) rotateX(115deg) rotateY(70deg) rotateZ(20deg) scale(1.04)}
  55%{transform:translate3d(-5px,-12px,0) rotateX(235deg) rotateY(155deg) rotateZ(-13deg)}
  78%{transform:translate3d(3px,-5px,0) rotateX(335deg) rotateY(248deg) rotateZ(6deg)}
  100%{transform:translate3d(0,0,0) rotateX(360deg) rotateY(360deg) rotateZ(0)}
}
@keyframes zeroDieRollB{
  0%{transform:translate3d(5px,-2px,0) rotateX(0) rotateY(0) rotateZ(9deg) scale(.95)}
  24%{transform:translate3d(-9px,-25px,0) rotateX(82deg) rotateY(132deg) rotateZ(-18deg) scale(1.05)}
  53%{transform:translate3d(7px,-14px,0) rotateX(202deg) rotateY(244deg) rotateZ(14deg)}
  79%{transform:translate3d(-2px,-4px,0) rotateX(312deg) rotateY(330deg) rotateZ(-4deg)}
  100%{transform:translate3d(0,0,0) rotateX(360deg) rotateY(360deg) rotateZ(0)}
}
@keyframes zeroDieRollC{
  0%{transform:translate3d(0,-2px,0) rotateX(0) rotateY(0) rotateZ(-4deg) scale(.93)}
  28%{transform:translate3d(4px,-31px,0) rotateX(145deg) rotateY(94deg) rotateZ(15deg) scale(1.06)}
  57%{transform:translate3d(-7px,-9px,0) rotateX(263deg) rotateY(210deg) rotateZ(-9deg)}
  82%{transform:translate3d(2px,-3px,0) rotateX(342deg) rotateY(314deg) rotateZ(3deg)}
  100%{transform:translate3d(0,0,0) rotateX(360deg) rotateY(360deg) rotateZ(0)}
}
.table[data-risk="3"] .pressure>strong{text-shadow:0 0 28px rgba(142,247,184,.08)}
.table[data-risk="4"] .pressure>strong{color:var(--warn);text-shadow:0 0 34px rgba(255,199,112,.12)}
.table[data-risk="5"]{
  border-color:rgba(239,100,100,.2);
  box-shadow:0 28px 82px rgba(0,0,0,.43),inset 0 0 70px rgba(239,100,100,.025);
}
.table[data-risk="5"] .pressure>strong{color:var(--danger);text-shadow:0 0 38px rgba(239,100,100,.16)}
.table[data-risk="5"] .pressure-bars{filter:drop-shadow(0 0 8px rgba(239,100,100,.12))}
.tv-dice .die.physical-die{
  border-radius:21px;
  box-shadow:
    inset 5px 5px 12px rgba(255,255,255,.82),
    inset -10px -12px 20px rgba(29,37,31,.16),
    0 7px 0 rgba(174,170,157,.9),
    0 22px 42px rgba(0,0,0,.45);
}
body.reduce-motion .die.rolling,
body.reduce-motion .die.physical-die{
  animation:none!important;
  transition:none!important;
}
@media(prefers-reduced-motion:reduce){
  .die.rolling{animation:none!important}
}
@media(max-width:620px){
  .dice{gap:7px}
  .die{border-radius:14px}
  .die.physical-die:before{border-radius:10px}
  .pip{width:7px;height:7px}
}


/* Stage 23 — first-game rule coach & mobile decision UX */
.rules-open{
  background:rgba(142,247,184,.08);
  border:1px solid rgba(142,247,184,.24);
  color:#baf8cf;
  border-radius:999px;
  padding:8px 11px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  cursor:pointer;
}
.quick-rules{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:22px auto 4px;
  max-width:900px;
  text-align:left;
}
.quick-rules>div{
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(4,9,7,.42);
}
.quick-rules small{display:block;color:#8ef7b8;font-weight:900;letter-spacing:.1em;font-size:9px}
.quick-rules b{display:block;margin:5px 0;font-size:14px}
.quick-rules span{display:block;color:#91a098;font-size:12px;line-height:1.45}
.turn-coach{
  margin:14px 0 2px;
  padding:14px 15px;
  border-radius:14px;
  border:1px solid rgba(142,247,184,.16);
  background:linear-gradient(135deg,rgba(142,247,184,.07),rgba(255,255,255,.015));
}
.coach-kicker{font-size:9px;font-weight:900;letter-spacing:.13em;color:#8ef7b8}
.turn-coach strong{display:block;font-size:18px;margin:4px 0}
.turn-coach p{margin:0;color:#a9b5af;line-height:1.45}
.coach-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.coach-flag{font-size:9px;font-weight:900;letter-spacing:.06em;padding:5px 7px;border-radius:999px;background:#121b17;border:1px solid rgba(255,255,255,.08);color:#b9c5bf}
.coach-flag.good{color:#9ef6be;border-color:rgba(142,247,184,.28)}
.coach-flag.warn{color:#ffd18a;border-color:rgba(255,209,138,.26)}
.coach-flag.danger{color:#ff9b9b;border-color:rgba(255,125,125,.28)}
.turn-coach[data-tone="danger"]{border-color:rgba(255,100,100,.35);background:linear-gradient(135deg,rgba(239,100,100,.10),rgba(255,255,255,.015))}
.turn-coach[data-tone="win"]{border-color:rgba(142,247,184,.42);box-shadow:0 0 30px rgba(142,247,184,.06)}
.opening.ready{border-color:rgba(142,247,184,.32);box-shadow:0 0 22px rgba(142,247,184,.05)}
.rules-drawer{
  position:fixed;inset:0;z-index:120;
  background:rgba(2,5,4,.76);backdrop-filter:blur(12px);
  display:grid;place-items:center;padding:18px;
}
.rules-sheet{
  width:min(920px,100%);max-height:min(88vh,860px);overflow:auto;
  border:1px solid rgba(255,255,255,.11);border-radius:20px;
  background:#0b110e;box-shadow:0 40px 120px rgba(0,0,0,.55);padding:20px;
}
.rules-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.rules-head small{color:#8ef7b8;font-weight:900;letter-spacing:.12em}
.rules-head h2{margin:5px 0 14px;font-size:32px}
.rules-head button{width:42px;height:42px;border-radius:50%;background:#131c18;color:#fff;border:1px solid rgba(255,255,255,.1);font-size:25px;cursor:pointer}
.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.rule-grid article{padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#080d0b}
.rule-grid article>b{font-size:11px;color:#dbe5df;letter-spacing:.06em}
.rule-grid p{margin:5px 0 0;color:#99a79f;line-height:1.5;font-size:13px}
.rules-tip{margin-top:12px;padding:13px;border-radius:11px;background:rgba(142,247,184,.07);color:#afbbb5}
@media(max-width:720px){
  .quick-rules{grid-template-columns:1fr;margin-top:17px}
  .quick-rules>div{padding:12px}
  .rule-grid{grid-template-columns:1fr}
  .rules-sheet{padding:15px;border-radius:15px;max-height:92vh}
  .rules-head h2{font-size:26px}
  .turn-coach{padding:12px}
  .turn-coach strong{font-size:16px}
  .rules-open{padding:7px 9px}
}


/* ZERO_STAGE30_CORE_REPAIR_STYLES_BEGIN */
.die.physical-die.selectable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.die.physical-die.selectable:hover{filter:brightness(1.04);transform:translateY(-3px)}
.die.physical-die.selectable:focus-visible{outline:3px solid rgba(142,247,184,.75);outline-offset:4px}
.die.physical-die.selectable.selected{transform:translateY(-8px);box-shadow:0 0 0 3px rgba(142,247,184,.55),0 18px 34px rgba(0,0,0,.46)}
.prediction{max-width:690px;margin:10px auto 8px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:space-between;gap:16px}
.prediction div{min-width:160px}.prediction small{display:block;color:var(--muted);font-size:7px;letter-spacing:.13em}.prediction strong{display:block;font-size:23px;margin-top:3px}.prediction p{margin:0;color:var(--muted);font-size:9px;line-height:1.45;text-align:right}
.prediction.ready{border-color:rgba(142,247,184,.28);background:rgba(142,247,184,.045)}.prediction.ready strong,.prediction.win strong{color:var(--accent)}
.prediction.win{border-color:rgba(142,247,184,.55);background:rgba(142,247,184,.09)}.prediction.danger{border-color:rgba(255,111,111,.42);background:rgba(255,111,111,.07)}.prediction.danger strong{color:var(--danger)}
@media(max-width:600px){.prediction{align-items:flex-start;flex-direction:column;gap:7px}.prediction p{text-align:left}.die.physical-die.selectable{touch-action:manipulation}}
/* ZERO_STAGE30_CORE_REPAIR_STYLES_END */


/* ZERO_STAGE30_V6_MOBILE_BOTS_OPENING_BEGIN */
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.busts.protected i{background:rgba(142,247,184,.13)!important}
.busts.protected small{color:var(--accent);font-weight:900;letter-spacing:.06em}
.opening-protection-mini{margin:10px 0 2px;padding:9px 10px;border-radius:10px;border:1px solid rgba(142,247,184,.18);background:rgba(142,247,184,.045);color:#a8d9ba;font-size:9px;line-height:1.45}
@media(max-width:700px){
  .lobby-grid{display:flex;flex-direction:column}
  .lobby-grid .controls{order:-1}
  .bot-builder{margin-top:12px;padding:12px;border:1px solid rgba(142,247,184,.16);border-radius:14px;background:rgba(142,247,184,.035)}
  .bot-builder select{height:50px;font-size:16px}
  #addBotButton,#readyButton,#startButton{min-height:56px;font-size:14px}
  .actions{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:70;padding:8px;margin:12px -4px 0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(5,8,9,.94);backdrop-filter:blur(18px);box-shadow:0 -12px 34px rgba(0,0,0,.36)}
  .action{min-height:62px;font-size:15px}
  .action b{font-size:16px}
  #rollButton:not(:disabled){box-shadow:0 12px 30px rgba(89,218,146,.22)}
  .pressure{padding:23px 0 12px}
  .pressure>strong{font-size:76px}
  .turn-coach{margin-top:9px;padding:11px}
}
@media(max-width:430px){
  .actions{grid-template-columns:.9fr 1.25fr}
  .action{padding:0 11px}
  .room-actions{width:100%}
  .room-actions button{width:100%}
}
/* ZERO_STAGE30_V6_MOBILE_BOTS_OPENING_END */


/* ZERO_STAGE30_V9_PLAYER_BOT_MOBILE_BEGIN */
@media(max-width:700px){
  #botBuilder:not(.hidden){
    display:block!important;
    order:-5;
    margin:0 0 14px!important;
    padding:14px!important;
    border:2px solid rgba(142,247,184,.34)!important;
    border-radius:16px!important;
    background:rgba(142,247,184,.075)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.24);
  }
  #botBuilder label>span{
    color:var(--accent)!important;
    font-size:9px!important;
    letter-spacing:.11em!important;
  }
  #botStrategy{height:54px!important;font-size:16px!important}
  #addBotButton{
    display:block;
    width:100%;
    min-height:60px!important;
    margin-top:10px!important;
    font-size:15px!important;
    border-color:rgba(142,247,184,.30)!important;
  }
}
/* ZERO_STAGE30_V9_PLAYER_BOT_MOBILE_END */



/* ZERO_STAGE30_V11_UNIVERSAL_BOT_DOCK_BEGIN */
#botBuilder{display:none!important}
.mobile-bot-dock:not(.hidden){display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(160px,220px);align-items:center;gap:12px;margin:10px 0 14px;padding:14px 16px!important;border:2px solid rgba(142,247,184,.38)!important;background:linear-gradient(135deg,rgba(142,247,184,.105),rgba(142,247,184,.035))!important;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.mobile-bot-copy small{display:block;color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.14em}.mobile-bot-copy b{display:block;font-size:19px;margin:3px 0 2px}.mobile-bot-copy span{display:block;color:var(--muted);font-size:9px;line-height:1.4}
#mobileBotStrategy{width:100%;height:54px;border:1px solid rgba(142,247,184,.28);border-radius:12px;background:#111716;color:#fff;padding:0 12px;font-size:15px;font-weight:800}
#mobileAddBotButton{width:100%;min-height:58px!important;font-size:15px!important;font-weight:950!important;letter-spacing:.055em}#mobileAddBotButton:disabled{opacity:.58}
.create-bot-note{font-size:9px;color:var(--muted);line-height:1.45;margin:-2px 0 3px}
@media(max-width:700px){.mobile-bot-dock:not(.hidden){grid-template-columns:1fr;gap:10px;margin:10px 0 12px;padding:14px!important}#mobileBotStrategy{height:56px;font-size:16px}#mobileAddBotButton{min-height:64px!important;font-size:16px!important}.create-bots-field select{min-height:52px;font-size:16px}.create-bot-note{font-size:10px}}
/* ZERO_STAGE30_V11_UNIVERSAL_BOT_DOCK_END */



/* ZERO_STAGE30_ALPHA10_MAIN_MOBILE_BEGIN */
.die.physical-die{appearance:none;-webkit-appearance:none;border:0;padding:0;font-family:inherit;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#mobileBotDock,#botBuilder{display:none!important}
.bots-tab{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:800;min-width:96px;height:58px;border:2px solid rgba(142,247,184,.42);border-radius:16px;background:linear-gradient(135deg,#8ef7b8,#5ed98f);color:#06110a;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:950;letter-spacing:.07em;box-shadow:0 15px 36px rgba(0,0,0,.42);touch-action:manipulation}
.bots-tab b{font-size:21px}.bots-tab.locked{opacity:.62}
.bots-drawer{position:fixed;inset:0;z-index:900;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(0,0,0,.62);backdrop-filter:blur(8px)}
.bots-sheet{width:min(520px,100%);padding:17px!important;border:2px solid rgba(142,247,184,.25)!important;box-shadow:0 24px 70px rgba(0,0,0,.58)}
.bots-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bots-sheet-head h2{margin:3px 0;font-size:26px}.bots-sheet-head p{margin:4px 0 12px;color:var(--muted);font-size:9px;line-height:1.45}
.bots-sheet label{display:block;margin:8px 0}.bots-sheet label>span{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em;margin-bottom:5px}
#botsTabStrategy{width:100%;min-height:56px;border-radius:12px;border:1px solid var(--line);background:#101715;color:white;padding:0 12px;font-size:16px}.bots-add-main{min-height:64px!important;font-size:16px!important}
@media(max-width:700px){.bots-tab{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));min-width:106px;height:62px}.actions{position:sticky;bottom:max(6px,env(safe-area-inset-bottom));z-index:500}.action{min-height:64px!important;touch-action:manipulation!important}.die.physical-die.selectable{min-width:62px;min-height:62px;touch-action:manipulation!important}.option{min-height:46px;touch-action:manipulation!important}}
/* ZERO_STAGE30_ALPHA10_MAIN_MOBILE_END */


/* ZERO_STAGE30_ALPHA23_MOBILE_CONTROLS_BEGIN */
#mobileBotDock,
#botBuilder{
  display:none!important;
}

/* The restored alpha10 BOTS+ tab is the only mobile bot control. */
#botsTab{
  pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation!important;
}

/*
Dice must sit above sticky/control decoration and receive the touch themselves.
No transparent UI layer is allowed to steal their taps.
*/
#dice{
  position:relative!important;
  z-index:650!important;
  pointer-events:auto!important;
}
#dice .die.physical-die.selectable{
  position:relative!important;
  z-index:651!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  cursor:pointer!important;
}
#dice .die.physical-die.selectable *{
  pointer-events:none!important;
}

@media(max-width:700px){
  #botsTab{
    right:10px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
    min-width:112px!important;
    height:64px!important;
    z-index:900!important;
  }
  #dice .die.physical-die.selectable{
    min-width:66px!important;
    min-height:66px!important;
  }
}
/* ZERO_STAGE30_ALPHA23_MOBILE_CONTROLS_END */


/* ZERO_STAGE30_ALPHA24_MOBILE_HIT_LAYER_FIX_BEGIN */
@media(max-width:700px){
  /*
    Critical fix: Bank / Risk It used to be sticky and could occupy a compositor
    layer over the dice after automatic scrolling. Keep it in normal flow.
  */
  #gamePanel .actions{
    position:static!important;
    inset:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    z-index:auto!important;
    transform:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    margin:12px auto 0!important;
  }

  /*
    Dice are normal-flow native buttons. Their full boxes are explicit hit
    targets. Child pip decoration cannot take the target.
  */
  #dice{
    position:relative!important;
    z-index:10!important;
    isolation:isolate!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }
  #dice .die.physical-die.selectable{
    position:relative!important;
    z-index:11!important;
    min-width:68px!important;
    min-height:68px!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  #dice .die.physical-die.selectable::before,
  #dice .die.physical-die.selectable .pip-grid,
  #dice .die.physical-die.selectable .pip,
  #dice .die.physical-die.selectable .die-edge{
    pointer-events:none!important;
  }

  /*
    Noninteractive visual overlays can never intercept mobile input.
  */
  .ambient,
  .screen-flash,
  .reaction-layer,
  .moment-overlay:not(.show){
    pointer-events:none!important;
  }

  /*
    Old alpha10 BOTS+ control: only the JS room lifecycle determines display.
    Keep it above the lobby but not over dice because JS sets display:none
    immediately outside LOBBY.
  */
  #botsTab{
    z-index:1200!important;
    touch-action:manipulation!important;
  }
  #botsDrawer{
    z-index:1300!important;
  }
}
/* ZERO_STAGE30_ALPHA24_MOBILE_HIT_LAYER_FIX_END */


/* ZERO_STAGE30_ALPHA26_NATIVE_CLICK_CSS_BEGIN */
@media(max-width:700px){
  #botsTab,
  #botsDrawerAdd,
  #botsDrawerClose,
  #dice .die.physical-die.selectable,
  #options .option{
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  #dice .die.physical-die.selectable{
    pointer-events:auto!important;
    cursor:pointer!important;
  }

  #dice .die.physical-die.selectable .pip-grid,
  #dice .die.physical-die.selectable .pip,
  #dice .die.physical-die.selectable .die-edge{
    pointer-events:none!important;
  }

  /* Keep gameplay actions in normal flow; never float over the dice. */
  #gamePanel .actions{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    z-index:auto!important;
  }
}
/* ZERO_STAGE30_ALPHA26_NATIVE_CLICK_CSS_END */
/* ZERO_DICE_SKINS_UI */
.skin-picker{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.skin-picker-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:10px}
.skin-picker-head small{color:var(--muted);font-size:8px;letter-spacing:.15em}
.skin-picker-head h3{margin:3px 0 0}
.skin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.skin-card{border:1px solid var(--line);background:rgba(255,255,255,.025);color:white;border-radius:14px;padding:9px;text-align:left}
.skin-card.mine{border-color:var(--accent);background:rgba(142,247,184,.07)}
.skin-card.taken{opacity:.4}
.skin-preview{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.skin-preview img{width:100%;height:100%;object-fit:contain}
.skin-card b,.skin-card small{display:block;margin-top:4px}
.skin-card small,#diceSkinHint{color:var(--muted);font-size:8px}
.classic-skin-preview{display:flex;gap:5px}
.classic-skin-preview span{padding:12px;border-radius:10px;background:white;color:#07100b;font-weight:900}
.die.physical-die.skinned{background-image:var(--skin-img)!important;background-size:300% 300%!important;background-position:var(--skin-x) var(--skin-y)!important;background-repeat:no-repeat!important;background-color:transparent!important;border-radius:0;box-shadow:none;filter:drop-shadow(0 11px 9px rgba(0,0,0,.35))}
.die.physical-die.skinned:before,.die.physical-die.skinned .die-edge{display:none}
.die.physical-die.skinned.selected{box-shadow:none;filter:drop-shadow(0 0 8px rgba(142,247,184,.9)) drop-shadow(0 14px 10px rgba(0,0,0,.4))}
#readyButton:disabled,#startButton:disabled{opacity:.35;filter:saturate(.35);cursor:not-allowed}
.skin-grid{grid-template-columns:repeat(auto-fill,minmax(150px,220px));justify-content:start}
.skin-preview{height:145px;aspect-ratio:auto}
@media(max-width:700px){.skin-grid{grid-template-columns:1fr 1fr}.skin-preview{height:130px}}

/* ZERO_STAGE31_ACCOUNT_UI_BEGIN */
.account-zone{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.account-head,.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-head small,.account-row small{font-size:8px;letter-spacing:.14em;color:var(--accent);font-weight:900}.account-head h3{margin:3px 0;font-size:18px}.account-head p{margin:0;color:var(--muted);font-size:9px}.account-badge{border:1px solid var(--line);border-radius:99px;padding:6px 9px;font-size:7px;letter-spacing:.1em;color:var(--muted);font-weight:900}.account-badge.verified{color:var(--accent);border-color:rgba(142,247,184,.25)}.account-tabs{display:flex;gap:6px;margin:14px 0 8px}.account-tabs .selected{color:var(--accent);border-color:rgba(142,247,184,.28);background:rgba(142,247,184,.05)}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.account-form input{min-width:0;height:44px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035);color:white;padding:0 11px}.account-form .primary{grid-column:1/-1}.account-note{margin:8px 0 0;color:var(--muted);font-size:8px}.account-row b,.account-row span{display:block}.account-row b{font-size:13px;margin-top:3px}.account-row span{font-size:8px;color:var(--muted);margin-top:3px}.account-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:620px){.account-head,.account-row{align-items:flex-start;flex-direction:column}.account-form{grid-template-columns:1fr}.account-actions{width:100%;justify-content:flex-start}}
/* ZERO_STAGE31_ACCOUNT_UI_END */

/* ZERO_STAGE31_ACCOUNT_RECOVERY_UI_BEGIN */
.account-link-button{grid-column:1/-1;border:0;background:transparent;color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.1em;text-align:left;padding:5px 2px;cursor:pointer}.account-link-button:hover{text-decoration:underline}.account-recovery{margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.025)}.account-recovery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.account-recovery-head small,.account-recovery-head b,.account-recovery-head span{display:block}.account-recovery-head small{font-size:8px;letter-spacing:.13em;color:var(--accent);font-weight:900}.account-recovery-head b{font-size:14px;margin-top:3px}.account-recovery-head span{font-size:8px;color:var(--muted);margin-top:4px;line-height:1.45}.account-logged-in .account-actions .hidden{display:none!important}@media(max-width:620px){.account-recovery-head{flex-direction:column}.account-recovery-head .secondary{align-self:flex-start}}
/* ZERO_STAGE31_ACCOUNT_RECOVERY_UI_END */

/* ZERO_STAGE31_PART5_CAREER */
.career-zone{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.career-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.career-head small,.career-card>small{font-size:8px;letter-spacing:.14em;color:var(--accent);font-weight:900}.career-head h3{font-size:18px;margin:3px 0}.career-head p{margin:0;color:var(--muted);font-size:9px}.career-identity{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.career-identity span,.career-identity b{border:1px solid rgba(142,247,184,.2);background:rgba(142,247,184,.045);color:var(--accent);border-radius:99px;padding:6px 9px;font-size:7px;letter-spacing:.1em}.career-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0 10px}.career-tabs .selected{color:var(--accent);border-color:rgba(142,247,184,.3);background:rgba(142,247,184,.06)}#careerRefresh{margin-left:auto}.career-body{display:grid;gap:9px}.career-hero,.career-card,.career-match,.career-metric{border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:13px}.career-hero{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.career-hero small{font-size:7px;letter-spacing:.11em;color:var(--muted)}.career-hero h4,.career-card h4{font-size:17px;margin:3px 0}.career-hero p,.career-muted{font-size:8px;color:var(--muted);line-height:1.5;margin:3px 0}.career-form{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.career-form i{font-style:normal;width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;font-size:8px;font-weight:900;color:#ff9b9b}.career-form i.win{color:var(--accent);border-color:rgba(142,247,184,.22);background:rgba(142,247,184,.04)}.career-form span{font-size:7px;color:var(--muted)}.career-metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.career-metric{padding:9px}.career-metric small{display:block;font-size:6px;color:var(--muted);letter-spacing:.08em}.career-metric b{display:block;font-size:14px;margin-top:3px}.career-split{display:grid;grid-template-columns:1fr 1fr;gap:9px}.career-card{padding:12px}.career-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:8px}.career-detail-grid .career-metric{background:rgba(0,0,0,.08)}.career-progress-list{display:grid;gap:8px;margin-top:9px}.career-progress>div{display:flex;justify-content:space-between;gap:8px;font-size:7px}.career-progress>div span{color:var(--muted)}.career-progress>i,.dice-stats i{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:4px}.career-progress>i>em,.dice-stats i>em{display:block;height:100%;background:var(--accent);border-radius:inherit}.dice-stats{display:grid;gap:7px;margin-top:9px}.dice-stats>div{display:grid;grid-template-columns:20px 1fr 84px;gap:7px;align-items:center}.dice-stats b{font-size:11px}.dice-stats span{font-size:7px;color:var(--muted);text-align:right}.skin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.skin-stat-grid>div,.combo-stat-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:rgba(0,0,0,.08)}.skin-stat-grid b,.skin-stat-grid span,.skin-stat-grid small{display:block}.skin-stat-grid b{font-size:9px}.skin-stat-grid span{font-size:7px;margin-top:3px}.skin-stat-grid small{font-size:6px;color:var(--muted);margin-top:3px}.combo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.combo-stat-grid>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.combo-stat-grid b{font-size:8px}.combo-stat-grid span{font-size:11px;color:var(--accent);font-weight:900}.career-history{display:grid;gap:6px}.career-match{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:3px solid rgba(255,110,110,.35)}.career-match.win{border-left-color:var(--accent)}.career-match small,.career-match b,.career-match b span{display:block}.career-match small{font-size:6px;color:var(--muted);letter-spacing:.07em}.career-match b{font-size:10px;margin-top:3px}.career-match b span{font-size:6px;color:var(--muted);margin-top:2px}.career-match-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.career-match-stats span{font-size:7px;color:var(--muted)}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.record-card{border:1px solid rgba(142,247,184,.14);background:rgba(142,247,184,.025);border-radius:12px;padding:11px}.record-card small,.record-card b,.record-card span{display:block}.record-card small{font-size:6px;color:var(--muted);letter-spacing:.08em}.record-card b{font-size:15px;margin-top:4px}.record-card span{font-size:6px;color:var(--muted);margin-top:3px}.career-empty{border:1px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:8px}@media(max-width:760px){.career-metric-grid{grid-template-columns:repeat(3,1fr)}.skin-stat-grid{grid-template-columns:repeat(2,1fr)}.combo-stat-grid,.record-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.career-head,.career-hero,.career-match{flex-direction:column;align-items:flex-start}.career-identity{justify-content:flex-start}.career-split{grid-template-columns:1fr}.career-metric-grid{grid-template-columns:repeat(2,1fr)}.career-match-stats{justify-content:flex-start}.skin-stat-grid{grid-template-columns:1fr}#careerRefresh{margin-left:0}}

/* ZERO_STAGE31_PART6_PROGRESSION */
.career-achievement-count{display:flex;align-items:baseline;gap:5px}.career-achievement-count b{font-size:26px;color:var(--accent)}.career-achievement-count span{font-size:7px;color:var(--muted);letter-spacing:.08em}
.career-title-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.career-title-option{min-height:62px;text-align:left;border:1px solid var(--line);background:rgba(0,0,0,.08);border-radius:10px;padding:9px;color:var(--text);cursor:pointer}.career-title-option b,.career-title-option span{display:block}.career-title-option b{font-size:9px}.career-title-option span{font-size:6px;color:var(--muted);line-height:1.4;margin-top:4px}.career-title-option.selected{border-color:rgba(142,247,184,.42);background:rgba(142,247,184,.07)}
.career-achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.career-achievement{border:1px solid var(--line);border-radius:11px;padding:10px;background:rgba(0,0,0,.08)}.career-achievement>div{display:flex;justify-content:space-between;gap:7px}.career-achievement b{font-size:8px}.career-achievement span{font-size:6px;color:var(--muted);text-align:right}.career-achievement p{font-size:6px;line-height:1.45;color:var(--muted);min-height:28px;margin:6px 0}.career-achievement.unlocked{border-color:rgba(142,247,184,.25);background:rgba(142,247,184,.04)}.career-achievement.unlocked b{color:var(--accent)}.career-achievement i{height:4px;display:block;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}.career-achievement i em{display:block;height:100%;background:var(--accent)}
.mastery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.mastery-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:rgba(0,0,0,.08)}.mastery-grid b,.mastery-grid span,.mastery-grid small{display:block}.mastery-grid b{font-size:8px}.mastery-grid span{font-size:8px;color:var(--accent);margin-top:4px}.mastery-grid small{font-size:6px;color:var(--muted);margin-top:4px}
@media(max-width:760px){.career-title-grid,.career-achievement-grid,.mastery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.career-title-grid,.career-achievement-grid,.mastery-grid{grid-template-columns:1fr}}

/* ZERO_STAGE32_PART3_ADVANCED_CAREER_UI */
.advanced-hero{border-color:rgba(142,247,184,.2);background:linear-gradient(135deg,rgba(142,247,184,.055),rgba(255,255,255,.018))}.advanced-metrics .career-metric{min-height:56px}.career-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:9px}.career-breakdown-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:rgba(0,0,0,.08)}.career-breakdown-grid b,.career-breakdown-grid span{display:block}.career-breakdown-grid b{font-size:9px}.career-breakdown-grid span{font-size:6px;color:var(--muted);margin-top:4px}.career-duration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.career-data-note{border:1px dashed rgba(142,247,184,.22);border-radius:11px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start;background:rgba(142,247,184,.025)}.career-data-note b{font-size:7px;letter-spacing:.08em;color:var(--accent);white-space:nowrap}.career-data-note span{font-size:7px;line-height:1.45;color:var(--muted)}@media(max-width:760px){.career-duration-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.career-breakdown-grid,.career-duration-grid{grid-template-columns:1fr}.career-data-note{flex-direction:column}}


/* ZERO_STAGE33_PART3_V4_SKINNED_DICE_2D_ROLL */
/* Custom skins are flat sprite-sheet renders. Keep roll motion in 2D so rotateX/rotateY cannot collapse them into edge-on slivers. */
.die.physical-die.skinned.rolling.roll-a{animation:zeroSkinRollA .72s cubic-bezier(.18,.78,.18,1)!important}
.die.physical-die.skinned.rolling.roll-b{animation:zeroSkinRollB .72s cubic-bezier(.18,.78,.18,1)!important}
.die.physical-die.skinned.rolling.roll-c{animation:zeroSkinRollC .72s cubic-bezier(.18,.78,.18,1)!important}
@keyframes zeroSkinRollA{
  0%{transform:translate3d(-6px,-3px,0) rotate(-8deg) scale(.94)}
  25%{transform:translate3d(8px,-28px,0) rotate(20deg) scale(1.04)}
  55%{transform:translate3d(-5px,-12px,0) rotate(-13deg) scale(1)}
  78%{transform:translate3d(3px,-5px,0) rotate(6deg) scale(1.01)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes zeroSkinRollB{
  0%{transform:translate3d(5px,-2px,0) rotate(9deg) scale(.95)}
  24%{transform:translate3d(-9px,-25px,0) rotate(-18deg) scale(1.05)}
  53%{transform:translate3d(7px,-14px,0) rotate(14deg) scale(1)}
  79%{transform:translate3d(-2px,-4px,0) rotate(-4deg) scale(1.01)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes zeroSkinRollC{
  0%{transform:translate3d(0,-2px,0) rotate(-4deg) scale(.93)}
  28%{transform:translate3d(4px,-31px,0) rotate(15deg) scale(1.06)}
  57%{transform:translate3d(-7px,-9px,0) rotate(-9deg) scale(1)}
  82%{transform:translate3d(2px,-3px,0) rotate(3deg) scale(1.01)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}


/* ZERO_STAGE34_PART3_AUDIO_VOLUME_CONTROLS */
.room-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}
.audio-volume{
  width:138px;
  min-width:138px;
  min-height:38px;
  padding:5px 9px 4px;
  border:1px solid var(--line);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  display:grid;
  gap:2px;
  box-sizing:border-box;
}
.audio-volume>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:var(--muted);
  font-size:7px;
  line-height:1;
  letter-spacing:.08em;
}
.audio-volume>span b{font:inherit;color:var(--muted)}
.audio-volume output{color:var(--accent);font-weight:900;font-size:8px}
.audio-volume input[type="range"]{
  appearance:auto;
  -webkit-appearance:auto;
  display:block;
  width:100%;
  min-width:0;
  height:22px;
  min-height:22px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  accent-color:var(--accent);
  cursor:pointer;
}
.audio-volume input[type="range"]:focus-visible{
  outline:2px solid rgba(142,247,184,.8);
  outline-offset:2px;
}
@media(max-width:760px){
  .room-head{align-items:flex-start;gap:12px}
  .room-actions{max-width:190px}
  .audio-volume{width:100%;min-width:0}
}
@media(max-width:430px){
  .room-head{flex-direction:column}
  .room-actions{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .room-actions button,.audio-volume{width:100%}
  .audio-volume{min-height:48px;padding:7px 10px 5px}
  .audio-volume input[type="range"]{height:26px;min-height:26px}
}

/* ZERO_STAGE34_PART4_ACCOUNT_REGISTRATION_UI_BEGIN */
.zero-account-access{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(11,15,24,.88);
  color:#fff;
  border-radius:999px;
  padding:.55rem .9rem;
  min-height:38px;
  font:800 .72rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
  white-space:nowrap
}
.zero-account-access:hover,.zero-account-access:focus-visible{border-color:rgba(255,255,255,.55);transform:translateY(-1px)}
.zero-account-access.is-pending{border-color:#e8b84e}
.zero-account-access.floating{position:fixed;top:14px;right:14px;z-index:850}
.zero-account-overlay{
  position:fixed;inset:0;z-index:2000;
  display:grid;place-items:center;
  padding:18px;background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px)
}
.zero-account-overlay[hidden]{display:none!important}
body.zero-account-open{overflow:hidden}
.zero-account-dialog{
  width:min(520px,100%);max-height:min(88vh,760px);overflow:auto;
  border:1px solid rgba(255,255,255,.18);border-radius:22px;
  background:linear-gradient(180deg,rgba(22,27,39,.98),rgba(8,11,18,.99));
  color:#fff;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.55)
}
.zero-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.zero-account-head small{display:block;opacity:.62;font-weight:800;letter-spacing:.17em;margin-bottom:5px}
.zero-account-head h2{margin:0;font-size:1.35rem;letter-spacing:.06em}
.zero-account-close{
  width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);color:#fff;font-size:1.55rem;cursor:pointer
}
.zero-account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 18px}
.zero-account-tabs button{
  min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:rgba(255,255,255,.7);
  font-weight:900;letter-spacing:.05em;cursor:pointer
}
.zero-account-tabs button.active{background:#fff;color:#11151e}
.zero-account-form{display:grid;gap:13px}
.zero-account-form label{display:grid;gap:6px;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:rgba(255,255,255,.78)}
.zero-account-form input{
  width:100%;box-sizing:border-box;min-height:48px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);
  color:#fff;padding:0 13px;font:600 1rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  outline:none
}
.zero-account-form input:focus{border-color:rgba(255,255,255,.55);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.zero-account-primary,.zero-account-secondary,.zero-account-danger,.zero-account-guest{
  width:100%;min-height:48px;border-radius:12px;font-weight:900;letter-spacing:.05em;cursor:pointer
}
.zero-account-primary{border:0;background:#fff;color:#0d1119;margin-top:3px}
.zero-account-secondary{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;margin-top:10px}
.zero-account-danger{border:1px solid rgba(255,110,110,.35);background:rgba(145,35,35,.18);color:#ffb8b8;margin-top:10px}
.zero-account-guest{border:0;background:transparent;color:rgba(255,255,255,.58);margin-top:14px}
.zero-account-link{
  justify-self:center;border:0;background:transparent;color:#dce7ff;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;padding:8px
}
.zero-account-status{border-radius:12px;padding:11px 13px;margin:0 0 14px;background:rgba(255,255,255,.07);font-size:.88rem}
.zero-account-status.success{background:rgba(48,150,88,.18);border:1px solid rgba(88,220,138,.2)}
.zero-account-status.error{background:rgba(170,45,45,.18);border:1px solid rgba(255,105,105,.22)}
.zero-account-note,.zero-account-fine{margin:0;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.45}
.zero-account-fine{text-align:center;font-size:.74rem}
.zero-account-card{
  padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:16px;
  background:rgba(255,255,255,.045);margin-bottom:8px
}
.zero-account-card h3{margin:9px 0 4px;font-size:1.25rem}
.zero-account-card p{margin:0;overflow-wrap:anywhere}
.zero-account-badge{
  display:inline-flex;border-radius:999px;padding:6px 9px;background:rgba(75,190,120,.16);
  border:1px solid rgba(90,220,140,.2);font-size:.68rem;font-weight:900;letter-spacing:.08em
}
.zero-account-badge.pending{background:rgba(215,160,55,.15);border-color:rgba(240,190,70,.25)}
.zero-account-dialog button:focus-visible{outline:3px solid rgba(255,255,255,.35);outline-offset:2px}
@media(max-width:640px){
  .zero-account-overlay{padding:10px;align-items:end}
  .zero-account-dialog{border-radius:20px 20px 10px 10px;padding:18px;max-height:92vh}
  .zero-account-access{padding:.48rem .65rem;font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){
  .zero-account-access{transform:none!important}
}
/* ZERO_STAGE34_PART4_ACCOUNT_REGISTRATION_UI_END */

/* ZERO_STAGE118_V1_MOBILE_HORIZONTAL_VIEWPORT_LOCK_BEGIN */

/*
  Samsung/Android root-scroll hard lock.

  The legacy stylesheet already set body{overflow-x:hidden}, but Android
  browsers may use documentElement as the root scrolling element. Lock both
  roots and remove horizontal pan ownership at the browser gesture layer.
*/

html,
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden!important;
  overscroll-behavior-x:none!important;
}

/* Chromium/Samsung Internet support overflow:clip. Keep hidden above as the
   fallback for older engines. */
@supports (overflow:clip){
  html,
  body{
    overflow-x:clip!important;
  }
}

/* The game has no intentional page-level horizontal gesture. Preserve vertical
   scrolling, taps and pinch zoom while refusing horizontal page panning. */
@media (pointer:coarse), (max-width:900px){
  html,
  body{
    touch-action:pan-y pinch-zoom!important;
  }

  body,
  main,
  .shell,
  .game-grid,
  .table{
    max-width:100%!important;
    min-width:0!important;
  }

  .shell{
    width:min(1200px,calc(100% - 24px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .game-grid > *,
  .table > *{
    min-width:0;
  }
}

/* ZERO_STAGE118_V1_MOBILE_HORIZONTAL_VIEWPORT_LOCK_END */

/* ZERO_STAGE121_GAME_PEDESTAL_CSS_BEGIN */
.stage121-game-pedestal-host{position:relative!important;isolation:isolate;overflow:visible!important}
.stage121-game-pedestal-host>#stage121GamePedestalVisual{position:absolute;left:50%;bottom:-34%;width:min(132%,620px);height:auto;transform:translateX(-50%);object-fit:contain;pointer-events:none;user-select:none;z-index:0;filter:drop-shadow(0 20px 30px rgba(0,0,0,.48))}
.stage121-game-pedestal-host>:not(#stage121GamePedestalVisual){position:relative;z-index:2}
#stage121GamePedestalVisual.stage121-game-pedestal-fallback{position:fixed;left:50%;bottom:clamp(90px,13vh,145px);width:clamp(280px,38vw,560px);transform:translateX(-50%);z-index:0}
@media(max-width:700px){.stage121-game-pedestal-host>#stage121GamePedestalVisual{width:min(156%,450px);bottom:-30%}#stage121GamePedestalVisual.stage121-game-pedestal-fallback{width:min(78vw,410px);bottom:92px}}
@media(orientation:landscape) and (max-height:500px){.stage121-game-pedestal-host>#stage121GamePedestalVisual{width:min(112%,390px);bottom:-42%}#stage121GamePedestalVisual.stage121-game-pedestal-fallback{width:min(34vw,330px);bottom:48px}}
/* ZERO_STAGE121_GAME_PEDESTAL_CSS_END */

/* ZERO_STAGE126_2_ROLLFX_QUICK_BURST_CSS_BEGIN */
#zeroStage126RollFxPortal{position:fixed;inset:0;pointer-events:none;z-index:2147482000;overflow:visible;contain:layout style;isolation:isolate}
.zero126-die-fx{position:fixed;transform:translate3d(-50%,-50%,0) rotate(calc(var(--zero126-rot,0deg) + var(--zero126-frame-rot,0deg))) scale(var(--zero126-var-scale,1));transform-origin:50% 50%;opacity:0;pointer-events:none;will-change:left,top,transform,opacity;transition:opacity 48ms linear;filter:brightness(var(--zero126-bright,1));}
.zero126-die-fx.is-visible.is-frame-ready{opacity:var(--zero126-alpha,.67)}.zero126-die-fx.is-fading{opacity:0!important;transition:opacity 90ms ease-out}
.zero126-die-fx-frame{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;opacity:0;transform:scale(.985);transition:opacity 18ms linear;will-change:opacity,filter,transform;mix-blend-mode:normal;}
.zero126-die-fx-frame.is-active{opacity:.94;transform:scale(1)}
.zero126-die-fx:before{content:"";position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle,var(--zero126-glow,rgba(120,255,80,.42)) 0%,transparent 72%);filter:blur(12px);opacity:0;transform:scale(.8);z-index:-1;transition:opacity 48ms linear}
.zero126-die-fx.is-frame-ready:before{opacity:.045}
.zero126-die-fx:after{content:"";position:absolute;left:50%;top:70%;width:28%;height:10%;border-radius:50%;background:radial-gradient(ellipse,var(--zero126-glow,rgba(120,255,80,.55)),transparent 72%);transform:translate(-50%,-50%) scale(.25);filter:blur(5px);opacity:0}
.zero126-die-fx.is-impact.is-frame-ready:after{animation:zero126Impact 190ms cubic-bezier(.12,.7,.2,1) both}
.zero126-ion-tempest .zero126-die-fx-frame{filter:saturate(1.34) contrast(1.12) brightness(1.13) drop-shadow(0 0 5px rgba(109,255,74,.42)) drop-shadow(0 0 10px rgba(109,255,74,.16))}
.zero126-void-fracture .zero126-die-fx-frame{filter:saturate(1.20) contrast(1.18) brightness(1.08) drop-shadow(0 0 5px rgba(120,255,72,.38)) drop-shadow(0 0 11px rgba(120,255,72,.14))}
.zero126-solar-inferno .zero126-die-fx-frame{filter:saturate(1.30) contrast(1.12) brightness(1.16) drop-shadow(0 0 5px rgba(255,198,46,.45)) drop-shadow(0 0 11px rgba(255,166,28,.16))}
.zero126-die-fx.is-settling.is-frame-ready{animation:zero126SettlePunch 180ms cubic-bezier(.16,.76,.2,1) 1}
.zero126-die-fx.has-frame-error{opacity:0!important}
@keyframes zero126CorePulse{from{opacity:.10;transform:scale(.78)}to{opacity:.22;transform:scale(1.06)}}
@keyframes zero126Impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}18%{opacity:.38}100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@keyframes zero126SettlePunch{0%{filter:brightness(var(--zero126-bright,1))}34%{filter:brightness(1.32)}100%{filter:brightness(var(--zero126-bright,1))}}
@media (max-width:600px){.zero126-die-fx.is-visible.is-frame-ready{opacity:var(--zero126-alpha,.67)}.zero126-die-fx-frame.is-active{opacity:.92}.zero126-ion-tempest .zero126-die-fx-frame,.zero126-void-fracture .zero126-die-fx-frame,.zero126-solar-inferno .zero126-die-fx-frame{filter:saturate(1.20) contrast(1.08) brightness(1.10) drop-shadow(0 0 7px var(--zero126-glow,rgba(120,255,80,.58)))}.zero126-die-fx:before{filter:blur(9px)}}
@media (prefers-reduced-motion:reduce){.zero126-die-fx:before{animation:none!important;opacity:.08}.zero126-die-fx.is-settling{animation:none!important}.zero126-die-fx.is-impact:after{animation-duration:140ms!important}.zero126-die-fx-frame{transition:none}}
/* ZERO_STAGE126_2_ROLLFX_QUICK_BURST_CSS_END */
/* ZERO_STAGE166_3_BOARD_EMOTE_STYLE_BEGIN */
.zero166-emote-trigger{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:86px;padding:6px 10px 6px 7px!important;border:1px solid rgba(217,181,72,.48)!important;border-radius:13px!important;background:linear-gradient(145deg,rgba(14,23,17,.96),rgba(5,8,6,.98))!important;box-shadow:0 0 0 1px rgba(73,255,145,.07) inset,0 8px 24px rgba(0,0,0,.32)!important;color:#f5dda0!important;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.zero166-emote-trigger:hover{transform:translateY(-1px);border-color:rgba(78,255,146,.68)!important;box-shadow:0 0 0 1px rgba(220,184,75,.12) inset,0 10px 28px rgba(0,0,0,.36),0 0 18px rgba(53,255,134,.08)!important}.zero166-emote-trigger.locked{opacity:.54;filter:saturate(.68)}.zero166-emote-trigger.sending{pointer-events:none;opacity:.7}.zero166-emote-trigger-thumb{position:relative;width:28px;height:28px;flex:0 0 28px;border-radius:8px;overflow:hidden;border:1px solid rgba(87,255,150,.34);box-shadow:0 0 13px rgba(53,255,135,.11)}.zero166-emote-trigger-thumb img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.14)}.zero166-emote-trigger-copy{display:grid;text-align:left;line-height:1}.zero166-emote-trigger-copy b{font-size:10px;letter-spacing:.11em}.zero166-emote-trigger-copy small{font-size:8px;letter-spacing:.045em;color:rgba(255,255,255,.6);margin-top:3px}
.zero166-board-emote-layer{position:fixed;z-index:2147481800;pointer-events:none;overflow:hidden;isolation:isolate;border-radius:var(--zero166-board-radius,18px);contain:paint;opacity:0;background:transparent;box-shadow:0 0 0 1px rgba(91,255,148,0) inset;transition:box-shadow .28s ease}.zero166-board-emote-layer[hidden]{display:none!important}.zero166-board-emote-layer.armed{opacity:1}.zero166-board-emote-ambient{position:absolute;inset:-8%;opacity:0;background:radial-gradient(ellipse at 50% 52%,rgba(62,255,132,.15),rgba(207,169,54,.055) 37%,transparent 72%);filter:blur(14px);transform:scale(.98);transition:opacity .32s ease,transform .42s cubic-bezier(.16,1,.3,1)}.zero166-board-emote-stage{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translate3d(0,17%,0) scale(.965);will-change:transform,opacity;filter:drop-shadow(0 16px 42px rgba(0,0,0,.34))}.zero166-board-emote-media{position:relative;width:94%;height:91%;display:grid;place-items:center;overflow:hidden;border-radius:calc(var(--zero166-board-radius,18px) * .84);background:rgba(0,0,0,.04);clip-path:inset(0 round calc(var(--zero166-board-radius,18px) * .84))}.zero166-board-emote-video,.zero166-board-emote-poster{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;filter:saturate(1.04) contrast(1.025) brightness(.97)}.zero166-board-emote-video{opacity:0;transition:opacity .11s linear}.zero166-board-emote-video.frame-ready{opacity:.84}.zero166-board-emote-poster{opacity:.82}.zero166-board-emote-layer:not(.poster-only) .zero166-board-emote-poster{opacity:0}.zero166-board-emote-vignette{position:absolute;inset:-1px;background:radial-gradient(ellipse at 50% 50%,transparent 48%,rgba(1,6,3,.10) 72%,rgba(1,5,3,.34) 100%),linear-gradient(180deg,rgba(2,7,4,.08),transparent 16%,transparent 82%,rgba(2,7,4,.13));box-shadow:0 0 42px rgba(0,0,0,.18) inset;opacity:.72}.zero166-board-emote-credit{position:absolute;left:3.6%;bottom:4%;display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(221,185,76,.30);border-radius:999px;background:rgba(3,8,5,.48);backdrop-filter:blur(9px);box-shadow:0 7px 22px rgba(0,0,0,.22);opacity:0;transform:translateY(5px);transition:opacity .22s ease .14s,transform .28s ease .12s}.zero166-board-emote-credit b{font-size:8px;letter-spacing:.13em;color:#efcd6f}.zero166-board-emote-credit span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;letter-spacing:.04em;color:rgba(240,255,245,.83)}
.zero166-board-emote-layer.show{box-shadow:0 0 0 1px rgba(90,255,147,.15) inset}.zero166-board-emote-layer.show .zero166-board-emote-ambient{opacity:1;transform:scale(1)}.zero166-board-emote-layer.show .zero166-board-emote-stage{animation:zero166-board-enter .39s cubic-bezier(.16,1,.3,1) forwards}.zero166-board-emote-layer.show .zero166-board-emote-credit{opacity:1;transform:none}.zero166-board-emote-layer.leaving .zero166-board-emote-stage{animation:zero166-board-exit .30s cubic-bezier(.4,0,.8,.2) forwards}.zero166-board-emote-layer.leaving .zero166-board-emote-ambient,.zero166-board-emote-layer.leaving .zero166-board-emote-credit{opacity:0;transition-delay:0s}.zero166-board-emote-layer.poster-only .zero166-board-emote-poster{opacity:.82}.zero166-board-emote-layer.poster-only .zero166-board-emote-video{opacity:0!important}.zero166-board-emote-layer.reduced .zero166-board-emote-stage{animation:none!important;opacity:1;transform:none}.zero166-board-emote-layer.reduced.leaving .zero166-board-emote-stage{opacity:0;transition:opacity .28s ease}
@keyframes zero166-board-enter{0%{opacity:0;transform:translate3d(0,17%,0) scale(.965)}62%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}@keyframes zero166-board-exit{0%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(0,-2.5%,0) scale(1.008)}}
@media(max-width:720px){.zero166-emote-trigger{min-width:48px;padding:5px 7px!important}.zero166-emote-trigger-thumb{width:27px;height:27px;flex-basis:27px}.zero166-emote-trigger-copy small{display:none}.zero166-board-emote-media{width:96%;height:93%}.zero166-board-emote-video.frame-ready,.zero166-board-emote-poster{opacity:.80}.zero166-board-emote-credit{left:3%;bottom:3%;padding:5px 8px}.zero166-board-emote-credit span{max-width:110px}}
@media(max-width:430px){.zero166-emote-trigger-copy{display:none}.zero166-emote-trigger{min-width:38px;width:38px;height:38px;padding:4px!important;border-radius:11px!important}.zero166-emote-trigger-thumb{width:28px;height:28px;flex-basis:28px}.zero166-board-emote-media{width:97%;height:94%}.zero166-board-emote-video.frame-ready,.zero166-board-emote-poster{opacity:.78}.zero166-board-emote-credit{font-size:8px}}
@media(max-height:470px) and (orientation:landscape){.zero166-board-emote-media{width:90%;height:94%}.zero166-board-emote-video.frame-ready,.zero166-board-emote-poster{opacity:.80}.zero166-board-emote-credit{bottom:2%;transform:scale(.9);transform-origin:left bottom}}
@media(prefers-reduced-motion:reduce){.zero166-board-emote-layer.show .zero166-board-emote-stage,.zero166-board-emote-layer.leaving .zero166-board-emote-stage{animation:none}.zero166-emote-trigger{transition:none}}
/* ZERO_STAGE166_3_BOARD_EMOTE_STYLE_END */

/* ZERO_STAGE168_GAMEPLAY_PRESENTATION_DIRECTOR_V3_BEGIN */
/* Tournament Presentation v3: immutable inline roll snapshots, dice-local VFX,
   bounded motion and formal actor/result hierarchy. */
html[data-zero-gameplay-presentation="168.3"] #zeroStage126RollFxPortal{display:none!important}
.zero168v3-host{position:relative!important;isolation:isolate}
#dice.zero168v3-live-hidden{visibility:hidden!important}

.zero168v3-cue{width:max-content;max-width:calc(100% - 20px);margin:0 auto 9px;min-height:25px;padding:6px 13px 5px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(142,247,184,.18);border-radius:999px;background:linear-gradient(180deg,rgba(7,15,11,.91),rgba(3,8,6,.86));box-shadow:0 8px 24px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);color:rgba(225,238,230,.82);font-size:7px;font-weight:950;letter-spacing:.145em;text-transform:uppercase;opacity:0;transform:translateY(3px) scale(.99);transition:opacity .13s ease,transform .16s cubic-bezier(.2,.8,.2,1),border-color .16s ease,color .16s ease;pointer-events:none}
.zero168v3-cue.show{opacity:1;transform:none}
.zero168v3-cue.rolling{color:#a8f8c5;border-color:rgba(142,247,184,.34)}
.zero168v3-cue.result{color:#efcf78;border-color:rgba(239,207,120,.31)}
.zero168v3-cue.bot-aggressive,.zero168v3-cue.bot-chaos{box-shadow:0 8px 24px rgba(0,0,0,.24),0 0 25px rgba(239,207,120,.045)}

.zero168v3-stage{position:absolute;z-index:25;display:flex;align-items:center;justify-content:center;gap:clamp(7px,1vw,12px);pointer-events:none;visibility:hidden;opacity:0;overflow:visible;contain:layout style;transform:translateZ(0);transition:opacity .11s linear}
.zero168v3-stage::before{content:"";position:absolute;left:50%;bottom:-8%;width:min(92%,520px);height:34%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(142,247,184,.085),rgba(142,247,184,.025) 42%,transparent 72%);filter:blur(7px);opacity:0;transition:opacity .18s ease;pointer-events:none}
.zero168v3-stage.show{visibility:visible;opacity:1}
.zero168v3-stage.show::before{opacity:1}
.zero168v3-stage.leaving{opacity:0}
.zero168v3-stage.leaving::before{opacity:0}

.zero168v3-die-wrap{position:relative;width:clamp(58px,8vw,74px);height:clamp(58px,8vw,74px);display:grid;place-items:center;transform:translate3d(0,0,0);will-change:transform;filter:drop-shadow(0 12px 15px rgba(0,0,0,.28))}
.zero168v3-die{position:relative!important;width:100%!important;height:100%!important;z-index:3!important;pointer-events:none!important;margin:0!important;will-change:transform,filter}
.zero168v3-fx-shell{position:absolute;z-index:1;left:50%;top:50%;width:180%;height:180%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;opacity:.76;filter:saturate(1.06) contrast(1.03);transition:opacity .15s ease,transform .16s ease}
.zero168v3-fx-shell img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;user-select:none}
.zero168v3-fx-frame{opacity:0}.zero168v3-fx-frame.active{opacity:1}
.zero168v3-fx-shell.thumb{width:172%;height:172%;opacity:.60;animation:zero168v3ThumbPulse .7s ease-in-out infinite alternate}
.zero168v3-stage.fx-settling .zero168v3-fx-shell{opacity:0;transform:translate(-50%,-50%) scale(.92)}

.zero168v3-stage.moving .zero168v3-die-wrap[data-variant="0"]{animation:zero168v3Roll0 .76s cubic-bezier(.18,.76,.2,1) both}
.zero168v3-stage.moving .zero168v3-die-wrap[data-variant="1"]{animation:zero168v3Roll1 .76s cubic-bezier(.18,.76,.2,1) both}
.zero168v3-stage.moving .zero168v3-die-wrap[data-variant="2"]{animation:zero168v3Roll2 .76s cubic-bezier(.18,.76,.2,1) both}
.zero168v3-stage.moving .zero168v3-die-wrap[data-variant="3"]{animation:zero168v3Roll3 .76s cubic-bezier(.18,.76,.2,1) both}
.zero168v3-stage.moving .zero168v3-die-wrap[data-variant="4"]{animation:zero168v3Roll4 .76s cubic-bezier(.18,.76,.2,1) both}
@keyframes zero168v3Roll0{0%{transform:translate3d(0,0,0) rotate(0)}22%{transform:translate3d(-4px,-14px,0) rotate(-7deg)}50%{transform:translate3d(5px,-8px,0) rotate(6deg)}76%{transform:translate3d(-2px,-3px,0) rotate(-2deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes zero168v3Roll1{0%{transform:translate3d(0,0,0) rotate(0)}20%{transform:translate3d(5px,-15px,0) rotate(7deg)}49%{transform:translate3d(-4px,-8px,0) rotate(-6deg)}75%{transform:translate3d(2px,-3px,0) rotate(2deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes zero168v3Roll2{0%{transform:translate3d(0,0,0) rotate(0)}24%{transform:translate3d(-3px,-13px,0) rotate(-5deg)}52%{transform:translate3d(4px,-9px,0) rotate(6deg)}77%{transform:translate3d(-1px,-3px,0) rotate(-2deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes zero168v3Roll3{0%{transform:translate3d(0,0,0) rotate(0)}21%{transform:translate3d(4px,-12px,0) rotate(6deg)}48%{transform:translate3d(-5px,-9px,0) rotate(-6deg)}74%{transform:translate3d(2px,-2px,0) rotate(2deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes zero168v3Roll4{0%{transform:translate3d(0,0,0) rotate(0)}23%{transform:translate3d(-5px,-15px,0) rotate(-7deg)}51%{transform:translate3d(4px,-7px,0) rotate(5deg)}76%{transform:translate3d(-2px,-3px,0) rotate(-2deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes zero168v3ThumbPulse{from{transform:translate(-50%,-50%) scale(.94);opacity:.48}to{transform:translate(-50%,-50%) scale(1.02);opacity:.68}}

.zero168v3-stage.landed .zero168v3-die-wrap{animation:zero168v3Land .19s cubic-bezier(.16,.84,.24,1) both}
@keyframes zero168v3Land{0%{transform:translateY(-2px) scale(1.012)}55%{transform:translateY(1px) scale(.996)}100%{transform:translateY(0) scale(1)}}
.zero168v3-stage.landed .zero168v3-die-wrap.scorable .zero168v3-die{filter:brightness(1.06) drop-shadow(0 0 8px rgba(142,247,184,.34));box-shadow:0 0 0 2px rgba(142,247,184,.23),inset -7px -8px 15px rgba(16,25,20,.14),0 14px 28px rgba(0,0,0,.36)}

.skin-card.bot-preview{border-color:rgba(239,207,120,.20)!important;background:rgba(239,207,120,.025)!important}.skin-card.bot-preview small{color:rgba(239,207,120,.78)!important}

body.zero168v3-presenting .score-chip:not(.active){opacity:.50;filter:saturate(.72)}
body.zero168v3-presenting .score-chip.active{border-color:rgba(142,247,184,.40);background:rgba(142,247,184,.085);box-shadow:0 0 25px rgba(142,247,184,.055)}
.score-chip{transition:opacity .18s ease,filter .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}

@media(max-width:620px){.zero168v3-stage{gap:5px}.zero168v3-cue{font-size:6.4px;letter-spacing:.105em;margin-bottom:6px;min-height:23px;padding:5px 10px}.zero168v3-die-wrap{width:58px;height:58px}.zero168v3-fx-shell{width:168%;height:168%;opacity:.70}.zero168v3-fx-shell.thumb{width:162%;height:162%}}
@media(prefers-reduced-motion:reduce){.zero168v3-cue,.zero168v3-stage,.zero168v3-fx-shell{transition:none!important}.zero168v3-stage.moving .zero168v3-die-wrap,.zero168v3-stage.landed .zero168v3-die-wrap,.zero168v3-fx-shell.thumb{animation:none!important}}
body.reduce-motion .zero168v3-cue,body.reduce-motion .zero168v3-stage,body.reduce-motion .zero168v3-fx-shell{transition:none!important}body.reduce-motion .zero168v3-stage.moving .zero168v3-die-wrap,body.reduce-motion .zero168v3-stage.landed .zero168v3-die-wrap,body.reduce-motion .zero168v3-fx-shell.thumb{animation:none!important}
/* ZERO_STAGE168_GAMEPLAY_PRESENTATION_DIRECTOR_V3_END */



/* ZERO_STAGE196_UNIFIED_ROLL_CHOREOGRAPHY_CSS_V1_BEGIN */
#dice.zero196-active{isolation:isolate;contain:layout style}
#table.zero196-roll-active .dice{position:relative}
.die.zero196-roll{
  animation-name:zero196DiceRoll!important;
  animation-duration:620ms!important;
  animation-delay:var(--zero196-delay,0ms)!important;
  animation-timing-function:cubic-bezier(.18,.72,.22,1)!important;
  animation-fill-mode:both!important;
  transform-origin:50% 58%;
  will-change:transform,filter;
  z-index:2
}
.die.zero196-roll:not(.zero196-face-lock) .pip-grid{
  opacity:.14;
  transform:scale(.96);
  transition:opacity 90ms ease,transform 90ms ease
}
.die.zero196-roll.zero196-face-lock .pip-grid{
  opacity:1;
  transform:scale(1);
  transition:opacity 105ms ease,transform 105ms ease
}
.die.zero196-roll:not(.zero196-face-lock){filter:saturate(.94) brightness(.94)}
.die.zero196-roll.zero196-face-lock{filter:none}
@keyframes zero196DiceRoll{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  12%{transform:translate3d(0,-4px,0) rotate(0deg) scale(1.018)}
  36%{transform:translate3d(var(--zero196-x1),var(--zero196-y1),0) rotate(var(--zero196-r1)) scale(1.032)}
  62%{transform:translate3d(var(--zero196-x2),var(--zero196-y2),0) rotate(var(--zero196-r2)) scale(1.018)}
  82%{transform:translate3d(var(--zero196-x3),-3px,0) rotate(var(--zero196-r3)) scale(1.008)}
  100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .die.zero196-roll{animation:none!important;transform:none!important}
}
/* ZERO_STAGE196_UNIFIED_ROLL_CHOREOGRAPHY_CSS_V1_END */


/* ZERO_STAGE199_ROLL_RENDERER_V4_CSS_BEGIN */
.zero199v4-host{position:relative!important;isolation:isolate}
#dice.zero199v4-live-hidden{visibility:hidden!important}
.zero199v4-stage{position:absolute;z-index:27;display:flex;align-items:center;justify-content:center;gap:clamp(6px,.9vw,10px);pointer-events:none;visibility:hidden;opacity:0;overflow:visible;contain:layout style paint;transform:translateZ(0);transition:opacity 70ms linear}
.zero199v4-stage.show{visibility:visible;opacity:1}.zero199v4-stage.leaving{opacity:0}
.zero199v4-actor{position:relative;width:clamp(58px,8vw,74px);height:clamp(58px,8vw,74px);display:grid;place-items:center;transform:translate3d(0,0,0);transform-origin:50% 58%;will-change:transform;filter:drop-shadow(0 11px 14px rgba(0,0,0,.26));animation-delay:var(--zero199-delay,0ms)}
.zero199v4-stage.moving .zero199v4-actor{animation:zero199v4Roll 560ms cubic-bezier(.18,.76,.2,1) both;animation-delay:var(--zero199-delay,0ms)}
.zero199v4-die{position:relative!important;width:100%!important;height:100%!important;z-index:3!important;pointer-events:none!important;margin:0!important;will-change:filter,transform;filter:blur(.8px) saturate(.88) brightness(.96);transform:scale(.992);transition:filter 90ms ease,transform 90ms ease}
.zero199v4-stage.settling .zero199v4-die,.zero199v4-stage.landed .zero199v4-die{filter:none;transform:scale(1)}
.zero199v4-fx{position:absolute;z-index:1;left:50%;top:50%;width:168%;height:168%;transform:translate(-50%,-50%) scale(1);opacity:.52;pointer-events:none;user-select:none;will-change:opacity,transform;filter:saturate(1.04) contrast(1.02);transition:opacity 110ms ease,transform 120ms ease}
.zero199v4-stage.settling .zero199v4-fx{opacity:.24;transform:translate(-50%,-50%) scale(.96)}.zero199v4-stage.landed .zero199v4-fx{opacity:0;transform:translate(-50%,-50%) scale(.92)}
.zero199v4-stage.landed .zero199v4-actor{animation:zero199v4Land 150ms cubic-bezier(.16,.84,.24,1) both}
.zero199v4-stage.landed .zero199v4-actor.scorable .zero199v4-die{filter:brightness(1.05) drop-shadow(0 0 7px rgba(142,247,184,.28));box-shadow:0 0 0 2px rgba(142,247,184,.20),inset -7px -8px 15px rgba(16,25,20,.14),0 13px 24px rgba(0,0,0,.32)}
@keyframes zero199v4Roll{0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}12%{transform:translate3d(0,-3px,0) rotate(0deg) scale(1.012)}35%{transform:translate3d(var(--zero199-x),var(--zero199-y),0) rotate(var(--zero199-r)) scale(1.025)}62%{transform:translate3d(calc(var(--zero199-x) * -.52),-6px,0) rotate(calc(var(--zero199-r) * -.58)) scale(1.014)}82%{transform:translate3d(calc(var(--zero199-x) * .20),-2px,0) rotate(calc(var(--zero199-r) * .16)) scale(1.006)}100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}}
@keyframes zero199v4Land{0%{transform:translateY(-1px) scale(1.008)}55%{transform:translateY(1px) scale(.997)}100%{transform:translateY(0) scale(1)}}
.zero199v4-debug{position:fixed;left:8px;bottom:8px;z-index:999999;width:min(300px,calc(100vw - 16px));max-height:45vh;overflow:auto;margin:0;padding:9px 10px;border:1px solid rgba(142,247,184,.30);border-radius:8px;background:rgba(2,7,5,.92);color:#baf7cf;box-shadow:0 8px 28px rgba(0,0,0,.40);font:700 10px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;pointer-events:none}
@media(max-width:620px){.zero199v4-stage{gap:5px}.zero199v4-actor{width:57px;height:57px}.zero199v4-fx{width:158%;height:158%;opacity:.48}}
@media(prefers-reduced-motion:reduce){.zero199v4-stage,.zero199v4-fx,.zero199v4-die{transition:none!important}.zero199v4-stage.moving .zero199v4-actor,.zero199v4-stage.landed .zero199v4-actor{animation:none!important}}
body.reduce-motion .zero199v4-stage,body.reduce-motion .zero199v4-fx,body.reduce-motion .zero199v4-die{transition:none!important}body.reduce-motion .zero199v4-stage.moving .zero199v4-actor,body.reduce-motion .zero199v4-stage.landed .zero199v4-actor{animation:none!important}
/* ZERO_STAGE199_ROLL_RENDERER_V4_CSS_END */
