
:root{
  --bg:#080b0a;
  --bg2:#0b1210;
  --panel:#101612;
  --panel2:#0d2119;
  --green:#0b3b2c;
  --green2:#115e40;
  --gold:#d5a84b;
  --gold2:#f2d27e;
  --gold3:#7f622a;
  --red:#b92424;
  --red2:#741717;
  --success:#74dc42;
  --danger:#ff4545;
  --blue:#5ca4e8;
  --text:#f8f3e8;
  --muted:#b3b0a6;
  --line:rgba(213,168,75,.36);
  --shadow:0 12px 34px rgba(0,0,0,.34);
  --radius:18px;
  --serif: Georgia, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --sans: -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans)}
body{
  min-height:100dvh;
  background:
    radial-gradient(circle at 50% -10%, rgba(20,91,61,.38), transparent 34%),
    linear-gradient(180deg,#060807 0%,#0a130f 55%,#070908 100%);
  -webkit-tap-highlight-color:transparent;
  overscroll-behavior:none;
}
button,input,a{font:inherit}
button{cursor:pointer}
a{color:inherit}
.app-shell{
  width:min(100%,460px);
  margin:0 auto;
  min-height:100dvh;
  background:
    linear-gradient(180deg,rgba(11,41,29,.12),rgba(0,0,0,0)),
    var(--bg);
  box-shadow:0 0 70px rgba(0,0,0,.55);
}
.screen{
  min-height:100dvh;
  padding:
    calc(14px + env(safe-area-inset-top))
    14px
    calc(92px + env(safe-area-inset-bottom));
}
.screen.training-screen{
  padding-bottom:calc(22px + env(safe-area-inset-bottom));
}
.gold-frame{
  border:1px solid var(--gold3);
  box-shadow:inset 0 0 0 1px rgba(242,210,126,.08),var(--shadow);
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(20,29,24,.96),rgba(8,14,11,.98));
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:5px 2px 13px;
}
.brand-small{line-height:1}
.brand-small strong{
  display:block;
  font-family:var(--serif);
  color:var(--gold2);
  letter-spacing:.07em;
  font-size:17px;
}
.brand-small span{font-family:var(--serif);color:#d3c08a;font-size:10px;letter-spacing:.18em}
.icon-btn{
  width:43px;height:43px;border-radius:13px;border:1px solid var(--gold3);
  color:var(--gold2);background:rgba(5,10,8,.88);font-size:19px;
}
.hero{
  position:relative;
  min-height:276px;
  overflow:hidden;
  border:1px solid var(--gold3);
  border-radius:24px;
  background:#07100c;
  box-shadow:var(--shadow);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:url("./assets/home-hero.jpg") center 46%/cover no-repeat;
  filter:saturate(.92) contrast(1.03) brightness(.78);
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.22) 42%,rgba(5,11,8,.92) 100%);
}
.hero-content{
  position:absolute;z-index:2;left:18px;right:18px;bottom:16px;
  text-align:center;
}
.hero-kicker{font-family:var(--serif);color:var(--gold2);letter-spacing:.12em;font-size:12px}
.hero-copy{
  margin:6px 0 0;font-family:var(--serif);font-size:24px;line-height:1.35;
  text-shadow:0 3px 20px rgba(0,0,0,.72)
}
.section-title{
  display:flex;align-items:center;gap:10px;margin:18px 2px 10px;
  color:var(--gold2);font-family:var(--serif);letter-spacing:.09em;font-weight:700;
}
.section-title::before,.section-title::after{content:"";height:1px;background:var(--line);flex:1}
.section-title.left::before{display:none}
.primary-card{padding:18px;margin-top:12px;position:relative;overflow:hidden}
.primary-card::before{
  content:"♠";position:absolute;right:-4px;top:-30px;font-size:142px;color:rgba(213,168,75,.035);
}
.kicker{color:var(--gold2);font-size:11px;letter-spacing:.16em;font-weight:700}
.big-title{font-family:var(--serif);color:var(--gold2);font-size:32px;margin:4px 0}
.subtle{color:var(--muted);font-size:13px}
.btn{
  border:1px solid var(--gold3);
  color:var(--text);
  background:linear-gradient(180deg,#1a251f,#101713);
  border-radius:13px;padding:13px 16px;font-weight:800;
}
.btn:active{transform:translateY(1px)}
.btn-primary{
  color:#fff7e2;
  border-color:#d46a43;
  background:linear-gradient(180deg,#cf342f,#8c1515);
  box-shadow:inset 0 0 0 1px rgba(255,220,156,.12),0 8px 24px rgba(150,19,19,.22);
}
.btn-gold{
  color:#241a07;background:linear-gradient(180deg,#f4d47d,#c39134);border-color:#f3d176;
}
.btn-green{
  background:linear-gradient(180deg,#176438,#0b4426);border-color:#68a758;color:#fff8d7;
}
.btn-danger{background:linear-gradient(180deg,#ad2b2b,#701616);border-color:#d15c50}
.btn-lg{width:100%;padding:16px;font-size:19px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.metric{
  padding:13px 10px;text-align:center;
  border:1px solid rgba(213,168,75,.24);border-radius:15px;background:rgba(5,15,11,.72);
}
.metric strong{display:block;color:var(--text);font-size:21px;margin-top:4px}
.metric label{display:block;color:var(--muted);font-size:10px}
.metric .accent{color:var(--gold2)}
.progress-row{display:flex;gap:16px;align-items:center;padding:17px}
.ring{
  --p:0;
  width:88px;height:88px;border-radius:50%;
  display:grid;place-items:center;flex:none;
  background:conic-gradient(var(--success) calc(var(--p)*1%),rgba(255,255,255,.09) 0);
  position:relative;
}
.ring::after{content:"";position:absolute;inset:9px;background:#0b100d;border-radius:50%}
.ring span{z-index:1;font-family:var(--serif);font-size:24px;color:var(--gold2)}
.progress-details{flex:1}
.progress-details h3{margin:0 0 9px;font-family:var(--serif);letter-spacing:.07em}
.stat-pair{display:flex;gap:20px;color:var(--muted);font-size:12px}
.stat-pair strong{display:block;color:var(--text);font-size:19px;margin-top:2px}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-card{padding:14px;min-height:135px;position:relative}
.mini-card h4{margin:0 0 8px;color:var(--gold2);font-family:var(--serif);letter-spacing:.05em}
.mini-card .chev{position:absolute;right:12px;bottom:12px;color:var(--gold2);font-size:22px}
.weak-card{border-color:rgba(255,69,69,.5);background:linear-gradient(180deg,rgba(72,15,15,.43),rgba(18,11,10,.94))}
.weak-card h4{color:#ff6868}
.rank-teaser{margin-top:10px;padding:15px;display:flex;align-items:center;gap:14px}
.rank-badge{font-size:35px}
.rank-teaser b{color:var(--gold2);font-family:var(--serif)}
.bottom-nav{
  position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);
  width:min(100%,460px);
  height:calc(70px + env(safe-area-inset-bottom));
  padding:5px 6px calc(5px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(213,168,75,.25);
  background:rgba(5,8,7,.96);
  backdrop-filter:blur(14px);
}
.bottom-nav.hidden{display:none}
.nav-item{
  color:#aaa79e;border:0;background:transparent;border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-family:var(--serif);font-size:10px;letter-spacing:.06em;
}
.nav-icon{font-family:var(--sans);font-size:23px;line-height:1;display:grid;place-items:center;width:27px;height:27px}
.nav-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-item.active{color:var(--gold2);box-shadow:inset 0 0 0 1px rgba(213,168,75,.48),0 0 18px rgba(213,168,75,.1)}
.lab-hero{
  position:relative;padding:20px 18px 16px;min-height:185px;overflow:hidden;
}
.lab-hero::after{
  content:"";position:absolute;inset:0;background:url("./assets/hero-pair.jpg") center/cover no-repeat;opacity:.38;
}
.lab-hero::before{
  content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,12,9,.98),rgba(5,12,9,.58),rgba(5,12,9,.86));
}
.lab-hero > *{position:relative;z-index:2}
.lab-hero h1,.page-heading{
  margin:4px 0;font-family:var(--serif);color:var(--gold2);font-size:34px;letter-spacing:.08em
}
.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.training-card{
  min-height:126px;padding:16px;border-radius:17px;border:1px solid var(--gold3);
  background:linear-gradient(145deg,#103123,#0b1711);position:relative;overflow:hidden;
}
.training-card.locked{filter:saturate(.25);opacity:.62}
.training-card .tc-icon{font-size:30px;color:var(--gold2)}
.training-card h3{font-family:var(--serif);color:var(--gold2);margin:8px 0 3px}
.training-card small{color:var(--muted)}
.training-card .chev{position:absolute;right:11px;bottom:11px;color:var(--gold2);font-size:20px}
.coming-list{display:grid;gap:8px}
.coming-item{display:flex;align-items:center;justify-content:space-between;padding:13px 15px}
.coming-item strong{font-family:var(--serif);color:#d8c48f;letter-spacing:.06em}
.training-top{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-bottom:11px;border-bottom:1px solid var(--line)
}
.back-link,.rule-link{
  border:0;background:transparent;color:var(--gold2);font-weight:800;padding:6px
}
.training-title{text-align:center;flex:1}
.training-title strong{
  display:block;font-family:var(--serif);font-size:25px;color:var(--gold2);letter-spacing:.06em
}
.training-title span{font-size:10px;color:#c8b579}
.session-metrics{margin:12px 0}
.question-panel{padding:16px;margin-top:12px}
.question-number{
  width:max-content;margin:-1px auto 14px;padding:5px 24px;
  background:linear-gradient(180deg,#e7c66e,#a77624);color:#191204;font-weight:900;
  clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);
}
.question-layout{display:grid;grid-template-columns:.68fr 1.55fr .76fr;gap:8px}
.q-box{
  border:1px solid rgba(213,168,75,.28);background:rgba(5,19,13,.72);border-radius:13px;
  padding:10px;text-align:center;min-height:160px
}
.q-label{font-family:var(--serif);color:var(--gold2);font-size:12px;letter-spacing:.06em}
.bet-value{font-family:var(--serif);font-size:34px;margin-top:32px}
.card-row{display:flex;justify-content:center;gap:7px;margin-top:11px}
.play-card{
  width:68px;height:101px;border-radius:8px;background:#f6f1e8;color:#111;
  display:flex;flex-direction:column;align-items:flex-start;padding:5px;
  box-shadow:0 5px 12px rgba(0,0,0,.25);font-family:var(--serif);font-weight:800
}
.play-card.red{color:#b31c24}
.play-card .rank{font-size:24px;line-height:1}
.play-card .suit{font-size:29px;align-self:center;margin-top:13px}
.total-value{font-family:var(--serif);font-size:37px;margin-top:35px}
.result-strip{
  margin-top:9px;padding:10px 12px;border:1px solid rgba(213,168,75,.36);border-radius:12px;
  text-align:center;font-weight:900;letter-spacing:.08em
}
.result-strip.win{color:var(--success)}
.result-strip.bj{color:var(--gold2)}
.result-strip.insurance{color:var(--blue)}
.answer-panel{margin-top:12px;padding:15px}
.answer-title{text-align:center;font-family:var(--serif);color:var(--gold2);font-size:20px}
.answer-sub{text-align:center;color:var(--muted);font-size:11px;margin-top:3px}
.answer-grid{display:grid;grid-template-columns:1fr 108px;gap:10px;margin-top:10px}
.input-box{
  height:72px;border:1px solid var(--gold);border-radius:13px;background:#030706;
  display:flex;align-items:center;padding:0 15px;font-family:var(--serif)
}
.input-box .dollar{font-size:38px;color:var(--gold2);margin-right:10px}
.input-box .answer{font-size:37px;margin-left:auto}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.key{
  min-height:60px;border-radius:12px;border:1px solid var(--gold3);
  color:#f5f4ef;background:linear-gradient(180deg,#282b29,#111412);
  font-family:var(--serif);font-size:26px
}
.side-actions{display:flex;flex-direction:column;gap:8px}
.side-actions .btn{flex:1}
.tip-inline{margin-top:10px;color:#cdbf99;font-size:11px;text-align:center}
.feedback-wrap{padding:16px;margin-top:12px}
.feedback-banner{text-align:center;padding:15px 8px;margin-bottom:12px}
.feedback-banner.correct{color:var(--success)}
.feedback-banner.incorrect{color:var(--danger)}
.feedback-banner h1{font-family:var(--serif);font-size:38px;margin:0}
.feedback-banner p{margin:5px 0 0;color:var(--text)}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.summary-cell{
  padding:13px;border-radius:13px;border:1px solid rgba(213,168,75,.25);background:rgba(7,17,12,.8)
}
.summary-cell label{display:block;font-family:var(--serif);color:var(--gold2);font-size:12px}
.summary-cell strong{display:block;font-size:23px;margin-top:4px}
.formula{
  margin-top:10px;padding:13px;border-radius:13px;background:#08100d;border:1px solid rgba(213,168,75,.28);
  color:#ddd6c6;text-align:center
}
.feedback-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.feedback-meta > div{padding:12px;text-align:center}
.feedback-meta strong{display:block;color:var(--gold2);font-size:22px}
.compare{display:grid;grid-template-columns:1fr 38px 1fr;gap:8px;align-items:center;margin-top:10px}
.compare-box{padding:13px;border-radius:13px;text-align:center;border:1px solid rgba(213,168,75,.25)}
.compare-box.wrong{border-color:rgba(255,69,69,.45)}
.compare-box.right{border-color:rgba(116,220,66,.45)}
.compare-box label{font-size:11px;color:var(--muted)}
.compare-box strong{display:block;font-size:25px;margin-top:4px}
.explanation{padding:14px;margin-top:10px;border-color:rgba(255,69,69,.28)}
.explanation h3{margin:0 0 7px;color:#ff8275;font-family:var(--serif)}
.explanation p{margin:0;color:#d7d2c6;line-height:1.65;font-size:13px}
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.result-hero{text-align:center;padding:17px}
.result-hero h1{margin:0;color:var(--gold2);font-family:var(--serif);font-size:42px}
.result-hero .done{color:#d6c49b;font-size:12px}
.score-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:12px}
.score-box{padding:15px 7px;text-align:center}
.score-box label{font-family:var(--serif);color:var(--gold2);font-size:11px}
.score-box strong{display:block;font-family:var(--serif);font-size:32px;margin-top:5px}
.grade{color:var(--gold2)}
.category-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:10px}
.cat-result{padding:11px 6px;text-align:center}
.cat-result small{color:var(--muted);display:block;min-height:30px}
.cat-result strong{display:block;font-size:21px;margin-top:5px}
.weak-panel{margin-top:10px;padding:15px;border-color:rgba(255,69,69,.4)}
.weak-panel h3{color:#ff5757;margin:0 0 5px;font-family:var(--serif)}
.mistake-list{margin-top:10px;padding:14px}
.mistake-row{
  display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)
}
.mistake-row:last-child{border-bottom:0}
.mistake-no{background:var(--red2);border-radius:8px;padding:6px;text-align:center;font-weight:800}
.mistake-row small{color:var(--muted)}
.learn-hero{text-align:center;padding:18px}
.learn-hero h1{font-family:var(--serif);color:var(--gold2);font-size:42px;margin:0}
.learn-progress{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:center;padding:16px}
.course-list{display:grid;gap:8px}
.course-card{padding:14px;display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center}
.course-icon{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:#0e3928;border:1px solid rgba(213,168,75,.45);font-size:22px
}
.course-card h3{margin:0 0 3px;font-size:14px}
.course-card p{margin:0;color:var(--muted);font-size:10px}
.course-state{color:var(--gold2);font-size:20px}
.course-progress{height:5px;background:#252c27;border-radius:999px;margin-top:8px;overflow:hidden}
.course-progress > i{display:block;height:100%;background:linear-gradient(90deg,#4cc733,#61b56e)}
.web-card{padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-head{display:flex;align-items:center;gap:13px;padding:16px}
.avatar{
  width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:33px;
  border:2px solid var(--gold);background:linear-gradient(145deg,#163729,#080e0b)
}
.profile-head h1{font-family:var(--serif);color:var(--gold2);font-size:40px;margin:0}
.level-badge{
  margin-left:auto;text-align:center;border:1px solid var(--gold3);border-radius:15px;padding:8px 11px;
  font-family:var(--serif);color:var(--gold2)
}
.level-badge strong{display:block;font-size:25px}
.my-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.my-stat{padding:12px 5px;text-align:center}
.my-stat label{font-size:9px;color:var(--gold2)}
.my-stat strong{font-family:var(--serif);display:block;font-size:23px;margin-top:5px}
.category-bars{padding:14px;margin-top:10px}
.bar-row{display:grid;grid-template-columns:110px 1fr 48px;gap:8px;align-items:center;margin:12px 0}
.bar-track{height:8px;border-radius:999px;background:#242a26;overflow:hidden}
.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#61c943,#81df5f)}
.bar-fill.gold{background:linear-gradient(90deg,#b67f25,#e6bc56)}
.bar-fill.blue{background:linear-gradient(90deg,#3475b4,#62a6e4)}
.history-list{padding:14px;margin-top:10px}
.history-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.history-row:last-child{border-bottom:0}
.history-row small{color:var(--muted);display:block}
.empty{text-align:center;padding:28px 15px;color:var(--muted)}
.modal-backdrop{
  position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.74);
  display:flex;align-items:center;justify-content:center;padding:18px
}
.modal{
  width:min(100%,420px);max-height:80dvh;overflow:auto;padding:18px;border-radius:20px;
  border:1px solid var(--gold3);background:#0b120e;box-shadow:0 24px 60px rgba(0,0,0,.6)
}
.modal h2{margin:0 0 12px;color:var(--gold2);font-family:var(--serif)}
.modal p,.modal li{color:#ddd5c5;line-height:1.7;font-size:13px}
.modal ul{padding-left:20px}
.modal-close{width:100%;margin-top:12px}
.toast{
  position:fixed;z-index:120;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,20px);
  width:min(calc(100% - 30px),420px);padding:12px 15px;border-radius:13px;
  background:#171b18;border:1px solid var(--gold3);color:#f5ead0;text-align:center;
  opacity:0;pointer-events:none;transition:.2s
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.splash{
  position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at center,rgba(21,86,60,.45),transparent 46%),
    #050706;
  transition:opacity .5s ease,visibility .5s ease;
}
.splash.hidden{opacity:0;visibility:hidden}
.splash-glow{position:absolute;width:280px;height:280px;border-radius:50%;box-shadow:0 0 100px rgba(213,168,75,.13)}
.splash-icon{width:168px;height:168px;border-radius:38px;box-shadow:0 18px 50px rgba(0,0,0,.5);z-index:1}
.splash-brand{font-family:var(--serif);color:var(--gold2);font-size:22px;margin-top:22px;z-index:1}
.splash-title{font-family:var(--serif);font-size:28px;letter-spacing:.1em;margin-top:4px;z-index:1}
.splash-tagline{color:#cfbea0;font-family:var(--serif);font-size:13px;margin-top:18px;z-index:1}
@media (max-width:365px){
  .big-title{font-size:27px}.question-layout{grid-template-columns:.62fr 1.5fr .68fr}
  .play-card{width:57px;height:91px}.play-card .rank{font-size:21px}
  .key{min-height:54px}.my-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:600px){
  body{padding:24px 0}
  .app-shell{min-height:calc(100dvh - 48px);border:1px solid rgba(213,168,75,.18);border-radius:32px;overflow:hidden}
  .bottom-nav{bottom:24px;border-radius:0 0 31px 31px}
}


/* v0.3.1: approved HOME artwork */
.hero-content{
  display:none;
}
.hero{
  min-height:300px;
}
.hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.05) 58%,rgba(5,11,8,.48) 100%);
}

/* v0.3.1: dedicated splash artwork (not the app icon) */
.splash{
  overflow:hidden;
  justify-content:flex-end;
  padding:
    env(safe-area-inset-top)
    20px
    calc(110px + env(safe-area-inset-bottom));
}
.splash-art{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.08) 42%,rgba(4,7,6,.72) 73%,#050706 100%),
    url("./assets/splash-art.jpg") center top/cover no-repeat;
}
.splash-copy{
  position:relative;
  z-index:2;
  text-align:center;
  text-shadow:0 4px 20px rgba(0,0,0,.85);
}
.splash-copy .splash-brand{
  margin-top:0;
  color:var(--gold2);
  font-size:22px;
}
.splash-copy .splash-title{
  font-size:34px;
  letter-spacing:.12em;
}
.splash-divider{
  color:var(--gold2);
  font-size:24px;
  margin:12px 0 2px;
}
.splash-copy .splash-tagline{
  margin-top:8px;
  font-size:14px;
}


/* v0.3.3 splash fix: use the approved splash artwork only once */
.splash{
  padding:0 !important;
  display:block !important;
  background:#050706 !important;
}
.splash-art{
  position:absolute !important;
  inset:0 !important;
  background:url("./assets/splash-art.jpg") center center/cover no-repeat !important;
}
.splash-copy,
.splash-brand,
.splash-title,
.splash-divider,
.splash-tagline,
.splash-icon,
.splash-glow{
  display:none !important;
}


/* v0.4 — MY data protection / settings */
.data-protect{padding:15px}
.protect-head{display:flex;align-items:center;gap:12px}
.protect-icon{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#0c3425;border:1px solid var(--gold3);font-size:23px;flex:none
}
.protect-head b{font-family:var(--serif);color:var(--gold2);font-size:17px}
.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.backup-note{
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(213,168,75,.18);
  color:var(--muted);font-size:10px;line-height:1.55
}
.settings-panel{overflow:hidden}
.setting-row{
  width:100%;min-height:62px;padding:11px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.07);
  color:var(--text);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left
}
.setting-row:last-child{border-bottom:0}
.setting-row b{display:block;font-size:13px}
.setting-row small{display:block;color:var(--muted);margin-top:3px;font-size:10px}
.static-row{cursor:default}
.setting-chev{font-size:23px;color:var(--gold2)}
.version-pill{
  padding:5px 9px;border-radius:999px;border:1px solid var(--gold3);
  color:var(--gold2);font-family:var(--serif);font-size:12px
}
.switch{
  width:46px;height:27px;padding:3px;border-radius:999px;background:#303531;
  border:1px solid rgba(255,255,255,.11);flex:none;transition:.2s
}
.switch i{
  display:block;width:19px;height:19px;border-radius:50%;background:#b9b9b4;
  transform:translateX(0);transition:.2s
}
.switch.on{background:#205d38;border-color:#67a75a}
.switch.on i{background:#f1e8cf;transform:translateX(19px)}
.danger-row b{color:#ff6565}
@media (max-width:365px){
  .backup-actions{grid-template-columns:1fr}
}


/* β public release */
.beta-pill{
  font-style:normal;
  display:inline-block;
  margin-left:5px;
  padding:1px 5px;
  border:1px solid rgba(242,210,126,.58);
  border-radius:999px;
  color:#2b1b05;
  background:linear-gradient(180deg,#f0ce72,#b8862d);
  letter-spacing:.04em;
  font-size:9px;
}
.beta-public-card{padding:15px;margin-top:10px}
.beta-public-head{display:flex;align-items:center;gap:9px}
.beta-public-head b{font-family:var(--serif);color:var(--gold2)}
.beta-badge{
  display:inline-block;padding:4px 8px;border-radius:999px;
  background:linear-gradient(180deg,#e3bd59,#966a21);color:#1a1205;
  font-family:var(--serif);font-weight:900;font-size:10px;letter-spacing:.12em
}
.beta-public-card p{margin:9px 0 12px;color:#d5cec0;font-size:12px;line-height:1.65}
.beta-links{display:grid;grid-template-columns:1.25fr .75fr;gap:8px}
.beta-links a{text-align:center;text-decoration:none}
.beta-notice-label{
  width:max-content;margin:0 auto 10px;padding:5px 10px;border-radius:999px;
  border:1px solid var(--gold3);color:var(--gold2);font-family:var(--serif);letter-spacing:.12em
}
.beta-notice h2{text-align:center}
.beta-disclosure{
  margin-top:12px;padding:12px;border-radius:13px;
  border:1px solid rgba(213,168,75,.25);background:#07110c
}
.beta-disclosure b{color:var(--gold2);font-family:var(--serif)}
.beta-disclosure p{margin:6px 0;font-size:12px}
.privacy-text-link{
  display:block;margin-top:10px;color:var(--gold2);text-align:center;font-size:12px
}
@media (max-width:365px){.beta-links{grid-template-columns:1fr}}


/* v0.5 — BLACKJACK HAND TOTAL TRAINER */
.hand-total-launch{
  margin-top:10px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(135deg,rgba(15,41,28,.98),rgba(9,15,11,.98));
}
.launch-copy{display:flex;align-items:center;gap:10px;min-width:0}
.launch-copy b{display:block;color:var(--gold2);font-family:var(--serif);font-size:14px}
.launch-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:3px}
.new-feature-tag,.new-ribbon{
  flex:none;background:linear-gradient(180deg,#e8ca73,#9d7127);color:#1a1205;font-weight:900;
  border-radius:999px;padding:4px 7px;font-size:9px;letter-spacing:.08em
}
.hand-total-card{position:relative;border-color:rgba(231,201,113,.65)!important;background:linear-gradient(145deg,#102319,#0a110d)!important}
.new-ribbon{position:absolute;right:8px;top:8px}
.hand-question-panel{text-align:center;padding:18px 12px 16px}
.hand-question-kicker{
  display:inline-block;margin:7px auto 16px;padding:5px 10px;border:1px solid rgba(216,184,99,.42);
  border-radius:999px;color:var(--gold2);font-size:10px;letter-spacing:.12em
}
.hand-cards-large,.feedback-hand-cards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.hand-cards-large .play-card{transform:scale(1.12);margin:5px 3px 9px}
.feedback-hand-cards{margin:12px 0}
.hand-question-panel h2{font-size:20px;color:var(--gold2);margin:15px 0 4px}
.hand-question-panel p{font-size:12px;color:var(--muted);margin:0}
.hand-answer-panel{padding:15px}
.hand-input{max-width:210px;margin:0 auto 12px;justify-content:center}
.hand-input .answer{font-size:34px;color:var(--gold2)}
.hand-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:330px;margin:0 auto}
.hand-keypad .key{min-height:50px}
.bust-key{
  grid-column:2/4;background:linear-gradient(180deg,#531f20,#2e1112)!important;
  border-color:#8d3f42!important;color:#ffd1d1!important;font-weight:900!important;letter-spacing:.08em
}
.hand-submit{max-width:330px;margin:9px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.soft-badge{
  display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;background:#113a2b;
  border:1px solid #4d8c69;color:#aee3c3;font-weight:800;font-size:11px
}
.hand-category-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.my-trainer-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.my-trainer-title small{color:var(--muted);font-size:10px}
.my-trainer-title strong{font-family:var(--serif);font-size:24px;color:var(--gold2)}
.bar-fill.red{background:linear-gradient(90deg,#7b292d,#d7696e)}
@media(max-width:560px){
  .hand-total-launch{align-items:stretch;flex-direction:column}
  .hand-total-launch .btn{width:100%}
  .hand-category-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.5.2 HAND TOTAL: one-screen, no-scroll */
body.hand-total-active{overflow:hidden}
body.hand-total-active .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.hand-total-active #screen{height:calc(100dvh - env(safe-area-inset-bottom));min-height:0;overflow:hidden;padding-bottom:0!important}
body.hand-total-active #bottomNav{display:none!important}

.hand-total-screen{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;background:var(--bg)}
.hand-compact-top{min-height:46px!important;padding:6px 10px!important;margin:0!important}
.hand-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(213,168,75,.18);background:#08100b}
.hand-mini-metrics span{text-align:center;padding:4px;font-size:10px;color:var(--muted)}
.hand-mini-metrics b{color:var(--gold2)}
.hand-question-compact{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 8px;overflow:hidden}
.hand-question-compact .hand-question-kicker{margin:0 0 4px;padding:3px 8px;font-size:9px}
.hand-cards-compact{display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:nowrap}
.hand-cards-compact .play-card{margin:0!important;transform:scale(.92)!important}
.hand-prompt{margin-top:3px;color:var(--gold2);font-family:var(--serif);font-weight:800;font-size:14px;text-align:center}
.hand-prompt small{display:block;color:var(--muted);font-family:var(--sans);font-size:9px;font-weight:500}
.hand-answer-dock{padding:5px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid rgba(213,168,75,.28);background:#07100b;box-shadow:0 -8px 24px rgba(0,0,0,.3)}
.hand-answer-line{height:30px;display:grid;grid-template-columns:56px 1fr 40px;align-items:center;max-width:390px;margin:0 auto 4px;font-size:9px;color:var(--muted)}
.hand-answer-line .answer{text-align:center;color:var(--gold2);font-family:var(--serif);font-size:23px}
.hand-backspace{height:28px;border:1px solid rgba(213,168,75,.25);border-radius:8px;background:#111812;color:#ddd;font-size:16px}
.hand-keypad-compact{max-width:390px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.hand-keypad-compact .key{height:36px;min-height:36px!important;padding:0!important;border-radius:8px!important;font-size:15px!important}
.hand-keypad-compact .bust-key{grid-column:auto!important;font-size:9px!important;letter-spacing:0!important}
.hand-submit-fixed{display:block;width:100%;max-width:390px;min-height:36px;margin:4px auto 0;padding:7px!important}
@media(max-height:720px){
  .hand-compact-top{min-height:40px!important;padding:4px 8px!important}
  .hand-mini-metrics span{padding:2px}
  .hand-cards-compact .play-card{transform:scale(.80)!important;margin:-6px!important}
  .hand-prompt{font-size:12px;margin-top:1px}
  .hand-answer-line{height:27px;margin-bottom:2px}
  .hand-keypad-compact .key{height:32px;min-height:32px!important;font-size:13px!important}
  .hand-submit-fixed{min-height:32px;margin-top:3px}
}
@media(max-width:350px){
  .hand-answer-dock{padding-left:5px;padding-right:5px}
  .hand-keypad-compact{gap:3px}
  .hand-keypad-compact .key{font-size:12px!important}
}


/* v0.5.3 HAND TOTAL input/touch fix */
.hand-keypad-compact .key,
.hand-backspace,
.hand-submit-fixed{
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(213,168,75,.18);
  user-select:none;
  -webkit-user-select:none;
}
.hand-keypad-compact .key:active,
.hand-backspace:active{
  transform:scale(.96);
}


/* v0.5.4 CHIP PAYOUT MODE */
.payout-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:320px;margin:10px auto 12px;padding:3px;border:1px solid rgba(213,168,75,.24);border-radius:12px;background:#070c09}
.payout-mode-switch button,.mini-segment button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:8px 9px;font-size:10px;font-weight:800;letter-spacing:.06em}
.payout-mode-switch button.active,.mini-segment button.active{background:linear-gradient(180deg,#d7b866,#9c7129);color:#171005}
[data-payout-panel][hidden]{display:none!important}
.payout-tray{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:95px;padding:10px 12px;border:1px solid rgba(213,168,75,.3);border-radius:15px;background:radial-gradient(circle at 20% 0%,rgba(36,86,58,.33),transparent 50%),linear-gradient(180deg,#0b1a11,#07100b)}
.tray-label,.chip-bank-label{display:block;color:var(--gold2);font-size:9px;letter-spacing:.13em;font-weight:800}
.chip-stage{display:flex;align-items:center;gap:8px;min-height:55px;margin-top:4px;overflow-x:auto}
.chip-stage-empty{color:var(--muted);font-size:10px;line-height:1.45}
.paid-chip-group{display:flex;align-items:center;gap:3px;flex:none}.paid-chip-group b{color:#eee4cf;font-size:11px}
.tray-total{text-align:right;min-width:82px}.tray-total span{display:block;color:var(--muted);font-size:9px}.tray-total strong{display:block;color:var(--gold2);font:800 24px var(--serif);margin-top:3px}
.chip-bank-label{margin:10px 0 6px}.chip-bank{display:flex;justify-content:space-between;gap:5px}
.casino-chip{position:relative;flex:1;aspect-ratio:1/1;max-width:64px;min-width:0;border-radius:50%;border:5px dashed rgba(255,255,255,.72);outline:2px solid rgba(0,0,0,.6);box-shadow:0 4px 12px rgba(0,0,0,.36),inset 0 0 0 3px rgba(255,255,255,.12);display:grid;place-items:center;font-weight:900;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.casino-chip span{width:72%;aspect-ratio:1/1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.15);color:white;font-size:10px;text-shadow:0 1px 2px #000}
.casino-chip em{display:none;position:absolute;right:-4px;top:-6px;min-width:21px;height:21px;padding:0 4px;border-radius:999px;background:#f0cf73;color:#1c1305;border:2px solid #080b09;font-style:normal;font-size:9px;line-height:17px}.casino-chip em.show{display:block}
.casino-chip:active{transform:translateY(2px) scale(.96)}
.casino-chip.mini{width:40px;height:40px;min-width:40px;border-width:3px;outline-width:1px;flex:none}.casino-chip.mini span{font-size:7px}
.chip025{background:#8a5a32}
.chip1{background:#f0eee8}
.chip1 span{color:#191919;text-shadow:none;border-color:rgba(0,0,0,.35);background:rgba(255,255,255,.35)}
.chip5{background:#a62e33}
.chip25{background:#1e703e}
.chip100{background:#1d1e1f}
.chip-actions{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:6px;margin-top:9px}.chip-actions .btn{min-height:43px;padding:8px 6px}
.chip-feedback{margin-top:10px;padding:9px 11px;border-radius:11px;border:1px solid rgba(213,168,75,.25);background:#0d1510;display:flex;justify-content:space-between;gap:8px;align-items:center}
.chip-feedback b{color:var(--gold2);font-size:12px}.chip-feedback span{color:var(--muted);font-size:10px}.chip-feedback.efficient{border-color:#3d8058;background:#0b2115}.chip-feedback.efficient b{color:#83d49e}
.chip-correct-hint{color:var(--gold2)!important;font-size:11px!important}
.mini-segment{display:flex;gap:3px;padding:3px;border:1px solid rgba(213,168,75,.22);border-radius:10px;background:#070c09;flex:none}.mini-segment button{padding:6px 8px}
@media(max-width:380px){.casino-chip{border-width:4px}.casino-chip span{font-size:9px}.payout-tray{min-height:86px;padding:8px 9px}.tray-total strong{font-size:21px}.chip-actions .btn{font-size:10px}}

/* payout rack current left→right: $100 / $25 / $5 / $1 / 25¢ */


/* v0.5.6 UX: PAYOUT one-screen */
body.payout-active{overflow:hidden}
body.payout-active .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.payout-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;overflow:hidden;padding-bottom:0!important;
  display:flex;flex-direction:column
}
body.payout-active #bottomNav{display:none!important}
body.payout-active .training-top{
  flex:0 0 auto;min-height:42px!important;padding:4px 9px!important;margin:0!important
}
body.payout-active .training-title strong{font-size:12px!important}
body.payout-active .training-title span{font-size:9px!important}
body.payout-active .session-metrics{flex:0 0 auto;margin:0!important;gap:1px!important}
body.payout-active .session-metrics .metric{
  min-height:35px!important;padding:3px 4px!important;border-radius:0!important
}
body.payout-active .session-metrics .metric label{font-size:8px!important}
body.payout-active .session-metrics .metric strong{font-size:12px!important}
body.payout-active .question-panel{
  flex:0 0 auto;margin:3px 6px!important;padding:6px!important;border-radius:11px!important
}
body.payout-active .question-number{margin-bottom:3px!important;font-size:8px!important}
body.payout-active .question-layout{gap:4px!important}
body.payout-active .q-box{min-height:61px!important;padding:4px!important}
body.payout-active .q-label{font-size:7px!important;margin-bottom:2px!important}
body.payout-active .bet-value,body.payout-active .total-value{font-size:19px!important}
body.payout-active .question-panel .play-card{
  transform:scale(.66)!important;margin:-10px!important
}
body.payout-active .result-strip{
  min-height:22px!important;padding:3px 6px!important;margin-top:4px!important;font-size:9px!important
}
body.payout-active .answer-panel{
  flex:1 1 auto;min-height:0;overflow:hidden;margin:0 6px 4px!important;
  padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important;
  display:flex;flex-direction:column
}
body.payout-active .answer-title{font-size:12px!important;line-height:1.1!important}
body.payout-active .answer-sub{font-size:7px!important;margin-top:1px!important}
body.payout-active .payout-mode-switch{
  flex:0 0 auto;margin:4px auto 5px!important;padding:2px!important
}
body.payout-active .payout-mode-switch button{padding:4px 7px!important;font-size:8px!important}
body.payout-active .chip-payout-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between
}
body.payout-active .payout-tray{
  flex:0 0 auto;min-height:58px!important;padding:4px 7px!important;border-radius:10px!important
}
body.payout-active .chip-stage{min-height:31px!important;margin-top:1px!important;gap:4px!important}
body.payout-active .chip-stage-empty{font-size:7px!important;line-height:1.2!important}
body.payout-active .tray-total{min-width:65px!important}
body.payout-active .tray-total strong{font-size:18px!important}
body.payout-active .chip-bank-label{margin:4px 0 2px!important;font-size:7px!important}
body.payout-active .chip-bank{flex:0 0 auto;gap:4px!important}
body.payout-active .casino-chip{max-width:50px!important;border-width:4px!important}
body.payout-active .casino-chip span{font-size:8px!important}
body.payout-active .casino-chip.mini{
  width:29px!important;height:29px!important;min-width:29px!important
}
body.payout-active .chip-actions{flex:0 0 auto;margin-top:4px!important;gap:4px!important}
body.payout-active .chip-actions .btn{
  min-height:35px!important;padding:5px 3px!important;font-size:8px!important
}
body.payout-active .tip-inline{
  margin-top:3px!important;padding:0!important;font-size:6px!important;line-height:1.15!important
}
body.payout-active .number-payout-panel{min-height:0;overflow:hidden}
body.payout-active .number-payout-panel .answer-grid{gap:5px!important}
body.payout-active .number-payout-panel .input-box{min-height:35px!important;padding:4px 7px!important}
body.payout-active .number-payout-panel .keypad{gap:3px!important}
body.payout-active .number-payout-panel .key{min-height:31px!important;padding:3px!important}
body.payout-active .number-payout-panel .side-actions .btn{min-height:42px!important}

@media(max-height:700px){
  body.payout-active .training-top{min-height:36px!important;padding:2px 7px!important}
  body.payout-active .session-metrics .metric{min-height:29px!important;padding:1px 3px!important}
  body.payout-active .question-panel{margin:2px 5px!important;padding:4px!important}
  body.payout-active .q-box{min-height:51px!important;padding:3px!important}
  body.payout-active .question-panel .play-card{transform:scale(.56)!important;margin:-13px!important}
  body.payout-active .bet-value,body.payout-active .total-value{font-size:17px!important}
  body.payout-active .result-strip{min-height:19px!important;padding:2px 5px!important}
  body.payout-active .answer-panel{margin:0 5px 3px!important;padding:4px 6px calc(4px + env(safe-area-inset-bottom))!important}
  body.payout-active .payout-tray{min-height:50px!important;padding:3px 6px!important}
  body.payout-active .casino-chip{max-width:43px!important}
  body.payout-active .chip-actions .btn{min-height:31px!important}
  body.payout-active .tip-inline{display:none!important}
}

/* v0.5.6 UX: HAND TOTAL large keypad */
body.hand-total-active .hand-keypad-compact{
  grid-template-columns:repeat(4,1fr)!important;gap:7px!important
}
body.hand-total-active .hand-keypad-compact .key{
  height:50px!important;min-height:50px!important;border-radius:11px!important;
  font-size:19px!important;font-weight:800!important;touch-action:manipulation
}
body.hand-total-active .hand-keypad-compact .bust-key{font-size:12px!important;letter-spacing:.02em!important}
body.hand-total-active .hand-keypad-compact .clear-key{font-size:11px!important}
body.hand-total-active .hand-submit-fixed{
  min-height:46px!important;font-size:14px!important;margin-top:7px!important
}
body.hand-total-active .hand-question-compact{padding-top:1px!important;padding-bottom:1px!important}
body.hand-total-active .hand-cards-compact .play-card{
  transform:scale(.78)!important;margin:-6px!important
}
body.hand-total-active .hand-answer-line{height:27px!important;margin-bottom:4px!important}

@media(max-height:740px){
  body.hand-total-active .hand-keypad-compact{gap:5px!important}
  body.hand-total-active .hand-keypad-compact .key{
    height:43px!important;min-height:43px!important;font-size:17px!important
  }
  body.hand-total-active .hand-submit-fixed{min-height:40px!important}
  body.hand-total-active .hand-cards-compact .play-card{
    transform:scale(.68)!important;margin:-9px!important
  }
}


/* =========================================================
   v0.5.8 Emergency repair + readability
   ========================================================= */

/* PAYOUT: readable one-screen layout */
body.payout-active{overflow:hidden}
body.payout-active #bottomNav{display:none!important}
body.payout-active .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.payout-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;overflow:hidden;padding-bottom:0!important;
  display:grid;grid-template-rows:auto auto minmax(0,1fr)
}
body.payout-active .payout-top{
  min-height:48px!important;padding:6px 11px!important;margin:0!important
}
body.payout-active .payout-top .training-title strong{font-size:14px!important}
body.payout-active .payout-top .training-title span{font-size:10px!important}
body.payout-active .payout-top #elapsedNow{color:var(--gold2)}

.payout-question-card{
  margin:5px 8px!important;padding:8px!important;border-radius:13px!important
}
.payout-q-grid{
  display:grid;grid-template-columns:1fr 1.45fr .8fr;gap:7px;align-items:stretch
}
.payout-q-cell{
  min-height:92px;border:1px solid rgba(213,168,75,.16);border-radius:10px;
  background:#09100c;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:6px;text-align:center
}
.payout-q-cell>span{
  color:var(--muted);font-size:9px;letter-spacing:.08em;font-weight:700
}
.payout-q-cell>strong{
  color:var(--gold2);font:800 27px var(--serif);margin-top:4px
}
.payout-q-cell>small{color:var(--muted);font-size:8px;margin-top:4px}
.payout-card-row{display:flex;justify-content:center;gap:6px;margin-top:4px}
.payout-card-row .play-card{transform:scale(.82)!important;margin:-4px!important}
.payout-question-card .result-strip{
  min-height:29px!important;margin-top:6px!important;padding:5px 8px!important;font-size:11px!important
}

.payout-answer-card{
  min-height:0;overflow:hidden;margin:0 8px 7px!important;
  padding:9px 10px calc(8px + env(safe-area-inset-bottom))!important;
  display:flex;flex-direction:column
}
.payout-answer-head{
  display:flex;justify-content:space-between;align-items:center;gap:8px;flex:0 0 auto
}
.payout-answer-head .answer-title{font-size:16px!important}
.payout-answer-head .answer-sub{font-size:9px!important;margin-top:2px!important}
.payout-answer-head .payout-mode-switch{
  margin:0!important;max-width:150px!important;min-width:136px!important;flex:none
}
.payout-answer-head .payout-mode-switch button{padding:6px 7px!important;font-size:9px!important}

body.payout-active .chip-payout-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between
}
body.payout-active .payout-tray{
  min-height:76px!important;padding:7px 10px!important;margin-top:7px!important
}
body.payout-active .chip-stage{min-height:44px!important}
body.payout-active .chip-stage-empty{font-size:9px!important;line-height:1.3!important}
body.payout-active .tray-total strong{font-size:23px!important}
body.payout-active .chip-bank{
  margin-top:8px!important;gap:7px!important;align-items:center
}
body.payout-active .casino-chip{
  max-width:61px!important;border-width:5px!important
}
body.payout-active .casino-chip span{font-size:9px!important}
body.payout-active .chip-actions{margin-top:8px!important;gap:7px!important}
body.payout-active .chip-actions .btn{
  min-height:44px!important;font-size:10px!important;padding:7px 5px!important
}
body.payout-active .payout-pay-btn{font-size:13px!important;font-weight:900!important}
body.payout-active .tip-inline{display:none!important}

body.payout-active .number-payout-panel{min-height:0;overflow:hidden;margin-top:7px}
body.payout-active .number-payout-panel .key{min-height:39px!important}

/* Short iPhones: modest compression, not tiny text. */
@media(max-height:720px){
  body.payout-active .payout-top{min-height:43px!important;padding:4px 9px!important}
  .payout-question-card{margin:4px 7px!important;padding:6px!important}
  .payout-q-cell{min-height:78px!important}
  .payout-q-cell>strong{font-size:23px!important}
  .payout-card-row .play-card{transform:scale(.72)!important;margin:-8px!important}
  .payout-question-card .result-strip{min-height:25px!important;margin-top:4px!important}
  .payout-answer-card{margin:0 7px 5px!important;padding:7px 8px calc(6px + env(safe-area-inset-bottom))!important}
  body.payout-active .payout-tray{min-height:65px!important;margin-top:5px!important}
  body.payout-active .casino-chip{max-width:54px!important}
  body.payout-active .chip-actions{margin-top:5px!important}
  body.payout-active .chip-actions .btn{min-height:39px!important}
}

/* HAND TOTAL: keep big keypad, enlarge cards considerably */
body.hand-total-active .hand-question-compact{
  justify-content:center!important;padding:2px 8px!important
}
body.hand-total-active .hand-cards-compact{
  gap:7px!important;overflow:visible!important
}
body.hand-total-active .hand-cards-compact .play-card{
  transform:scale(1.02)!important;margin:1px!important
}
body.hand-total-active .hand-question-kicker{
  font-size:11px!important;margin-bottom:6px!important
}
body.hand-total-active .hand-prompt{
  font-size:16px!important;margin-top:7px!important
}
@media(max-height:740px){
  body.hand-total-active .hand-cards-compact .play-card{
    transform:scale(.90)!important;margin:-3px!important
  }
}

/* MY toggle update stays at current scroll position */
html{scroll-behavior:auto}

/* Update notification */
.update-notice{text-align:center}
.update-notice-icon{
  width:56px;height:56px;margin:0 auto 10px;border-radius:50%;
  display:grid;place-items:center;border:1px solid rgba(213,168,75,.45);
  background:rgba(213,168,75,.08);color:var(--gold2);font-size:30px
}
.update-notice h2{margin:8px 0}
.update-notice p{color:var(--muted);line-height:1.55}
.update-version-new{color:var(--gold2);font-size:20px}
.update-notice-copy{font-size:12px;margin:8px 0 14px}
.update-notice .btn{width:100%;margin-top:7px}


/* =========================================================
   v0.5.9 — dealing-style PAYOUT hand + larger HAND TOTAL
   ========================================================= */

/* PAYOUT: cards overlap like a dealer's exposed player hand.
   Each new card is offset slightly right and down. */
.payout-q-cell.cards{
  overflow:visible!important;
}
.payout-card-row{
  width:100%;
  margin-top:5px!important;
  display:flex!important;
  justify-content:center!important;
  overflow:visible!important;
}
.dealt-hand{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  width:max-content;
  min-height:82px;
  padding-right:5px;
}
.dealt-card{
  position:relative;
  z-index:calc(10 + var(--deal-index));
  margin-left:-39px;
  transform:translateY(calc(var(--deal-index) * 3px));
  flex:none;
}
.dealt-card:first-child{
  margin-left:0;
}
.dealt-card .play-card{
  transform:none!important;
  margin:0!important;
  width:58px!important;
  height:86px!important;
  padding:4px!important;
  border-radius:7px!important;
}
.dealt-card .play-card .rank{font-size:17px!important}
.dealt-card .play-card .suit{font-size:24px!important}

/* Give longer hands a little more horizontal exposure. */
.dealt-2 .dealt-card{margin-left:-27px}
.dealt-2 .dealt-card:first-child{margin-left:0}
.dealt-3 .dealt-card{margin-left:-34px}
.dealt-3 .dealt-card:first-child{margin-left:0}
.dealt-4 .dealt-card{margin-left:-39px}
.dealt-4 .dealt-card:first-child{margin-left:0}
.dealt-5 .dealt-card{margin-left:-42px}
.dealt-5 .dealt-card:first-child{margin-left:0}

/* Widen the HAND cell so 4–5 card hands remain readable. */
.payout-q-grid{
  grid-template-columns:.88fr 1.7fr .72fr!important;
}
.payout-q-cell.cards{
  padding-left:4px!important;
  padding-right:4px!important;
}

/* HAND TOTAL: problem area becomes the visual focus. */
body.hand-total-active .hand-total-screen{
  grid-template-rows:auto auto minmax(150px,1.35fr) auto!important;
}
body.hand-total-active .hand-question-compact{
  min-height:150px!important;
  padding:5px 6px 7px!important;
}
body.hand-total-active .hand-question-kicker{
  font-size:12px!important;
  padding:4px 10px!important;
  margin-bottom:8px!important;
}
body.hand-total-active .hand-cards-compact{
  gap:8px!important;
  min-height:104px!important;
  align-items:center!important;
  justify-content:center!important;
}
body.hand-total-active .hand-cards-compact .play-card{
  margin:0!important;
}

/* Dynamic card sizing keeps 2–5 card questions as large as possible. */
body.hand-total-active .hand-card-count-2 .play-card{
  transform:scale(1.24)!important;
  margin:10px 9px!important;
}
body.hand-total-active .hand-card-count-3 .play-card{
  transform:scale(1.16)!important;
  margin:8px 5px!important;
}
body.hand-total-active .hand-card-count-4 .play-card{
  transform:scale(1.04)!important;
  margin:4px 1px!important;
}
body.hand-total-active .hand-card-count-5 .play-card{
  transform:scale(.92)!important;
  margin:0 -1px!important;
}
body.hand-total-active .hand-prompt{
  font-size:17px!important;
  margin-top:8px!important;
}
body.hand-total-active .hand-prompt small{
  font-size:10px!important;
  margin-top:3px!important;
}

/* Preserve the large 4x3 keypad from v0.5.6. */
body.hand-total-active .hand-keypad-compact .key{
  height:50px!important;
  min-height:50px!important;
}

/* Smaller-height iPhones: scale intelligently, not uniformly tiny. */
@media(max-height:740px){
  body.hand-total-active .hand-total-screen{
    grid-template-rows:auto auto minmax(125px,1fr) auto!important;
  }
  body.hand-total-active .hand-question-compact{
    min-height:125px!important;
    padding:3px 5px 4px!important;
  }
  body.hand-total-active .hand-card-count-2 .play-card{transform:scale(1.10)!important;margin:5px 7px!important}
  body.hand-total-active .hand-card-count-3 .play-card{transform:scale(1.04)!important;margin:4px 3px!important}
  body.hand-total-active .hand-card-count-4 .play-card{transform:scale(.94)!important;margin:1px 0!important}
  body.hand-total-active .hand-card-count-5 .play-card{transform:scale(.82)!important;margin:0 -3px!important}
  body.hand-total-active .hand-prompt{font-size:15px!important;margin-top:4px!important}
}

/* Narrow phones: retain overlap without clipping PAYOUT hands. */
@media(max-width:360px){
  .dealt-card .play-card{
    width:54px!important;
    height:81px!important;
  }
  .dealt-4 .dealt-card{margin-left:-38px}
  .dealt-5 .dealt-card{margin-left:-42px}
}


/* =========================================================
   v0.5.10 — immersive felt layout + dealt overlap hands
   ========================================================= */

/* Shared dealt-card variants */
.dealt-payout, .dealt-handtotal{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  width:max-content;
}
.dealt-payout .dealt-card,
.dealt-handtotal .dealt-card{
  position:relative;
  z-index:calc(10 + var(--deal-index));
  flex:none;
  transform:translateY(calc(var(--deal-index) * 3px));
}
.dealt-payout .dealt-card:first-child,
.dealt-handtotal .dealt-card:first-child{
  transform:translateY(0);
}

/* PAYOUT immersive table */
body.payout-active #screen{
  grid-template-rows:auto auto minmax(0,1fr)!important;
}
.payout-felt-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% -40%, rgba(216,184,99,.18), transparent 48%),
    radial-gradient(ellipse at center, rgba(27,71,45,.35), transparent 72%),
    linear-gradient(180deg,#0d2016 0%, #07120c 100%)!important;
}
.payout-table-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.payout-status-chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:5px 11px;border-radius:999px;
  font-size:10px;font-weight:900;letter-spacing:.08em;
  border:1px solid rgba(213,168,75,.22);
  background:#121a15;color:#f5ead2;
}
.payout-status-chip.win{background:linear-gradient(180deg,#124229,#0c2819)}
.payout-status-chip.bj{background:linear-gradient(180deg,#554017,#30230d);color:#f0d991}
.payout-status-chip.insurance{background:linear-gradient(180deg,#224660,#122433)}
.payout-total-box{
  min-width:90px;padding:5px 10px;border-radius:12px;
  border:1px solid rgba(213,168,75,.25);
  background:rgba(0,0,0,.18);text-align:center
}
.payout-total-box span{display:block;color:var(--muted);font-size:8px;letter-spacing:.08em}
.payout-total-box strong{display:block;color:var(--gold2);font:800 24px var(--serif);margin-top:2px}

.payout-table-felt{
  border-radius:18px;
  border:1px solid rgba(213,168,75,.12);
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.04), transparent 28%),
    radial-gradient(circle at 50% 120%, rgba(213,168,75,.10), transparent 38%),
    linear-gradient(180deg,#11462a 0%, #0b351f 46%, #092114 100%);
  padding:10px 10px 9px;
  position:relative;
}
.payout-table-felt::after{
  content:'';
  position:absolute;left:10%;right:10%;bottom:57px;height:58px;
  border:2px solid rgba(226,201,124,.34);
  border-top-left-radius:999px;border-top-right-radius:999px;
  border-bottom:0;pointer-events:none;
}
.payout-hand-area{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:110px;
}
.payout-hand-caption{
  margin-bottom:7px;color:#efe2bb;font-size:10px;font-weight:900;letter-spacing:.12em
}
.payout-card-row{
  width:100%;display:flex;justify-content:center!important;overflow:visible!important
}
.dealt-payout .dealt-card{margin-left:-34px}
.dealt-payout .dealt-card:first-child{margin-left:0}
.dealt-payout.dealt-2 .dealt-card{margin-left:-24px}
.dealt-payout.dealt-2 .dealt-card:first-child{margin-left:0}
.dealt-payout.dealt-3 .dealt-card{margin-left:-30px}
.dealt-payout.dealt-3 .dealt-card:first-child{margin-left:0}
.dealt-payout.dealt-4 .dealt-card{margin-left:-34px}
.dealt-payout.dealt-4 .dealt-card:first-child{margin-left:0}
.dealt-payout.dealt-5 .dealt-card{margin-left:-37px}
.dealt-payout.dealt-5 .dealt-card:first-child{margin-left:0}
.dealt-payout .play-card{
  width:60px!important;height:90px!important;padding:4px!important;
  border-radius:8px!important;margin:0!important;transform:none!important
}
.dealt-payout .rank{font-size:18px!important}
.dealt-payout .suit{font-size:24px!important}

.payout-bet-lane{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;
  margin-top:8px;padding:2px 6px 0;
}
.bet-spot{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:4px;
}
.bet-spot-ring{
  width:92px;height:92px;border-radius:50%;
  border:2px dashed rgba(239,226,187,.62);
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.16);
  background:radial-gradient(circle at 50% 38%, rgba(255,255,255,.08), rgba(0,0,0,.06));
  display:flex;align-items:center;justify-content:center;position:relative;
}
.bet-spot.secondary .bet-spot-ring{
  width:80px;height:80px;border-color:rgba(181,205,230,.50);
}
.bet-spot.highlight .bet-spot-ring{
  box-shadow:0 0 0 2px rgba(213,168,75,.15), inset 0 0 0 2px rgba(0,0,0,.16);
}
.bet-spot-meta{text-align:center}
.bet-spot-meta span{
  display:block;color:var(--muted);font-size:8px;letter-spacing:.10em;font-weight:800
}
.bet-spot-meta strong{
  display:block;color:var(--gold2);font:800 18px var(--serif);margin-top:1px
}
.table-chip-empty{
  color:rgba(255,255,255,.25);font-size:8px;font-weight:800;letter-spacing:.06em
}
.table-chip-stack{
  position:relative;width:58px;height:46px;
}
.table-chip{
  position:absolute;left:50%;top:50%;
  width:32px;height:32px;border-radius:50%;
  border:3px dashed rgba(255,255,255,.75);
  outline:1px solid rgba(0,0,0,.55);
  box-shadow:0 4px 10px rgba(0,0,0,.28), inset 0 0 0 2px rgba(255,255,255,.10);
  transform:translate(calc(-50% + (var(--chip-i) * 6px) - 9px), calc(-50% - (var(--chip-i) * 3px)));
  display:grid;place-items:center;font-weight:900;
}
.table-chip span{
  width:68%;height:68%;border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.35);
  color:#fff;font-size:7px;line-height:1;text-shadow:0 1px 2px #000
}
.table-chip.chip1 span{color:#171717;text-shadow:none;background:rgba(255,255,255,.50);border-color:rgba(0,0,0,.25)}
.table-chip-count{
  position:absolute;right:-2px;bottom:-2px;min-width:18px;height:18px;padding:0 3px;
  border-radius:999px;background:#f0cf73;color:#1c1305;border:2px solid #082012;
  font-size:8px;line-height:14px;font-weight:900;text-align:center
}

/* HAND TOTAL immersive dealt overlap */
body.hand-total-active .hand-total-screen{
  grid-template-rows:auto auto minmax(175px,1.5fr) auto!important;
}
.hand-table-compact{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:6px 7px 10px!important;
}
.hand-felt-stage{
  width:min(100%, 330px);
  border-radius:20px;
  border:1px solid rgba(213,168,75,.18);
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.04), transparent 28%),
    radial-gradient(circle at 50% 120%, rgba(213,168,75,.10), transparent 40%),
    linear-gradient(180deg,#11462a 0%, #0c341e 45%, #091f14 100%);
  padding:12px 10px 14px;
  position:relative;
}
.hand-felt-stage::after{
  content:'';
  position:absolute;left:13%;right:13%;bottom:16px;height:42px;
  border:2px solid rgba(226,201,124,.30);
  border-top-left-radius:999px;border-top-right-radius:999px;border-bottom:0;
  pointer-events:none;
}
.hand-stage-label{
  text-align:center;color:#efe2bb;font-size:11px;font-weight:900;letter-spacing:.12em;
  margin-bottom:9px
}
body.hand-total-active .hand-cards-compact{
  min-height:120px!important;gap:0!important;display:flex;justify-content:center!important;align-items:flex-start!important
}
.dealt-handtotal .dealt-card{margin-left:-34px}
.dealt-handtotal .dealt-card:first-child{margin-left:0}
.dealt-handtotal.dealt-2 .dealt-card{margin-left:-22px}
.dealt-handtotal.dealt-2 .dealt-card:first-child{margin-left:0}
.dealt-handtotal.dealt-3 .dealt-card{margin-left:-28px}
.dealt-handtotal.dealt-3 .dealt-card:first-child{margin-left:0}
.dealt-handtotal.dealt-4 .dealt-card{margin-left:-34px}
.dealt-handtotal.dealt-4 .dealt-card:first-child{margin-left:0}
.dealt-handtotal.dealt-5 .dealt-card{margin-left:-38px}
.dealt-handtotal.dealt-5 .dealt-card:first-child{margin-left:0}
.dealt-handtotal .play-card{
  margin:0!important;transform:none!important;border-radius:8px!important
}
body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{
  width:84px!important;height:124px!important;padding:6px!important
}
body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{
  width:78px!important;height:116px!important;padding:5px!important
}
body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{
  width:72px!important;height:107px!important;padding:5px!important
}
body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{
  width:66px!important;height:98px!important;padding:4px!important
}
.dealt-handtotal .rank{font-size:20px!important}
.dealt-handtotal .suit{font-size:28px!important}
body.hand-total-active .hand-prompt{
  margin-top:9px!important;font-size:18px!important
}
body.hand-total-active .hand-prompt small{
  display:block;margin-top:3px;font-size:11px!important
}

/* Keep keypad large */
body.hand-total-active .hand-keypad-compact .key{
  height:50px!important;min-height:50px!important
}

@media(max-height:740px){
  .payout-table-felt{padding:8px 8px 7px}
  .payout-table-felt::after{bottom:52px;height:48px}
  .payout-hand-area{min-height:92px}
  .dealt-payout .play-card{width:56px!important;height:84px!important}
  .bet-spot-ring{width:84px;height:84px}
  .bet-spot.secondary .bet-spot-ring{width:74px;height:74px}
  .table-chip{width:29px;height:29px}
  body.hand-total-active .hand-total-screen{
    grid-template-rows:auto auto minmax(150px,1.3fr) auto!important;
  }
  .hand-felt-stage{padding:10px 8px 12px}
  body.hand-total-active .hand-cards-compact{min-height:104px!important}
  body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{width:76px!important;height:113px!important}
  body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{width:72px!important;height:107px!important}
  body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{width:66px!important;height:98px!important}
  body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{width:61px!important;height:91px!important}
}

@media(max-width:360px){
  .payout-bet-lane{gap:9px}
  .bet-spot-ring{width:82px;height:82px}
  .bet-spot.secondary .bet-spot-ring{width:70px;height:70px}
  .dealt-payout .play-card{width:54px!important;height:81px!important}
  .dealt-handtotal .rank{font-size:18px!important}
  .dealt-handtotal .suit{font-size:25px!important}
}


/* =========================================================
   v0.5.11 — NUMBER削除 + 実戦寄りテーブルレイアウト
   ========================================================= */
body.payout-active #screen{
  grid-template-rows:auto auto minmax(0,1fr)!important;
}
.payout-answer-chiponly .number-payout-panel,
.payout-answer-chiponly [data-payout-panel="number"]{
  display:none!important;
}
.chip-only-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:32px;padding:0 12px;border-radius:999px;
  border:1px solid rgba(213,168,75,.28);
  background:rgba(213,168,75,.08);color:var(--gold2);
  font-size:10px;font-weight:900;letter-spacing:.10em;
}
.payout-answer-head.single-mode{
  align-items:center;
}

.table-role-label{
  position:absolute;left:50%;transform:translateX(-50%);
  color:#ead8a4;font-size:11px;font-weight:900;letter-spacing:.24em;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  z-index:3;
}
.table-role-label.dealer-label{top:8px}
.table-role-label.dealer-label.small{top:8px;font-size:10px}

.payout-felt-immersive{
  padding-top:28px!important;
}
.payout-insurance-banner{
  position:relative;z-index:2;
  text-align:center;margin:4px 0 8px;
}
.payout-insurance-banner span{
  display:inline-block;
  color:rgba(240,235,223,.92);
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  padding:4px 12px;
  font-size:9px;font-weight:800;letter-spacing:.14em;
  background:rgba(255,255,255,.04);
}
.realistic-table{
  padding:14px 12px 10px!important;
  min-height:230px;
}
.realistic-table::before{
  content:'';
  position:absolute;left:7%;right:7%;bottom:12px;height:88px;
  border:2px solid rgba(239,239,239,.22);
  border-top-left-radius:999px;border-top-right-radius:999px;
  border-bottom:0;pointer-events:none;
}
.realistic-table::after{
  content:'';
  position:absolute;left:15%;right:15%;bottom:72px;height:52px;
  border:1px solid rgba(255,255,255,.16);
  border-top-left-radius:999px;border-top-right-radius:999px;
  border-bottom:0;pointer-events:none;
}
.payout-table-topline{
  margin-bottom:6px!important;
}
.payout-hand-area{
  min-height:92px!important;
}
.payout-hand-caption{
  margin-bottom:8px!important;
  color:#f3e7c2;font-size:11px!important;letter-spacing:.14em!important;
}
.payout-card-row{
  margin-bottom:8px!important;
}
.player-arc-label{
  position:absolute;
  left:50%;transform:translateX(-50%);
  color:rgba(244,235,214,.95);
  font-weight:900;letter-spacing:.26em;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  pointer-events:none;
}
.realistic-table .player-arc-label{
  bottom:54px;font-size:12px;
}
.insurance-layout-zone{
  position:absolute;
  left:18px;bottom:26px;
  width:110px;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  z-index:2;
}
.insurance-box-label{
  color:#ffffff;font-size:9px;font-weight:900;letter-spacing:.18em;
}
.insurance-white-box{
  width:100%;
  border:2px solid rgba(255,255,255,.85);
  border-radius:12px;
  padding:8px 4px 6px;
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.insurance-white-box .bet-spot{
  gap:3px!important;
}
.insurance-white-box .bet-spot-ring{
  width:64px!important;height:64px!important;
  border:2px dashed rgba(255,255,255,.74)!important;
}
.main-bet-layout-zone{
  position:absolute;
  right:22px;bottom:18px;
  width:114px;
  display:flex;justify-content:center;align-items:center;
  z-index:2;
}
.main-bet-layout-zone .bet-spot-ring{
  width:96px!important;height:96px!important;
  border-color:rgba(241,231,196,.78)!important;
}
.bet-spot-meta span{
  color:#e7e2d1!important;
}
.bet-spot-meta strong{
  color:#ffd885!important;
}
.table-chip-stack{
  width:64px!important;height:52px!important;
}
.table-chip{
  width:34px!important;height:34px!important;
}
.table-chip span{
  font-size:7px!important;
}
.payout-answer-chiponly .chip-payout-panel{
  padding-top:4px;
}

/* HAND TOTAL more authentic dealt display */
.hand-table-realistic{
  position:relative;
  padding-top:26px!important;
}
.hand-table-realistic .hand-felt-stage{
  padding-top:18px!important;
}
.hand-player-arc{
  bottom:12px;
  font-size:12px;
}
.hand-table-realistic .hand-stage-label{
  margin-bottom:10px!important;
}
body.hand-total-active .hand-cards-compact{
  min-height:126px!important;
}
.dealt-handtotal .dealt-card{
  transform:translateY(calc(var(--deal-index) * 4px))!important;
}
.dealt-handtotal .dealt-card:first-child{
  transform:translateY(0)!important;
}
.dealt-handtotal.dealt-2 .dealt-card{margin-left:-20px!important}
.dealt-handtotal.dealt-3 .dealt-card{margin-left:-25px!important}
.dealt-handtotal.dealt-4 .dealt-card{margin-left:-31px!important}
.dealt-handtotal.dealt-5 .dealt-card{margin-left:-35px!important}
.dealt-handtotal.dealt-2 .dealt-card:first-child,
.dealt-handtotal.dealt-3 .dealt-card:first-child,
.dealt-handtotal.dealt-4 .dealt-card:first-child,
.dealt-handtotal.dealt-5 .dealt-card:first-child{margin-left:0!important}

body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{
  width:88px!important;height:130px!important;
}
body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{
  width:81px!important;height:120px!important;
}
body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{
  width:74px!important;height:110px!important;
}
body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{
  width:68px!important;height:101px!important;
}
.hand-table-realistic .hand-felt-stage::after{
  left:12%;right:12%;bottom:20px;height:44px!important;
}
.hand-table-realistic .hand-prompt{
  margin-top:11px!important;
}

@media(max-height:740px){
  .realistic-table{
    min-height:206px!important;
    padding:12px 10px 8px!important;
  }
  .realistic-table .player-arc-label{bottom:47px!important}
  .insurance-layout-zone{left:12px;bottom:23px;width:100px}
  .main-bet-layout-zone{right:16px;bottom:16px;width:106px}
  .main-bet-layout-zone .bet-spot-ring{width:88px!important;height:88px!important}
  .insurance-white-box .bet-spot-ring{width:58px!important;height:58px!important}
  body.hand-total-active .hand-cards-compact{min-height:112px!important}
  body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{width:81px!important;height:120px!important}
  body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{width:75px!important;height:111px!important}
  body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{width:69px!important;height:102px!important}
  body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{width:63px!important;height:93px!important}
}


/* =========================================================
   v0.5.12 — authentic dealer POV layout + standard numpad
   ========================================================= */

/* PAYOUT: player side is top, dealer side is bottom. */
.authentic-bj-layout{
  position:relative;
  overflow:hidden;
  margin:5px 8px!important;
  padding:30px 10px 26px!important;
  min-height:315px;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,255,255,.045), transparent 35%),
    radial-gradient(ellipse at 50% 115%, rgba(217,184,99,.10), transparent 45%),
    linear-gradient(180deg,#11502f 0%,#0d4027 42%,#0a2e1c 70%,#081f15 100%)!important;
  border-radius:22px!important;
}

/* Table rail / felt arcs */
.authentic-bj-layout::before{
  content:'';
  position:absolute;
  left:4%;right:4%;top:42px;height:185px;
  border:2px solid rgba(245,235,210,.12);
  border-bottom-left-radius:50% 28%;
  border-bottom-right-radius:50% 28%;
  border-top:0;
  pointer-events:none;
}
.authentic-bj-layout::after{
  content:'';
  position:absolute;
  left:12%;right:12%;top:104px;height:100px;
  border:1px solid rgba(245,235,210,.12);
  border-bottom-left-radius:50% 38%;
  border-bottom-right-radius:50% 38%;
  border-top:0;
  pointer-events:none;
}

.authentic-player-label{
  position:absolute;
  top:8px;left:50%;transform:translateX(-50%);
  color:#f1e6c7;
  font-size:12px;font-weight:900;letter-spacing:.28em;
  text-shadow:0 2px 3px rgba(0,0,0,.35);
  z-index:5;
}

.authentic-player-side{
  position:relative;z-index:3;
  min-height:118px;
  display:grid;
  grid-template-columns:.9fr 1.25fr;
  gap:8px;
  align-items:center;
  padding:0 8px 2px;
}

/* Main betting circle is nearest the player side, before insurance line. */
.authentic-main-bet{
  display:flex;justify-content:center;align-items:center;
}
.authentic-main-bet .bet-spot{
  gap:2px!important;
}
.authentic-main-bet .bet-spot-ring{
  width:92px!important;height:92px!important;
  border:2px solid rgba(239,230,202,.86)!important;
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,.12),
    0 0 0 1px rgba(245,231,190,.10)!important;
}
.authentic-main-bet .bet-spot-meta span{
  font-size:8px!important;
  color:#f1ead8!important;
}
.authentic-main-bet .bet-spot-meta strong{
  font-size:17px!important;
}

.authentic-player-hand{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:0;
}
.authentic-hand-caption{
  color:#efe5ca;
  font-size:9px;font-weight:900;letter-spacing:.13em;
  margin-bottom:4px;
}
.authentic-player-hand .payout-card-row{
  display:flex!important;
  justify-content:center!important;
  width:100%;
  overflow:visible!important;
}

/* Insurance is a curved band between player spots and dealer rule text. */
.felt-insurance-zone{
  position:relative;z-index:4;
  min-height:74px;
  margin:0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.insurance-arc{
  position:absolute;
  left:3%;right:3%;top:12px;height:48px;
  border-top:2px solid rgba(255,255,255,.86);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  pointer-events:none;
}
.insurance-arc::after{
  content:'';
  position:absolute;left:4%;right:4%;top:9px;height:38px;
  border-top:1px solid rgba(255,255,255,.38);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.insurance-arc span{
  position:absolute;
  left:50%;top:-11px;
  transform:translateX(-50%);
  white-space:nowrap;
  background:#0d3b24;
  padding:1px 8px;
  color:#fff;
  font-size:9px;font-weight:900;letter-spacing:.13em;
}
.insurance-wager{
  position:relative;z-index:3;
  margin-top:20px;
  display:flex;align-items:center;justify-content:center;
  gap:7px;
}
.insurance-wager .table-chip-stack{
  transform:scale(.88);
}
.insurance-wager-meta{
  min-width:66px;
}
.insurance-wager-meta small{
  display:block;color:#d8d8d8;font-size:7px;letter-spacing:.08em;
}
.insurance-wager-meta strong{
  display:block;color:#ffd784;font:800 15px var(--serif);margin-top:1px;
}
.insurance-no-bet{
  color:rgba(255,255,255,.34);
  font-size:8px;font-weight:900;letter-spacing:.08em;
}
.felt-insurance-zone.active .insurance-arc{
  border-top-color:#fff;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.16));
}

/* Printed rules in the middle of the felt, closer to the dealer. */
.authentic-rules-center{
  position:relative;z-index:3;
  text-align:center;
  padding:2px 6px 4px;
}
.authentic-rule-main{
  color:#f2d77f;
  font:800 16px var(--serif);
  letter-spacing:.04em;
}
.authentic-rule-dealer{
  margin-top:3px;
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
  color:#eee7d7;
  font-size:8px;font-weight:800;letter-spacing:.08em;
}
.authentic-question-status{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(213,168,75,.30);
  background:rgba(0,0,0,.13);
}
.authentic-question-status span{
  color:var(--muted);font-size:7px;letter-spacing:.08em;
}
.authentic-question-status strong{
  color:var(--gold2);font:800 15px var(--serif);
}

.authentic-dealer-label{
  position:absolute;
  bottom:6px;left:50%;transform:translateX(-50%);
  color:#f1e6c7;
  font-size:10px;font-weight:900;letter-spacing:.25em;
  z-index:4;
}
.authentic-result{
  position:absolute;
  top:9px;right:9px;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  display:flex;align-items:center;
  font-size:8px;font-weight:900;letter-spacing:.06em;
  color:#fff;
  z-index:6;
}
.authentic-result.win{background:#17472d}
.authentic-result.bj{background:#604716;color:#f4db8f}
.authentic-result.insurance{background:#214965}

/* Make betting chips prominent but not oversized. */
.authentic-main-bet .table-chip{
  width:35px!important;height:35px!important;
}

/* HAND TOTAL — everyday numeric keypad */
body.hand-total-active .standard-numpad{
  grid-template-columns:repeat(3,1fr)!important;
  gap:7px!important;
}
body.hand-total-active .standard-numpad .key{
  height:49px!important;
  min-height:49px!important;
  font-size:20px!important;
  border-radius:11px!important;
}
body.hand-total-active .standard-numpad .clear-key{
  font-size:11px!important;
}
body.hand-total-active .standard-numpad .bust-key{
  font-size:12px!important;
}

/* Slightly reclaim vertical room for the 4-row keypad. */
body.hand-total-active .hand-answer-line{
  height:26px!important;
  margin-bottom:4px!important;
}
body.hand-total-active .hand-submit-fixed{
  min-height:42px!important;
  margin-top:5px!important;
}
body.hand-total-active .hand-felt-stage{
  padding-top:12px!important;
  padding-bottom:10px!important;
}
body.hand-total-active .hand-cards-compact{
  min-height:112px!important;
}

/* Keep cards large while fitting the standard numpad. */
body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{
  width:84px!important;height:124px!important;
}
body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{
  width:78px!important;height:116px!important;
}
body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{
  width:72px!important;height:107px!important;
}
body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{
  width:66px!important;height:98px!important;
}

@media(max-height:740px){
  .authentic-bj-layout{
    min-height:280px!important;
    padding-top:27px!important;
    padding-bottom:22px!important;
  }
  .authentic-player-side{
    min-height:104px!important;
  }
  .authentic-main-bet .bet-spot-ring{
    width:82px!important;height:82px!important;
  }
  .felt-insurance-zone{
    min-height:65px!important;
  }
  .authentic-rule-main{
    font-size:14px!important;
  }

  body.hand-total-active .standard-numpad{
    gap:5px!important;
  }
  body.hand-total-active .standard-numpad .key{
    height:43px!important;
    min-height:43px!important;
    font-size:18px!important;
  }
  body.hand-total-active .hand-card-count-2 .dealt-handtotal .play-card{
    width:76px!important;height:113px!important;
  }
  body.hand-total-active .hand-card-count-3 .dealt-handtotal .play-card{
    width:71px!important;height:106px!important;
  }
  body.hand-total-active .hand-card-count-4 .dealt-handtotal .play-card{
    width:66px!important;height:98px!important;
  }
  body.hand-total-active .hand-card-count-5 .dealt-handtotal .play-card{
    width:61px!important;height:91px!important;
  }
}


/* =========================================================
   v0.5.13 — PAYOUT CALCULATION MODE
   HAND TOTAL is intentionally unchanged.
   ========================================================= */
body.payout-active{
  overflow:hidden;
}
body.payout-active #bottomNav{
  display:none!important;
}
body.payout-active .app-shell{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body.payout-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;
  overflow:hidden;
  padding-bottom:0!important;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}

.payout-calc-top{
  min-height:46px!important;
  padding:5px 10px!important;
  margin:0!important;
}
.payout-calc-top .training-title strong{font-size:14px!important}
.payout-calc-top .training-title span{font-size:9px!important}

.payout-calc-metrics{
  margin:0!important;
  gap:1px!important;
}
.payout-calc-metrics .metric{
  min-height:38px!important;
  padding:4px!important;
  border-radius:0!important;
}
.payout-calc-metrics .metric label{font-size:8px!important}
.payout-calc-metrics .metric strong{font-size:13px!important}

.payout-calc-question{
  min-height:0;
  overflow:hidden;
  margin:5px 8px 4px!important;
  padding:8px 10px!important;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  grid-template-rows:auto 1fr auto;
  gap:6px 9px;
  align-items:center;
  background:
    radial-gradient(circle at 50% -20%,rgba(213,168,75,.12),transparent 42%),
    linear-gradient(180deg,#0c1710,#08100b)!important;
}
.calc-rule-badge{
  grid-column:1/-1;
  justify-self:center;
  padding:4px 11px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.10em;
  border:1px solid rgba(213,168,75,.28);
  color:#f3e8cf;
  background:#142019;
}
.calc-rule-badge.blackjack{
  color:#f4d986;
  background:#3c2c0e;
}
.calc-rule-badge.insurance{
  color:#cbe4f8;
  background:#153143;
}

.calc-bet-block{
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-right:1px solid rgba(213,168,75,.18);
  text-align:center;
}
.calc-bet-block>span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.10em;
}
.calc-bet-block>strong{
  margin-top:4px;
  color:var(--gold2);
  font:900 38px var(--serif);
}
.calc-bet-block>small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}

.calc-hand-block{
  min-width:0;
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.calc-hand-label{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.10em;
  margin-bottom:3px;
}
.calc-hand-cards{
  min-height:67px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.calc-hand-cards .dealt-payout .play-card{
  width:48px!important;
  height:71px!important;
  padding:3px!important;
  border-radius:6px!important;
}
.calc-hand-cards .dealt-payout .rank{font-size:14px!important}
.calc-hand-cards .dealt-payout .suit{font-size:19px!important}
.calc-hand-cards .dealt-payout.dealt-2 .dealt-card{margin-left:-18px!important}
.calc-hand-cards .dealt-payout.dealt-3 .dealt-card{margin-left:-26px!important}
.calc-hand-cards .dealt-payout.dealt-4 .dealt-card{margin-left:-30px!important}
.calc-hand-cards .dealt-payout.dealt-5 .dealt-card{margin-left:-33px!important}
.calc-hand-cards .dealt-payout .dealt-card:first-child{margin-left:0!important}
.calc-result-line{
  margin-top:3px;
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:center;
}
.calc-result-line span{
  font-size:8px;
  color:#e9dfc7;
  font-weight:900;
}
.calc-result-line b{
  color:var(--gold2);
  font-size:9px;
}

.calc-question-text{
  grid-column:1/-1;
  text-align:center;
  color:#f4e7c2;
  font:900 18px var(--serif);
  padding-top:3px;
}
.calc-question-text small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font:400 8px var(--sans);
}

.payout-calc-answer{
  margin:0 8px 5px!important;
  padding:8px 10px calc(7px + env(safe-area-inset-bottom))!important;
}
.calc-answer-display{
  min-height:50px;
  border:1px solid rgba(213,168,75,.25);
  border-radius:12px;
  background:#07100b;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:5px 12px;
  margin-bottom:6px;
}
.calc-answer-display>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.10em;
}
.calc-answer-display>div{
  display:flex;
  align-items:baseline;
  gap:3px;
}
.calc-answer-display small{
  color:var(--gold2);
  font-size:16px;
  font-weight:800;
}
.calc-answer-display .answer{
  color:#fff;
  font:900 29px var(--serif);
}

.calc-keypad{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.calc-keypad .key{
  min-height:44px!important;
  height:44px!important;
  border-radius:10px!important;
  font-size:18px!important;
  font-weight:800!important;
  touch-action:manipulation;
}
.calc-keypad .clear-key,
.calc-keypad .half-key{
  font-size:11px!important;
}

.calc-submit-row{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:6px;
  margin-top:6px;
}
.calc-submit-row .btn{
  min-height:42px!important;
  padding:6px!important;
}
.calc-submit-btn{
  font-size:13px!important;
  font-weight:900!important;
}

@media(max-height:700px){
  .payout-calc-top{min-height:40px!important;padding:3px 9px!important}
  .payout-calc-metrics .metric{min-height:32px!important;padding:2px!important}
  .payout-calc-question{margin:3px 7px!important;padding:6px 8px!important}
  .calc-bet-block,.calc-hand-block{min-height:92px!important}
  .calc-bet-block>strong{font-size:32px!important}
  .calc-hand-cards{min-height:57px!important}
  .calc-hand-cards .dealt-payout .play-card{width:43px!important;height:64px!important}
  .calc-question-text{font-size:16px!important}
  .payout-calc-answer{margin:0 7px 4px!important;padding:6px 8px calc(5px + env(safe-area-inset-bottom))!important}
  .calc-answer-display{min-height:43px!important;margin-bottom:4px!important}
  .calc-answer-display .answer{font-size:25px!important}
  .calc-keypad{gap:4px!important}
  .calc-keypad .key{min-height:38px!important;height:38px!important;font-size:16px!important}
  .calc-submit-row{margin-top:4px!important;gap:4px!important}
  .calc-submit-row .btn{min-height:37px!important}
}


/* =========================================================
   v0.5.14 — PAYOUT calculation-focused + CHIP PAYOUT
   HAND TOTAL intentionally unchanged from v0.5.12.
   ========================================================= */

body.payout-active #screen{
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}

.payout-calc-chip-question{
  margin-bottom:4px!important;
}

.payout-calc-chip-answer{
  margin:0 8px 5px!important;
  padding:8px 10px calc(7px + env(safe-area-inset-bottom))!important;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.calc-chip-tray{
  flex:0 0 auto;
  min-height:68px!important;
  padding:6px 9px!important;
  margin:0!important;
}
.calc-chip-tray .chip-stage{
  min-height:38px!important;
}
.calc-chip-tray .tray-total strong{
  font-size:21px!important;
}

.calc-chip-bank{
  flex:0 0 auto;
  margin-top:8px!important;
  gap:7px!important;
}
.calc-chip-bank .casino-chip{
  max-width:59px!important;
  border-width:5px!important;
}
.calc-chip-bank .casino-chip span{
  font-size:9px!important;
}

.calc-chip-actions{
  flex:0 0 auto;
  margin-top:8px!important;
  gap:6px!important;
}
.calc-chip-actions .btn{
  min-height:42px!important;
  padding:6px 4px!important;
  font-size:10px!important;
}
.calc-chip-actions .payout-pay-btn{
  font-size:13px!important;
  font-weight:900!important;
}

@media(max-height:700px){
  .payout-calc-chip-answer{
    margin:0 7px 4px!important;
    padding:6px 8px calc(5px + env(safe-area-inset-bottom))!important;
  }
  .calc-chip-tray{
    min-height:58px!important;
    padding:5px 7px!important;
  }
  .calc-chip-tray .chip-stage{
    min-height:31px!important;
  }
  .calc-chip-bank{
    margin-top:5px!important;
    gap:5px!important;
  }
  .calc-chip-bank .casino-chip{
    max-width:52px!important;
  }
  .calc-chip-actions{
    margin-top:5px!important;
  }
  .calc-chip-actions .btn{
    min-height:36px!important;
  }
}


/* =========================================================
   v0.5.15 — PAYOUT visibility improvement
   HAND TOTAL unchanged.
   ========================================================= */
body.payout-active #screen{
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}

/* make top status compact so question area can grow */
.payout-calc-top{
  min-height:42px!important;
  padding:4px 10px!important;
}
.payout-calc-top .training-title strong{font-size:13px!important}
.payout-calc-top .training-title span{font-size:8px!important}

.payout-calc-metrics .metric{
  min-height:34px!important;
  padding:3px 4px!important;
}
.payout-calc-metrics .metric label{font-size:7px!important}
.payout-calc-metrics .metric strong{font-size:12px!important}

/* enlarge the key problem area */
.payout-calc-question{
  margin:4px 8px 4px!important;
  padding:9px 10px!important;
  grid-template-columns:.92fr 1.08fr!important;
  gap:6px 8px!important;
}
.calc-rule-badge{
  padding:5px 12px!important;
  font-size:10px!important;
}

.calc-bet-block{
  min-height:124px!important;
}
.calc-bet-block>span{
  font-size:10px!important;
}
.calc-bet-block>strong{
  margin-top:4px!important;
  font-size:46px!important;
  line-height:1!important;
}
.calc-bet-block>small{
  font-size:9px!important;
}

.calc-hand-block{
  min-height:124px!important;
}
.calc-hand-label{
  font-size:9px!important;
  margin-bottom:5px!important;
}
.calc-hand-cards{
  min-height:82px!important;
}
.calc-hand-cards .dealt-payout .play-card{
  width:58px!important;
  height:86px!important;
  padding:4px!important;
  border-radius:7px!important;
}
.calc-hand-cards .dealt-payout .rank{font-size:17px!important}
.calc-hand-cards .dealt-payout .suit{font-size:24px!important}
.calc-hand-cards .dealt-payout.dealt-2 .dealt-card{margin-left:-22px!important}
.calc-hand-cards .dealt-payout.dealt-3 .dealt-card{margin-left:-29px!important}
.calc-hand-cards .dealt-payout.dealt-4 .dealt-card{margin-left:-33px!important}
.calc-hand-cards .dealt-payout.dealt-5 .dealt-card{margin-left:-36px!important}

.calc-result-line{
  margin-top:5px!important;
  gap:8px!important;
}
.calc-result-line span{
  font-size:9px!important;
}
.calc-result-line b{
  font-size:11px!important;
}

.calc-question-text{
  font-size:20px!important;
  padding-top:4px!important;
}
.calc-question-text small{
  margin-top:3px!important;
  font-size:9px!important;
}

/* slightly compact answer area to free room above */
.payout-calc-chip-answer{
  margin:0 8px 5px!important;
  padding:7px 9px calc(6px + env(safe-area-inset-bottom))!important;
}
.calc-chip-tray{
  min-height:60px!important;
  padding:5px 8px!important;
}
.calc-chip-tray .chip-stage{min-height:34px!important}
.calc-chip-tray .tray-total strong{font-size:19px!important}
.calc-chip-bank{margin-top:6px!important;gap:6px!important}
.calc-chip-bank .casino-chip{max-width:55px!important}
.calc-chip-actions{margin-top:6px!important;gap:5px!important}
.calc-chip-actions .btn{min-height:39px!important}

@media(max-height:700px){
  .payout-calc-top{min-height:38px!important;padding:3px 8px!important}
  .payout-calc-metrics .metric{min-height:30px!important;padding:2px 3px!important}
  .payout-calc-question{padding:7px 8px!important;grid-template-columns:.95fr 1.05fr!important}
  .calc-bet-block,.calc-hand-block{min-height:112px!important}
  .calc-bet-block>strong{font-size:40px!important}
  .calc-hand-cards{min-height:73px!important}
  .calc-hand-cards .dealt-payout .play-card{width:52px!important;height:77px!important}
  .calc-hand-cards .dealt-payout .rank{font-size:15px!important}
  .calc-hand-cards .dealt-payout .suit{font-size:21px!important}
  .calc-question-text{font-size:18px!important}
  .payout-calc-chip-answer{padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important}
  .calc-chip-tray{min-height:54px!important;padding:4px 7px!important}
  .calc-chip-bank .casino-chip{max-width:50px!important}
  .calc-chip-actions .btn{min-height:35px!important}
}


/* =========================================================
   v0.5.16 — long money safety + LEVEL UP celebration
   HAND TOTAL unchanged.
   ========================================================= */
[data-fit-money]{
  white-space:nowrap!important;
  max-width:100%;
  font-variant-numeric:tabular-nums;
}

/* BET values: large normally, automatically step down as digits grow. */
.calc-bet-block>strong.money-fit-long{
  font-size:36px!important;
  letter-spacing:-.02em!important;
}
.calc-bet-block>strong.money-fit-xlong{
  font-size:29px!important;
  letter-spacing:-.035em!important;
}

/* PAYOUT TOTAL: protect the right edge even at $1000.50 and above. */
.calc-chip-tray{
  grid-template-columns:minmax(0,1fr) minmax(92px,auto)!important;
}
.calc-chip-tray .tray-total{
  min-width:0!important;
  width:auto!important;
  max-width:42vw;
  overflow:visible!important;
}
.calc-chip-tray .tray-total strong{
  white-space:nowrap!important;
  overflow:visible!important;
  text-align:right;
}
.calc-chip-tray .tray-total strong.money-fit-long{
  font-size:17px!important;
  letter-spacing:-.02em!important;
}
.calc-chip-tray .tray-total strong.money-fit-xlong{
  font-size:14px!important;
  letter-spacing:-.035em!important;
}

@media(max-width:360px){
  .calc-bet-block>strong.money-fit-long{font-size:32px!important}
  .calc-bet-block>strong.money-fit-xlong{font-size:26px!important}
  .calc-chip-tray{grid-template-columns:minmax(0,1fr) minmax(84px,auto)!important}
  .calc-chip-tray .tray-total strong.money-fit-long{font-size:15px!important}
  .calc-chip-tray .tray-total strong.money-fit-xlong{font-size:12px!important}
}

/* LEVEL UP */
.level-up-backdrop{
  backdrop-filter:blur(5px);
  background:rgba(0,0,0,.78)!important;
}
.level-up-modal{
  position:relative;
  overflow:hidden;
  text-align:center;
  border-color:rgba(236,202,111,.68)!important;
  background:
    radial-gradient(circle at 50% 8%,rgba(231,194,92,.22),transparent 38%),
    linear-gradient(180deg,#142017 0%,#080d0a 100%)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 40px rgba(216,178,74,.12);
}
.level-up-crown{
  width:72px;height:72px;margin:2px auto 8px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#191006;
  font-size:38px;
  background:radial-gradient(circle at 38% 30%,#fff1a8,#e0b84e 52%,#8f671c 100%);
  border:3px solid rgba(255,242,174,.68);
  box-shadow:0 0 0 6px rgba(224,184,78,.08),0 0 34px rgba(224,184,78,.28);
  animation:levelBadgePop .62s cubic-bezier(.18,.88,.32,1.25) both;
}
.level-up-kicker{
  color:#caa95b;font-size:9px;font-weight:900;letter-spacing:.22em;
}
.level-up-modal h2{
  margin:5px 0 1px!important;
  color:#f7dc83;
  font:900 34px var(--serif);
  letter-spacing:.05em;
  text-shadow:0 0 22px rgba(226,186,74,.25);
}
.level-up-number{
  margin-top:1px;color:#f4ecd8;font-size:14px;font-weight:800;letter-spacing:.08em;
}
.level-up-number strong{
  color:#ffda70;font:900 32px var(--serif);vertical-align:-3px;margin-left:4px;
}
.level-up-route{
  display:inline-block;margin-top:8px;padding:4px 11px;border-radius:999px;
  border:1px solid rgba(225,189,87,.28);background:rgba(225,189,87,.07);
  color:#d9bd70;font-size:9px;font-weight:800;letter-spacing:.06em;
}
.level-up-modal>p{
  margin:10px 0!important;color:#c8bdab!important;font-size:12px;line-height:1.55;
}
.level-up-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 12px;
}
.level-up-stats span{
  border:1px solid rgba(213,168,75,.18);border-radius:11px;
  background:rgba(0,0,0,.15);padding:8px 5px;
}
.level-up-stats small{display:block;color:var(--muted);font-size:8px}
.level-up-stats b{display:block;margin-top:3px;color:#f6d56f;font-size:13px}
.level-jump{color:#fff0b5;font-size:11px;font-weight:900;margin:-4px 0 9px}
.level-up-close{width:100%;position:relative;z-index:4}

.level-confetti{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
}
.level-confetti i{
  --x:calc((var(--i) * 23) % 100);
  position:absolute;
  left:calc((var(--i) * 37 + 5) * 1%);
  top:-14px;
  width:5px;height:10px;border-radius:2px;
  background:#e7c660;
  opacity:0;
  transform:rotate(calc(var(--i) * 29deg));
  animation:levelConfetti 1.25s ease-out calc(var(--i) * .035s) forwards;
}
.level-confetti i:nth-child(3n){width:6px;height:6px;border-radius:50%;background:#f4eee0}
.level-confetti i:nth-child(4n){background:#b88e34}

@keyframes levelBadgePop{
  0%{opacity:0;transform:scale(.35) rotate(-16deg)}
  58%{opacity:1;transform:scale(1.12) rotate(4deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes levelConfetti{
  0%{opacity:0;transform:translateY(-10px) rotate(0deg)}
  12%{opacity:1}
  100%{opacity:0;transform:translateY(330px) translateX(calc((var(--i) - 8) * 3px)) rotate(390deg)}
}

@media (orientation:landscape) and (max-height:640px){
  .level-up-backdrop{align-items:flex-start!important;justify-content:center!important;padding-top:max(6px,env(safe-area-inset-top))!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain}
  .level-up-modal{display:flex!important;flex-direction:column!important;width:min(94vw,392px)!important;max-height:calc(100dvh - max(12px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overscroll-behavior:contain;padding:10px 12px 8px!important;border-radius:16px}
  .level-up-crown{flex:0 0 auto;width:50px;height:50px;margin:0 auto 4px;font-size:25px;border-width:2px}
  .level-up-kicker{flex:0 0 auto;font-size:7px;letter-spacing:.16em}
  .level-up-modal h2{flex:0 0 auto;margin:2px 0 0!important;font-size:23px!important;line-height:1.05!important}
  .level-up-number{flex:0 0 auto;font-size:11px}.level-up-number strong{font-size:22px}
  .level-up-route{flex:0 0 auto;margin-top:4px;padding:2px 8px;font-size:7px}
  .level-up-modal>p{flex:0 0 auto;margin:5px 0!important;font-size:9px!important;line-height:1.35!important}
  .level-up-stats{flex:0 0 auto;gap:5px;margin:6px 0 7px}.level-up-stats span{padding:5px 4px}.level-up-stats small{font-size:6.5px}.level-up-stats b{font-size:10px}
  .level-jump{flex:0 0 auto;font-size:9px;margin:-1px 0 4px}
  .level-up-close{position:sticky!important;bottom:0!important;flex:0 0 auto;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:40px!important;height:auto!important;padding:8px 12px!important;margin-top:4px!important;font-size:13px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;z-index:6;background:#b58e31!important;color:#07130e!important;box-shadow:0 -8px 18px rgba(8,13,10,.55)}
}
@media(prefers-reduced-motion:reduce){
  .level-up-crown,.level-confetti i{animation:none!important}
  .level-confetti i{display:none}
}


/* =========================================================
   v0.6.0 — PAYOUT SPEED MODE
   ========================================================= */

.speed-mode-card{
  position:relative;
  border-color:rgba(242,196,82,.50)!important;
  background:
    radial-gradient(circle at 20% 0%,rgba(242,196,82,.16),transparent 42%),
    linear-gradient(180deg,#101811,#09100b)!important;
}
.speed-ribbon{
  background:#d8ad40!important;
  color:#171005!important;
}
.speed-intro-card{
  margin-top:11px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
  padding:14px!important;
}
.speed-intro-icon{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(216,173,64,.45);
  background:rgba(216,173,64,.10);
  font-size:25px;
}
.speed-intro-card b{font-size:14px}
.speed-intro-card p{margin:4px 0;color:var(--muted);font-size:10px;line-height:1.45}
.speed-intro-card .btn{grid-column:1/-1;width:100%}

/* Full-height speed question */
body.payout-speed-active{
  overflow:hidden;
}
body.payout-speed-active #bottomNav{
  display:none!important;
}
body.payout-speed-active .app-shell{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body.payout-speed-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;
  overflow:hidden;
  padding-bottom:0!important;
}
.speed-screen{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% -20%,rgba(217,176,69,.08),transparent 38%),
    var(--bg);
}
.speed-top{
  min-height:51px!important;
  padding:5px 9px!important;
  margin:0!important;
}
.speed-top .training-title strong{font-size:14px!important}
.speed-top .training-title span{font-size:8px!important;letter-spacing:.08em}

.speed-timer-ring{
  --speed-p:100;
  width:44px;height:44px;border-radius:50%;
  flex:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at center,#0b120d 59%,transparent 61%),
    conic-gradient(var(--gold2) calc(var(--speed-p)*1%),rgba(255,255,255,.12) 0);
  transition:filter .2s;
}
.speed-timer-ring strong{
  color:#fff;font-size:12px;line-height:1;
}
.speed-timer-ring small{
  color:var(--muted);font-size:6px;margin-top:2px;
}
.speed-timer-ring.danger{
  filter:drop-shadow(0 0 5px rgba(255,81,81,.45));
}
.speed-timer-ring.danger strong{color:#ff6b6b}

.speed-score-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border-bottom:1px solid rgba(213,168,75,.15);
}
.speed-score-row>div{
  min-height:38px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:#0a110c;
}
.speed-score-row small{
  color:var(--muted);font-size:7px;letter-spacing:.08em;
}
.speed-score-row strong{
  color:#fff;font-size:17px;
}
.speed-score-row .speed-combo strong{color:var(--gold2)}
.speed-score-row .speed-combo.hot{
  background:rgba(220,172,54,.10);
}
.speed-score-row .speed-combo.hot strong{
  transform:scale(1.08);
}

.speed-flash{
  min-height:24px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:11px;letter-spacing:.08em;
  transition:opacity .18s,transform .18s;
}
.speed-flash.correct{color:#6ee7a5;background:rgba(33,170,98,.08)}
.speed-flash.incorrect{color:#ff7777;background:rgba(210,55,55,.08)}
.speed-flash.fade{opacity:0;transform:translateY(-3px)}

.speed-question-card{
  min-height:0;
  overflow:hidden;
  margin:4px 7px!important;
  padding:7px 9px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 50% -20%,rgba(217,176,69,.12),transparent 45%),
    linear-gradient(180deg,#0d1710,#08100b)!important;
}
.speed-rule-badge{
  align-self:center;
  padding:4px 11px;
  border-radius:999px;
  border:1px solid rgba(213,168,75,.28);
  color:#f5e9ce;
  background:#142019;
  font-size:9px;font-weight:900;letter-spacing:.08em;
}
.speed-rule-badge.blackjack{color:#f5da87;background:#3b2b0e}
.speed-rule-badge.insurance{color:#cce9ff;background:#163246}

.speed-problem-grid{
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  margin-top:4px;
}
.speed-bet{
  min-height:104px;
  border-right:1px solid rgba(213,168,75,.17);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.speed-bet span,.speed-hand>span{
  color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;
}
.speed-bet strong{
  color:var(--gold2);
  font:900 38px var(--serif);
  line-height:1;
  margin-top:4px;
  max-width:100%;
}
.speed-bet small{font-size:8px;color:var(--muted);margin-top:3px}

.speed-hand{
  min-height:104px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:visible;
}
.speed-hand-cards{
  min-height:70px;
  display:flex;align-items:center;justify-content:center;
}
.speed-hand-cards .dealt-payout .play-card{
  width:49px!important;
  height:73px!important;
  padding:3px!important;
  border-radius:6px!important;
}
.speed-hand-cards .dealt-payout .rank{font-size:14px!important}
.speed-hand-cards .dealt-payout .suit{font-size:20px!important}
.speed-hand-cards .dealt-payout.dealt-2 .dealt-card{margin-left:-18px!important}
.speed-hand-cards .dealt-payout.dealt-3 .dealt-card{margin-left:-26px!important}
.speed-hand-cards .dealt-payout.dealt-4 .dealt-card{margin-left:-30px!important}
.speed-hand-cards .dealt-payout.dealt-5 .dealt-card{margin-left:-33px!important}
.speed-hand-cards .dealt-payout .dealt-card:first-child{margin-left:0!important}
.speed-hand>b{
  color:var(--gold2);font-size:9px;
}
.speed-prompt{
  text-align:center;
  color:#f5e7bf;
  font:900 15px var(--serif);
  margin-top:3px;
}

.speed-chip-answer{
  margin:0 7px 5px!important;
  padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;
}
.speed-chip-tray{
  min-height:56px!important;
  padding:4px 7px!important;
  margin:0!important;
}
.speed-chip-tray .chip-stage{min-height:30px!important}
.speed-chip-tray .tray-total strong{font-size:18px!important}
.speed-chip-bank{
  margin-top:5px!important;
  gap:5px!important;
}
.speed-chip-bank .casino-chip{
  max-width:50px!important;
  border-width:4px!important;
}
.speed-chip-bank .casino-chip span{font-size:8px!important}
.speed-chip-actions{
  margin-top:5px!important;
  gap:5px!important;
}
.speed-chip-actions .btn{
  min-height:36px!important;
  padding:5px!important;
}
.speed-chip-actions .payout-pay-btn{
  font-size:13px!important;font-weight:900!important;
}

/* Result */
.speed-result-top .speed-best-pill{
  padding:5px 8px;border-radius:999px;
  border:1px solid rgba(213,168,75,.28);
  color:var(--gold2);font-size:9px;font-weight:900;
}
.speed-result-hero{
  margin-top:8px;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:18px 12px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(223,181,68,.18),transparent 47%),
    linear-gradient(180deg,#101911,#09100b)!important;
}
.speed-new-record{
  display:inline-block;
  padding:5px 13px;border-radius:999px;
  background:#d8ad40;color:#1a1205;
  font-size:10px;font-weight:1000;letter-spacing:.12em;
  margin-bottom:8px;
  animation:speed-record-pop .55s ease-out;
}
@keyframes speed-record-pop{
  0%{transform:scale(.7);opacity:0}
  70%{transform:scale(1.08)}
  100%{transform:scale(1);opacity:1}
}
.speed-result-kicker{
  color:var(--muted);font-size:9px;letter-spacing:.13em;
}
.speed-result-score{
  margin:8px 0 12px;
}
.speed-result-score span{
  display:block;color:var(--gold2);font-size:10px;font-weight:900;letter-spacing:.10em;
}
.speed-result-score strong{
  display:block;
  color:#fff;
  font:900 72px var(--serif);
  line-height:.95;
}
.speed-result-score small{
  color:var(--muted);font-size:10px;
}
.speed-result-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:7px;
}
.speed-result-grid>div{
  padding:9px;border-radius:11px;
  border:1px solid rgba(213,168,75,.16);
  background:rgba(0,0,0,.14);
}
.speed-result-grid small{
  display:block;color:var(--muted);font-size:8px;
}
.speed-result-grid strong{
  display:block;color:#fff;font-size:19px;margin-top:2px;
}
.speed-xp-earned{
  margin-top:10px;color:var(--success);font-size:15px;font-weight:900;
}
.speed-best-panel,.speed-training-note{
  margin-top:9px!important;
}
.speed-record-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;
}
.speed-record-row span{
  text-align:center;padding:8px 3px;border-radius:9px;background:#08100b;
}
.speed-record-row small{
  display:block;color:var(--muted);font-size:7px;
}
.speed-record-row b{
  display:block;color:var(--gold2);font-size:17px;margin-top:2px;
}
.speed-training-note p{
  margin:5px 0;color:var(--muted);font-size:11px;line-height:1.5;
}
.speed-training-note small{color:var(--muted);font-size:9px}

/* MY */
.speed-my-panel{
  margin-top:10px!important;
}
.speed-my-panel .my-trainer-title strong small{
  font-size:7px;color:var(--muted);font-weight:600;
}
.speed-my-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;
}
.speed-my-grid span{
  text-align:center;border-radius:9px;background:#08100b;padding:8px 3px;
}
.speed-my-grid small{display:block;color:var(--muted);font-size:7px}
.speed-my-grid b{display:block;color:var(--gold2);font-size:15px;margin-top:2px}

@media(max-height:700px){
  .speed-top{min-height:45px!important;padding:3px 8px!important}
  .speed-timer-ring{width:39px;height:39px}
  .speed-score-row>div{min-height:32px}
  .speed-question-card{margin:3px 6px!important;padding:5px 7px!important}
  .speed-bet,.speed-hand{min-height:89px!important}
  .speed-bet strong{font-size:33px!important}
  .speed-hand-cards{min-height:60px!important}
  .speed-hand-cards .dealt-payout .play-card{width:43px!important;height:64px!important}
  .speed-prompt{font-size:13px!important}
  .speed-chip-answer{margin:0 6px 4px!important;padding:4px 7px calc(5px + env(safe-area-inset-bottom))!important}
  .speed-chip-tray{min-height:50px!important}
  .speed-chip-bank .casino-chip{max-width:45px!important}
  .speed-chip-actions .btn{min-height:33px!important}
}


/* =========================================================
   v0.6.1 — stabilization / daily challenge / BGM setting
   ========================================================= */
.daily-training-card .daily-done{
  color:var(--success);
  font-size:10px;
}
.settings-panel .setting-row[data-setting="bgmEnabled"] small{
  max-width:220px;
}

/* Removed redundant SPEED intro card in LAB. */
.speed-intro-card{display:none!important}


/* v0.6.2 — selected real-music BGM */
.settings-panel .setting-row[data-setting="bgmEnabled"] small{
  line-height:1.45;
}


/* =========================================================
   v0.7.0 — BLACKJACK SETTLEMENT (legacy exam implementation)
   No total / no result / no payout hint on the table.
   ========================================================= */

.exam-mode-card{
  position:relative;
  border-color:rgba(220,180,73,.62)!important;
  background:
    radial-gradient(circle at 50% -15%,rgba(218,177,65,.16),transparent 45%),
    linear-gradient(180deg,#111a12,#09100b)!important;
}
.exam-ribbon{
  background:#d9b349!important;
  color:#181105!important;
}
.exam-intro-card{
  margin-top:10px;
  padding:14px!important;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
}
.exam-intro-mark{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(218,179,73,.50);
  background:rgba(218,179,73,.10);
  color:var(--gold2);
  font-size:24px;
}
.exam-intro-card b{font-size:13px}
.exam-intro-card p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.exam-intro-card .btn{
  grid-column:1/-1;
  width:100%;
}

body.blackjack-exam-active{
  overflow:hidden;
}
body.blackjack-exam-active #bottomNav{
  display:none!important;
}
body.blackjack-exam-active .app-shell{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body.blackjack-exam-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;
  overflow:auto;
  padding-bottom:0!important;
}
.exam-screen{
  min-height:100%;
  background:
    radial-gradient(circle at 50% -10%,rgba(212,170,61,.08),transparent 38%),
    var(--bg);
  padding-bottom:calc(7px + env(safe-area-inset-bottom));
}
.exam-top{
  min-height:50px!important;
  padding:5px 9px!important;
  margin:0!important;
}
.exam-top .training-title strong{font-size:13px!important}
.exam-top .training-title span{font-size:7px!important;letter-spacing:.06em}
.exam-q-counter{
  min-width:42px;
  text-align:center;
  color:#fff;
}
.exam-q-counter strong{font-size:16px}
.exam-q-counter small{font-size:8px;color:var(--muted)}

.exam-progress{
  height:3px;
  background:#192019;
  overflow:hidden;
}
.exam-progress i{
  display:block;height:100%;
  background:var(--gold2);
  transition:width .2s;
}
.exam-meta-row{
  min-height:30px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 10px;
  font-size:8px;
  border-bottom:1px solid rgba(213,168,75,.12);
  background:#09100b;
}
.exam-meta-row span{color:var(--gold2);font-weight:900;letter-spacing:.10em}
.exam-meta-row b{color:#fff;font-size:10px}
.exam-meta-row em{
  color:var(--muted);
  font-style:normal;
  text-align:right;
}

.exam-blackjack-table{
  position:relative;
  min-height:318px;
  margin:5px 7px;
  border:1px solid rgba(221,184,91,.44);
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 10%,rgba(255,255,255,.045),transparent 36%),
    linear-gradient(180deg,#11502f 0%,#0d4228 46%,#0b3421 72%,#082518 100%);
  box-shadow:
    inset 0 0 42px rgba(0,0,0,.25),
    0 3px 12px rgba(0,0,0,.18);
}
.exam-blackjack-table::before{
  content:'';
  position:absolute;
  left:7%;right:7%;top:89px;height:132px;
  border:2px solid rgba(247,240,216,.18);
  border-top:0;
  border-bottom-left-radius:50% 35%;
  border-bottom-right-radius:50% 35%;
  pointer-events:none;
}
.exam-player-label,
.exam-dealer-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  color:#eee4c6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.24em;
  z-index:8;
}
.exam-player-label{top:7px}
.exam-dealer-label{bottom:6px}

.exam-player-hand{
  position:absolute;
  top:26px;
  left:48%;
  width:48%;
  height:98px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:5;
}
.exam-dealer-hand{
  position:absolute;
  bottom:23px;
  left:50%;
  transform:translateX(-50%);
  width:62%;
  height:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:5;
}
.exam-hand-label{
  color:rgba(245,239,220,.78);
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  margin-bottom:3px;
}
.exam-card-stage{
  min-height:75px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.exam-card-stage .dealt-exam .play-card{
  width:49px!important;
  height:73px!important;
  padding:3px!important;
  border-radius:6px!important;
}
.exam-card-stage .dealt-exam .rank{font-size:14px!important}
.exam-card-stage .dealt-exam .suit{font-size:20px!important}
.exam-card-stage .dealt-exam .dealt-card{margin-left:-22px!important}
.exam-card-stage .dealt-exam .dealt-card:first-child{margin-left:0!important}
.exam-card-stage .dealt-exam.dealt-4 .dealt-card{margin-left:-27px!important}
.exam-card-stage .dealt-exam.dealt-5 .dealt-card{margin-left:-30px!important}

.exam-main-bet-area{
  position:absolute;
  top:34px;
  left:7%;
  width:36%;
  height:105px;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:6;
}
.exam-bet-circle{
  width:92px;height:92px;
  border-radius:50%;
  border:2px solid rgba(245,237,212,.84);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  position:relative;
}
.exam-bet-circle>span{
  position:absolute;
  top:8px;
  color:#f3ead3;
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
}

.exam-bet-chip-cluster{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-top:17px;
}
.exam-bet-chip-cluster .table-chip{
  position:relative!important;
  width:31px!important;
  height:31px!important;
  margin-left:-15px!important;
  transform:translateY(calc(var(--exam-chip-i) * -2px));
  flex:none;
}
.exam-bet-chip-cluster .table-chip:first-child{
  margin-left:0!important;
}
.exam-bet-chip-cluster .table-chip span{
  font-size:6px!important;
}

.exam-insurance-arc{
  position:absolute;
  left:8%;right:8%;
  top:139px;
  height:48px;
  border-top:2px solid rgba(255,255,255,.68);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  z-index:4;
}
.exam-insurance-arc>span{
  position:absolute;
  top:-11px;left:50%;
  transform:translateX(-50%);
  color:#fff;
  background:#0d4027;
  padding:0 7px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}
.exam-insurance-arc.active{
  border-top-color:#fff;
}
.exam-insurance-wager{
  position:absolute;
  left:50%;top:12px;
  transform:translateX(-50%);
}
.exam-insurance-wager .exam-bet-chip-cluster .table-chip{
  width:27px!important;
  height:27px!important;
}

.exam-settlement-panel{
  margin:0 7px 6px!important;
  padding:9px!important;
}
.exam-settlement-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:6px;
}
.exam-settlement-title b{
  color:#f1dfaf;
  font-size:10px;
  letter-spacing:.09em;
}
.exam-settlement-title small{
  color:var(--muted);
  font-size:8px;
}
.exam-settlement-title.insurance-title{
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid rgba(213,168,75,.14);
}

.exam-action-grid{
  display:grid;
  gap:6px;
}
.exam-action-grid.main-actions{grid-template-columns:repeat(3,1fr)}
.exam-action-grid.insurance-actions{grid-template-columns:repeat(2,1fr)}
.exam-action-btn{
  min-height:40px;
  border-radius:10px;
  border:1px solid rgba(213,168,75,.20);
  background:#0a120d;
  color:#eee5d2;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}
.exam-action-btn.selected{
  border-color:var(--gold2);
  background:rgba(213,168,75,.13);
  color:var(--gold2);
  box-shadow:inset 0 0 0 1px rgba(213,168,75,.10);
}

.exam-payout-targets{
  display:flex;
  gap:5px;
  margin-top:9px;
}
.exam-payout-targets button{
  flex:1;
  min-height:30px;
  border-radius:8px;
  border:1px solid rgba(213,168,75,.17);
  background:#07100a;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
}
.exam-payout-targets button.active{
  border-color:var(--gold2);
  color:var(--gold2);
  background:rgba(213,168,75,.09);
}
.exam-payout-trays{
  display:grid;
  gap:5px;
  margin-top:5px;
}
.exam-payout-tray{
  min-height:53px;
  padding:5px 7px;
  border-radius:10px;
  border:1px solid rgba(213,168,75,.14);
  background:#07100a;
}
.exam-payout-tray.active{
  border-color:rgba(213,168,75,.54);
}
.exam-payout-tray>span{
  display:block;
  color:var(--muted);
  font-size:7px;
  letter-spacing:.08em;
}
.exam-payout-stage{
  min-height:31px;
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:2px;
}
.exam-payout-empty{
  color:#5f675e;
  font-size:8px;
}
.exam-chip-bank{
  margin-top:7px!important;
  gap:5px!important;
}
.exam-chip-bank .casino-chip{
  max-width:51px!important;
  border-width:4px!important;
}
.exam-chip-bank .casino-chip span{font-size:8px!important}
.exam-chip-actions{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:6px!important;
  margin-top:6px!important;
}
.exam-chip-actions .btn{
  min-height:34px!important;
  padding:4px!important;
}
.exam-lock-btn{
  width:100%;
  min-height:43px!important;
  margin-top:8px;
  font-size:11px!important;
  letter-spacing:.07em;
}

/* Result */
.exam-result-mini{
  padding:5px 7px;
  border-radius:999px;
  border:1px solid rgba(213,168,75,.26);
  color:var(--gold2);
  font-size:8px;
  font-weight:900;
}
.exam-result-hero{
  margin-top:8px!important;
  text-align:center;
  padding:18px 12px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(218,178,65,.18),transparent 46%),
    linear-gradient(180deg,#101911,#09100b)!important;
}
.exam-result-hero.pass{
  border-color:rgba(113,224,160,.38)!important;
}
.exam-rank-label{
  color:var(--muted);
  font-size:9px;
  letter-spacing:.16em;
  font-weight:900;
}
.exam-result-hero.pass .exam-rank-label{color:var(--success)}
.exam-rank{
  font:900 82px var(--serif);
  color:var(--gold2);
  line-height:.90;
  margin-top:7px;
}
.exam-score{
  margin-top:8px;
  color:#fff;
  font:900 28px var(--serif);
}
.exam-score small{font-size:13px}
.exam-result-count{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.exam-xp{
  margin-top:9px;
  color:var(--success);
  font-weight:900;
  font-size:14px;
}
.exam-result-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
  margin-top:8px;
}
.exam-result-stats>div{
  text-align:center;
  padding:9px!important;
}
.exam-result-stats small{
  display:block;
  color:var(--muted);
  font-size:8px;
}
.exam-result-stats strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:16px;
}
.exam-standard-card,.exam-review,.exam-perfect{
  margin-top:8px!important;
}
.exam-rank-scale{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  margin:8px 0 5px;
}
.exam-rank-scale span{
  text-align:center;
  padding:6px 2px;
  border-radius:8px;
  background:#08100b;
  color:var(--muted);
  font-size:7px;
}
.exam-rank-scale b{
  display:block;
  color:var(--gold2);
  font-size:13px;
}
.exam-standard-card>small{
  color:var(--muted);
  font-size:8px;
}
.exam-review>p{
  color:var(--muted);
  font-size:9px;
  margin:5px 0 8px;
}
.exam-review-row{
  padding:9px 0;
  border-top:1px solid rgba(213,168,75,.11);
  display:grid;
  grid-template-columns:28px 1fr;
  gap:5px 8px;
}
.exam-review-num{
  grid-row:1/4;
  color:var(--gold2);
  font-size:9px;
  font-weight:900;
}
.exam-review-hands{
  display:flex;
  gap:10px;
  font-size:8px;
  color:var(--muted);
}
.exam-review-hands b{color:#fff}
.exam-review-answer{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 7px;
  align-items:center;
}
.exam-review-answer small{
  color:var(--muted);
  font-size:7px;
}
.exam-review-answer b{
  color:#ff7777;
  font-size:9px;
}
.exam-review-answer strong{
  color:var(--success);
  font-size:9px;
}
.exam-review-insurance{
  font-size:8px;
  color:var(--muted);
}
.exam-review-insurance b{color:var(--success)}
.exam-perfect{
  text-align:center;
  padding:18px!important;
}
.exam-perfect-icon{
  font-size:32px;
  color:var(--gold2);
}
.exam-perfect h2{
  color:var(--gold2);
  margin:7px 0 4px;
  font-size:17px;
}
.exam-perfect p{
  color:var(--muted);
  margin:0;
  font-size:10px;
}
.exam-my-panel{
  margin-top:10px!important;
}

@media(max-height:700px){
  .exam-blackjack-table{
    min-height:275px!important;
  }
  .exam-player-hand{
    top:23px!important;
    height:84px!important;
  }
  .exam-dealer-hand{
    height:83px!important;
  }
  .exam-card-stage .dealt-exam .play-card{
    width:43px!important;
    height:64px!important;
  }
  .exam-main-bet-area{
    height:89px!important;
  }
  .exam-bet-circle{
    width:79px!important;
    height:79px!important;
  }
  .exam-insurance-arc{
    top:122px!important;
  }
  .exam-action-btn{
    min-height:36px!important;
  }
  .exam-chip-bank .casino-chip{
    max-width:46px!important;
  }
  .exam-lock-btn{
    min-height:39px!important;
  }
}


/* =========================================================
   v0.7.1 — EXAM one-screen compact UI
   ========================================================= */

/* HOME/LAB cleanup remnants */
.exam-intro-card{display:none!important;}

/* Question mode: prevent page scrolling. */
body.blackjack-exam-active #screen{
  overflow:hidden!important;
}
body.blackjack-exam-active .exam-screen{
  height:100%;
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:
    auto
    3px
    28px
    minmax(205px,30dvh)
    minmax(0,1fr);
}

/* Table occupies a controlled portion of the viewport. */
body.blackjack-exam-active .exam-blackjack-table{
  min-height:0!important;
  height:auto!important;
  margin:4px 7px!important;
  border-radius:18px!important;
}

/* Settlement becomes a compact control deck. */
body.blackjack-exam-active .exam-settlement-panel{
  min-height:0!important;
  height:auto!important;
  margin:0 7px 5px!important;
  padding:6px 7px!important;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.exam-main-line,
.exam-insurance-line{
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  align-items:center;
  gap:5px;
}
.exam-main-line>b,
.exam-insurance-line>b{
  color:#f1dfaf;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
}
.exam-main-line .exam-action-grid,
.exam-insurance-line .exam-action-grid{
  gap:4px!important;
}
.exam-main-line .main-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.exam-insurance-line .insurance-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.blackjack-exam-active .exam-action-btn{
  min-height:30px!important;
  height:30px!important;
  border-radius:8px!important;
  font-size:9px!important;
  padding:0 3px!important;
}

body.blackjack-exam-active .exam-payout-targets{
  margin:0!important;
  gap:4px!important;
}
body.blackjack-exam-active .exam-payout-targets button{
  min-height:24px!important;
  height:24px!important;
  font-size:7px!important;
}

body.blackjack-exam-active .exam-payout-trays{
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
}
body.blackjack-exam-active .exam-payout-trays.dual-payout{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.blackjack-exam-active .exam-payout-tray{
  width:100%;
  min-height:38px!important;
  height:38px!important;
  padding:3px 6px!important;
  border-radius:8px!important;
  text-align:left;
  color:inherit;
}
body.blackjack-exam-active .exam-payout-tray>span{
  font-size:6px!important;
  line-height:1;
}
body.blackjack-exam-active .exam-payout-stage{
  min-height:24px!important;
  height:24px!important;
  margin-top:0!important;
  gap:4px!important;
  overflow:hidden;
}
body.blackjack-exam-active .exam-payout-stage .casino-chip.mini{
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
}
body.blackjack-exam-active .exam-payout-stage .paid-chip-group{
  gap:2px!important;
}
body.blackjack-exam-active .exam-payout-stage .paid-chip-group>b{
  font-size:8px!important;
}
body.blackjack-exam-active .exam-payout-empty{
  font-size:7px!important;
}

body.blackjack-exam-active .exam-chip-bank{
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 1px!important;
  gap:4px!important;
  align-items:center!important;
  justify-content:space-between!important;
}
body.blackjack-exam-active .exam-chip-bank .casino-chip{
  width:41px!important;
  height:41px!important;
  min-width:41px!important;
  max-width:41px!important;
  border-width:3px!important;
}
body.blackjack-exam-active .exam-chip-bank .casino-chip span{
  font-size:7px!important;
}

.exam-bottom-controls{
  display:grid;
  gap:4px;
  margin-top:auto;
}
.exam-bottom-controls.with-payout{
  grid-template-columns:72px 58px minmax(0,1fr);
}
.exam-bottom-controls.no-payout{
  grid-template-columns:1fr;
}
body.blackjack-exam-active .exam-bottom-controls .btn{
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0 5px!important;
  border-radius:8px!important;
  font-size:8px!important;
}
body.blackjack-exam-active .exam-bottom-controls .exam-lock-btn{
  font-size:9px!important;
  letter-spacing:.04em!important;
}

/* Compact table internals slightly, without adding any answer numbers. */
body.blackjack-exam-active .exam-player-hand{
  top:22px!important;
  height:78px!important;
}
body.blackjack-exam-active .exam-dealer-hand{
  bottom:17px!important;
  height:78px!important;
}
body.blackjack-exam-active .exam-main-bet-area{
  top:25px!important;
  height:88px!important;
}
body.blackjack-exam-active .exam-bet-circle{
  width:76px!important;
  height:76px!important;
}
body.blackjack-exam-active .exam-bet-circle>span{
  top:6px!important;
  font-size:6px!important;
}
body.blackjack-exam-active .exam-insurance-arc{
  top:108px!important;
  height:40px!important;
}
body.blackjack-exam-active .exam-insurance-arc>span{
  top:-9px!important;
  font-size:7px!important;
}
body.blackjack-exam-active .exam-insurance-wager{
  top:9px!important;
}
body.blackjack-exam-active .exam-blackjack-table::before{
  top:73px!important;
  height:108px!important;
}
body.blackjack-exam-active .exam-card-stage .dealt-exam .play-card{
  width:43px!important;
  height:64px!important;
}
body.blackjack-exam-active .exam-card-stage .dealt-exam .dealt-card{
  margin-left:-20px!important;
}
body.blackjack-exam-active .exam-card-stage .dealt-exam.dealt-4 .dealt-card{
  margin-left:-24px!important;
}
body.blackjack-exam-active .exam-card-stage .dealt-exam.dealt-5 .dealt-card{
  margin-left:-27px!important;
}
body.blackjack-exam-active .exam-bet-chip-cluster .table-chip{
  width:27px!important;
  height:27px!important;
}
body.blackjack-exam-active .exam-insurance-wager .exam-bet-chip-cluster .table-chip{
  width:24px!important;
  height:24px!important;
}

/* Short iPhones: preserve one-screen settlement even with Insurance PAY. */
@media(max-height:720px){
  body.blackjack-exam-active .exam-screen{
    grid-template-rows:auto 3px 24px minmax(188px,28dvh) minmax(0,1fr)!important;
  }
  body.blackjack-exam-active .exam-meta-row{
    min-height:24px!important;
    height:24px!important;
  }
  body.blackjack-exam-active .exam-blackjack-table{
    margin-top:3px!important;
    margin-bottom:3px!important;
  }
  body.blackjack-exam-active .exam-settlement-panel{
    gap:3px!important;
    padding:4px 6px!important;
  }
  body.blackjack-exam-active .exam-action-btn{
    min-height:27px!important;
    height:27px!important;
  }
  body.blackjack-exam-active .exam-payout-tray{
    min-height:34px!important;
    height:34px!important;
  }
  body.blackjack-exam-active .exam-chip-bank{
    min-height:37px!important;
    height:37px!important;
  }
  body.blackjack-exam-active .exam-chip-bank .casino-chip{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    max-width:36px!important;
  }
  body.blackjack-exam-active .exam-bottom-controls .btn{
    min-height:29px!important;
    height:29px!important;
  }
}

/* MY is a record dashboard only. */
.hand-stats-panel>.btn,
.speed-my-panel>.btn,
.exam-my-panel>.btn{
  display:none!important;
}


/* =========================================================
   v0.7.2 — SPEED MODE layout stabilization
   Keep feedback lane present from Q1 so answer area never shifts.
   ========================================================= */
.speed-flash.idle{
  visibility:hidden;
  background:transparent;
  color:transparent;
}


/* =========================================================
   v0.8.0 — ACHIEVEMENTS / COLLECTION
   ========================================================= */
.achievement-collection-panel{
  padding:12px!important;
}
.achievement-collection-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.achievement-collection-head b{
  display:block;
  margin-top:2px;
  color:#f6e7bd;
  font-size:12px;
  letter-spacing:.04em;
}
.collection-ring{
  --collection-p:0;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:none;
  background:
    radial-gradient(circle at center,#0b120d 57%,transparent 59%),
    conic-gradient(var(--gold2) calc(var(--collection-p)*1%),rgba(213,168,75,.12) 0);
}
.collection-ring span{
  color:#fff2c9;
  font-size:9px;
  font-weight:900;
}

.achievement-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.achievement-card{
  position:relative;
  min-height:68px;
  display:grid;
  grid-template-columns:50px minmax(0,1fr) 24px;
  gap:8px;
  align-items:center;
  padding:7px 8px;
  border-radius:12px;
  border:1px solid rgba(213,168,75,.14);
  background:#08100b;
  overflow:hidden;
}
.achievement-card.unlocked{
  border-color:rgba(213,168,75,.37);
  background:
    radial-gradient(circle at 7% 50%,rgba(213,168,75,.12),transparent 34%),
    #09110b;
}
.achievement-card.locked{
  opacity:.58;
  filter:saturate(.45);
}
.achievement-medal{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  border:2px solid #77632f;
  background:
    radial-gradient(circle at 35% 27%,rgba(255,255,255,.18),transparent 24%),
    linear-gradient(145deg,#3a321f,#15140f);
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.25);
}
.achievement-medal span{
  color:#efd68d;
  font:900 15px var(--serif);
}
.achievement-card.silver .achievement-medal{
  border-color:#aeb8bd;
  background:linear-gradient(145deg,#626d72,#252b2e);
}
.achievement-card.silver .achievement-medal span{color:#e8eff2}
.achievement-card.gold .achievement-medal{
  border-color:#e5bd51;
  background:linear-gradient(145deg,#715516,#2c210a);
}
.achievement-card.platinum .achievement-medal{
  border-color:#d7e8e9;
  background:linear-gradient(145deg,#6d8588,#253437);
  box-shadow:0 0 12px rgba(205,235,238,.12),inset 0 0 0 3px rgba(0,0,0,.25);
}
.achievement-card.platinum .achievement-medal span{color:#f3ffff}
.achievement-card.diamond .achievement-medal{
  border-color:#dfe9ff;
  background:linear-gradient(145deg,#8f9ed0,#273057);
  box-shadow:0 0 15px rgba(176,199,255,.18),inset 0 0 0 3px rgba(0,0,0,.20);
}
.achievement-card.diamond .achievement-medal span{color:#fff}
.achievement-card-copy{
  min-width:0;
}
.achievement-card-copy b{
  display:block;
  color:#f5e7c4;
  font-size:10px;
  letter-spacing:.04em;
}
.achievement-card-copy small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}
.achievement-card-copy em{
  display:block;
  margin-top:4px;
  color:#b99c57;
  font-size:7px;
  font-style:normal;
}
.achievement-card.locked .achievement-card-copy em{
  color:#838a82;
}
.achievement-state{
  text-align:center;
  color:var(--gold2);
  font-size:11px;
}

/* Achievement unlock modal */
.achievement-backdrop{
  z-index:10020!important;
}
.achievement-modal{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:23px 16px 16px!important;
  background:
    radial-gradient(circle at 50% 5%,rgba(221,178,67,.24),transparent 42%),
    linear-gradient(180deg,#151a13,#090d0a)!important;
}
.achievement-modal.platinum{
  background:
    radial-gradient(circle at 50% 5%,rgba(202,234,238,.21),transparent 42%),
    linear-gradient(180deg,#151c1c,#080d0d)!important;
}
.achievement-modal.diamond{
  background:
    radial-gradient(circle at 50% 5%,rgba(176,197,255,.24),transparent 42%),
    linear-gradient(180deg,#151827,#080a10)!important;
}
.achievement-unlock-kicker{
  color:var(--gold2);
  font-size:8px;
  font-weight:900;
  letter-spacing:.18em;
}
.achievement-unlock-medal{
  width:88px;
  height:88px;
  margin:13px auto 9px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:3px solid #deb94f;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.30),transparent 20%),
    linear-gradient(145deg,#7f611d,#2d2108);
  box-shadow:
    0 0 30px rgba(221,180,68,.20),
    inset 0 0 0 5px rgba(0,0,0,.25);
  animation:achievementMedalPop .62s cubic-bezier(.2,1.35,.4,1);
}
.achievement-modal.platinum .achievement-unlock-medal{
  border-color:#d9edef;
  background:linear-gradient(145deg,#789296,#263638);
  box-shadow:0 0 34px rgba(205,239,242,.22),inset 0 0 0 5px rgba(0,0,0,.25);
}
.achievement-modal.diamond .achievement-unlock-medal{
  border-color:#e3eaff;
  background:linear-gradient(145deg,#95a5df,#2b3566);
  box-shadow:0 0 38px rgba(180,200,255,.27),inset 0 0 0 5px rgba(0,0,0,.25);
}
.achievement-unlock-medal span{
  color:#fff1b8;
  font:900 30px var(--serif);
}
.achievement-modal.platinum .achievement-unlock-medal span,
.achievement-modal.diamond .achievement-unlock-medal span{
  color:#fff;
}
.achievement-modal h2{
  margin:5px 0 4px;
  color:#fff0bd;
  font-size:20px;
}
.achievement-modal p{
  margin:0 auto;
  max-width:270px;
  color:#c9c3b4;
  font-size:10px;
  line-height:1.55;
}
.achievement-rarity{
  display:inline-block;
  margin-top:9px;
  padding:4px 10px;
  border:1px solid rgba(222,185,79,.36);
  border-radius:999px;
  color:#e2bd57;
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.achievement-modal.platinum .achievement-rarity{
  color:#dbedef;
  border-color:rgba(219,237,239,.35);
}
.achievement-modal.diamond .achievement-rarity{
  color:#dce5ff;
  border-color:rgba(220,229,255,.35);
}
.achievement-collection-count{
  margin:8px 0 12px;
  color:var(--muted);
  font-size:8px;
}
.achievement-confetti i{
  position:absolute;
  left:50%;
  top:33%;
  width:4px;
  height:9px;
  border-radius:2px;
  background:var(--gold2);
  opacity:0;
  transform-origin:0 0;
  animation:achievementSpark 1s ease-out calc(var(--i)*.025s) forwards;
}
.achievement-modal.platinum .achievement-confetti i{
  background:#d9edef;
}
.achievement-modal.diamond .achievement-confetti i{
  background:#cfdcff;
}

@keyframes achievementMedalPop{
  0%{transform:scale(.35) rotate(-16deg);opacity:0}
  70%{transform:scale(1.08) rotate(3deg);opacity:1}
  100%{transform:scale(1) rotate(0)}
}
@keyframes achievementSpark{
  0%{
    opacity:0;
    transform:rotate(calc(var(--i)*20deg)) translateY(0) scale(.5);
  }
  20%{opacity:1}
  100%{
    opacity:0;
    transform:rotate(calc(var(--i)*20deg)) translateY(-125px) scale(1);
  }
}

/* =========================================================
   v0.8.0 — SPEED COMBO escalation
   ========================================================= */
.speed-combo.streak strong{
  color:#ffd75a!important;
  text-shadow:0 0 12px rgba(255,215,90,.32);
  animation:speedComboPulse .55s ease-in-out infinite alternate;
}
.speed-combo.mega strong{
  color:#fff0a5!important;
  text-shadow:
    0 0 8px rgba(255,217,80,.55),
    0 0 18px rgba(255,141,47,.32);
  animation:speedComboPulse .34s ease-in-out infinite alternate;
}
.speed-flash.tier-hot{
  color:#f5d47b!important;
  border-color:rgba(235,194,78,.45)!important;
}
.speed-flash.tier-streak{
  color:#ffd758!important;
  border-color:rgba(255,215,88,.72)!important;
  box-shadow:0 0 16px rgba(255,190,48,.14);
  animation:speedFlashPunch .46s ease-out;
}
.speed-flash.tier-mega{
  color:#fff1a9!important;
  border-color:rgba(255,228,113,.85)!important;
  box-shadow:
    0 0 15px rgba(255,217,88,.20),
    inset 0 0 14px rgba(255,119,40,.08);
  animation:speedFlashPunch .40s ease-out;
}
.speed-screen.combo-streak .speed-question-card,
.speed-screen.combo-mega .speed-question-card{
  animation:speedCardGlow .55s ease-out;
}
.speed-combo-burst{
  pointer-events:none;
  position:absolute;
  z-index:25;
  left:50%;
  top:117px;
  width:1px;
  height:1px;
}
.speed-combo-burst i{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#e6bd4d;
  opacity:0;
  animation:speedComboBurst .62s ease-out calc(var(--i)*.012s) forwards;
}
.speed-combo-burst.streak i{background:#ffd75a}
.speed-combo-burst.mega i{
  width:5px;
  height:5px;
  background:#fff0a5;
  animation-duration:.78s;
}

@keyframes speedComboPulse{
  from{transform:scale(1)}
  to{transform:scale(1.10)}
}
@keyframes speedFlashPunch{
  0%{transform:scale(.88);opacity:.2}
  60%{transform:scale(1.035);opacity:1}
  100%{transform:scale(1)}
}
@keyframes speedCardGlow{
  0%{box-shadow:0 0 0 rgba(223,176,52,0)}
  45%{box-shadow:0 0 22px rgba(223,176,52,.20)}
  100%{box-shadow:0 0 0 rgba(223,176,52,0)}
}
@keyframes speedComboBurst{
  0%{
    opacity:0;
    transform:rotate(calc(var(--i)*30deg)) translateY(0) scale(.2);
  }
  18%{opacity:1}
  100%{
    opacity:0;
    transform:rotate(calc(var(--i)*30deg)) translateY(-62px) scale(1);
  }
}


/* =========================================================
   v0.8.1 — SPEED MODE paid-chip overflow fix
   4–5 denominations stay fully visible inside payout tray.
   ========================================================= */
.speed-chip-tray{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px!important;
}
.speed-chip-tray>div:first-child{
  min-width:0!important;
}
.speed-chip-tray .chip-stage{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  gap:5px!important;
}
.speed-chip-tray .tray-total{
  min-width:68px!important;
}

/* Start tightening at four denominations to make the transition smooth. */
.speed-chip-tray.four-plus-chip-kinds .chip-stage{
  gap:3px!important;
}
.speed-chip-tray.four-plus-chip-kinds .paid-chip-group{
  min-width:0!important;
  gap:2px!important;
}
.speed-chip-tray.four-plus-chip-kinds .casino-chip.mini{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
}
.speed-chip-tray.four-plus-chip-kinds .paid-chip-group b{
  font-size:9px!important;
  white-space:nowrap!important;
}

/* All five denominations: guarantee everything remains inside the tray. */
.speed-chip-tray.five-chip-kinds .chip-stage{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  gap:2px!important;
}
.speed-chip-tray.five-chip-kinds .paid-chip-group{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  gap:1px!important;
}
.speed-chip-tray.five-chip-kinds .casino-chip.mini{
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  border-width:2px!important;
}
.speed-chip-tray.five-chip-kinds .casino-chip.mini span{
  font-size:6px!important;
}
.speed-chip-tray.five-chip-kinds .paid-chip-group b{
  font-size:8px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Narrow iPhone widths get a little more breathing room. */
@media(max-width:375px){
  .speed-chip-tray{
    padding-left:5px!important;
    padding-right:5px!important;
    gap:3px!important;
  }
  .speed-chip-tray .tray-total{
    min-width:61px!important;
  }
  .speed-chip-tray .tray-total strong{
    font-size:16px!important;
  }
  .speed-chip-tray.five-chip-kinds .casino-chip.mini{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
  }
  .speed-chip-tray.five-chip-kinds .paid-chip-group b{
    font-size:7px!important;
  }
}


/* =========================================================
   v0.9.0 — BLACKJACK v1.0 pre-release polish
   ========================================================= */

/* Collection master status */
.achievement-master-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 54px;
  gap:9px;
  align-items:center;
  padding:9px;
  border:1px solid rgba(213,168,75,.22);
  border-radius:13px;
  background:
    radial-gradient(circle at 8% 50%,rgba(213,168,75,.10),transparent 34%),
    linear-gradient(180deg,#0a130d,#07100a);
}
.achievement-master-card.complete{
  border-color:rgba(231,194,91,.58);
  background:
    radial-gradient(circle at 14% 20%,rgba(238,202,100,.20),transparent 34%),
    linear-gradient(180deg,#15180f,#09100a);
  box-shadow:inset 0 0 20px rgba(218,175,64,.05);
}
.achievement-master-emblem{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid rgba(219,179,70,.55);
  background:#12150f;
  color:var(--gold2);
  font-size:21px;
}
.achievement-master-card.complete .achievement-master-emblem{
  background:linear-gradient(145deg,#7d601b,#2d2209);
  color:#fff0b4;
  box-shadow:0 0 16px rgba(222,181,65,.15);
}
.achievement-master-copy{
  min-width:0;
}
.achievement-master-copy strong{
  display:block;
  margin-top:2px;
  color:#f7e5b4;
  font:900 13px var(--serif);
  letter-spacing:.04em;
}
.achievement-master-copy small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:7px;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.achievement-collection-countline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:9px 1px 6px;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}
.achievement-collection-countline b{
  color:#e9cc7c;
  font-size:9px;
}

/* Achievement cards are now tappable collection items, never training launchers. */
button.achievement-card{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
  color:inherit;
}
button.achievement-card:active{
  transform:scale(.985);
}
button.achievement-card:focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:2px;
}

/* Collection detail */
.achievement-detail-backdrop{
  z-index:10030!important;
}
.achievement-detail-modal{
  text-align:center;
  position:relative;
  overflow:auto;
  max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overscroll-behavior:contain;
}
.achievement-detail-medal{
  width:76px;
  height:76px;
  margin:2px auto 10px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:3px solid #d8b14a;
  background:linear-gradient(145deg,#6d5219,#282009);
  box-shadow:0 0 22px rgba(216,177,74,.15),inset 0 0 0 4px rgba(0,0,0,.22);
}
.achievement-detail-modal.silver .achievement-detail-medal{
  border-color:#bcc8ce;
  background:linear-gradient(145deg,#67757b,#272f32);
}
.achievement-detail-modal.platinum .achievement-detail-medal{
  border-color:#d9edef;
  background:linear-gradient(145deg,#789296,#263638);
}
.achievement-detail-modal.diamond .achievement-detail-medal{
  border-color:#e1e8ff;
  background:linear-gradient(145deg,#8fa1dd,#2c3566);
}
.achievement-detail-modal.locked .achievement-detail-medal{
  filter:grayscale(.75);
  opacity:.62;
}
.achievement-detail-medal span{
  color:#fff0b9;
  font:900 27px var(--serif);
}
.achievement-detail-kicker{
  color:var(--gold2);
  font-size:7px;
  letter-spacing:.16em;
  font-weight:900;
}
.achievement-detail-modal h2{
  margin:6px 0 4px;
  color:#f8e8bd;
  font-size:19px;
}
.achievement-detail-modal p{
  margin:0 auto;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
  max-width:280px;
}
.achievement-detail-status{
  margin:12px 0 7px;
  padding:8px;
  border-radius:10px;
  border:1px solid rgba(213,168,75,.15);
  background:#08100b;
}
.achievement-detail-status small{
  display:block;
  color:var(--muted);
  font-size:7px;
}
.achievement-detail-status strong{
  display:block;
  margin-top:2px;
  color:#fff0bd;
  font-size:13px;
}
.achievement-detail-rarity{
  display:inline-block;
  margin:2px 0 11px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(213,168,75,.26);
  color:#d9b55a;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}

/* EXAM earned achievements are visible immediately on result. */
.exam-earned-marks{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:9px;
}
.earned-mark{
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(213,168,75,.24);
  background:rgba(8,14,10,.55);
  color:#e7cd83;
  font-size:7px;
  font-weight:900;
  letter-spacing:.05em;
}
.earned-mark.pass{
  border-color:rgba(105,220,151,.34);
  color:#83e2aa;
}
.earned-mark.s-rank{
  border-color:rgba(224,237,240,.38);
  color:#e6f7f8;
}
.earned-mark.perfect{
  border-color:rgba(190,205,255,.45);
  color:#e0e7ff;
}

/* Short iPhones: celebration/detail modals must always remain operable. */
.achievement-modal,
.level-up-modal{
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
}
.achievement-backdrop,
.level-up-backdrop,
.achievement-detail-backdrop{
  padding-top:max(12px,env(safe-area-inset-top))!important;
  padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
}

/* Keep combo particles anchored to SPEED MODE on mobile. */
.speed-screen{
  position:relative;
  overflow-x:hidden;
}

/* Prevent small-screen horizontal UI leakage without affecting vertical training scroll. */
.app-shell,
#screen{
  max-width:100%;
}
#screen{
  overflow-x:hidden;
}

@media(max-width:360px){
  .achievement-master-card{
    grid-template-columns:42px minmax(0,1fr) 48px;
    gap:6px;
    padding:7px;
  }
  .achievement-master-emblem{
    width:38px;
    height:38px;
    font-size:18px;
  }
  .collection-ring{
    width:48px!important;
    height:48px!important;
  }
  .achievement-card{
    grid-template-columns:44px minmax(0,1fr) 20px!important;
    gap:6px!important;
  }
  .achievement-medal{
    width:40px!important;
    height:40px!important;
  }
}


/* =========================================================
   v0.9.1 — update prompt lifecycle / iPhone reliability
   ========================================================= */
.update-notice{
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
}
.update-notice [data-update-now],
.update-notice [data-update-later]{
  touch-action:manipulation;
}
@media(max-height:620px){
  .update-notice{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  .update-notice .update-notice-icon{
    margin-bottom:4px!important;
  }
  .update-notice h2{
    margin-top:5px!important;
    margin-bottom:5px!important;
  }
}


/* =========================================================
   v0.10.1 RC2 — iPhone rapid-tap zoom prevention
   Keep pinch zoom/accessibility intact; suppress double-tap zoom only
   on chip interaction controls that users intentionally tap repeatedly.
   ========================================================= */
[data-chip-action],
[data-exam-chip-action],
[data-chip],
[data-exam-chip]{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}

/* Undo/CLEAR are the most frequently repeated taps. */
[data-chip-action="undo"],
[data-chip-action="clear"],
[data-exam-chip-action="undo"],
[data-exam-chip-action="clear"]{
  touch-action:manipulation!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}

/* Avoid text selection/gesture artifacts when hammering the buttons. */
[data-chip-action] *,
[data-exam-chip-action] *,
[data-chip] *,
[data-exam-chip] *{
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
}


/* =========================================================
   v1.0.0 — BLACKJACK COMPLETE formal release
   ========================================================= */
.release-public-card{
  border-color:rgba(226,188,83,.48)!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(226,188,83,.12),transparent 38%),
    linear-gradient(180deg,#101811,#08100b)!important;
}
.release-public-card .beta-badge{
  letter-spacing:.06em;
}


/* =========================================================
   v1.0.1 — HOME UPDATE INFO
   ========================================================= */
.update-section-title{
  margin-top:14px!important;
}
.home-update-card{
  position:relative;
  overflow:hidden;
  padding:14px!important;
  border-color:rgba(224,185,74,.46)!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(222,181,68,.16),transparent 36%),
    linear-gradient(180deg,#101811,#08100b)!important;
}
.home-update-card::after{
  content:"♠";
  position:absolute;
  right:-8px;
  bottom:-45px;
  color:rgba(219,179,67,.035);
  font-size:148px;
  pointer-events:none;
}
.home-update-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.home-update-label{
  color:#d8b14b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}
.home-update-head h3{
  margin:3px 0 0;
  color:#f4e3b6;
  font:900 17px var(--serif);
  letter-spacing:.02em;
}
.home-update-meta{
  flex:none;
  min-width:66px;
  padding:6px 8px;
  border:1px solid rgba(220,181,73,.28);
  border-radius:10px;
  background:rgba(5,10,7,.56);
  text-align:center;
}
.home-update-meta strong{
  display:block;
  color:#efce73;
  font-size:11px;
}
.home-update-meta small{
  display:block;
  margin-top:1px;
  color:var(--muted);
  font-size:7px;
}
.home-update-summary{
  position:relative;
  z-index:1;
  margin:10px 0 8px;
  color:#d8d0c0;
  font-size:10px;
  line-height:1.55;
}
.home-update-list{
  position:relative;
  z-index:1;
  display:grid;
  gap:5px;
}
.home-update-item{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:7px;
  align-items:center;
  min-height:35px;
  padding:5px 7px;
  border:1px solid rgba(213,168,75,.13);
  border-radius:9px;
  background:rgba(5,12,8,.66);
}
.home-update-item>span{
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#d8b24d,#86611e);
  color:#191105;
  font-size:8px;
  font-weight:1000;
}
.home-update-item>b{
  min-width:0;
  color:#eee0bd;
  font-size:9px;
  line-height:1.35;
}
.home-update-footer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(213,168,75,.14);
}
.home-update-footer span{
  color:#d9b553;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.home-update-footer small{
  color:var(--muted);
  font-size:7px;
  text-align:right;
  line-height:1.35;
}
.home-update-links{
  position:relative;
  z-index:1;
  margin-top:10px;
}

@media(max-width:350px){
  .home-update-head h3{font-size:15px}
  .home-update-meta{min-width:60px;padding:5px 6px}
  .home-update-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .home-update-footer small{text-align:left}
}


/* =========================================================
   v1.0.2 — EXAM UI polish
   1) remove visual dependence on old NEW ribbon
   2) center MAIN BET spot on EXAM table
   ========================================================= */
.exam-mode-card .new-ribbon,
.exam-ribbon{
  display:none!important;
}

.exam-main-bet-area{
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  justify-content:center!important;
}

body.blackjack-exam-active .exam-main-bet-area{
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  justify-content:center!important;
}

body.blackjack-exam-active .exam-bet-circle{
  margin:0 auto!important;
}


/* =========================================================
   v1.0.3 — EXAM MAIN BET final placement
   Restore the MAIN BET circle to the original left-side spot,
   but place the chip stack itself in the center of that circle.
   ========================================================= */
.exam-main-bet-area{
  left:7%!important;
  width:36%!important;
  transform:none!important;
  justify-content:center!important;
}

body.blackjack-exam-active .exam-main-bet-area{
  left:7%!important;
  width:36%!important;
  transform:none!important;
  justify-content:center!important;
}

.exam-bet-circle{
  position:relative!important;
  margin:0!important;
}

body.blackjack-exam-active .exam-bet-circle{
  margin:0!important;
}

.exam-bet-chip-cluster{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-44%)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding-top:0!important;
  width:max-content!important;
  max-width:74px!important;
}

.exam-empty-bet{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-40%)!important;
}


/* =========================================================
   v1.0.4 — EXAM MAIN BET true-center alignment
   Keep the circle on the left-side original spot,
   and center the visible chip cluster inside the circle.
   ========================================================= */
.exam-main-bet-area{
  left:7%!important;
  width:36%!important;
  transform:none!important;
  justify-content:center!important;
}

body.blackjack-exam-active .exam-main-bet-area{
  left:7%!important;
  width:36%!important;
  transform:none!important;
  justify-content:center!important;
}

.exam-bet-circle{
  position:relative!important;
  margin:0!important;
  overflow:visible!important;
}

body.blackjack-exam-active .exam-bet-circle{
  margin:0!important;
}

.exam-bet-chip-cluster{
  position:absolute!important;
  inset:0!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-top:10px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

.exam-empty-bet{
  position:absolute!important;
  inset:0!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  padding-top:10px!important;
  margin:0!important;
}


/* =========================================================
   v1.0.5 — EXAM MAIN BET exact center lock
   Keep MAIN BET circle on the left.
   Lock chip cluster itself to the geometric center of the circle.
   ========================================================= */
.exam-main-bet-area,
body.blackjack-exam-active .exam-main-bet-area{
  left:7%!important;
  width:36%!important;
  transform:none!important;
  justify-content:center!important;
}

.exam-bet-circle,
body.blackjack-exam-active .exam-bet-circle{
  position:relative!important;
  margin:0!important;
  overflow:visible!important;
}

.exam-bet-chip-cluster{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  transform:translate(-50%,-50%)!important;
  width:max-content!important;
  height:max-content!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  z-index:3!important;
}

.exam-empty-bet{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  transform:translate(-50%,-50%)!important;
  width:max-content!important;
  height:max-content!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  z-index:3!important;
}


/* =========================================================
   v1.1.0 — TEXAS HOLD'EM FOUNDATION / HAND READING
   ========================================================= */
.holdem-section-title{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
}
.holdem-section-title small{
  color:#d3aa46;
  font-size:7px;
  letter-spacing:.11em;
  font-weight:900;
}
.holdem-training-grid .training-card{
  min-height:132px;
}
.holdem-active-card{
  position:relative;
  border-color:rgba(228,188,77,.70)!important;
  background:
    radial-gradient(circle at 85% 5%,rgba(220,177,60,.18),transparent 36%),
    linear-gradient(145deg,#123620,#09150e)!important;
}
.holdem-active-card .tc-icon{color:#f0cb69}
.holdem-live-pill{
  position:absolute;
  right:8px;
  top:8px;
  padding:3px 6px;
  border-radius:999px;
  background:linear-gradient(180deg,#e5c665,#9b7229);
  color:#181005;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.08em;
}
.holdem-next-card{
  opacity:.82;
  background:linear-gradient(145deg,#101711,#090d0a)!important;
}

body.holdem-hand-reading-active{
  overflow:hidden;
}
body.holdem-hand-reading-active .app-shell{
  min-height:100dvh;
  height:100dvh;
}
body.holdem-hand-reading-active #screen{
  min-height:0;
  height:calc(100dvh - env(safe-area-inset-bottom));
  overflow:auto;
  padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;
}
.holdem-top{
  border-bottom-color:rgba(219,179,69,.28)!important;
}
.holdem-q-counter{
  min-width:45px;
  text-align:right;
  color:#e9d7aa;
}
.holdem-q-counter strong{font-size:23px}
.holdem-q-counter small{font-size:9px;color:var(--muted)}

.holdem-reading-screen{
  display:grid;
  gap:7px;
  padding:6px 7px 8px;
}
.holdem-felt{
  position:relative;
  overflow:hidden;
  min-height:260px;
  border:1px solid rgba(218,178,67,.55);
  border-radius:22px;
  padding:22px 10px 15px;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.035),transparent 32%),
    linear-gradient(180deg,#0f542e,#0b3e24 58%,#082e1c);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.3);
}
.holdem-felt::after{
  content:'';
  position:absolute;
  left:8%;right:8%;bottom:15px;height:110px;
  border:2px solid rgba(230,217,177,.22);
  border-top-left-radius:999px;
  border-top-right-radius:999px;
  border-bottom:0;
  pointer-events:none;
}
.holdem-table-mark{
  position:absolute;
  top:6px;left:50%;
  transform:translateX(-50%);
  color:rgba(239,222,168,.58);
  font:800 8px var(--serif);
  letter-spacing:.16em;
}
.holdem-card-zone{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.holdem-zone-label{
  display:flex;
  gap:8px;
  align-items:baseline;
  margin-bottom:5px;
}
.holdem-zone-label span{
  color:#f2e5bd;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.holdem-zone-label small{
  color:rgba(240,229,196,.56);
  font-size:6px;
  letter-spacing:.10em;
}
.holdem-cards{
  display:flex;
  align-items:center;
  justify-content:center;
}
.holdem-hole-cards{gap:5px}
.holdem-hole-cards .play-card{
  width:62px!important;
  height:91px!important;
  padding:4px!important;
  border-radius:8px!important;
}
.holdem-hole-cards .rank{font-size:19px!important}
.holdem-hole-cards .suit{font-size:25px!important;margin-top:12px!important}
.holdem-board-line{
  height:1px;
  margin:9px 12% 8px;
  background:linear-gradient(90deg,transparent,rgba(232,212,159,.38),transparent);
}
.holdem-board-cards{
  gap:0;
  flex-wrap:nowrap;
}
.holdem-board-cards .play-card{
  width:48px!important;
  height:70px!important;
  padding:3px!important;
  border-radius:6px!important;
  margin-left:-7px;
}
.holdem-board-cards .play-card:first-child{margin-left:0}
.holdem-board-cards .rank{font-size:15px!important}
.holdem-board-cards .suit{font-size:20px!important;margin-top:9px!important}

.holdem-answer-panel{
  padding:8px;
  border:1px solid rgba(213,168,75,.25);
  border-radius:17px;
  background:#08100b;
}
.holdem-prompt-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  padding:1px 2px 7px;
}
.holdem-prompt-row span{
  display:block;
  color:#caa54b;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}
.holdem-prompt-row b{
  display:block;
  color:#f1e7cd;
  font-size:13px;
  margin-top:2px;
}
.holdem-mini-stat{text-align:right}
.holdem-mini-stat small{display:block;color:var(--muted);font-size:7px}
.holdem-mini-stat strong{color:var(--gold2);font-size:13px}

.holdem-rank-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
.holdem-rank-btn{
  min-height:42px;
  padding:4px 5px;
  border-radius:9px;
  border:1px solid rgba(213,168,75,.18);
  background:linear-gradient(180deg,#151c17,#0b100d);
  color:#e9e2d5;
  text-align:left;
  touch-action:manipulation;
}
.holdem-rank-btn strong{
  display:block;
  font-size:8px;
  letter-spacing:.03em;
}
.holdem-rank-btn small{
  display:block;
  color:var(--muted);
  font-size:7px;
  margin-top:1px;
}
.holdem-rank-btn.selected{
  border-color:#e0b84f;
  background:linear-gradient(180deg,#355625,#172b18);
  box-shadow:inset 0 0 0 1px rgba(224,184,79,.14);
}
.holdem-rank-btn.selected strong{color:#f6d778}
.holdem-submit{
  width:100%;
  min-height:40px!important;
  margin-top:6px;
  font-size:11px!important;
  letter-spacing:.08em;
}

.holdem-feedback{
  padding:7px;
}
.holdem-feedback-hero{
  text-align:center;
  padding:13px 10px;
  border-radius:16px;
  border:1px solid rgba(213,168,75,.25);
  background:#0a120d;
}
.holdem-feedback-hero.correct{
  border-color:rgba(97,193,127,.45);
  background:linear-gradient(180deg,#0d2e1d,#08170f);
}
.holdem-feedback-hero.incorrect{
  border-color:rgba(210,84,84,.42);
  background:linear-gradient(180deg,#2b1112,#160b0c);
}
.holdem-feedback-hero>span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.holdem-feedback-hero.correct>span{color:var(--success)}
.holdem-feedback-hero.incorrect>span{color:#ef7777}
.holdem-feedback-hero h2{
  margin:4px 0 0;
  color:#f1d278;
  font:900 22px var(--serif);
}
.holdem-feedback-hero small{color:#ddd1b7;font-size:9px}
.holdem-best-five{
  margin-top:7px;
  padding:9px!important;
}
.holdem-best-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.holdem-best-head span{
  display:block;color:#d7ae4b;font-size:8px;font-weight:900;letter-spacing:.12em
}
.holdem-best-head b{display:block;font-size:11px;color:#eee0be}
.holdem-best-head>small{color:var(--muted);font-size:7px}
.holdem-best-five-cards{gap:2px}
.holdem-best-five-cards .play-card{
  width:48px!important;
  height:70px!important;
  padding:3px!important;
  border-radius:6px!important;
}
.holdem-best-five-cards .rank{font-size:15px!important}
.holdem-best-five-cards .suit{font-size:20px!important;margin-top:9px!important}
.holdem-compare{
  display:grid;
  grid-template-columns:1fr 22px 1fr;
  align-items:center;
  gap:5px;
  margin-top:7px;
}
.holdem-compare>div{
  min-height:63px;
  padding:8px;
  border:1px solid rgba(213,168,75,.18);
  border-radius:11px;
  background:#09100c;
}
.holdem-compare>div small{display:block;color:var(--muted);font-size:6px}
.holdem-compare>div strong{display:block;color:#f0d27b;font-size:9px;margin-top:3px}
.holdem-compare>div span{display:block;color:#d3c7ad;font-size:7px;margin-top:2px}
.holdem-compare>b{text-align:center;color:#cda848}
.holdem-explanation{
  margin-top:7px;
  padding:10px!important;
}
.holdem-explanation p{margin:5px 0;color:#e5dac0;font-size:10px;line-height:1.5}
.holdem-explanation>small{color:var(--muted);font-size:8px;line-height:1.5}

.holdem-result-best{
  color:#e1bd60;
  font-size:8px;
  font-weight:900;
}
.holdem-result-hero{
  margin-top:8px;
  padding:18px 12px!important;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(218,178,65,.18),transparent 46%),
    linear-gradient(180deg,#101911,#09100b)!important;
}
.holdem-result-kicker{color:var(--muted);font-size:8px;letter-spacing:.14em}
.holdem-result-rank{
  margin:5px auto;
  color:#efcb6a;
  font:900 54px var(--serif);
  line-height:1;
}
.holdem-result-score strong{font:900 29px var(--serif);color:#f2e5c2}
.holdem-result-score span{font-size:14px;color:var(--muted)}
.holdem-result-score small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.holdem-result-xp{margin-top:7px;color:var(--success);font-weight:900;font-size:12px}
.holdem-result-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-top:7px;
}
.holdem-result-grid>div{
  padding:9px 5px;
  text-align:center;
}
.holdem-result-grid small{display:block;color:var(--muted);font-size:7px}
.holdem-result-grid strong{display:block;color:#f0d27a;font-size:15px;margin-top:2px}
.holdem-result-review{margin-top:7px;padding:11px!important}
.holdem-result-review h3{margin:4px 0 8px;color:#efe1bd;font-size:13px}
.holdem-review-row{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:7px;
  align-items:center;
  padding:6px 0;
  border-top:1px solid rgba(213,168,75,.10);
}
.holdem-review-row>span{color:#caa74e;font-size:7px;font-weight:900}
.holdem-review-row b{display:block;color:#d8cdb5;font-size:8px}
.holdem-review-row small{display:block;color:#f0cb6a;font-size:8px;margin-top:1px}
.holdem-my-panel{margin-top:10px;padding:12px!important}

@media(max-width:350px){
  .holdem-board-cards .play-card{
    width:44px!important;height:65px!important;margin-left:-8px
  }
  .holdem-hole-cards .play-card{width:57px!important;height:84px!important}
  .holdem-rank-btn{min-height:39px;padding:3px 4px}
  .holdem-rank-btn strong{font-size:7px}
  .holdem-rank-btn small{font-size:6px}
}


/* v1.1.1 — DAILY ROTATION + HOLDEM TABLE LAYOUT */
.holdem-table-layout{
  min-height:300px;
  padding:18px 10px 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.04),transparent 24%),
    linear-gradient(180deg,#0f542e,#0c4628 56%,#08311d);
}
.holdem-table-layout::after{left:6%; right:6%; bottom:10px; height:138px;}
.holdem-community-zone,.holdem-player-zone{position:relative; z-index:2; display:flex; flex-direction:column; align-items:center;}
.holdem-zone-label-center{justify-content:center;}
.holdem-community-slots{width:100%; display:flex; justify-content:center; align-items:center; gap:6px; flex-wrap:nowrap;}
.holdem-card-slot{width:52px; height:78px; border-radius:10px; border:1px solid rgba(237,223,185,.28); background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px rgba(0,0,0,.16); display:flex; align-items:center; justify-content:center; padding:2px;}
.holdem-card-slot .play-card{width:100%!important; height:100%!important; padding:3px!important; border-radius:8px!important; margin-left:0!important;}
.holdem-card-slot .rank{font-size:15px!important}
.holdem-card-slot .suit{font-size:20px!important; margin-top:8px!important}
.holdem-player-zone{margin-top:2px;}
.holdem-pocket-wrap{position:relative; min-width:170px; padding:16px 14px 10px; border-radius:999px; border:2px solid rgba(237,223,185,.22); background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.12));}
.holdem-pocket-label{position:absolute; top:-8px; left:50%; transform:translateX(-50%); padding:2px 8px; border-radius:999px; background:#0c2a1a; border:1px solid rgba(213,168,75,.28); color:#f0e1bb; font-size:7px; font-weight:900; letter-spacing:.12em;}
.holdem-pocket-cards{gap:7px;}
.holdem-pocket-cards .play-card{width:64px!important; height:93px!important;}
.holdem-pocket-cards .rank{font-size:20px!important;}
.holdem-pocket-cards .suit{font-size:26px!important; margin-top:11px!important;}
@media(max-width:370px){.holdem-community-slots{gap:4px}.holdem-card-slot{width:48px;height:72px}.holdem-pocket-wrap{min-width:156px;padding:14px 12px 9px}.holdem-pocket-cards .play-card{width:58px!important;height:86px!important}}


/* =========================================================
   v1.1.2 — TEXAS HOLD'EM LUXURY TABLE SYSTEM
   Reusable visual foundation for HAND READING / BEST 5 /
   WINNER / SHOWDOWN and future Hold'em EXAM modes.
   ========================================================= */
body.holdem-hand-reading-active{
  background:#030403;
}
body.holdem-hand-reading-active #screen{
  background:
    radial-gradient(circle at 50% 22%,rgba(99,35,20,.15),transparent 38%),
    #030403;
}
.holdem-lux-screen{
  gap:8px!important;
  padding:6px 7px calc(10px + env(safe-area-inset-bottom))!important;
}
.holdem-lux-top{
  background:linear-gradient(180deg,#080a08,#050605)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
}
.holdem-lux-top .training-title strong{
  color:#efcc78!important;
  font-family:var(--serif);
  letter-spacing:.08em;
}
.holdem-lux-status{
  min-height:54px;
  display:grid;
  grid-template-columns:78px 1fr 78px;
  align-items:center;
  gap:5px;
  padding:7px 9px;
  border:1px solid rgba(206,153,55,.42);
  border-radius:15px;
  background:linear-gradient(180deg,#151713,#090b09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 20px rgba(0,0,0,.28);
}
.holdem-lux-progress,.holdem-lux-accuracy{text-align:center}
.holdem-lux-progress small,.holdem-lux-accuracy small{
  display:block;color:#b79a62;font-size:6px;font-weight:900;letter-spacing:.12em
}
.holdem-lux-progress strong,.holdem-lux-accuracy strong{
  display:block;color:#f0d083;font:900 17px var(--serif);margin-top:1px
}
.holdem-lux-question{
  text-align:center;color:#e9e0cc;font-size:9px;letter-spacing:.02em
}
.holdem-lux-question strong{display:block;color:#edc96f;font:900 12px var(--serif);letter-spacing:.08em;margin-top:1px}

.holdem-lux-stage{
  --lux-gold:#d4a13e;
  --lux-gold2:#f0cd76;
  position:relative;
  min-height:410px;
  overflow:hidden;
  border:1px solid rgba(206,153,55,.46);
  border-radius:24px;
  background:
    radial-gradient(circle at 4% 14%,rgba(218,151,50,.16),transparent 11%),
    radial-gradient(circle at 96% 14%,rgba(218,151,50,.16),transparent 11%),
    radial-gradient(circle at 50% 48%,rgba(106,34,24,.34),transparent 48%),
    repeating-linear-gradient(45deg,rgba(123,76,33,.022) 0 2px,transparent 2px 8px),
    linear-gradient(180deg,#150a07,#090706 68%,#050504);
  box-shadow:inset 0 0 28px rgba(0,0,0,.62),0 12px 26px rgba(0,0,0,.28);
}
.holdem-lux-stage::before,
.holdem-lux-stage::after{
  content:'';
  position:absolute;
  top:14px;
  width:46px;height:85px;
  opacity:.55;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,206,100,.72) 0 3px,rgba(131,77,20,.4) 4px 8px,transparent 9px),
    linear-gradient(90deg,transparent,rgba(174,111,31,.23),transparent);
  filter:drop-shadow(0 0 10px rgba(255,170,50,.2));
}
.holdem-lux-stage::before{left:-5px}
.holdem-lux-stage::after{right:-5px}
.holdem-lux-ambient-mark{
  position:absolute;left:50%;top:9px;transform:translateX(-50%);
  z-index:1;color:rgba(231,195,116,.2);font:900 7px var(--serif);letter-spacing:.2em
}

.holdem-lux-table-shell{
  position:absolute;
  z-index:3;
  left:50%;top:50%;
  width:78%;height:66%;
  transform:translate(-50%,-46%);
  border-radius:50% / 43%;
  padding:13px;
  background:
    linear-gradient(155deg,#242424,#080808 35%,#191919 70%,#050505);
  border:2px solid #050505;
  box-shadow:
    0 0 0 2px rgba(225,174,69,.88),
    0 0 0 7px #060606,
    0 13px 24px rgba(0,0,0,.72),
    inset 0 2px 5px rgba(255,255,255,.09),
    inset 0 -5px 10px rgba(0,0,0,.72);
}
.holdem-lux-table-shell::before{
  content:'';position:absolute;inset:6px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 0 10px rgba(0,0,0,.6)
}
.holdem-lux-felt{
  position:relative;
  width:100%;height:100%;
  overflow:hidden;
  border-radius:50% / 43%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(ellipse at 50% 40%,rgba(185,44,34,.46),transparent 53%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,#8d1715,#65100f 64%,#4d0c0c);
  box-shadow:
    inset 0 0 0 1px rgba(255,219,125,.16),
    inset 0 0 38px rgba(18,0,0,.55);
}
.holdem-lux-felt::before{
  content:'';position:absolute;inset:8%;border-radius:50% / 43%;
  border:1px solid rgba(243,204,111,.16);pointer-events:none
}
.holdem-lux-board-label,.holdem-lux-hand-label{
  position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;
  color:#e2b85b;font:900 8px var(--serif);letter-spacing:.13em;white-space:nowrap
}
.holdem-lux-board-label{margin-top:-7px;margin-bottom:6px}
.holdem-lux-hand-label{margin-top:13px;margin-bottom:5px}
.holdem-lux-board-label i,.holdem-lux-hand-label i{
  display:block;width:27px;height:1px;background:linear-gradient(90deg,transparent,#d9a544)
}
.holdem-lux-board-label i:last-child,.holdem-lux-hand-label i:last-child{transform:scaleX(-1)}
.holdem-lux-board{
  position:relative;z-index:4;display:flex;justify-content:center;align-items:center;gap:4px
}
.holdem-lux-card-slot{
  width:43px;height:64px;padding:2px;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;
  border-radius:7px;
  border:1px solid rgba(245,218,151,.48);
  background:linear-gradient(180deg,rgba(24,5,5,.34),rgba(0,0,0,.18));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 2px 5px rgba(0,0,0,.35)
}
.holdem-lux-card-slot .play-card{
  width:100%!important;height:100%!important;margin:0!important;padding:3px!important;border-radius:5px!important;
  box-shadow:0 3px 7px rgba(0,0,0,.45)!important
}
.holdem-lux-card-slot .rank{font-size:14px!important}
.holdem-lux-card-slot .suit{font-size:19px!important;margin-top:8px!important}
.holdem-slot-index{color:rgba(232,201,128,.23);font:900 13px var(--serif)}
.holdem-lux-hole{position:relative;z-index:4}
.holdem-lux-hole-cards{gap:5px!important}
.holdem-lux-hole-cards .play-card{
  width:50px!important;height:72px!important;padding:3px!important;border-radius:6px!important;
  box-shadow:0 5px 9px rgba(0,0,0,.48)!important
}
.holdem-lux-hole-cards .rank{font-size:16px!important}
.holdem-lux-hole-cards .suit{font-size:21px!important;margin-top:9px!important}
.holdem-lux-player-badge{
  position:absolute;z-index:5;left:50%;bottom:3px;transform:translateX(-50%);
  min-width:76px;padding:4px 10px;border-radius:999px;text-align:center;
  border:1px solid #dfad4e;background:linear-gradient(180deg,#181713,#080806);
  color:#e8c066;font:900 8px var(--serif);letter-spacing:.08em;
  box-shadow:0 3px 8px rgba(0,0,0,.45)
}

.holdem-lux-seat{
  position:absolute;z-index:2;width:58px;height:48px;
  border-radius:50% 50% 43% 43%;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 10%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(160deg,#252525,#080808 65%,#171717);
  border:1px solid rgba(25,25,25,.9);
  box-shadow:0 0 0 1px rgba(213,161,61,.5),0 7px 12px rgba(0,0,0,.55),inset 0 2px 4px rgba(255,255,255,.07);
}
.holdem-lux-seat span{
  width:33px;height:33px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(226,175,72,.82);background:#0d0d0c;
  color:#ead7a4;font:900 8px var(--serif);white-space:nowrap
}
.seat-utg1{left:16%;top:15%;transform:rotate(-18deg)} .seat-utg1 span{transform:rotate(18deg)}
.seat-utg{left:50%;top:7%;transform:translateX(-50%)}
.seat-mp{right:16%;top:15%;transform:rotate(18deg)} .seat-mp span{transform:rotate(-18deg)}
.seat-hj{left:4%;top:40%;transform:rotate(-7deg)} .seat-hj span{transform:rotate(7deg)}
.seat-co{right:4%;top:40%;transform:rotate(7deg)} .seat-co span{transform:rotate(-7deg)}
.seat-btn{left:13%;bottom:13%;transform:rotate(17deg)} .seat-btn span{transform:rotate(-17deg)}
.seat-sb{right:13%;bottom:13%;transform:rotate(-17deg)} .seat-sb span{transform:rotate(17deg)}
.seat-bb{left:50%;bottom:4%;transform:translateX(-50%)}

.holdem-lux-answer-panel{
  padding:9px!important;
  border-color:rgba(213,161,61,.46)!important;
  background:linear-gradient(180deg,#151714,#090a09)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.022),0 10px 22px rgba(0,0,0,.25)
}
.holdem-lux-answer-title{
  display:flex;align-items:center;justify-content:center;gap:8px;margin:1px 0 8px;
  color:#ebd6a1;font:900 11px var(--serif);letter-spacing:.04em
}
.holdem-lux-answer-title i{width:34px;height:1px;background:linear-gradient(90deg,transparent,#c89538)}
.holdem-lux-answer-title i:last-child{transform:scaleX(-1)}
.holdem-lux-rank-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
}
.holdem-lux-rank-btn{
  min-height:46px!important;
  padding:5px 3px!important;
  text-align:center!important;
  border-color:rgba(203,151,53,.42)!important;
  background:linear-gradient(180deg,#1a1b18,#0b0c0b)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)
}
.holdem-lux-rank-btn strong{font-size:7.2px!important;color:#e5c77f;white-space:nowrap}
.holdem-lux-rank-btn small{font-size:6px!important;color:#aaa08c}
.holdem-lux-rank-btn.selected{
  background:linear-gradient(180deg,#503712,#211507)!important;
  border-color:#efc866!important;
  box-shadow:inset 0 0 0 1px rgba(245,204,106,.22),0 0 10px rgba(220,164,55,.14)!important
}
.holdem-lux-rank-btn:last-child{grid-column:2}
.holdem-lux-submit{
  min-height:44px!important;margin-top:7px!important;
  border-color:#e4b24e!important;
  background:linear-gradient(180deg,#b7832d,#704914)!important;
  color:#100b04!important;font-family:var(--serif)!important;font-weight:1000!important;letter-spacing:.08em!important;
  box-shadow:inset 0 1px 0 rgba(255,240,190,.45),0 5px 12px rgba(0,0,0,.3)!important
}

@media(max-width:370px){
  .holdem-lux-stage{min-height:386px}
  .holdem-lux-table-shell{width:80%;height:65%;padding:11px}
  .holdem-lux-seat{width:52px;height:44px}
  .holdem-lux-seat span{width:30px;height:30px;font-size:7px}
  .holdem-lux-card-slot{width:39px;height:59px;gap:2px}
  .holdem-lux-board{gap:3px}
  .holdem-lux-hole-cards .play-card{width:46px!important;height:68px!important}
  .holdem-lux-rank-btn{min-height:43px!important}
  .holdem-lux-rank-btn strong{font-size:6.5px!important}
}
@media(max-width:340px){
  .holdem-lux-status{grid-template-columns:68px 1fr 68px}
  .holdem-lux-stage{min-height:365px}
  .holdem-lux-card-slot{width:36px;height:55px}
  .holdem-lux-card-slot .rank{font-size:12px!important}
  .holdem-lux-card-slot .suit{font-size:17px!important;margin-top:7px!important}
  .holdem-lux-rank-btn strong{font-size:6px!important;letter-spacing:-.02em}
}


/* =========================================================
   v1.1.3 — TEXAS HOLD'EM LEARN + HAND READING UI
   ========================================================= */

/* LEARN: split BLACKJACK / TEXAS HOLD'EM */
.learn-game-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:16px 2px 8px;
  padding:0 2px;
}
.learn-game-heading>div{
  display:flex;
  align-items:center;
  gap:7px;
}
.learn-game-heading strong{
  color:#e8cf8d;
  font:900 12px var(--serif);
  letter-spacing:.08em;
}
.learn-game-heading small{
  color:#8f9a91;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.learn-game-suit{
  color:#d6ad4d;
  font-size:15px;
}
.learn-game-heading em{
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(224,177,70,.58);
  background:linear-gradient(180deg,#3b2a10,#181005);
  color:#f1cb69;
  font-size:6px;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.10em;
}
.holdem-heading{
  margin-top:19px;
}
.holdem-heading strong{
  color:#f0ca6a;
}
.holdem-learn-card{
  border-color:rgba(218,168,60,.46)!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(131,33,27,.20),transparent 33%),
    linear-gradient(180deg,#181713,#0b0d0b)!important;
}
.holdem-learn-card .course-icon{
  border-color:rgba(222,173,67,.58)!important;
  background:linear-gradient(180deg,#5f1815,#270b0a)!important;
  color:#f0ce7c!important;
}
.learn-inline-note{
  margin-top:10px;
  padding:8px 10px;
  border:1px solid rgba(213,168,75,.22);
  border-radius:10px;
  background:#0b100d;
  color:#bcae8c;
  text-align:center;
  font-size:8px;
  letter-spacing:.05em;
}

/* HAND READING: no vertical scroll in normal portrait use */
body.holdem-hand-reading-active #screen{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:
    calc(6px + env(safe-area-inset-top))
    7px
    calc(5px + env(safe-area-inset-bottom))!important;
}
body.holdem-hand-reading-active .holdem-lux-top{
  flex:0 0 auto;
  min-height:38px!important;
  padding-bottom:4px!important;
}
body.holdem-hand-reading-active .holdem-lux-top .back-link{
  padding:3px 4px!important;
  font-size:9px!important;
}
body.holdem-hand-reading-active .holdem-lux-top .training-title strong{
  font-size:17px!important;
  line-height:1.05!important;
}
body.holdem-hand-reading-active .holdem-lux-top .training-title span{
  font-size:7px!important;
}
body.holdem-hand-reading-active .holdem-q-counter{
  min-width:34px!important;
}
body.holdem-hand-reading-active .holdem-q-counter strong{
  font-size:16px!important;
}
body.holdem-hand-reading-active .holdem-q-counter small{
  font-size:7px!important;
}

.holdem-lux-screen{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:34px minmax(0,1fr) 114px!important;
  gap:5px!important;
  padding:4px 0 0!important;
}
.holdem-lux-status{
  min-height:0!important;
  height:34px!important;
  padding:3px 7px!important;
  border-radius:10px!important;
}
.holdem-lux-progress strong,
.holdem-lux-accuracy strong{
  font-size:13px!important;
}
.holdem-lux-progress small,
.holdem-lux-accuracy small{
  font-size:5px!important;
}
.holdem-lux-question{
  font-size:7px!important;
}
.holdem-lux-question strong{
  font-size:10px!important;
}

/* Poker table: keep every seat visible, especially HJ / CO */
.holdem-lux-stage{
  min-height:0!important;
  height:100%!important;
  border-radius:18px!important;
}
.holdem-lux-table-shell{
  width:76%!important;
  height:70%!important;
  padding:9px!important;
  transform:translate(-50%,-47%)!important;
}
.holdem-lux-seat{
  z-index:6!important;
  width:46px!important;
  height:38px!important;
}
.holdem-lux-seat span{
  width:27px!important;
  height:27px!important;
  font-size:6px!important;
}
.seat-utg1{left:16%!important;top:11%!important}
.seat-utg{top:4%!important}
.seat-mp{right:16%!important;top:11%!important}
.seat-hj{left:1%!important;top:41%!important}
.seat-co{right:1%!important;top:41%!important}
.seat-btn{left:13%!important;bottom:8%!important}
.seat-sb{right:13%!important;bottom:8%!important}
.seat-bb{bottom:1%!important}

/* BOARD: narrower cards and more internal side clearance */
.holdem-lux-board{
  gap:3px!important;
  max-width:88%!important;
}
.holdem-lux-card-slot{
  width:36px!important;
  height:53px!important;
  padding:2px!important;
}
.holdem-lux-card-slot .rank{
  font-size:12px!important;
}
.holdem-lux-card-slot .suit{
  font-size:16px!important;
  margin-top:6px!important;
}
.holdem-lux-board-label{
  margin-top:-2px!important;
  margin-bottom:3px!important;
  font-size:6px!important;
}
.holdem-lux-hand-label{
  margin-top:6px!important;
  margin-bottom:3px!important;
  font-size:6px!important;
}
.holdem-lux-hole-cards{
  gap:4px!important;
}
.holdem-lux-hole-cards .play-card{
  width:42px!important;
  height:60px!important;
}
.holdem-lux-hole-cards .rank{
  font-size:14px!important;
}
.holdem-lux-hole-cards .suit{
  font-size:18px!important;
  margin-top:7px!important;
}
.holdem-lux-player-badge{
  min-width:60px!important;
  padding:2px 8px!important;
  bottom:1px!important;
  font-size:6px!important;
}

/* Answers: 10 choices = 5 x 2, submit visible without scrolling */
.holdem-lux-answer-panel{
  height:114px!important;
  box-sizing:border-box!important;
  padding:5px 6px!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.holdem-lux-answer-title{
  height:12px!important;
  margin:0 0 4px!important;
  font-size:8px!important;
}
.holdem-lux-answer-title i{
  width:22px!important;
}
.holdem-lux-rank-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,31px)!important;
  gap:3px!important;
}
.holdem-lux-rank-btn{
  min-height:31px!important;
  height:31px!important;
  padding:2px 2px!important;
  border-radius:6px!important;
}
.holdem-lux-rank-btn strong{
  font-size:5.7px!important;
  line-height:1.02!important;
  white-space:normal!important;
}
.holdem-lux-rank-btn small{
  font-size:5px!important;
  line-height:1!important;
  margin-top:1px!important;
}
.holdem-lux-rank-btn:last-child{
  grid-column:auto!important;
}
.holdem-lux-submit{
  min-height:29px!important;
  height:29px!important;
  margin-top:4px!important;
  padding:2px 8px!important;
  font-size:8px!important;
}

/* Extra compression only for very short displays */
@media(max-height:620px){
  .holdem-lux-screen{
    grid-template-rows:31px minmax(0,1fr) 108px!important;
  }
  .holdem-lux-status{
    height:31px!important;
  }
  .holdem-lux-answer-panel{
    height:108px!important;
  }
  .holdem-lux-rank-grid{
    grid-template-rows:repeat(2,28px)!important;
  }
  .holdem-lux-rank-btn{
    min-height:28px!important;
    height:28px!important;
  }
  .holdem-lux-submit{
    min-height:26px!important;
    height:26px!important;
  }
  .holdem-lux-card-slot{
    width:33px!important;
    height:48px!important;
  }
  .holdem-lux-hole-cards .play-card{
    width:38px!important;
    height:55px!important;
  }
  .holdem-lux-seat{
    width:42px!important;
    height:34px!important;
  }
}


/* =========================================================
   v1.1.4 — LEARN RECLASSIFICATION + HOLD'EM WIDE OVAL UI
   ========================================================= */

/* LEARN — CASINO BASICS */
.common-heading{
  margin-top:19px;
}
.common-heading strong{
  color:#d9d4c4;
}
.common-heading .learn-game-suit{
  color:#d8c783;
}
.common-learn-card{
  border-color:rgba(203,190,141,.32)!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(193,173,111,.10),transparent 35%),
    linear-gradient(180deg,#151612,#0a0c0a)!important;
}
.common-learn-card .course-icon{
  border-color:rgba(205,189,131,.40)!important;
  background:linear-gradient(180deg,#25261f,#11120f)!important;
  color:#e2d9bd!important;
}

/* Hold'em HAND READING — use screen height efficiently */
body.holdem-hand-reading-active #screen{
  overflow:hidden!important;
}
.holdem-lux-screen{
  grid-template-rows:34px 228px minmax(222px,1fr)!important;
  gap:5px!important;
}

/* Much wider / shallower real poker-table silhouette */
.holdem-lux-stage{
  height:228px!important;
  min-height:228px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.holdem-lux-table-shell{
  width:90%!important;
  height:57%!important;
  padding:8px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50% / 40%!important;
}
.holdem-lux-felt{
  border-radius:50% / 40%!important;
}
.holdem-lux-felt::before{
  inset:9% 7%!important;
  border-radius:50% / 38%!important;
}

/* Seats follow the wide oval rather than a blackjack arc */
.holdem-lux-seat{
  width:45px!important;
  height:34px!important;
  z-index:7!important;
}
.holdem-lux-seat span{
  width:27px!important;
  height:27px!important;
  font-size:6px!important;
}
.seat-utg1{left:14%!important;top:10%!important}
.seat-utg{left:50%!important;top:2%!important}
.seat-mp{right:14%!important;top:10%!important}
.seat-hj{left:0!important;top:42%!important}
.seat-co{right:0!important;top:42%!important}
.seat-btn{left:13%!important;bottom:7%!important}
.seat-sb{right:13%!important;bottom:7%!important}
.seat-bb{left:50%!important;bottom:0!important}

/* Board stays safely inside both ends of the oval */
.holdem-lux-board{
  width:78%!important;
  max-width:78%!important;
  margin:0 auto!important;
  gap:4px!important;
}
.holdem-lux-card-slot{
  width:35px!important;
  height:51px!important;
  flex:0 0 35px!important;
}
.holdem-lux-card-slot .rank{
  font-size:12px!important;
}
.holdem-lux-card-slot .suit{
  font-size:16px!important;
  margin-top:6px!important;
}
.holdem-lux-board-label{
  margin-top:-3px!important;
  margin-bottom:3px!important;
}
.holdem-lux-hand-label{
  margin-top:5px!important;
  margin-bottom:2px!important;
}
.holdem-lux-hole-cards .play-card{
  width:41px!important;
  height:58px!important;
}
.holdem-lux-hole-cards .rank{
  font-size:14px!important;
}
.holdem-lux-hole-cards .suit{
  font-size:18px!important;
  margin-top:7px!important;
}
.holdem-lux-player-badge{
  bottom:0!important;
}

/* Answers: large, readable 2 columns x 5 rows */
.holdem-lux-answer-panel{
  height:100%!important;
  min-height:222px!important;
  padding:7px 8px!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.holdem-lux-answer-title{
  height:15px!important;
  margin:0 0 6px!important;
  font-size:9px!important;
  letter-spacing:.09em!important;
}
.holdem-lux-answer-title i{
  width:29px!important;
}
.holdem-lux-rank-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(5,32px)!important;
  gap:4px 5px!important;
}
.holdem-lux-rank-btn,
.holdem-lux-rank-btn:last-child{
  grid-column:auto!important;
  min-height:32px!important;
  height:32px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  text-align:left!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
}
.holdem-lux-rank-btn strong{
  font-size:8.4px!important;
  line-height:1!important;
  white-space:nowrap!important;
  letter-spacing:0!important;
}
.holdem-lux-rank-btn small{
  font-size:6.6px!important;
  line-height:1!important;
  margin:0!important;
  white-space:nowrap!important;
}
.holdem-lux-submit{
  min-height:34px!important;
  height:34px!important;
  margin-top:6px!important;
  padding:3px 8px!important;
  font-size:9.5px!important;
}

/* Short iPhone-class displays: keep readability, only shave height */
@media(max-height:700px){
  .holdem-lux-screen{
    grid-template-rows:32px 208px minmax(210px,1fr)!important;
  }
  .holdem-lux-stage{
    height:208px!important;
    min-height:208px!important;
  }
  .holdem-lux-table-shell{
    height:56%!important;
  }
  .holdem-lux-answer-panel{
    min-height:210px!important;
    padding:6px 7px!important;
  }
  .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,30px)!important;
  }
  .holdem-lux-rank-btn,
  .holdem-lux-rank-btn:last-child{
    min-height:30px!important;
    height:30px!important;
  }
  .holdem-lux-rank-btn strong{
    font-size:8px!important;
  }
  .holdem-lux-rank-btn small{
    font-size:6.2px!important;
  }
  .holdem-lux-submit{
    min-height:31px!important;
    height:31px!important;
  }
}

/* Narrow screens */
@media(max-width:350px){
  .holdem-lux-table-shell{
    width:89%!important;
  }
  .holdem-lux-board{
    gap:3px!important;
  }
  .holdem-lux-card-slot{
    width:32px!important;
    height:48px!important;
    flex-basis:32px!important;
  }
  .holdem-lux-rank-btn strong{
    font-size:7.4px!important;
  }
  .holdem-lux-rank-btn small{
    font-size:5.8px!important;
  }
}


/* =========================================================
   v1.1.5 — HOLD'EM HAND READING SCALE-UP + DEAD SPACE FIX
   ========================================================= */

/* Screen sizing: remove lower dead space and allocate more height to table */
body.holdem-hand-reading-active #screen{
  overflow:hidden!important;
}
.holdem-lux-screen{
  grid-template-rows:34px 268px auto!important;
  gap:6px!important;
  align-content:start!important;
}
.holdem-lux-status{
  height:34px!important;
  min-height:34px!important;
  padding:4px 8px!important;
}
.holdem-lux-question{
  font-size:7px!important;
}
.holdem-lux-question strong{
  font-size:10px!important;
}

/* Larger stage */
.holdem-lux-stage{
  height:268px!important;
  min-height:268px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.holdem-lux-table-shell{
  width:92%!important;
  height:63%!important;
  padding:9px!important;
  transform:translate(-50%,-48%)!important;
  border-radius:50% / 40%!important;
}
.holdem-lux-felt{
  border-radius:50% / 40%!important;
}
.holdem-lux-felt::before{
  inset:8% 6%!important;
  border-radius:50% / 38%!important;
}

/* Seat labels remain visible while table grows */
.holdem-lux-seat{
  width:46px!important;
  height:35px!important;
  z-index:7!important;
}
.holdem-lux-seat span{
  width:28px!important;
  height:28px!important;
  font-size:6.2px!important;
}
.seat-utg1{left:13%!important;top:9%!important}
.seat-utg{left:50%!important;top:1%!important}
.seat-mp{right:13%!important;top:9%!important}
.seat-hj{left:0!important;top:42%!important}
.seat-co{right:0!important;top:42%!important}
.seat-btn{left:12%!important;bottom:8%!important}
.seat-sb{right:12%!important;bottom:8%!important}
.seat-bb{left:50%!important;bottom:1%!important}

/* Board and hole cards: fully visible, slightly larger */
.holdem-lux-board-label{
  margin-top:-1px!important;
  margin-bottom:5px!important;
  font-size:7px!important;
}
.holdem-lux-board{
  width:76%!important;
  max-width:76%!important;
  margin:0 auto!important;
  gap:4px!important;
}
.holdem-lux-card-slot{
  width:37px!important;
  height:54px!important;
  flex:0 0 37px!important;
  padding:2px!important;
}
.holdem-lux-card-slot .rank{
  font-size:12.5px!important;
}
.holdem-lux-card-slot .suit{
  font-size:17px!important;
  margin-top:6px!important;
}

.holdem-lux-hand-label{
  margin-top:8px!important;
  margin-bottom:4px!important;
  font-size:7px!important;
}
.holdem-lux-hole-cards{
  gap:5px!important;
}
.holdem-lux-hole-cards .play-card{
  width:44px!important;
  height:64px!important;
  padding:3px!important;
}
.holdem-lux-hole-cards .rank{
  font-size:15px!important;
}
.holdem-lux-hole-cards .suit{
  font-size:19px!important;
  margin-top:8px!important;
}
.holdem-lux-player-badge{
  min-width:82px!important;
  bottom:5px!important;
  padding:4px 12px!important;
  font-size:7px!important;
}

/* Answer panel shrinks to content: no giant dead space */
.holdem-lux-answer-panel{
  height:auto!important;
  min-height:0!important;
  padding:7px 8px 8px!important;
  border-radius:14px!important;
}
.holdem-lux-answer-title{
  height:16px!important;
  margin:0 0 7px!important;
  font-size:9px!important;
}
.holdem-lux-answer-title i{
  width:30px!important;
}
.holdem-lux-rank-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(5,35px)!important;
  gap:5px 6px!important;
}
.holdem-lux-rank-btn,
.holdem-lux-rank-btn:last-child{
  min-height:35px!important;
  height:35px!important;
  padding:4px 8px!important;
  border-radius:8px!important;
}
.holdem-lux-rank-btn strong{
  font-size:9px!important;
  line-height:1.02!important;
}
.holdem-lux-rank-btn small{
  font-size:6.8px!important;
  line-height:1.02!important;
}
.holdem-lux-submit{
  min-height:39px!important;
  height:39px!important;
  margin-top:7px!important;
  padding:4px 10px!important;
  font-size:10px!important;
}

/* Small-height devices: keep one-screen fit while preserving readability */
@media(max-height:720px){
  .holdem-lux-screen{
    grid-template-rows:32px 248px auto!important;
  }
  .holdem-lux-stage{
    height:248px!important;
    min-height:248px!important;
  }
  .holdem-lux-table-shell{
    height:62%!important;
  }
  .holdem-lux-card-slot{
    width:35px!important;
    height:51px!important;
    flex-basis:35px!important;
  }
  .holdem-lux-hole-cards .play-card{
    width:42px!important;
    height:61px!important;
  }
  .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,33px)!important;
  }
  .holdem-lux-rank-btn,
  .holdem-lux-rank-btn:last-child{
    min-height:33px!important;
    height:33px!important;
  }
  .holdem-lux-submit{
    min-height:36px!important;
    height:36px!important;
  }
}


/* =========================================================
   v1.1.6 — HOLD'EM FINAL FIT
   1) Fill dead space with the poker stage
   2) Never crop HOLE CARDS
   3) Move PLAYER badge away from card faces
   ========================================================= */

/* The reading screen consumes the remaining viewport.
   Status and answer area are content-sized; table gets everything else. */
body.holdem-hand-reading-active #screen{
  overflow:hidden!important;
}
body.holdem-hand-reading-active .holdem-lux-screen{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:34px minmax(0,1fr) max-content!important;
  grid-auto-rows:max-content!important;
  align-content:stretch!important;
  gap:6px!important;
  padding:4px 0 calc(4px + env(safe-area-inset-bottom))!important;
}

/* Status stays compact. */
body.holdem-hand-reading-active .holdem-lux-status{
  height:34px!important;
  min-height:34px!important;
  box-sizing:border-box!important;
  padding:4px 8px!important;
}

/* Poker stage expands into all previously unused vertical space. */
body.holdem-hand-reading-active .holdem-lux-stage{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
  border-radius:22px!important;
  overflow:hidden!important;
}

/* Wide, real poker-table silhouette. */
body.holdem-hand-reading-active .holdem-lux-table-shell{
  width:94%!important;
  height:50%!important;
  min-height:190px!important;
  max-height:250px!important;
  left:50%!important;
  top:50%!important;
  padding:10px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50% / 40%!important;
}
body.holdem-hand-reading-active .holdem-lux-felt{
  position:relative!important;
  display:block!important;
  overflow:visible!important;
  border-radius:50% / 40%!important;
}
body.holdem-hand-reading-active .holdem-lux-felt::before{
  inset:8% 6%!important;
  border-radius:50% / 38%!important;
}

/* Seat labels hug the expanded oval instead of drifting away. */
body.holdem-hand-reading-active .holdem-lux-seat{
  width:46px!important;
  height:35px!important;
  z-index:7!important;
}
body.holdem-hand-reading-active .holdem-lux-seat span{
  width:28px!important;
  height:28px!important;
  font-size:6.2px!important;
}
body.holdem-hand-reading-active .seat-utg1{left:13%!important;top:20%!important}
body.holdem-hand-reading-active .seat-utg{left:50%!important;top:14%!important}
body.holdem-hand-reading-active .seat-mp{right:13%!important;top:20%!important}
body.holdem-hand-reading-active .seat-hj{left:0!important;top:44%!important}
body.holdem-hand-reading-active .seat-co{right:0!important;top:44%!important}
body.holdem-hand-reading-active .seat-btn{left:12%!important;bottom:17%!important}
body.holdem-hand-reading-active .seat-sb{right:12%!important;bottom:17%!important}
body.holdem-hand-reading-active .seat-bb{left:50%!important;bottom:11%!important}

/* Position board and hole cards explicitly.
   This avoids flex stacking pushing the bottom cards outside the felt. */
body.holdem-hand-reading-active .holdem-lux-board-label{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:9%!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  font-size:7px!important;
}
body.holdem-hand-reading-active .holdem-lux-board{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:22%!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:80%!important;
  margin:0!important;
  gap:4px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot{
  width:39px!important;
  height:58px!important;
  flex:0 0 39px!important;
  padding:2px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot .rank{
  font-size:13px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot .suit{
  font-size:18px!important;
  margin-top:7px!important;
}

body.holdem-hand-reading-active .holdem-lux-hand-label{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:58%!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  font-size:7px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole{
  position:absolute!important;
  z-index:6!important;
  left:50%!important;
  top:66%!important;
  transform:translateX(-50%)!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards{
  gap:6px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
  width:48px!important;
  height:70px!important;
  padding:3px!important;
  border-radius:7px!important;
  overflow:visible!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .rank{
  font-size:16px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .suit{
  font-size:22px!important;
  margin-top:9px!important;
}

/* PLAYER badge sits on/below the rail, never on top of card suits. */
body.holdem-hand-reading-active .holdem-lux-player-badge{
  left:50%!important;
  top:calc(100% + 5px)!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  z-index:8!important;
  min-width:72px!important;
  padding:3px 10px!important;
  font-size:6.5px!important;
  line-height:1!important;
}

/* Answer panel is only as tall as its content.
   No stretch = no large blank box beneath SUBMIT ANSWER. */
body.holdem-hand-reading-active .holdem-lux-answer-panel{
  align-self:start!important;
  height:max-content!important;
  min-height:0!important;
  max-height:none!important;
  block-size:max-content!important;
  box-sizing:border-box!important;
  padding:7px 8px 8px!important;
  margin:0!important;
  overflow:visible!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-title{
  height:16px!important;
  margin:0 0 6px!important;
  font-size:9px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(5,36px)!important;
  gap:5px 6px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn,
body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
  min-height:36px!important;
  height:36px!important;
  padding:4px 8px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn strong{
  font-size:9px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn small{
  font-size:6.8px!important;
}
body.holdem-hand-reading-active .holdem-lux-submit{
  min-height:39px!important;
  height:39px!important;
  margin:7px 0 0!important;
  padding:4px 10px!important;
  font-size:10px!important;
}

/* Short-height devices: reduce cards slightly, but never crop them. */
@media(max-height:720px){
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    min-height:174px!important;
    max-height:218px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{
    width:36px!important;
    height:53px!important;
    flex-basis:36px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:44px!important;
    height:64px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole{
    top:65%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,33px)!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-btn,
  body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
    min-height:33px!important;
    height:33px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-submit{
    min-height:36px!important;
    height:36px!important;
  }
}

/* Narrow phones: five BOARD cards remain safely inside the oval. */
@media(max-width:350px){
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    width:93%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-board{
    gap:3px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{
    width:34px!important;
    height:51px!important;
    flex-basis:34px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:42px!important;
    height:62px!important;
  }
}


/* =========================================================
   v1.1.7 — HOLD'EM POLISH PASS
   - compress residual dead space
   - separate PLAYER badge from BB seat
   - remove overlap at bottom of hole cards
   ========================================================= */
body.holdem-hand-reading-active .holdem-lux-screen{
  grid-template-rows:34px minmax(290px,1fr) max-content!important;
  gap:5px!important;
  padding:4px 0 calc(2px + env(safe-area-inset-bottom))!important;
}
body.holdem-hand-reading-active .holdem-lux-stage{
  min-height:290px!important;
  border-radius:22px!important;
}
body.holdem-hand-reading-active .holdem-lux-table-shell{
  width:95%!important;
  height:68%!important;
  min-height:228px!important;
  max-height:none!important;
  top:49%!important;
  padding:10px!important;
}
body.holdem-hand-reading-active .holdem-lux-felt::before{
  inset:7.5% 6%!important;
}
body.holdem-hand-reading-active .holdem-lux-board-label{
  top:11%!important;
}
body.holdem-hand-reading-active .holdem-lux-board{
  top:24%!important;
  gap:4px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot{
  width:38px!important;
  height:56px!important;
  flex:0 0 38px!important;
}
body.holdem-hand-reading-active .holdem-lux-hand-label{
  top:56%!important;
}
body.holdem-hand-reading-active .holdem-lux-hole{
  top:62%!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards{
  gap:5px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
  width:45px!important;
  height:66px!important;
  padding:3px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .rank{
  font-size:15px!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .suit{
  font-size:20px!important;
  margin-top:8px!important;
}
body.holdem-hand-reading-active .holdem-lux-player-badge{
  top:84%!important;
  bottom:auto!important;
  min-width:64px!important;
  padding:2px 9px!important;
  font-size:6px!important;
  z-index:7!important;
}
body.holdem-hand-reading-active .seat-bb{
  bottom:4%!important;
}
body.holdem-hand-reading-active .seat-btn,
body.holdem-hand-reading-active .seat-sb{
  bottom:10%!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-panel{
  padding:7px 8px 6px!important;
  margin:0!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-title{
  margin:0 0 5px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-grid{
  grid-template-rows:repeat(5,35px)!important;
  gap:4px 6px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn,
body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
  min-height:35px!important;
  height:35px!important;
}
body.holdem-hand-reading-active .holdem-lux-submit{
  min-height:38px!important;
  height:38px!important;
  margin-top:6px!important;
}
@media(max-height:720px){
  body.holdem-hand-reading-active .holdem-lux-screen{
    grid-template-rows:32px minmax(270px,1fr) max-content!important;
  }
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    min-height:214px!important;
    height:67%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-board{
    top:23%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole{
    top:61%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:43px!important;
    height:62px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-player-badge{
    top:83%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,33px)!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-btn,
  body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
    min-height:33px!important;
    height:33px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-submit{
    min-height:36px!important;
    height:36px!important;
  }
}
@media(max-width:350px){
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    width:94%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{
    width:35px!important;
    height:52px!important;
    flex-basis:35px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:41px!important;
    height:60px!important;
  }
}


/* =========================================================
   v1.1.8 — HOLD'EM FULLSCREEN FIT
   - use as much viewport height as possible
   - remove PLAYER badge entirely
   - pull hole cards upward and reduce bottom visual gap
   ========================================================= */
body.holdem-hand-reading-active .app-shell{
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:hidden!important;
}
body.holdem-hand-reading-active #screen,
body.holdem-hand-reading-active .screen.training-screen{
  min-height:calc(100dvh - env(safe-area-inset-bottom))!important;
  height:calc(100dvh - env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
  padding-top:max(6px, env(safe-area-inset-top))!important;
  padding-left:8px!important;
  padding-right:8px!important;
  padding-bottom:max(0px, env(safe-area-inset-bottom))!important;
}
body.holdem-hand-reading-active .holdem-lux-screen{
  min-height:100%!important;
  height:100%!important;
  grid-template-rows:32px minmax(305px,1fr) max-content!important;
  gap:4px!important;
  padding:2px 0 max(0px, env(safe-area-inset-bottom))!important;
}
body.holdem-hand-reading-active .holdem-lux-status{
  height:32px!important;
  min-height:32px!important;
  padding:3px 7px!important;
}
body.holdem-hand-reading-active .holdem-lux-stage{
  min-height:305px!important;
  height:100%!important;
  margin:0!important;
}
body.holdem-hand-reading-active .holdem-lux-table-shell{
  width:96%!important;
  height:72%!important;
  min-height:236px!important;
  max-height:none!important;
  top:49.5%!important;
  padding:9px!important;
}
body.holdem-hand-reading-active .holdem-lux-board-label{top:10%!important}
body.holdem-hand-reading-active .holdem-lux-board{top:23%!important}
body.holdem-hand-reading-active .holdem-lux-card-slot{
  width:38px!important;
  height:56px!important;
  flex:0 0 38px!important;
}
body.holdem-hand-reading-active .holdem-lux-hand-label{
  top:54%!important;
}
body.holdem-hand-reading-active .holdem-lux-hole{
  top:59%!important;
}
body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
  width:45px!important;
  height:66px!important;
}
body.holdem-hand-reading-active .holdem-lux-player-badge{
  display:none!important;
}
body.holdem-hand-reading-active .seat-bb{
  bottom:8%!important;
}
body.holdem-hand-reading-active .seat-btn,
body.holdem-hand-reading-active .seat-sb{
  bottom:13%!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-panel{
  align-self:end!important;
  padding:6px 8px 4px!important;
  margin:0!important;
  border-radius:16px!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-title{
  height:14px!important;
  margin:0 0 4px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-grid{
  grid-template-rows:repeat(5,34px)!important;
  gap:4px 6px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn,
body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
  min-height:34px!important;
  height:34px!important;
  padding:4px 8px!important;
}
body.holdem-hand-reading-active .holdem-lux-submit{
  min-height:36px!important;
  height:36px!important;
  margin-top:5px!important;
}
@media(max-height:720px){
  body.holdem-hand-reading-active .holdem-lux-screen{
    grid-template-rows:31px minmax(290px,1fr) max-content!important;
  }
  body.holdem-hand-reading-active .holdem-lux-stage{
    min-height:290px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    min-height:224px!important;
    height:71%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole{
    top:58%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:43px!important;
    height:62px!important;
  }
  body.holdem-hand-reading-active .seat-bb{
    bottom:7%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,32px)!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-btn,
  body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
    min-height:32px!important;
    height:32px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-submit{
    min-height:34px!important;
    height:34px!important;
  }
}
@media(max-width:350px){
  body.holdem-hand-reading-active .holdem-lux-table-shell{
    width:95%!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{
    width:35px!important;
    height:52px!important;
    flex-basis:35px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:41px!important;
    height:60px!important;
  }
}


/* =========================================================
   v1.1.9 — HOLD'EM CARD SIZE UNIFICATION
   Make COMMUNITY CARDS and PLAYER HAND the same size.
   ========================================================= */
body.holdem-hand-reading-active .holdem-lux-board{
  gap:4px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot,
body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
  width:45px!important;
  height:66px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot{
  flex:0 0 45px!important;
  padding:3px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot .rank,
body.holdem-hand-reading-active .holdem-lux-hole-cards .rank{
  font-size:15px!important;
}
body.holdem-hand-reading-active .holdem-lux-card-slot .suit,
body.holdem-hand-reading-active .holdem-lux-hole-cards .suit{
  font-size:20px!important;
  margin-top:8px!important;
}
@media(max-height:720px){
  body.holdem-hand-reading-active .holdem-lux-card-slot,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:43px!important;
    height:62px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{flex-basis:43px!important;}
  body.holdem-hand-reading-active .holdem-lux-card-slot .rank,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .rank{font-size:14px!important;}
  body.holdem-hand-reading-active .holdem-lux-card-slot .suit,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .suit{font-size:19px!important;margin-top:7px!important;}
}
@media(max-width:350px){
  body.holdem-hand-reading-active .holdem-lux-board{gap:3px!important;}
  body.holdem-hand-reading-active .holdem-lux-card-slot,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .play-card{
    width:41px!important;
    height:60px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-card-slot{flex-basis:41px!important;}
  body.holdem-hand-reading-active .holdem-lux-card-slot .rank,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .rank{font-size:13.5px!important;}
  body.holdem-hand-reading-active .holdem-lux-card-slot .suit,
  body.holdem-hand-reading-active .holdem-lux-hole-cards .suit{font-size:18px!important;margin-top:7px!important;}
}


/* =========================================================
   v1.2.0 — TEXAS HOLD'EM BEST 5
   ========================================================= */
.holdem-best5-card{
  background:radial-gradient(circle at 85% 5%,rgba(220,177,60,.20),transparent 36%),linear-gradient(145deg,#3a1512,#100a09)!important;
}
body.holdem-best5-active .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.holdem-best5-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom));
  min-height:0;overflow:hidden;
  padding-top:max(6px,env(safe-area-inset-top))!important;
  padding-left:8px!important;padding-right:8px!important;
  padding-bottom:max(0px,env(safe-area-inset-bottom))!important;
}
body.holdem-best5-active .holdem-lux-screen{
  height:100%!important;min-height:0!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:34px minmax(0,1fr) 78px!important;
  gap:5px!important;padding:2px 0 0!important;
}
body.holdem-best5-active .holdem-lux-status{height:34px!important;min-height:34px!important;padding:4px 8px!important}
body.holdem-best5-active .holdem-lux-stage{height:100%!important;min-height:0!important;overflow:hidden!important}
body.holdem-best5-active .holdem-lux-table-shell{
  width:96%!important;height:72%!important;min-height:238px!important;max-height:none!important;top:50%!important;padding:9px!important;
  transform:translate(-50%,-50%)!important;border-radius:50% / 40%!important
}
body.holdem-best5-active .holdem-lux-felt{display:block!important;overflow:visible!important;border-radius:50% / 40%!important}
body.holdem-best5-active .holdem-lux-board-label{position:absolute!important;left:50%!important;top:10%!important;transform:translateX(-50%)!important;margin:0!important}
body.holdem-best5-active .holdem-lux-board{position:absolute!important;left:50%!important;top:23%!important;transform:translateX(-50%)!important;width:auto!important;max-width:88%!important;gap:4px!important}
body.holdem-best5-active .holdem-lux-hand-label{position:absolute!important;left:50%!important;top:54%!important;transform:translateX(-50%)!important;margin:0!important}
body.holdem-best5-active .holdem-lux-hole{position:absolute!important;left:50%!important;top:59%!important;transform:translateX(-50%)!important}
body.holdem-best5-active .holdem-lux-player-badge{display:none!important}
body.holdem-best5-active .holdem-lux-card-slot,
body.holdem-best5-active .holdem-best5-hole-pick .play-card{
  width:45px!important;height:66px!important
}
body.holdem-best5-active .holdem-lux-card-slot{flex:0 0 45px!important;padding:3px!important}
.holdem-best5-pick,
.holdem-best5-hole-pick{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;position:relative;cursor:pointer;touch-action:manipulation;border-radius:8px;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease
}
.holdem-best5-hole-pick{display:block}
.holdem-best5-hole-pick .play-card{margin:0!important;padding:3px!important;border-radius:7px!important}
.holdem-best5-pick::after,
.holdem-best5-hole-pick::after{
  content:'✓';position:absolute;right:-4px;top:-5px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;
  background:#d6aa46;color:#130d05;font-size:10px;font-weight:1000;border:2px solid #fff0b4;box-shadow:0 2px 7px rgba(0,0,0,.55);
  opacity:0;transform:scale(.55);transition:.12s ease;z-index:12
}
.holdem-best5-pick.selected,
.holdem-best5-hole-pick.selected{transform:translateY(-4px);filter:brightness(1.08);box-shadow:0 0 0 3px rgba(240,194,82,.82),0 7px 13px rgba(0,0,0,.5)}
.holdem-best5-pick.selected::after,
.holdem-best5-hole-pick.selected::after{opacity:1;transform:scale(1)}
.holdem-best5-action-panel{
  height:78px;padding:6px 8px 7px;border:1px solid rgba(213,168,75,.32);border-radius:14px;background:linear-gradient(180deg,#101511,#070b08);box-shadow:0 -5px 18px rgba(0,0,0,.25)
}
.holdem-best5-guide{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}
.holdem-best5-guide span{color:#edc867;font:900 9px var(--serif);letter-spacing:.09em}
.holdem-best5-guide small{color:var(--muted);font-size:6px}
.holdem-best5-submit{width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;opacity:.58;transition:opacity .12s ease,filter .12s ease}
.holdem-best5-submit.ready{opacity:1;filter:brightness(1.08)}
.holdem-user-five{margin-top:7px}
.holdem-best5-feedback{padding:7px}
.holdem-best5-my-panel{border-color:rgba(204,151,51,.48)!important}
@media(max-height:720px){
  body.holdem-best5-active .holdem-lux-screen{grid-template-rows:32px minmax(0,1fr) 72px!important}
  body.holdem-best5-active .holdem-lux-table-shell{min-height:218px!important;height:70%!important}
  body.holdem-best5-active .holdem-lux-card-slot,
  body.holdem-best5-active .holdem-best5-hole-pick .play-card{width:42px!important;height:61px!important}
  body.holdem-best5-active .holdem-lux-card-slot{flex-basis:42px!important}
  .holdem-best5-action-panel{height:72px!important;padding:5px 7px 6px!important}
  .holdem-best5-submit{height:38px!important;min-height:38px!important}
}
@media(max-width:350px){
  body.holdem-best5-active .holdem-lux-board{gap:3px!important}
  body.holdem-best5-active .holdem-lux-card-slot,
  body.holdem-best5-active .holdem-best5-hole-pick .play-card{width:40px!important;height:58px!important}
  body.holdem-best5-active .holdem-lux-card-slot{flex-basis:40px!important}
}


/* =========================================================
   v1.2.1 — BEST 5 ICON + RESPONSIVE BOTTOM UI FIX
   ========================================================= */

/* BEST 5 dedicated 5-card fan icon */
.best5-tc-icon{
  height:34px;
  display:flex;
  align-items:center;
}
.best5-fan-icon{
  position:relative;
  display:block;
  width:48px;
  height:32px;
}
.best5-fan-icon i{
  position:absolute;
  left:50%;
  bottom:1px;
  width:17px;
  height:25px;
  margin-left:-8px;
  border-radius:3px;
  border:1px solid rgba(242,210,126,.92);
  background:linear-gradient(180deg,#f6eed9,#cdbb8a);
  box-shadow:0 2px 5px rgba(0,0,0,.38);
  transform-origin:50% 105%;
}
.best5-fan-icon i::after{
  content:'♠';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#38100e;
  font:900 9px Georgia,serif;
}
.best5-fan-icon i:nth-child(1){transform:rotate(-26deg) translateY(3px)}
.best5-fan-icon i:nth-child(2){transform:rotate(-13deg) translateY(1px)}
.best5-fan-icon i:nth-child(3){transform:rotate(0)}
.best5-fan-icon i:nth-child(4){transform:rotate(13deg) translateY(1px)}
.best5-fan-icon i:nth-child(5){transform:rotate(26deg) translateY(3px)}
.best5-fan-icon i:nth-child(2)::after,
.best5-fan-icon i:nth-child(4)::after{content:'♦';color:#9b1d1d}
.best5-fan-icon i:nth-child(3)::after{content:'♣';color:#171717}
.best5-fan-mini{
  width:38px;
  height:28px;
  transform:scale(.82);
  transform-origin:center;
}
[data-course="holdem-best5"] .course-icon{
  font-size:0!important;
}

/* HAND READING: use flex for the viewport, so header + content never exceed 100dvh. */
body.holdem-hand-reading-active .app-shell,
body.holdem-best5-active .app-shell{
  width:min(100%,460px)!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
body.holdem-hand-reading-active #screen,
body.holdem-best5-active #screen{
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding-top:max(6px,env(safe-area-inset-top))!important;
  padding-left:8px!important;
  padding-right:8px!important;
  padding-bottom:max(5px,env(safe-area-inset-bottom))!important;
}
body.holdem-hand-reading-active .holdem-lux-top,
body.holdem-best5-active .holdem-lux-top{
  flex:0 0 auto!important;
}
body.holdem-hand-reading-active .holdem-lux-screen,
body.holdem-best5-active .holdem-lux-screen{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  width:100%!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:32px minmax(0,1fr) max-content!important;
  align-content:stretch!important;
  gap:4px!important;
  padding:3px 0 0!important;
}
body.holdem-hand-reading-active .holdem-lux-status,
body.holdem-best5-active .holdem-lux-status{
  height:32px!important;
  min-height:32px!important;
  padding:3px 7px!important;
}

/* Let the table surrender height first on shorter phones, never the answer controls. */
body.holdem-hand-reading-active .holdem-lux-stage,
body.holdem-best5-active .holdem-lux-stage{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.holdem-hand-reading-active .holdem-lux-table-shell,
body.holdem-best5-active .holdem-lux-table-shell{
  width:96%!important;
  height:72%!important;
  min-height:0!important;
  max-height:242px!important;
  top:50%!important;
}

/* HAND READING answer controls: guaranteed visible + tappable */
body.holdem-hand-reading-active .holdem-lux-answer-panel{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:end!important;
  padding:6px 8px 7px!important;
  margin:0!important;
  overflow:visible!important;
}
body.holdem-hand-reading-active .holdem-lux-answer-title{
  height:14px!important;
  margin:0 0 4px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(5,32px)!important;
  gap:4px 6px!important;
}
body.holdem-hand-reading-active .holdem-lux-rank-btn,
body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
  height:32px!important;
  min-height:32px!important;
  padding:3px 8px!important;
}
body.holdem-hand-reading-active .holdem-lux-submit{
  height:36px!important;
  min-height:36px!important;
  margin:5px 0 0!important;
}

/* BEST 5 action area gets the same safe bottom treatment. */
body.holdem-best5-active .holdem-lux-screen{
  grid-template-rows:32px minmax(0,1fr) max-content!important;
}
body.holdem-best5-active .holdem-best5-action-panel{
  height:auto!important;
  min-height:0!important;
  padding:5px 7px 6px!important;
  margin:0!important;
  align-self:end!important;
}
body.holdem-best5-active .holdem-best5-guide{
  margin-bottom:4px!important;
}
body.holdem-best5-active .holdem-best5-submit{
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
}

/* Compact fallback for shorter viewport devices. */
@media(max-height:720px){
  body.holdem-hand-reading-active .holdem-lux-table-shell,
  body.holdem-best5-active .holdem-lux-table-shell{
    height:68%!important;
    max-height:215px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-grid{
    grid-template-rows:repeat(5,30px)!important;
  }
  body.holdem-hand-reading-active .holdem-lux-rank-btn,
  body.holdem-hand-reading-active .holdem-lux-rank-btn:last-child{
    height:30px!important;
    min-height:30px!important;
  }
  body.holdem-hand-reading-active .holdem-lux-submit{
    height:34px!important;
    min-height:34px!important;
  }
  body.holdem-best5-active .holdem-best5-submit{
    height:38px!important;
    min-height:38px!important;
  }
}


/* =========================================================
   v1.2.2 — BEST 5 ICON CENTER + SEAT/TABLE ALIGNMENT
   ========================================================= */

/* LAB: center the custom 5-card fan exactly like a primary icon. */
.holdem-best5-card .best5-tc-icon{
  width:100%!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0 auto!important;
}
.holdem-best5-card .best5-fan-icon{
  margin:0 auto!important;
  flex:0 0 48px!important;
}

/* BEST 5: table and seat positions must scale from the same stage.
   Remove the old pixel cap that made the oval shrink away from seats. */
body.holdem-best5-active .holdem-lux-table-shell{
  width:94%!important;
  height:72%!important;
  min-height:0!important;
  max-height:none!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}

/* Seat centers ride the outer rail of the wide oval. */
body.holdem-best5-active .holdem-lux-seat{
  width:46px!important;
  height:35px!important;
  z-index:7!important;
}
body.holdem-best5-active .holdem-lux-seat span{
  width:28px!important;
  height:28px!important;
  font-size:6.2px!important;
}
body.holdem-best5-active .seat-utg1{
  left:13%!important;
  top:8%!important;
}
body.holdem-best5-active .seat-utg{
  left:50%!important;
  top:3%!important;
}
body.holdem-best5-active .seat-mp{
  right:13%!important;
  top:8%!important;
}
body.holdem-best5-active .seat-hj{
  left:0!important;
  top:42%!important;
}
body.holdem-best5-active .seat-co{
  right:0!important;
  top:42%!important;
}
body.holdem-best5-active .seat-btn{
  left:12%!important;
  bottom:8%!important;
}
body.holdem-best5-active .seat-sb{
  right:12%!important;
  bottom:8%!important;
}
body.holdem-best5-active .seat-bb{
  left:50%!important;
  bottom:2%!important;
}

/* Short screens: keep the same oval relationship instead of re-capping table height. */
@media(max-height:720px){
  body.holdem-best5-active .holdem-lux-table-shell{
    height:70%!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.holdem-best5-active .seat-utg1{top:9%!important;}
  body.holdem-best5-active .seat-utg{top:4%!important;}
  body.holdem-best5-active .seat-mp{top:9%!important;}
  body.holdem-best5-active .seat-btn{bottom:9%!important;}
  body.holdem-best5-active .seat-sb{bottom:9%!important;}
  body.holdem-best5-active .seat-bb{bottom:3%!important;}
}


/* =========================================================
   v1.2.3 — BEST 5 LAB ICON VERTICAL ALIGNMENT
   ========================================================= */
.holdem-best5-card .best5-tc-icon{
  transform:translateY(-5px)!important;
}


/* =========================================================
   v1.3.0 — TEXAS HOLD'EM WINNER / SHOWDOWN
   ========================================================= */
.showdown-tc-icon{display:flex!important;align-items:center!important;justify-content:center!important}
.showdown-duel-icon{display:flex;align-items:center;justify-content:center;gap:3px;font-family:var(--serif);line-height:1}
.showdown-duel-icon i{font-style:normal;font-size:18px}.showdown-duel-icon i:last-child{color:#e55}.showdown-duel-icon b{font-size:6px;color:var(--gold2);letter-spacing:.02em}
body.holdem-showdown-active .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.holdem-showdown-active #screen{height:calc(100dvh - env(safe-area-inset-bottom));min-height:0;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) 7px max(4px,env(safe-area-inset-bottom))!important;display:flex;flex-direction:column}
body.holdem-showdown-active .showdown-top{flex:0 0 auto}
.showdown-screen{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr) max-content;gap:5px;overflow:hidden}
.showdown-status{height:34px!important;min-height:34px!important;padding:3px 7px!important}
.showdown-stage{position:relative;min-height:360px;height:100%;overflow:hidden;border-radius:22px;border:1px solid rgba(213,168,75,.38);background:radial-gradient(ellipse at 50% 46%,rgba(110,24,20,.22),transparent 46%),linear-gradient(180deg,#130d0b,#080a09 78%);box-shadow:inset 0 0 28px rgba(0,0,0,.65)}
.showdown-room-mark{position:absolute;top:5px;left:50%;transform:translateX(-50%);color:rgba(221,188,111,.30);font:900 6px var(--serif);letter-spacing:.16em;white-space:nowrap}
.showdown-table-shell{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:78%;height:45%;padding:10px;border-radius:50% / 42%;background:linear-gradient(155deg,#282828,#070707 36%,#181818 70%,#050505);border:2px solid #050505;box-shadow:0 0 0 2px rgba(225,174,69,.88),0 0 0 7px #060606,0 13px 22px rgba(0,0,0,.68),inset 0 2px 4px rgba(255,255,255,.08)}
.showdown-felt{position:relative;width:100%;height:100%;border-radius:50% / 42%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(173,42,34,.45),transparent 54%),linear-gradient(180deg,#871914,#5e0e0d 68%,#440a09);box-shadow:inset 0 0 0 1px rgba(255,219,125,.16),inset 0 0 34px rgba(18,0,0,.52)}
.showdown-board-label{color:#e5bb63;font:900 7px var(--serif);letter-spacing:.14em;margin-bottom:4px}
.showdown-board-cards{display:flex;align-items:center;justify-content:center;gap:3px}
.showdown-board-cards .play-card{width:42px!important;height:61px!important;padding:3px!important;border-radius:6px!important}.showdown-board-cards .rank{font-size:14px!important}.showdown-board-cards .suit{font-size:19px!important;margin-top:7px!important}
.showdown-player-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);z-index:6;width:78px;min-height:67px;padding:4px 4px 3px;border-radius:11px;border:1px solid rgba(212,170,76,.34);background:linear-gradient(180deg,#191a17,#080a08);color:#eee;box-shadow:0 5px 10px rgba(0,0,0,.45);touch-action:manipulation}
.showdown-player-seat:not(:disabled):active{transform:translate(-50%,-50%) scale(.97)}
.showdown-player-name{display:block;color:#d9b75d;font:900 6px var(--serif);letter-spacing:.08em;margin-bottom:2px}.showdown-player-cards{display:flex;justify-content:center;gap:2px}.showdown-player-cards .play-card{width:31px!important;height:45px!important;padding:2px!important;border-radius:5px!important}.showdown-player-cards .rank{font-size:10px!important}.showdown-player-cards .suit{font-size:14px!important;margin-top:5px!important}
.showdown-player-seat em{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);padding:2px 5px;border-radius:999px;background:#0a0d0a;border:1px solid currentColor;font-size:5px;font-style:normal;font-weight:1000;white-space:nowrap}
.showdown-player-seat.selected{border-color:#f0c85e;box-shadow:0 0 0 2px rgba(238,196,86,.32),0 0 18px rgba(228,180,62,.28);background:linear-gradient(180deg,#413412,#13120b)}.showdown-player-seat.selected em{color:#f3cc65}
.showdown-player-seat.correct-winner{border-color:#7adf61;background:linear-gradient(180deg,#234b22,#0c190d);box-shadow:0 0 0 2px rgba(111,223,89,.25),0 0 18px rgba(91,209,72,.22)}.showdown-player-seat.correct-winner em{color:#85ea6e}
.showdown-player-seat.wrong-pick{border-color:#dc4d4d;background:linear-gradient(180deg,#421a1a,#160909);box-shadow:0 0 0 2px rgba(218,68,68,.22)}
.showdown-answer-dock{padding:6px 7px calc(7px + env(safe-area-inset-bottom));border:1px solid rgba(213,168,75,.28);border-radius:14px;background:#080d0a;box-shadow:0 -7px 18px rgba(0,0,0,.28)}
.showdown-selection-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;margin-bottom:5px}.showdown-selection-row span{color:#cba849;font-size:6px;font-weight:900;letter-spacing:.1em}.showdown-selection-row strong{grid-row:1/3;grid-column:2;font-size:13px;color:#f0e5c8}.showdown-selection-row small{font-size:6px;color:var(--muted)}
.showdown-submit{width:100%;min-height:39px!important;opacity:.62}.showdown-submit.ready{opacity:1;box-shadow:0 0 14px rgba(71,181,96,.18)}
.showdown-feedback{display:grid;gap:9px;padding-bottom:18px}.showdown-feedback .showdown-stage{height:330px;min-height:330px}.showdown-feedback .showdown-table-shell{height:48%}
.showdown-winning-hand,.showdown-all-hands,.showdown-point,.dealer-call-card{padding:10px!important}.showdown-win-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}.showdown-win-head span,.dealer-call-head span{display:block;color:#cfa948;font-size:6px;font-weight:900;letter-spacing:.12em}.showdown-win-head b{display:block;font:900 15px var(--serif);color:#f3e4bc;margin-top:2px}.showdown-win-head small{color:var(--muted);font-size:7px}
.showdown-all-hands{display:grid;gap:4px}.showdown-hand-row{display:grid;grid-template-columns:64px 1fr;gap:2px 6px;padding:5px 6px;border-radius:8px;background:#0b100d;border:1px solid rgba(213,168,75,.12)}.showdown-hand-row span{grid-row:1/3;color:#c9a74e;font-size:6px;font-weight:900}.showdown-hand-row b{font-size:8px}.showdown-hand-row small{font-size:6px;color:var(--muted)}.showdown-hand-row.winner{border-color:rgba(108,219,86,.35);background:#0e1c0f}
.showdown-your-answer{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px;border-radius:10px;background:#1b0d0d;border:1px solid rgba(220,72,72,.35)}.showdown-your-answer small{font-size:6px;color:#e47d7d}.showdown-your-answer strong{font-size:11px}.showdown-your-answer span{font-size:8px;color:#8fe177}
.showdown-board-plays{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:999px;background:#3c2d0d;border:1px solid #d1a746;color:#f2ce71;font-size:7px}
.dealer-call-card{background:radial-gradient(circle at 100% 0%,rgba(188,37,52,.12),transparent 35%),linear-gradient(180deg,#15140f,#090b09)!important}.dealer-call-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dealer-call-head b{display:block;color:#f0d789;font:900 12px var(--serif);margin-top:2px}.dealer-replay{min-height:32px;padding:4px 8px;border-radius:9px;border:1px solid #a78237;background:#151108;color:#efd074;font-size:7px;font-weight:900}.dealer-call-card p{margin:9px 0 5px;color:#fff7df;font:italic 700 14px/1.35 var(--serif)}.dealer-call-card small{color:var(--muted);font-size:6px;line-height:1.45}
.showdown-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.showdown-result-grid>div{text-align:center;padding:9px!important}.showdown-result-grid small{display:block;color:var(--muted);font-size:7px}.showdown-result-grid strong{display:block;margin-top:2px;font-size:16px;color:#fff}.showdown-my-panel{border-color:rgba(190,147,55,.38)!important}
@media(max-height:720px){body.holdem-showdown-active .showdown-stage{min-height:315px}.showdown-player-seat{width:72px;min-height:62px}.showdown-player-cards .play-card{width:28px!important;height:41px!important}.showdown-board-cards .play-card{width:38px!important;height:56px!important}.showdown-answer-dock{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}.showdown-submit{min-height:36px!important}}
@media(max-width:350px){.showdown-player-seat{width:68px;padding-left:2px;padding-right:2px}.showdown-player-cards .play-card{width:27px!important;height:40px!important}.showdown-board-cards{gap:2px}.showdown-board-cards .play-card{width:36px!important;height:53px!important}.showdown-table-shell{width:77%}}


/* =========================================================
   v1.3.1 — SHOWDOWN 2P / 5P BOARD CLEARANCE
   ========================================================= */
.showdown-count-2 .showdown-player-seat,
.showdown-count-5 .showdown-player-seat{
  z-index:6!important;
}
/* BOARD/table remain visually dominant and untouched; clearance comes from seat coordinates. */
@media(max-width:350px){
  .showdown-count-2 .showdown-player-seat,
  .showdown-count-5 .showdown-player-seat{
    width:68px!important;
  }
}


/* =========================================================
   v1.3.2 — GAME GUIDE + HOLD'EM ROADMAP
   ========================================================= */
.game-guide-btn{font-weight:1000;font-size:18px!important;color:var(--gold2)!important}
.game-guide-modal h2,.game-rule-modal h2{margin-bottom:6px}
.game-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.game-guide-card{min-height:120px;border-radius:14px;border:1px solid rgba(213,168,75,.34);background:linear-gradient(180deg,#151a16,#090c0a);color:#f4ead1;padding:11px 8px;text-align:center;touch-action:manipulation}
.game-guide-card.holdem{background:radial-gradient(circle at 50% 10%,rgba(118,29,25,.28),transparent 42%),linear-gradient(180deg,#171512,#090a08)}
.game-guide-card .guide-suit{display:block;font-size:28px;color:var(--gold2);line-height:1;margin-bottom:7px}.game-guide-card.holdem .guide-suit{color:#d94a48}
.game-guide-card strong{display:block;font:900 12px var(--serif);letter-spacing:.04em}.game-guide-card small{display:block;margin-top:5px;color:var(--muted);font-size:7px;line-height:1.45}
.game-guide-back{width:100%;margin-top:8px;border-color:rgba(213,168,75,.26)!important;color:#d8c18a!important}
.holdem-roadmap-title{margin-top:15px!important}.holdem-roadmap-title small{color:#c5a54e!important}
.holdem-roadmap-grid .training-card{opacity:.82}.holdem-roadmap-grid .training-card.roadmap-next{opacity:1;border-color:rgba(222,178,74,.48)}
.roadmap-next{position:relative}.roadmap-pill{position:absolute;right:8px;top:7px;padding:2px 6px;border-radius:999px;border:1px solid rgba(226,183,74,.48);background:#33250b;color:#f1c85e;font-size:5px;font-weight:1000;letter-spacing:.08em}
.table-flow-icon{font-size:11px!important;letter-spacing:.03em!important}.holdem-exam-roadmap{grid-column:1/-1}
@media(max-width:350px){.game-guide-grid{grid-template-columns:1fr}.game-guide-card{min-height:92px}.holdem-exam-roadmap{grid-column:auto}}


/* =========================================================
   v1.3.3 — LAB TEXAS HOLD'EM 2 x 4 GRID + ROADMAP ICONS
   ========================================================= */
.holdem-eight-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.holdem-eight-grid .training-card{
  min-height:132px!important;
}
.holdem-eight-grid .holdem-next-card{
  opacity:.84!important;
}
.custom-roadmap-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* POT CALCULATION — mini calculator */
.pot-calc-icon{
  position:relative;
  width:31px;
  height:35px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-template-rows:10px repeat(2,1fr);
  gap:2px;
  padding:4px;
  border:1.5px solid #e2bf64;
  border-radius:6px;
  background:linear-gradient(180deg,#17231c,#0a100c);
  box-shadow:inset 0 0 0 1px rgba(242,210,126,.10),0 2px 5px rgba(0,0,0,.32);
}
.pot-calc-icon i{
  grid-column:1/-1;
  display:block;
  border-radius:2px;
  background:linear-gradient(180deg,#d7bd75,#8f773d);
  opacity:.88;
}
.pot-calc-icon b{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  border-radius:2px;
  background:rgba(218,181,85,.10);
  color:#f1cf77;
  font:900 7px/1 var(--sans);
}

/* TABLE FLOW — button / action rotation */
.table-flow-cycle-icon{
  position:relative;
  width:38px;
  height:38px;
  display:block;
}
.table-flow-cycle-icon i{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#efc96b;
  font:900 35px/1 var(--sans);
  font-style:normal;
  text-shadow:0 2px 5px rgba(0,0,0,.35);
}
.table-flow-cycle-icon b,
.table-flow-cycle-icon em{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f0cf79;
  box-shadow:0 0 0 2px rgba(212,169,70,.14);
}
.table-flow-cycle-icon b{left:2px;bottom:8px}
.table-flow-cycle-icon em{right:2px;top:8px}

@media(max-width:350px){
  .holdem-eight-grid{gap:7px!important}
  .holdem-eight-grid .training-card{min-height:128px!important}
  .pot-calc-icon{transform:scale(.92)}
  .table-flow-cycle-icon{transform:scale(.92)}
}


/* =========================================================
   v1.3.4 — LAB TEXAS HOLD'EM TRUE 2 x 4 GRID
   Legacy v1.3.2 rule made EXAM span both columns.
   Force all 8 cards, including EXAM, to occupy exactly one grid cell.
   ========================================================= */
.holdem-eight-grid > .training-card,
.holdem-eight-grid > .holdem-exam-roadmap{
  grid-column:auto!important;
  width:100%!important;
  min-width:0!important;
}
.holdem-eight-grid .holdem-exam-roadmap{
  grid-column:auto!important;
}


/* =========================================================
   v1.3.5 — LAB TRAINING CARD COMPONENT UNIFICATION
   BLACKJACK / TEXAS HOLD'EM share identical card geometry.
   Long mode names get a reserved 2-line title region.
   ========================================================= */

/* Both game grids use the same outer geometry. */
.training-grid,
.holdem-eight-grid{
  gap:10px!important;
}

/* Common card shell: same height, padding and internal rhythm. */
.training-grid > .training-card,
.holdem-eight-grid > .training-card{
  width:100%!important;
  min-width:0!important;
  height:142px!important;
  min-height:142px!important;
  padding:13px 14px 12px!important;
  display:grid!important;
  grid-template-rows:36px 40px 32px!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start!important;
  justify-items:stretch!important;
  row-gap:2px!important;
  text-align:center!important;
  border-radius:17px!important;
}

/* Icon gets a fixed visual lane so custom icons and emoji line up. */
.training-grid > .training-card > .tc-icon,
.holdem-eight-grid > .training-card > .tc-icon{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:start!important;
  line-height:1!important;
  font-size:30px;
}

/* Title lane accepts one or two lines without moving other content. */
.training-grid > .training-card > h3,
.holdem-eight-grid > .training-card > h3{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:2px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:15px!important;
  line-height:1.12!important;
  overflow-wrap:anywhere!important;
}

/* Description also has a common two-line lane. */
.training-grid > .training-card > small,
.holdem-eight-grid > .training-card > small{
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:1px 3px 0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:1.35!important;
  overflow:hidden!important;
}

/* Chevron location is identical on every mode card. */
.training-grid > .training-card > .chev,
.holdem-eight-grid > .training-card > .chev{
  right:10px!important;
  bottom:8px!important;
}

/* Roadmap badges remain overlays and do not affect the shared grid. */
.holdem-eight-grid .roadmap-pill{
  position:absolute!important;
  right:8px!important;
  top:7px!important;
}

/* Custom Texas Hold'em icons stay centered inside the common icon lane. */
.holdem-eight-grid .best5-tc-icon,
.holdem-eight-grid .showdown-tc-icon,
.holdem-eight-grid .custom-roadmap-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
}

/* Preserve the true 2 x 4 Texas Hold'em layout. */
.holdem-eight-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.holdem-eight-grid > .training-card,
.holdem-eight-grid > .holdem-exam-roadmap{
  grid-column:auto!important;
}

/* Narrow phones: keep identical cards, just trim typography slightly. */
@media(max-width:350px){
  .training-grid,
  .holdem-eight-grid{
    gap:8px!important;
  }
  .training-grid > .training-card,
  .holdem-eight-grid > .training-card{
    height:138px!important;
    min-height:138px!important;
    padding:12px 10px 10px!important;
    grid-template-rows:34px 40px 31px!important;
  }
  .training-grid > .training-card > .tc-icon,
  .holdem-eight-grid > .training-card > .tc-icon{
    height:34px!important;
    min-height:34px!important;
    font-size:28px!important;
  }
  .training-grid > .training-card > h3,
  .holdem-eight-grid > .training-card > h3{
    font-size:13px!important;
  }
  .training-grid > .training-card > small,
  .holdem-eight-grid > .training-card > small{
    font-size:7.4px!important;
  }
}


/* =========================================================
   v1.3.6 — LAB CARD READABILITY
   Increase title/description readability while preserving
   identical BLACKJACK / TEXAS HOLD'EM card geometry.
   ========================================================= */

.training-grid > .training-card,
.holdem-eight-grid > .training-card{
  height:150px!important;
  min-height:150px!important;
  padding:13px 13px 12px!important;
  grid-template-rows:36px 44px 38px!important;
  row-gap:2px!important;
}

/* MODE NAME */
.training-grid > .training-card > h3,
.holdem-eight-grid > .training-card > h3{
  height:44px!important;
  min-height:44px!important;
  padding:1px 0 0!important;
  font-size:17px!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;
}

/* DESCRIPTION */
.training-grid > .training-card > small,
.holdem-eight-grid > .training-card > small{
  height:38px!important;
  min-height:38px!important;
  padding:2px 3px 0!important;
  font-size:9.5px!important;
  line-height:1.32!important;
  color:#c6c4bb!important;
}

/* Very long mode names keep the same visual rhythm. */
.holdem-eight-grid > .training-card h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Compact phones: still prioritise readability. */
@media(max-width:350px){
  .training-grid > .training-card,
  .holdem-eight-grid > .training-card{
    height:146px!important;
    min-height:146px!important;
    padding:12px 9px 10px!important;
    grid-template-rows:34px 43px 37px!important;
  }
  .training-grid > .training-card > h3,
  .holdem-eight-grid > .training-card > h3{
    height:43px!important;
    min-height:43px!important;
    font-size:15px!important;
    line-height:1.08!important;
  }
  .training-grid > .training-card > small,
  .holdem-eight-grid > .training-card > small{
    height:37px!important;
    min-height:37px!important;
    font-size:8.7px!important;
    line-height:1.3!important;
  }
}

/* =========================================================
   v1.4.0 — TEXAS HOLD'EM POT CALCULATION
   ========================================================= */
.holdem-pot-card{border-color:rgba(213,175,83,.56)!important;background:radial-gradient(circle at 50% 15%,rgba(211,171,70,.12),transparent 44%),linear-gradient(155deg,rgba(26,22,16,.98),rgba(10,12,11,.99))!important}
.pot-calc-screen{padding-bottom:18px}
.pot-status-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:7px;margin:8px 0}
.pot-status-row>div{min-width:0;text-align:center;padding:7px 4px;border:1px solid rgba(211,174,80,.24);border-radius:11px;background:rgba(9,12,10,.84)}
.pot-status-row small{display:block;font-size:8px;letter-spacing:.13em;color:#8e897d}
.pot-status-row strong{display:block;margin-top:3px;font-size:12px;color:#f2dfac}
.pot-stage{position:relative;height:218px;margin:0 -2px 8px;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 50% 45%,rgba(111,18,22,.18),transparent 54%),linear-gradient(#080909,#0d0d0d)}
.pot-room-mark{position:absolute;left:50%;top:7px;transform:translateX(-50%);font-size:7px;letter-spacing:.24em;color:rgba(215,184,104,.44);white-space:nowrap}
.pot-table-shell{position:absolute;left:50%;top:50%;width:77%;height:61%;transform:translate(-50%,-50%);border-radius:50%;padding:7px;background:linear-gradient(145deg,#050505,#28231b 47%,#080808);box-shadow:0 12px 28px rgba(0,0,0,.58),inset 0 0 0 1px rgba(237,199,101,.45)}
.pot-table-shell:after{content:"";position:absolute;inset:3px;border-radius:50%;border:2px solid rgba(198,151,49,.5);pointer-events:none}
.pot-felt{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(ellipse at 50% 42%,rgba(155,37,42,.34),transparent 58%),linear-gradient(155deg,#551018,#26070b 67%,#120506);box-shadow:inset 0 0 26px rgba(0,0,0,.66)}
.pot-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:110px;padding:10px 6px;border-radius:50%;border:1px solid rgba(229,192,97,.45);background:rgba(13,9,7,.3)}
.pot-center small{display:block;font-size:7px;letter-spacing:.17em;color:#bd9f5c}
.pot-center strong{display:block;font:700 35px/1 Georgia,serif;color:#f1d785;text-shadow:0 2px 12px rgba(220,179,72,.3)}
.pot-center span{font-size:7px;letter-spacing:.2em;color:#b1a995}
.pot-player-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);width:58px;padding:5px 4px;text-align:center;border-radius:9px;border:1px solid rgba(208,171,79,.46);background:linear-gradient(#171716,#090909);box-shadow:0 5px 12px rgba(0,0,0,.5)}
.pot-player-seat span{display:block;font-size:11px;font-weight:800;color:#f1d78a}
.pot-player-seat small{display:block;margin-top:1px;font-size:6px;letter-spacing:.11em;color:#8d887c}
.pot-player-seat.folded{opacity:.48;border-color:rgba(140,140,140,.3)}
.pot-player-seat.folded small{color:#c27070}
.pot-history-panel{padding:10px!important;margin-top:6px}
.pot-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.pot-history-head small{display:block;font-size:7px;letter-spacing:.16em;color:#9b927e}
.pot-history-head strong{display:block;margin-top:2px;font-size:12px;color:#e9d497}
.pot-term-shortcuts{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:3px;max-width:48%}
.pot-term-shortcuts button,.pot-dealer-point button{border:1px solid rgba(210,173,79,.28);border-radius:999px;background:rgba(207,167,66,.08);color:#d7bd77;font-size:6.8px;padding:4px 6px;white-space:nowrap}
.pot-street-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin:9px 0 7px}
.pot-street-tabs button{border:1px solid rgba(153,143,118,.24);border-radius:7px;padding:6px 2px;background:#0c0d0c;color:#817d72;font-size:8px;font-weight:800;letter-spacing:.06em}
.pot-street-tabs button.active{color:#19130a;background:linear-gradient(#f1d78d,#b8892d);border-color:#e9ca79;box-shadow:0 0 12px rgba(213,170,67,.16)}
.pot-action-list{min-height:104px;max-height:137px;overflow:auto;padding-right:2px}
.pot-action-row{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;min-height:25px;border-bottom:1px solid rgba(255,255,255,.05);font-size:9px}
.pot-action-row>b{color:#e4cf95}.pot-action-row>span{color:#d0cec7;font-weight:700;letter-spacing:.02em}
.pot-action-row>button{border:0;background:transparent;color:#d9b859;font-size:13px;padding:2px}
.pot-action-row.raise>span{color:#f0cc70}.pot-action-row.returned>span{color:#7fd3a1}.pot-action-row.fold>span{color:#8d8982}
.pot-answer-panel{margin-top:8px;padding:10px;border-radius:15px;border:1px solid rgba(211,173,76,.3);background:linear-gradient(160deg,rgba(20,18,14,.98),rgba(8,10,9,.98))}
.pot-answer-display{text-align:center;margin-bottom:7px}.pot-answer-display small{display:block;font-size:7px;letter-spacing:.2em;color:#9c927b}
.pot-answer-display strong{display:block;margin-top:1px;font:700 31px/1.05 Georgia,serif;color:#f0d582;min-height:34px;font-variant-numeric:tabular-nums}
.pot-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.pot-keypad button{min-height:38px;border-radius:9px;border:1px solid rgba(190,161,91,.25);background:linear-gradient(#1c1c1a,#0c0d0c);color:#eee8db;font-size:15px;font-weight:700}
.pot-keypad button:active{transform:scale(.97);background:#29271f}.pot-keypad button.utility{font-size:10px;color:#c8af71}.pot-confirm{margin-top:7px!important;min-height:43px!important}
.pot-feedback-screen{padding-bottom:16px}.pot-feedback-hero{margin:8px 0}
.pot-breakdown-panel,.pot-street-summary,.pot-dealer-point{margin-top:8px;padding:11px!important}
.pot-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:7px}
.pot-breakdown-grid>div{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}
.pot-breakdown-grid span{font-size:8px;color:#a8a399}.pot-breakdown-grid b{font-size:12px;color:#e7d093;font-variant-numeric:tabular-nums}.pot-breakdown-grid .folded{opacity:.7}
.pot-breakdown-total{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid rgba(220,183,89,.28)}
.pot-breakdown-total span{font-size:9px;letter-spacing:.12em;color:#b4aa92}.pot-breakdown-total strong{font:700 21px Georgia,serif;color:#f0d57f}
.pot-street-breakdown{display:flex;justify-content:space-between;padding:5px 1px;border-bottom:1px solid rgba(255,255,255,.05)}
.pot-street-breakdown span{font-size:8px;color:#9b978d}.pot-street-breakdown b{font-size:11px;color:#ddd4bf}
.pot-dealer-point p{font-size:11px;line-height:1.6;color:#d1cec5}.pot-dealer-point button{margin:3px 3px 0 0}
.pot-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.pot-result-grid>div{text-align:center;padding:10px 6px!important}
.pot-result-grid small{display:block;font-size:7px;color:#989285;letter-spacing:.08em}.pot-result-grid strong{display:block;margin-top:4px;font-size:17px;color:#ecd385}.pot-result-review{margin-top:8px}
.pot-tutorial-modal h2,.pot-term-modal h2{color:#efd27f}.pot-tutorial-lead{font-size:12px;line-height:1.6;color:#c9c5bb}
.pot-tutorial-card{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:start;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}
.pot-tutorial-card>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:rgba(211,171,69,.13);border:1px solid rgba(211,171,69,.34);color:#e2c36f;font-size:9px;font-weight:800}
.pot-tutorial-card b{font-size:11px;color:#e8d49b}.pot-tutorial-card p{margin:3px 0 0;font-size:10px;line-height:1.5;color:#aaa69c}
.pot-term-body>b{font-size:16px;color:#edd07a}.pot-term-body p{font-size:11px;line-height:1.65;color:#c9c6bd}
.pot-term-formula{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:12px 0;padding:10px;border-radius:10px;background:#0b0c0b}
.pot-term-formula span{font-size:9px;color:#b9b3a5}.pot-term-formula>b{color:#777}.pot-term-formula strong{font-size:11px;color:#efd075}
@media(max-width:350px){.pot-stage{height:200px}.pot-player-seat{width:52px}.pot-history-head strong{font-size:10px}.pot-term-shortcuts{max-width:52%}.pot-action-list{max-height:125px}.pot-answer-display strong{font-size:28px}.pot-keypad button{min-height:35px}}


/* =========================================================
   v1.4.1 — POT CALCULATION: 10-KEY + ONE-SCREEN PORTRAIT FIX
   POT CALCULATION question screen only. Other modes untouched.
   ========================================================= */
body.holdem-pot-calc-active{overflow:hidden!important}
body.holdem-pot-calc-active .app-shell{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
body.holdem-pot-calc-active #screen{
  height:calc(100dvh - env(safe-area-inset-bottom))!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:max(5px,env(safe-area-inset-top)) 8px max(3px,env(safe-area-inset-bottom))!important;
}
body.holdem-pot-calc-active #bottomNav{display:none!important}

body.holdem-pot-calc-active .pot-top{
  flex:0 0 39px!important;
  min-height:39px!important;
  height:39px!important;
  padding:0 1px 4px!important;
  margin:0!important;
}
body.holdem-pot-calc-active .pot-top .back-link{
  min-width:42px!important;
  padding:5px 2px!important;
  font-size:9px!important;
}
body.holdem-pot-calc-active .pot-top .training-title strong{
  font-size:16px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .pot-top .training-title span{
  font-size:6.5px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .holdem-q-counter{min-width:34px!important}
body.holdem-pot-calc-active .holdem-q-counter strong{font-size:16px!important}
body.holdem-pot-calc-active .holdem-q-counter small{font-size:7px!important}

body.holdem-pot-calc-active .pot-calc-screen{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:
    31px
    clamp(132px,22dvh,176px)
    clamp(122px,19dvh,148px)
    216px!important;
  gap:4px!important;
  padding:3px 0 0!important;
  align-content:start!important;
}

body.holdem-pot-calc-active .pot-status-row{
  height:31px!important;
  min-height:31px!important;
  margin:0!important;
  gap:4px!important;
}
body.holdem-pot-calc-active .pot-status-row>div{
  padding:3px 3px!important;
  border-radius:8px!important;
}
body.holdem-pot-calc-active .pot-status-row small{font-size:6px!important;line-height:1!important}
body.holdem-pot-calc-active .pot-status-row strong{font-size:9px!important;margin-top:2px!important;line-height:1.05!important}

body.holdem-pot-calc-active .pot-stage{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border-radius:14px!important;
}
body.holdem-pot-calc-active .pot-room-mark{top:3px!important;font-size:5px!important}
body.holdem-pot-calc-active .pot-table-shell{
  width:75%!important;
  height:61%!important;
  padding:5px!important;
}
body.holdem-pot-calc-active .pot-center{
  width:84px!important;
  padding:5px 3px!important;
}
body.holdem-pot-calc-active .pot-center small{font-size:5.5px!important}
body.holdem-pot-calc-active .pot-center strong{font-size:25px!important}
body.holdem-pot-calc-active .pot-center span{font-size:5px!important}
body.holdem-pot-calc-active .pot-player-seat{
  width:50px!important;
  min-height:29px!important;
  padding:3px 2px!important;
  border-radius:7px!important;
}
body.holdem-pot-calc-active .pot-player-seat span{font-size:9px!important;line-height:1!important}
body.holdem-pot-calc-active .pot-player-seat small{font-size:5px!important;line-height:1!important}

body.holdem-pot-calc-active .pot-history-panel{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:6px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
body.holdem-pot-calc-active .pot-history-head{
  flex:0 0 auto!important;
  min-height:22px!important;
  align-items:center!important;
}
body.holdem-pot-calc-active .pot-history-head small{font-size:5.5px!important}
body.holdem-pot-calc-active .pot-history-head strong{font-size:9px!important;margin-top:1px!important}
body.holdem-pot-calc-active .pot-term-shortcuts{max-width:50%!important;gap:2px!important}
body.holdem-pot-calc-active .pot-term-shortcuts button{
  font-size:5.5px!important;
  padding:3px 4px!important;
}
body.holdem-pot-calc-active .pot-street-tabs{
  flex:0 0 24px!important;
  height:24px!important;
  margin:3px 0!important;
  gap:3px!important;
}
body.holdem-pot-calc-active .pot-street-tabs button{
  padding:3px 1px!important;
  border-radius:5px!important;
  font-size:6.5px!important;
}
body.holdem-pot-calc-active .pot-action-list{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.holdem-pot-calc-active .pot-action-row{
  min-height:19px!important;
  grid-template-columns:34px minmax(0,1fr) 20px!important;
  font-size:7.5px!important;
}
body.holdem-pot-calc-active .pot-action-row>button{font-size:11px!important;padding:0!important}

body.holdem-pot-calc-active .pot-answer-panel{
  height:216px!important;
  min-height:216px!important;
  margin:0!important;
  padding:5px 6px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:26px minmax(0,1fr) 34px!important;
  gap:4px!important;
}
body.holdem-pot-calc-active .pot-answer-display{
  height:26px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
body.holdem-pot-calc-active .pot-answer-display small{
  font-size:6px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .pot-answer-display strong{
  min-height:0!important;
  margin:0!important;
  font-size:24px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .pot-keypad{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  gap:3px!important;
}
body.holdem-pot-calc-active .pot-keypad button{
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border-radius:7px!important;
  font-size:14px!important;
  line-height:1!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
body.holdem-pot-calc-active .pot-keypad button.utility{font-size:8px!important}
body.holdem-pot-calc-active .pot-confirm{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 8px!important;
  font-size:10px!important;
  touch-action:manipulation!important;
}

/* Short iPhones: preserve all four functional zones without page scrolling. */
@media(max-height:740px){
  body.holdem-pot-calc-active .pot-top{flex-basis:36px!important;height:36px!important;min-height:36px!important}
  body.holdem-pot-calc-active .pot-calc-screen{
    grid-template-rows:28px 132px 120px 206px!important;
    gap:3px!important;
  }
  body.holdem-pot-calc-active .pot-status-row{height:28px!important;min-height:28px!important}
  body.holdem-pot-calc-active .pot-player-seat{width:47px!important}
  body.holdem-pot-calc-active .pot-history-panel{padding:5px!important}
  body.holdem-pot-calc-active .pot-action-row{min-height:17px!important;font-size:7px!important}
  body.holdem-pot-calc-active .pot-answer-panel{
    height:206px!important;min-height:206px!important;
    grid-template-rows:24px minmax(0,1fr) 32px!important;
  }
  body.holdem-pot-calc-active .pot-answer-display{height:24px!important}
  body.holdem-pot-calc-active .pot-answer-display strong{font-size:21px!important}
  body.holdem-pot-calc-active .pot-confirm{height:32px!important;min-height:32px!important}
}

@media(max-height:680px){
  body.holdem-pot-calc-active #screen{padding-top:max(3px,env(safe-area-inset-top))!important}
  body.holdem-pot-calc-active .pot-top{flex-basis:33px!important;height:33px!important;min-height:33px!important;padding-bottom:2px!important}
  body.holdem-pot-calc-active .pot-top .training-title strong{font-size:14px!important}
  body.holdem-pot-calc-active .pot-calc-screen{
    grid-template-rows:26px 118px 108px 198px!important;
    gap:3px!important;
  }
  body.holdem-pot-calc-active .pot-status-row{height:26px!important;min-height:26px!important}
  body.holdem-pot-calc-active .pot-table-shell{height:58%!important}
  body.holdem-pot-calc-active .pot-player-seat{width:44px!important;min-height:25px!important}
  body.holdem-pot-calc-active .pot-action-row{min-height:16px!important}
  body.holdem-pot-calc-active .pot-answer-panel{
    height:198px!important;min-height:198px!important;
    grid-template-rows:22px minmax(0,1fr) 30px!important;
    padding:4px 5px!important;
  }
  body.holdem-pot-calc-active .pot-answer-display{height:22px!important}
  body.holdem-pot-calc-active .pot-answer-display strong{font-size:19px!important}
  body.holdem-pot-calc-active .pot-confirm{height:30px!important;min-height:30px!important}
}

@media(max-width:350px){
  body.holdem-pot-calc-active #screen{padding-left:6px!important;padding-right:6px!important}
  body.holdem-pot-calc-active .pot-player-seat{width:43px!important}
  body.holdem-pot-calc-active .pot-term-shortcuts button{font-size:5px!important;padding:2px 3px!important}
  body.holdem-pot-calc-active .pot-action-row{grid-template-columns:31px minmax(0,1fr) 18px!important}
}


/* =========================================================
   v1.4.2 — POT CALCULATION READABILITY + DEAD SPACE FIX
   Strategy:
   - Use the full device viewport instead of compressing everything.
   - Return spare height to the table and ACTION HISTORY.
   - Keep the page itself fixed; only ACTION HISTORY scrolls if needed.
   ========================================================= */

body.holdem-pot-calc-active{
  overflow:hidden!important;
}
body.holdem-pot-calc-active .app-shell{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
body.holdem-pot-calc-active #screen{
  /* v1.4.1 subtracted the bottom safe-area and also padded for it.
     Use the full viewport; safe-area is handled by padding only. */
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  padding:
    max(7px,env(safe-area-inset-top))
    9px
    max(7px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
body.holdem-pot-calc-active #bottomNav{display:none!important}

/* Header: readable, but still compact. */
body.holdem-pot-calc-active .pot-top{
  flex:0 0 42px!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 1px 5px!important;
}
body.holdem-pot-calc-active .pot-top .back-link{
  min-width:46px!important;
  font-size:10px!important;
}
body.holdem-pot-calc-active .pot-top .training-title strong{
  font-size:17px!important;
}
body.holdem-pot-calc-active .pot-top .training-title span{
  font-size:7.5px!important;
  margin-top:2px!important;
}
body.holdem-pot-calc-active .holdem-q-counter strong{font-size:17px!important}
body.holdem-pot-calc-active .holdem-q-counter small{font-size:8px!important}

/* Fill every remaining vertical pixel.
   The table and history are flexible zones instead of fixed small boxes. */
body.holdem-pot-calc-active .pot-calc-screen{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:
    36px
    minmax(150px,.82fr)
    minmax(190px,1.18fr)
    214px!important;
  gap:5px!important;
  padding:2px 0 0!important;
  align-content:stretch!important;
}

/* STATUS */
body.holdem-pot-calc-active .pot-status-row{
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  gap:5px!important;
}
body.holdem-pot-calc-active .pot-status-row>div{
  padding:5px 4px!important;
}
body.holdem-pot-calc-active .pot-status-row small{
  font-size:7.5px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .pot-status-row strong{
  font-size:11px!important;
  margin-top:3px!important;
  line-height:1!important;
}

/* TABLE / PLAYER LABELS */
body.holdem-pot-calc-active .pot-stage{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
}
body.holdem-pot-calc-active .pot-room-mark{
  top:4px!important;
  font-size:6px!important;
}
body.holdem-pot-calc-active .pot-table-shell{
  width:78%!important;
  height:64%!important;
}
body.holdem-pot-calc-active .pot-center{
  width:96px!important;
  padding:7px 4px!important;
}
body.holdem-pot-calc-active .pot-center small{font-size:6.5px!important}
body.holdem-pot-calc-active .pot-center strong{font-size:30px!important}
body.holdem-pot-calc-active .pot-center span{font-size:6px!important}
body.holdem-pot-calc-active .pot-player-seat{
  width:58px!important;
  min-height:34px!important;
  padding:4px 3px!important;
}
body.holdem-pot-calc-active .pot-player-seat span{
  font-size:11px!important;
  line-height:1.05!important;
}
body.holdem-pot-calc-active .pot-player-seat small{
  font-size:6.5px!important;
  line-height:1!important;
  margin-top:2px!important;
}

/* ACTION HISTORY — this is the core reading/calculation area. */
body.holdem-pot-calc-active .pot-history-panel{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:9px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
body.holdem-pot-calc-active .pot-history-head{
  flex:0 0 auto!important;
  min-height:30px!important;
  align-items:center!important;
  gap:7px!important;
}
body.holdem-pot-calc-active .pot-history-head small{
  font-size:7.5px!important;
  letter-spacing:.13em!important;
}
body.holdem-pot-calc-active .pot-history-head strong{
  font-size:12.5px!important;
  margin-top:2px!important;
  line-height:1.05!important;
}
body.holdem-pot-calc-active .pot-term-shortcuts{
  max-width:48%!important;
  gap:3px!important;
}
body.holdem-pot-calc-active .pot-term-shortcuts button{
  font-size:7px!important;
  padding:4px 5px!important;
}
body.holdem-pot-calc-active .pot-street-tabs{
  flex:0 0 30px!important;
  height:30px!important;
  margin:5px 0!important;
  gap:4px!important;
}
body.holdem-pot-calc-active .pot-street-tabs button{
  padding:5px 2px!important;
  border-radius:6px!important;
  font-size:9px!important;
  letter-spacing:.04em!important;
}
body.holdem-pot-calc-active .pot-action-list{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin;
}
body.holdem-pot-calc-active .pot-action-row{
  min-height:27px!important;
  grid-template-columns:46px minmax(0,1fr) 27px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
body.holdem-pot-calc-active .pot-action-row>b{
  font-size:11px!important;
}
body.holdem-pot-calc-active .pot-action-row>span{
  font-size:10.5px!important;
}
body.holdem-pot-calc-active .pot-action-row>button{
  font-size:14px!important;
  padding:2px!important;
}

/* ANSWER: keep useful touch targets without stealing the whole screen. */
body.holdem-pot-calc-active .pot-answer-panel{
  height:214px!important;
  min-height:214px!important;
  margin:0!important;
  padding:6px 7px!important;
  grid-template-rows:29px minmax(0,1fr) 36px!important;
  gap:4px!important;
}
body.holdem-pot-calc-active .pot-answer-display{
  height:29px!important;
  gap:11px!important;
}
body.holdem-pot-calc-active .pot-answer-display small{
  font-size:7.5px!important;
}
body.holdem-pot-calc-active .pot-answer-display strong{
  font-size:25px!important;
}
body.holdem-pot-calc-active .pot-keypad{
  gap:4px!important;
}
body.holdem-pot-calc-active .pot-keypad button{
  font-size:15px!important;
  border-radius:8px!important;
}
body.holdem-pot-calc-active .pot-keypad button.utility{
  font-size:9px!important;
}
body.holdem-pot-calc-active .pot-confirm{
  height:36px!important;
  min-height:36px!important;
  font-size:11px!important;
}

/* Normal short iPhones: still readable.
   Reduce decorative table space first, not ACTION text. */
@media(max-height:740px){
  body.holdem-pot-calc-active .pot-top{
    flex:0 0 38px!important;
    min-height:38px!important;
    height:38px!important;
  }
  body.holdem-pot-calc-active .pot-calc-screen{
    grid-template-rows:
      32px
      minmax(130px,.72fr)
      minmax(170px,1.28fr)
      202px!important;
    gap:4px!important;
  }
  body.holdem-pot-calc-active .pot-status-row{
    height:32px!important;
    min-height:32px!important;
  }
  body.holdem-pot-calc-active .pot-status-row small{font-size:7px!important}
  body.holdem-pot-calc-active .pot-status-row strong{font-size:10px!important}
  body.holdem-pot-calc-active .pot-player-seat{
    width:52px!important;
    min-height:31px!important;
  }
  body.holdem-pot-calc-active .pot-player-seat span{font-size:10px!important}
  body.holdem-pot-calc-active .pot-player-seat small{font-size:6px!important}
  body.holdem-pot-calc-active .pot-history-panel{padding:7px!important}
  body.holdem-pot-calc-active .pot-history-head{min-height:27px!important}
  body.holdem-pot-calc-active .pot-history-head small{font-size:7px!important}
  body.holdem-pot-calc-active .pot-history-head strong{font-size:11.5px!important}
  body.holdem-pot-calc-active .pot-street-tabs{
    flex-basis:27px!important;height:27px!important;margin:4px 0!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs button{font-size:8.5px!important}
  body.holdem-pot-calc-active .pot-action-row{
    min-height:24px!important;
    font-size:10px!important;
    grid-template-columns:42px minmax(0,1fr) 25px!important;
  }
  body.holdem-pot-calc-active .pot-action-row>b,
  body.holdem-pot-calc-active .pot-action-row>span{font-size:10px!important}
  body.holdem-pot-calc-active .pot-answer-panel{
    height:202px!important;
    min-height:202px!important;
    grid-template-rows:27px minmax(0,1fr) 34px!important;
  }
  body.holdem-pot-calc-active .pot-answer-display{height:27px!important}
  body.holdem-pot-calc-active .pot-answer-display strong{font-size:23px!important}
  body.holdem-pot-calc-active .pot-confirm{
    height:34px!important;min-height:34px!important;
  }
}

/* Very short devices: retain a true one-screen layout.
   ACTION HISTORY remains >= 9.3px instead of v1.4.1's 7px. */
@media(max-height:680px){
  body.holdem-pot-calc-active #screen{
    padding-top:max(4px,env(safe-area-inset-top))!important;
    padding-bottom:max(4px,env(safe-area-inset-bottom))!important;
  }
  body.holdem-pot-calc-active .pot-top{
    flex:0 0 35px!important;
    min-height:35px!important;
    height:35px!important;
  }
  body.holdem-pot-calc-active .pot-top .training-title strong{font-size:15px!important}
  body.holdem-pot-calc-active .pot-calc-screen{
    grid-template-rows:29px 118px minmax(148px,1fr) 192px!important;
    gap:3px!important;
  }
  body.holdem-pot-calc-active .pot-status-row{
    height:29px!important;min-height:29px!important;
  }
  body.holdem-pot-calc-active .pot-status-row small{font-size:6.5px!important}
  body.holdem-pot-calc-active .pot-status-row strong{font-size:9.5px!important}
  body.holdem-pot-calc-active .pot-table-shell{height:60%!important}
  body.holdem-pot-calc-active .pot-player-seat{
    width:48px!important;min-height:29px!important;
  }
  body.holdem-pot-calc-active .pot-player-seat span{font-size:9.5px!important}
  body.holdem-pot-calc-active .pot-history-panel{padding:6px!important}
  body.holdem-pot-calc-active .pot-history-head{min-height:25px!important}
  body.holdem-pot-calc-active .pot-history-head strong{font-size:10.5px!important}
  body.holdem-pot-calc-active .pot-term-shortcuts button{
    font-size:6.3px!important;padding:3px 4px!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs{
    height:25px!important;flex-basis:25px!important;margin:3px 0!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs button{font-size:8px!important}
  body.holdem-pot-calc-active .pot-action-row{
    min-height:22px!important;
    grid-template-columns:40px minmax(0,1fr) 23px!important;
    font-size:9.3px!important;
  }
  body.holdem-pot-calc-active .pot-action-row>b,
  body.holdem-pot-calc-active .pot-action-row>span{font-size:9.3px!important}
  body.holdem-pot-calc-active .pot-answer-panel{
    height:192px!important;min-height:192px!important;
    grid-template-rows:25px minmax(0,1fr) 32px!important;
    padding:4px 6px!important;
  }
  body.holdem-pot-calc-active .pot-answer-display{height:25px!important}
  body.holdem-pot-calc-active .pot-answer-display small{font-size:7px!important}
  body.holdem-pot-calc-active .pot-answer-display strong{font-size:21px!important}
  body.holdem-pot-calc-active .pot-keypad{gap:3px!important}
  body.holdem-pot-calc-active .pot-keypad button{font-size:14px!important}
  body.holdem-pot-calc-active .pot-confirm{
    height:32px!important;min-height:32px!important;font-size:10px!important;
  }
}

@media(max-width:350px){
  body.holdem-pot-calc-active #screen{
    padding-left:7px!important;
    padding-right:7px!important;
  }
  body.holdem-pot-calc-active .pot-term-shortcuts button{
    font-size:6.2px!important;
    padding:3px 4px!important;
  }
  body.holdem-pot-calc-active .pot-action-row{
    grid-template-columns:39px minmax(0,1fr) 23px!important;
  }
}


/* =========================================================
   v1.4.3 — POT STREET COLOR NAV + TABLE STATE SYNC
   ========================================================= */

/* STREET navigation gets its own tiny hint so first-time users
   understand that these are tappable time controls. */
body.holdem-pot-calc-active .pot-street-nav{
  flex:0 0 43px!important;
  min-height:43px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:2px!important;
  margin:3px 0 4px!important;
}
body.holdem-pot-calc-active .pot-street-hint{
  display:block!important;
  text-align:center!important;
  font-size:6.5px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  color:#8e897e!important;
  opacity:.9!important;
}
body.holdem-pot-calc-active .pot-street-tabs{
  flex:1 1 auto!important;
  height:31px!important;
  min-height:31px!important;
  margin:0!important;
  gap:5px!important;
}
body.holdem-pot-calc-active .pot-street-tabs button{
  --street-rgb:180,180,180;
  position:relative!important;
  overflow:hidden!important;
  min-width:0!important;
  padding:4px 2px!important;
  border:1px solid rgba(var(--street-rgb),.55)!important;
  background:
    linear-gradient(180deg,rgba(var(--street-rgb),.16),rgba(var(--street-rgb),.055))!important;
  color:rgb(var(--street-rgb))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 0 0 rgba(var(--street-rgb),0)!important;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    background .14s ease,
    border-color .14s ease!important;
}
body.holdem-pot-calc-active .pot-street-tabs button i{
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  margin-right:4px!important;
  border-radius:50%!important;
  vertical-align:1px!important;
  background:rgb(var(--street-rgb))!important;
  box-shadow:0 0 6px rgba(var(--street-rgb),.62)!important;
}
body.holdem-pot-calc-active .pot-street-tabs button span{
  position:relative!important;
  z-index:1!important;
}
body.holdem-pot-calc-active .pot-street-tabs button.street-preflop{--street-rgb:77,166,255}
body.holdem-pot-calc-active .pot-street-tabs button.street-flop{--street-rgb:72,210,133}
body.holdem-pot-calc-active .pot-street-tabs button.street-turn{--street-rgb:244,184,67}
body.holdem-pot-calc-active .pot-street-tabs button.street-river{--street-rgb:239,91,122}

body.holdem-pot-calc-active .pot-street-tabs button.active{
  color:#fff!important;
  border-color:rgba(var(--street-rgb),.98)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(var(--street-rgb),.56),transparent 72%),
    linear-gradient(180deg,rgba(var(--street-rgb),.38),rgba(var(--street-rgb),.17))!important;
  box-shadow:
    0 0 0 1px rgba(var(--street-rgb),.28),
    0 0 12px rgba(var(--street-rgb),.34),
    inset 0 0 13px rgba(var(--street-rgb),.12)!important;
  transform:translateY(-1px)!important;
}
body.holdem-pot-calc-active .pot-street-tabs button.active:after{
  content:""!important;
  position:absolute!important;
  left:16%!important;
  right:16%!important;
  bottom:1px!important;
  height:2px!important;
  border-radius:99px!important;
  background:rgb(var(--street-rgb))!important;
  box-shadow:0 0 7px rgba(var(--street-rgb),.8)!important;
}

/* Table state label makes the time relationship explicit. */
body.holdem-pot-calc-active .pot-street-state{
  position:absolute!important;
  right:7px!important;
  top:6px!important;
  z-index:3!important;
  text-align:right!important;
  pointer-events:none!important;
}
body.holdem-pot-calc-active .pot-street-state small{
  display:block!important;
  font-size:5.5px!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  color:#77736a!important;
}
body.holdem-pot-calc-active .pot-street-state strong{
  display:block!important;
  margin-top:2px!important;
  font-size:7.5px!important;
  line-height:1!important;
  color:#d9bf78!important;
}

/* ACTIVE / FOLDED should be instantly recognizable when STREET changes. */
body.holdem-pot-calc-active .pot-player-seat{
  transition:
    opacity .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease,
    transform .16s ease!important;
}
body.holdem-pot-calc-active .pot-player-seat.active{
  opacity:1!important;
  border-color:rgba(91,205,137,.55)!important;
  background:linear-gradient(180deg,rgba(34,65,47,.96),rgba(11,21,16,.98))!important;
  box-shadow:
    0 5px 12px rgba(0,0,0,.5),
    0 0 9px rgba(72,210,133,.09)!important;
}
body.holdem-pot-calc-active .pot-player-seat.active small{
  color:#71d89a!important;
  font-weight:800!important;
}
body.holdem-pot-calc-active .pot-player-seat.folded{
  opacity:.5!important;
  border-color:rgba(224,91,104,.42)!important;
  background:linear-gradient(180deg,rgba(65,27,31,.9),rgba(18,10,11,.96))!important;
  filter:saturate(.7)!important;
}
body.holdem-pot-calc-active .pot-player-seat.folded small{
  color:#ec7c87!important;
  font-weight:800!important;
}

/* The new hint consumes a few pixels; keep ACTION HISTORY as the priority.
   Its list remains the flexible area. */
body.holdem-pot-calc-active .pot-history-panel{
  padding-top:7px!important;
}
body.holdem-pot-calc-active .pot-history-head{
  min-height:27px!important;
}
body.holdem-pot-calc-active .pot-action-list{
  flex:1 1 auto!important;
  min-height:0!important;
}

/* Short devices: preserve color navigation, trim only the hint. */
@media(max-height:740px){
  body.holdem-pot-calc-active .pot-street-nav{
    flex-basis:38px!important;
    min-height:38px!important;
    gap:1px!important;
    margin:2px 0 3px!important;
  }
  body.holdem-pot-calc-active .pot-street-hint{
    font-size:5.8px!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs{
    height:28px!important;
    min-height:28px!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs button{
    font-size:8.4px!important;
    padding:3px 1px!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs button i{
    width:5px!important;
    height:5px!important;
    margin-right:3px!important;
  }
}
@media(max-height:680px){
  body.holdem-pot-calc-active .pot-street-nav{
    flex-basis:34px!important;
    min-height:34px!important;
  }
  body.holdem-pot-calc-active .pot-street-hint{
    font-size:5.2px!important;
    letter-spacing:.1em!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs{
    height:25px!important;
    min-height:25px!important;
  }
  body.holdem-pot-calc-active .pot-street-tabs button{
    font-size:7.7px!important;
  }
  body.holdem-pot-calc-active .pot-street-state strong{
    font-size:6.8px!important;
  }
}


/* =========================================================
   v1.4.4 — POT REVIEW GUARD / SCROLL CUE / SLIDE CONFIRM
   ========================================================= */

/* Reviewed STREET checkmark */
body.holdem-pot-calc-active .pot-street-tabs button{
  padding-right:13px!important;
}
body.holdem-pot-calc-active .street-check{
  position:absolute!important;
  right:4px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-style:normal!important;
  font-size:9px!important;
  font-weight:900!important;
  color:#71d89a!important;
  text-shadow:0 0 7px rgba(72,210,133,.55)!important;
}
body.holdem-pot-calc-active .pot-street-tabs button.reviewed{
  box-shadow:
    inset 0 0 0 1px rgba(91,211,139,.12),
    0 0 7px rgba(72,210,133,.08)!important;
}

/* Review progress row */
body.holdem-pot-calc-active .pot-review-status{
  flex:0 0 18px!important;
  min-height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
  padding:1px 2px!important;
}
body.holdem-pot-calc-active .pot-review-status span{
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
  color:#d0ad55!important;
}
body.holdem-pot-calc-active .pot-review-status span.complete{
  color:#6bd395!important;
}
body.holdem-pot-calc-active .pot-review-status small{
  font-size:6.5px!important;
  color:#837e73!important;
}

/* Scroll wrapper and unmistakable bottom cue */
body.holdem-pot-calc-active .pot-action-scroll-wrap{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:7px!important;
}
body.holdem-pot-calc-active .pot-action-list{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:auto!important;
  scrollbar-color:#d2a945 #242019!important;
}
body.holdem-pot-calc-active .pot-action-list.has-overflow{
  padding-bottom:31px!important;
}
body.holdem-pot-calc-active .pot-action-list::-webkit-scrollbar{
  width:7px!important;
}
body.holdem-pot-calc-active .pot-action-list::-webkit-scrollbar-track{
  background:#211d16!important;
  border-radius:10px!important;
}
body.holdem-pot-calc-active .pot-action-list::-webkit-scrollbar-thumb{
  background:linear-gradient(#f0d17a,#a87925)!important;
  border-radius:10px!important;
  border:1px solid #2b2417!important;
}
body.holdem-pot-calc-active .pot-scroll-cue{
  position:absolute!important;
  left:2px!important;
  right:9px!important;
  bottom:1px!important;
  z-index:6!important;
  height:29px!important;
  border:1px solid rgba(234,193,86,.68)!important;
  border-radius:7px!important;
  background:
    linear-gradient(180deg,rgba(48,37,14,.96),rgba(18,15,9,.98))!important;
  color:#f1d277!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-size:7.5px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  box-shadow:
    0 -10px 18px rgba(0,0,0,.68),
    0 0 12px rgba(218,174,61,.14)!important;
  animation:potScrollCuePulse 1.25s ease-in-out infinite!important;
}
body.holdem-pot-calc-active .pot-scroll-cue b{
  font-size:13px!important;
  line-height:1!important;
}
body.holdem-pot-calc-active .pot-scroll-cue.hidden{
  display:none!important;
}
body.holdem-pot-calc-active .pot-scroll-cue.done{
  border-color:rgba(80,201,132,.58)!important;
  background:linear-gradient(180deg,rgba(22,57,39,.96),rgba(10,25,18,.98))!important;
  color:#75dc9f!important;
  animation:none!important;
}
@keyframes potScrollCuePulse{
  0%,100%{box-shadow:0 -10px 18px rgba(0,0,0,.68),0 0 7px rgba(218,174,61,.08)}
  50%{box-shadow:0 -10px 18px rgba(0,0,0,.68),0 0 17px rgba(218,174,61,.32)}
}

/* Make room in history panel for review status without shrinking action font */
body.holdem-pot-calc-active .pot-history-head{
  min-height:25px!important;
}
body.holdem-pot-calc-active .pot-street-nav{
  margin-bottom:1px!important;
}

/* Replace one-tap CONFIRM with deliberate slide */
body.holdem-pot-calc-active .pot-answer-panel{
  grid-template-rows:29px minmax(0,1fr) 42px!important;
}
body.holdem-pot-calc-active .pot-slide-confirm{
  --slide-accent:184,145,48;
  position:relative!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  padding:3px!important;
  overflow:hidden!important;
  border:1px solid rgba(var(--slide-accent),.42)!important;
  background:linear-gradient(180deg,#17150f,#0a0b09)!important;
  box-shadow:inset 0 0 14px rgba(0,0,0,.5)!important;
  touch-action:none!important;
  user-select:none!important;
}
body.holdem-pot-calc-active .pot-slide-fill{
  position:absolute!important;
  left:3px!important;
  top:3px!important;
  bottom:3px!important;
  width:0;
  border-radius:9px!important;
  background:linear-gradient(90deg,rgba(48,151,91,.32),rgba(62,205,119,.48))!important;
  pointer-events:none!important;
}
body.holdem-pot-calc-active .pot-slide-label{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-left:45px!important;
  padding-right:8px!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  color:#a19b8e!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
body.holdem-pot-calc-active .pot-slide-thumb{
  position:relative!important;
  z-index:4!important;
  width:36px!important;
  height:34px!important;
  min-width:36px!important;
  min-height:34px!important;
  border:1px solid rgba(231,197,104,.65)!important;
  border-radius:9px!important;
  background:linear-gradient(145deg,#e1c36d,#956b20)!important;
  color:#181208!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 3px 9px rgba(0,0,0,.48)!important;
  touch-action:none!important;
  cursor:grab!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.ready{
  --slide-accent:63,190,110;
  border-color:rgba(68,205,120,.58)!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.ready .pot-slide-label{
  color:#d2dfd5!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.ready .pot-slide-thumb{
  border-color:rgba(99,229,151,.75)!important;
  background:linear-gradient(145deg,#76dda1,#2c8c58)!important;
  color:#07150d!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.review-locked .pot-slide-thumb,
body.holdem-pot-calc-active .pot-slide-confirm.answer-locked .pot-slide-thumb{
  filter:grayscale(.4)!important;
  opacity:.55!important;
  cursor:not-allowed!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.dragging .pot-slide-thumb{
  cursor:grabbing!important;
  box-shadow:0 4px 13px rgba(50,215,117,.35)!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.near-complete{
  border-color:rgba(87,230,144,.95)!important;
  box-shadow:0 0 14px rgba(57,213,119,.2)!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.snapback .pot-slide-thumb{
  transition:transform .2s ease!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.snapback .pot-slide-fill{
  transition:width .2s ease!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.submitted{
  pointer-events:none!important;
}

/* Contextual guide amount emphasis */
.pot-term-note{
  margin-top:7px!important;
  padding:7px 8px!important;
  border-radius:8px!important;
  background:rgba(211,171,69,.08)!important;
  border:1px solid rgba(211,171,69,.18)!important;
}
.pot-term-note b{
  color:#efd075!important;
}

/* Short screens */
@media(max-height:740px){
  body.holdem-pot-calc-active .pot-review-status{
    flex-basis:15px!important;
    min-height:15px!important;
  }
  body.holdem-pot-calc-active .pot-review-status span{font-size:6.3px!important}
  body.holdem-pot-calc-active .pot-review-status small{font-size:5.8px!important}
  body.holdem-pot-calc-active .pot-answer-panel{
    grid-template-rows:27px minmax(0,1fr) 38px!important;
  }
  body.holdem-pot-calc-active .pot-slide-confirm{
    height:38px!important;min-height:38px!important;
  }
  body.holdem-pot-calc-active .pot-slide-thumb{
    width:33px!important;height:30px!important;min-width:33px!important;min-height:30px!important;
  }
  body.holdem-pot-calc-active .pot-slide-label{
    font-size:7.4px!important;padding-left:41px!important;
  }
}
@media(max-height:680px){
  body.holdem-pot-calc-active .pot-review-status small{
    display:none!important;
  }
  body.holdem-pot-calc-active .pot-answer-panel{
    grid-template-rows:25px minmax(0,1fr) 35px!important;
  }
  body.holdem-pot-calc-active .pot-slide-confirm{
    height:35px!important;min-height:35px!important;
  }
  body.holdem-pot-calc-active .pot-slide-thumb{
    width:30px!important;height:27px!important;min-width:30px!important;min-height:27px!important;
    font-size:15px!important;
  }
  body.holdem-pot-calc-active .pot-slide-label{
    font-size:6.8px!important;padding-left:37px!important;
  }
  body.holdem-pot-calc-active .pot-scroll-cue{
    height:26px!important;font-size:6.8px!important;
  }
}

/* =========================================================
   v1.4.5 — POT CALCULATION STREET MEMO
   ========================================================= */
body.holdem-pot-calc-active .pot-calc-screen.pot-multi-street{
  grid-template-rows:36px minmax(132px,.68fr) minmax(184px,1.32fr) 242px!important;
}
body.holdem-pot-calc-active .pot-answer-panel.has-street-memo{
  height:242px!important;min-height:242px!important;
  grid-template-rows:16px 34px 29px minmax(0,1fr) 42px!important;
  gap:3px!important;padding:5px 7px!important;
}
body.holdem-pot-calc-active .pot-memo-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  min-width:0!important;padding:0 1px!important;
}
body.holdem-pot-calc-active .pot-memo-head>span{
  display:flex!important;align-items:center!important;gap:5px!important;
  font-size:6.8px!important;font-weight:900!important;letter-spacing:.11em!important;color:#cfb366!important;
}
body.holdem-pot-calc-active .pot-memo-head em{font-style:normal!important;color:#9b9485!important}
body.holdem-pot-calc-active .pot-memo-head em.complete{color:#70d79a!important}
body.holdem-pot-calc-active .pot-memo-head>small{font-size:5.8px!important;letter-spacing:.06em!important;color:#817b70!important}
body.holdem-pot-calc-active .pot-memo-targets{
  display:grid!important;grid-template-columns:repeat(var(--pot-memo-cols),minmax(0,1fr))!important;
  gap:3px!important;min-width:0!important;height:34px!important;
}
body.holdem-pot-calc-active .pot-memo-target{
  --memo-rgb:178,151,84;position:relative!important;min-width:0!important;height:34px!important;
  padding:3px 2px!important;border-radius:7px!important;border:1px solid rgba(var(--memo-rgb),.28)!important;
  background:linear-gradient(180deg,rgba(var(--memo-rgb),.08),rgba(12,12,10,.86))!important;
  color:#aaa395!important;overflow:hidden!important;
}
body.holdem-pot-calc-active .pot-memo-target.street-preflop{--memo-rgb:77,166,255}
body.holdem-pot-calc-active .pot-memo-target.street-flop{--memo-rgb:72,210,133}
body.holdem-pot-calc-active .pot-memo-target.street-turn{--memo-rgb:244,184,67}
body.holdem-pot-calc-active .pot-memo-target.street-river{--memo-rgb:239,91,122}
body.holdem-pot-calc-active .pot-memo-target.final-target{--memo-rgb:222,183,86}
body.holdem-pot-calc-active .pot-memo-target small{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:5.5px!important;line-height:1!important;font-weight:800!important;color:rgba(var(--memo-rgb),.78)!important;
}
body.holdem-pot-calc-active .pot-memo-target strong{
  display:block!important;margin-top:3px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:8.6px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;color:#928d82!important;
}
body.holdem-pot-calc-active .pot-memo-target.filled strong{color:#e6dfd0!important}
body.holdem-pot-calc-active .pot-memo-target.active{
  border-color:rgba(var(--memo-rgb),.92)!important;
  background:radial-gradient(circle at 50% 0%,rgba(var(--memo-rgb),.35),transparent 76%),linear-gradient(180deg,rgba(var(--memo-rgb),.18),rgba(12,12,10,.9))!important;
  box-shadow:0 0 9px rgba(var(--memo-rgb),.18)!important;
}
body.holdem-pot-calc-active .pot-memo-target.active small,
body.holdem-pot-calc-active .pot-memo-target.active strong{color:#fff!important}
body.holdem-pot-calc-active .pot-memo-target.next-target{
  animation:potFinalMemoPulse 1.1s ease-in-out infinite!important;border-color:rgba(87,216,139,.75)!important;
}
@keyframes potFinalMemoPulse{
  0%,100%{box-shadow:0 0 3px rgba(78,215,136,.08)}
  50%{box-shadow:0 0 13px rgba(78,215,136,.38)}
}
body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display{
  height:29px!important;min-height:29px!important;margin:0!important;display:grid!important;
  grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;padding:0 4px!important;
  border-radius:7px!important;background:rgba(255,255,255,.025)!important;
}
body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display small{
  font-size:7.2px!important;letter-spacing:.12em!important;
}
body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display strong{
  min-height:0!important;margin:0!important;font-size:23px!important;line-height:1!important;
}
body.holdem-pot-calc-active .pot-slide-confirm.memo-locked .pot-slide-thumb,
body.holdem-pot-calc-active .pot-slide-confirm.target-locked .pot-slide-thumb{
  filter:grayscale(.4)!important;opacity:.55!important;cursor:not-allowed!important;
}
.pot-memo-review-panel{margin-top:8px!important;padding:11px!important}
.pot-memo-review-list{display:grid!important;gap:5px!important;margin-top:7px!important}
.pot-memo-review-row{
  display:grid!important;grid-template-columns:58px 1fr 18px 1fr!important;gap:5px!important;align-items:center!important;
  min-width:0!important;padding:7px!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important;
  border:1px solid rgba(255,255,255,.05)!important;
}
.pot-memo-review-row>span{font-size:8px!important;font-weight:900!important;color:#c9b475!important}
.pot-memo-review-row>div{min-width:0!important;text-align:right!important}
.pot-memo-review-row small{display:block!important;font-size:5.8px!important;color:#817c72!important}
.pot-memo-review-row b,.pot-memo-review-row strong{
  display:block!important;margin-top:2px!important;font-size:11px!important;color:#ddd4c1!important;font-variant-numeric:tabular-nums!important;
}
.pot-memo-review-row>i{text-align:center!important;font-style:normal!important;font-size:12px!important;color:#9d8b5a!important}
.pot-memo-review-row.correct{border-color:rgba(74,203,130,.17)!important}
.pot-memo-review-row.correct>i{color:#6ed798!important}
.pot-memo-review-row.incorrect{border-color:rgba(229,91,105,.18)!important}
.pot-memo-review-row.incorrect>i{color:#e17983!important}
.pot-memo-diagnosis{
  margin:8px 0 0!important;padding:8px!important;border-radius:8px!important;background:rgba(211,171,69,.06)!important;
  border:1px solid rgba(211,171,69,.14)!important;font-size:9px!important;line-height:1.5!important;color:#c9c3b5!important;
}
@media(max-height:740px){
  body.holdem-pot-calc-active .pot-calc-screen.pot-multi-street{
    grid-template-rows:32px minmax(112px,.55fr) minmax(164px,1.45fr) 228px!important;
  }
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo{
    height:228px!important;min-height:228px!important;grid-template-rows:14px 31px 27px minmax(0,1fr) 38px!important;padding:4px 6px!important;
  }
  body.holdem-pot-calc-active .pot-memo-targets,
  body.holdem-pot-calc-active .pot-memo-target{height:31px!important}
  body.holdem-pot-calc-active .pot-memo-target small{font-size:5px!important}
  body.holdem-pot-calc-active .pot-memo-target strong{font-size:8px!important;margin-top:2px!important}
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display{height:27px!important;min-height:27px!important}
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display strong{font-size:21px!important}
}
@media(max-height:680px){
  body.holdem-pot-calc-active .pot-calc-screen.pot-multi-street{
    grid-template-rows:29px 98px minmax(140px,1fr) 216px!important;
  }
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo{
    height:216px!important;min-height:216px!important;grid-template-rows:13px 29px 25px minmax(0,1fr) 35px!important;gap:2px!important;
  }
  body.holdem-pot-calc-active .pot-memo-head>small{display:none!important}
  body.holdem-pot-calc-active .pot-memo-targets,
  body.holdem-pot-calc-active .pot-memo-target{height:29px!important}
  body.holdem-pot-calc-active .pot-memo-target small{font-size:4.7px!important}
  body.holdem-pot-calc-active .pot-memo-target strong{font-size:7.4px!important}
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display{height:25px!important;min-height:25px!important}
  body.holdem-pot-calc-active .pot-answer-panel.has-street-memo .pot-answer-display strong{font-size:19px!important}
}


/* =========================================================
   v1.4.6 — STREET MEMO IS OPTIONAL
   ========================================================= */

body.holdem-pot-calc-active .pot-memo-head em{
  color:#7ed7a0!important;
  font-size:6px!important;
  letter-spacing:.08em!important;
  padding:2px 5px!important;
  border:1px solid rgba(87,210,137,.26)!important;
  border-radius:999px!important;
  background:rgba(67,185,115,.07)!important;
}
body.holdem-pot-calc-active .pot-memo-head>small{
  color:#9a9488!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target{
  animation:potFinalMemoPulse 1.1s ease-in-out infinite!important;
  border-color:rgba(87,216,139,.75)!important;
}

/* MEMO is no longer a slider lock condition. */
body.holdem-pot-calc-active .pot-slide-confirm.memo-locked .pot-slide-thumb{
  filter:none!important;
  opacity:1!important;
}

/* Feedback for unused memo fields is neutral, not an error. */
.pot-memo-review-row.skipped{
  opacity:.7!important;
  border-color:rgba(255,255,255,.045)!important;
}
.pot-memo-review-row.skipped>i{
  color:#777167!important;
}
.pot-memo-review-row.skipped b{
  color:#8d877c!important;
  font-size:8px!important;
  letter-spacing:.06em!important;
}


/* =========================================================
   v1.4.7 — FINAL = PURPLE
   ========================================================= */

body.holdem-pot-calc-active .pot-memo-target.final-target{
  --memo-rgb:168,92,255!important;
  border-color:rgba(168,92,255,.48)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(168,92,255,.20),transparent 78%),
    linear-gradient(180deg,rgba(104,44,166,.16),rgba(18,11,25,.92))!important;
  box-shadow:
    inset 0 0 0 1px rgba(208,165,255,.035),
    0 0 7px rgba(152,76,244,.11)!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target small{
  color:rgba(210,171,255,.92)!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target strong{
  color:#cdb7e9!important;
}

/* Selected FINAL stays purple and glows more strongly. */
body.holdem-pot-calc-active .pot-memo-target.final-target.active{
  border-color:rgba(192,128,255,.98)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(190,119,255,.60),transparent 72%),
    linear-gradient(180deg,rgba(111,43,183,.46),rgba(31,12,46,.96))!important;
  box-shadow:
    0 0 0 1px rgba(198,139,255,.27),
    0 0 16px rgba(166,84,255,.48),
    inset 0 0 16px rgba(190,115,255,.19)!important;
  transform:translateY(-1px)!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target.active small,
body.holdem-pot-calc-active .pot-memo-target.final-target.active strong{
  color:#fff!important;
  text-shadow:0 0 8px rgba(219,181,255,.55)!important;
}

/* When FINAL is the suggested next target, pulse purple rather than green. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target{
  border-color:rgba(191,126,255,.82)!important;
  animation:potFinalPurplePulse 1.1s ease-in-out infinite!important;
}
@keyframes potFinalPurplePulse{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(177,103,255,.10),
      0 0 5px rgba(155,73,244,.15)!important;
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(202,146,255,.34),
      0 0 17px rgba(174,91,255,.55)!important;
  }
}

/* Active state wins over next-target pulse and remains solid purple. */
body.holdem-pot-calc-active .pot-memo-target.final-target.active.next-target{
  animation:none!important;
  border-color:rgba(199,143,255,.98)!important;
  box-shadow:
    0 0 0 1px rgba(202,146,255,.30),
    0 0 18px rgba(173,91,255,.56),
    inset 0 0 16px rgba(193,121,255,.20)!important;
}


/* =========================================================
   v1.4.8 — FINAL PURPLE PULSE VISIBILITY
   ========================================================= */

/* FINAL is always purple, but before selection it must clearly call attention. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active){
  position:relative!important;
  overflow:visible!important;
  border-color:rgba(211,159,255,.98)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(203,133,255,.48),transparent 72%),
    linear-gradient(180deg,rgba(121,51,194,.38),rgba(28,12,42,.96))!important;
  color:#fff!important;
  animation:potFinalPurpleAttention .82s ease-in-out infinite!important;
  transform-origin:center center!important;
  will-change:transform,box-shadow,filter!important;
}

/* Extra halo outside the button makes the blink obvious on iPhone. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active)::after{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  z-index:-1!important;
  border-radius:10px!important;
  border:2px solid rgba(204,144,255,.48)!important;
  box-shadow:
    0 0 10px rgba(174,83,255,.42),
    0 0 20px rgba(174,83,255,.22)!important;
  pointer-events:none!important;
  animation:potFinalPurpleHalo .82s ease-in-out infinite!important;
}

body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active) small,
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active) strong{
  color:#fff!important;
  text-shadow:
    0 0 5px rgba(238,218,255,.95),
    0 0 10px rgba(196,128,255,.70)!important;
}

@keyframes potFinalPurpleAttention{
  0%,100%{
    transform:scale(1)!important;
    filter:brightness(.92) saturate(1.05)!important;
    box-shadow:
      0 0 0 1px rgba(184,113,255,.20),
      0 0 6px rgba(159,67,246,.20),
      inset 0 0 8px rgba(193,119,255,.10)!important;
  }
  45%,55%{
    transform:scale(1.045)!important;
    filter:brightness(1.42) saturate(1.28)!important;
    box-shadow:
      0 0 0 2px rgba(226,185,255,.72),
      0 0 16px rgba(190,103,255,.82),
      0 0 28px rgba(158,63,244,.48),
      inset 0 0 18px rgba(224,175,255,.34)!important;
  }
}
@keyframes potFinalPurpleHalo{
  0%,100%{
    opacity:.28!important;
    transform:scale(.98)!important;
  }
  50%{
    opacity:1!important;
    transform:scale(1.06)!important;
  }
}

/* Once FINAL is selected: no blinking, only a strong steady purple glow. */
body.holdem-pot-calc-active .pot-memo-target.final-target.active{
  animation:none!important;
  transform:translateY(-1px)!important;
  filter:brightness(1.13) saturate(1.15)!important;
  border-color:rgba(211,159,255,1)!important;
  box-shadow:
    0 0 0 1px rgba(214,165,255,.38),
    0 0 18px rgba(181,96,255,.62),
    0 0 30px rgba(151,61,235,.26),
    inset 0 0 18px rgba(210,151,255,.24)!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target.active::after{
  content:none!important;
}


/* =========================================================
   v1.4.9 — FINAL OUTER PURPLE RING PULSE
   Safari/PWA-safe: no !important declarations inside keyframes.
   ========================================================= */

/* Allow the glow/rings to exist outside the FINAL cell. */
body.holdem-pot-calc-active .pot-memo-targets{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
}
body.holdem-pot-calc-active .pot-answer-panel.has-street-memo{
  overflow:visible!important;
}

/* FINAL base remains purple. */
body.holdem-pot-calc-active .pot-memo-target.final-target{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
}

/* Before selection: steady purple button + two OUTER pulsing rings. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active){
  border-color:rgba(204,145,255,.96)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(190,112,255,.42),transparent 74%),
    linear-gradient(180deg,rgba(108,43,176,.42),rgba(28,11,43,.97))!important;
  box-shadow:
    0 0 8px rgba(165,78,255,.38),
    inset 0 0 11px rgba(207,151,255,.15)!important;
  animation:none!important;
  transform:none!important;
  filter:none!important;
  z-index:4!important;
}

/* Ring 1 */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active)::before{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  z-index:-1!important;
  border:2px solid rgba(209,153,255,.92)!important;
  border-radius:11px!important;
  background:transparent!important;
  box-shadow:
    0 0 8px rgba(185,99,255,.88),
    0 0 16px rgba(167,72,255,.52)!important;
  pointer-events:none!important;
  transform-origin:center!important;
  animation:potFinalOuterRingOne 1.05s ease-out infinite!important;
}

/* Ring 2 — delayed so the halo continuously ripples outward. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active)::after{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  z-index:-1!important;
  border:2px solid rgba(193,122,255,.80)!important;
  border-radius:11px!important;
  background:transparent!important;
  box-shadow:
    0 0 7px rgba(176,86,255,.72),
    0 0 15px rgba(150,56,244,.42)!important;
  pointer-events:none!important;
  transform-origin:center!important;
  animation:potFinalOuterRingTwo 1.05s ease-out .52s infinite!important;
}

/* IMPORTANT:
   Do not use !important inside @keyframes; Safari ignores such declarations. */
@keyframes potFinalOuterRingOne{
  0%{
    opacity:.96;
    transform:scale(.98);
    box-shadow:0 0 7px rgba(195,119,255,.92),0 0 15px rgba(172,77,255,.58);
  }
  55%{
    opacity:.58;
  }
  100%{
    opacity:0;
    transform:scale(1.16);
    box-shadow:0 0 15px rgba(202,133,255,.34),0 0 28px rgba(163,67,255,.08);
  }
}
@keyframes potFinalOuterRingTwo{
  0%{
    opacity:.88;
    transform:scale(.99);
    box-shadow:0 0 6px rgba(190,109,255,.82),0 0 13px rgba(161,69,248,.48);
  }
  55%{
    opacity:.48;
  }
  100%{
    opacity:0;
    transform:scale(1.16);
    box-shadow:0 0 14px rgba(197,124,255,.28),0 0 26px rgba(155,59,241,.06);
  }
}

/* Keep FINAL text bright while outer rings animate. */
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active) small,
body.holdem-pot-calc-active .pot-memo-target.final-target.next-target:not(.active) strong{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  text-shadow:
    0 0 5px rgba(241,223,255,.96),
    0 0 10px rgba(198,130,255,.68)!important;
}

/* Selected FINAL: rings disappear completely; steady purple glow remains. */
body.holdem-pot-calc-active .pot-memo-target.final-target.active{
  animation:none!important;
  border-color:rgba(211,157,255,1)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(196,123,255,.54),transparent 72%),
    linear-gradient(180deg,rgba(112,43,184,.50),rgba(31,12,47,.97))!important;
  box-shadow:
    0 0 0 1px rgba(215,168,255,.34),
    0 0 17px rgba(184,98,255,.58),
    inset 0 0 17px rgba(211,153,255,.22)!important;
  transform:translateY(-1px)!important;
  filter:none!important;
  z-index:4!important;
}
body.holdem-pot-calc-active .pot-memo-target.final-target.active::before,
body.holdem-pot-calc-active .pot-memo-target.final-target.active::after{
  content:none!important;
  animation:none!important;
}


/* =========================================================
   v1.5.1 — TEXAS HOLD'EM SIDE POT UI TUNE
   ========================================================= */
body.holdem-sidepot-active{overflow:hidden!important}
body.holdem-sidepot-active .app-shell{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
body.holdem-sidepot-active #screen{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;padding:max(7px,env(safe-area-inset-top)) 8px max(7px,env(safe-area-inset-bottom))!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
body.holdem-sidepot-active #bottomNav{display:none!important}
body.holdem-sidepot-active .sidepot-top{flex:0 0 42px!important;min-height:42px!important;height:42px!important;padding:0 1px 5px!important}
body.holdem-sidepot-active .sidepot-question-screen{flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-rows:34px minmax(150px,.72fr) minmax(345px,1.28fr)!important;gap:5px!important;overflow:hidden!important}
.sidepot-status-row{display:grid;grid-template-columns:1fr 1fr 58px;gap:5px;min-height:34px}
.sidepot-status-row>span,.sidepot-status-row>button{border:1px solid rgba(210,171,69,.18);border-radius:8px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:center;gap:6px;color:#bdb6a7}
.sidepot-status-row small{font-size:6px;letter-spacing:.12em;color:#7f796e}.sidepot-status-row b{font-size:10px;color:#d9bd72}.sidepot-status-row button b{font-size:14px}
.sidepot-stage{position:relative;min-height:0;height:100%;overflow:visible;border:1px solid rgba(218,180,79,.15);border-radius:14px;background:radial-gradient(circle at 50% 45%,rgba(111,20,25,.25),rgba(6,7,7,.72));}
.sidepot-stage-label{position:absolute;left:8px;top:6px;z-index:5;font-size:6px;font-weight:900;letter-spacing:.13em;color:#8f876f}
.sidepot-return-banner{position:absolute;left:50%;top:6px;transform:translateX(-50%);z-index:6;min-width:160px;max-width:64%;padding:4px 7px;border:1px solid rgba(232,173,61,.45);border-radius:7px;background:rgba(51,35,7,.92);text-align:center;font-size:7px;font-weight:900;color:#f2cd66;box-shadow:0 0 10px rgba(231,176,55,.12)}
.sidepot-return-banner small{display:block;margin-top:2px;font-size:5.5px;color:#bba96d}
.sidepot-table-shell{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:72%;height:59%;border-radius:50%;padding:5px;background:linear-gradient(180deg,#181818,#050505);box-shadow:0 8px 18px rgba(0,0,0,.6),0 0 0 1px rgba(214,173,73,.45)}
.sidepot-table-shell:before{content:"";position:absolute;inset:2px;border:2px solid #ad8430;border-radius:50%;opacity:.8}
.sidepot-felt{height:100%;border-radius:50%;background:radial-gradient(circle at center,#55131a,#260a0d 72%);position:relative;overflow:hidden}
.sidepot-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:94px;text-align:center;border:1px solid rgba(220,184,91,.28);border-radius:12px;padding:7px 3px;background:rgba(0,0,0,.28)}
.sidepot-center small{display:block;font-size:5.5px;letter-spacing:.14em;color:#8c8066}.sidepot-center strong{display:block;font-size:22px;line-height:1;color:#d5ae4e}.sidepot-center span{display:block;margin-top:3px;font-size:5.4px;color:#9e8e69}
.sidepot-player-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);z-index:4;width:61px;min-height:40px;padding:4px 3px;border-radius:9px;text-align:center;background:linear-gradient(180deg,#171819,#080909);border:1px solid rgba(219,181,89,.32);box-shadow:0 4px 10px rgba(0,0,0,.55)}
.sidepot-player-seat>b{display:block;font-size:9px;color:#e3ddcf}.sidepot-player-seat>strong{display:block;margin-top:2px;font-size:10px;color:#f0ce72;font-variant-numeric:tabular-nums}.sidepot-player-seat>small{display:block;margin-top:2px;font-size:5.6px;letter-spacing:.05em}
.sidepot-player-seat.allin{border-color:rgba(177,108,255,.55);box-shadow:0 4px 10px rgba(0,0,0,.55),0 0 9px rgba(157,76,238,.14)}.sidepot-player-seat.allin small{color:#c894ff}
.sidepot-player-seat.active{border-color:rgba(77,208,133,.43)}.sidepot-player-seat.active small{color:#71d89a}
.sidepot-player-seat.folded{opacity:.57;border-color:rgba(230,91,105,.5);background:linear-gradient(180deg,#351316,#13090a)}.sidepot-player-seat.folded small{color:#ec7b87}
.sidepot-builder-panel{min-height:0;height:100%;display:grid;grid-template-rows:31px 43px 76px minmax(116px,1fr) 40px;gap:4px;padding:7px;border:1px solid rgba(215,177,78,.17);border-radius:13px;background:linear-gradient(180deg,rgba(15,15,14,.98),rgba(7,8,8,.98));overflow:hidden}
.sidepot-builder-head{display:flex;justify-content:space-between;align-items:center;min-width:0}.sidepot-builder-head small{display:block;font-size:5.8px;letter-spacing:.13em;color:#817b70}.sidepot-builder-head strong{display:block;margin-top:2px;font-size:10.5px;color:#cfb365}.sidepot-info-links{display:flex;gap:4px}.sidepot-info-links button,.sidepot-term-buttons button{border:1px solid rgba(204,170,82,.22);border-radius:6px;padding:4px 6px;background:rgba(219,179,71,.05);font-size:6px;color:#bfa86b}
.sidepot-layer-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;min-height:43px;overflow:visible}
.sidepot-layer-tab,.sidepot-add-tab{position:relative;min-width:0;border:1px solid rgba(194,157,67,.22);border-radius:8px;background:rgba(255,255,255,.025);padding:4px 2px;color:#888175;overflow:hidden}
.sidepot-layer-tab small{display:block;font-size:5.3px;letter-spacing:.05em}.sidepot-layer-tab strong{display:block;margin-top:3px;font-size:8px;font-variant-numeric:tabular-nums;color:#9a9386;overflow:hidden;text-overflow:ellipsis}
.sidepot-layer-tab.filled strong{color:#e5d9b9}.sidepot-layer-tab.active{border-color:rgba(224,185,86,.88);background:radial-gradient(circle at top,rgba(218,178,69,.28),rgba(27,23,13,.88));box-shadow:0 0 9px rgba(217,171,53,.15)}.sidepot-layer-tab.active small,.sidepot-layer-tab.active strong{color:#fff}
.sidepot-add-tab{font-size:17px;color:#b89749}.sidepot-add-tab small{display:block;font-size:5px;color:#8c7b55}
.sidepot-editor-row{display:grid;grid-template-columns:104px 1fr;gap:6px;min-height:0}.sidepot-amount-box,.sidepot-eligibility-box{border:1px solid rgba(210,173,77,.16);border-radius:9px;background:rgba(255,255,255,.022);min-height:0}.sidepot-amount-box{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px}.sidepot-amount-box small{font-size:6px;letter-spacing:.08em;color:#9d8a59}.sidepot-amount-box strong{font-size:23px;line-height:1.05;color:#f1d177;font-variant-numeric:tabular-nums}.sidepot-amount-box span{font-size:5.2px;color:#756f65}.sidepot-eligibility-box{padding:5px}.sidepot-eligibility-box>small{display:block;font-size:5.6px;letter-spacing:.11em;color:#8c8577;margin-bottom:4px}.sidepot-eligible-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.sidepot-eligible-btn{min-width:0;height:25px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#111313;color:#aaa;padding:2px}.sidepot-eligible-btn b{display:block;font-size:7.5px}.sidepot-eligible-btn small{display:block;font-size:4.8px;color:#777}.sidepot-eligible-btn.selected{border-color:rgba(75,215,136,.8);background:linear-gradient(180deg,rgba(37,102,67,.8),rgba(14,40,27,.95));box-shadow:0 0 7px rgba(70,212,131,.15);color:#fff}.sidepot-eligible-btn.selected small{color:#87e5aa}.sidepot-eligible-btn.folded{border-color:rgba(225,84,99,.35);color:#b97e84}.sidepot-eligible-btn.folded small{color:#b86972}.sidepot-eligible-btn.folded.selected{border-color:rgba(244,81,99,.9);background:linear-gradient(180deg,rgba(111,28,38,.9),rgba(48,13,18,.96));box-shadow:0 0 8px rgba(230,72,90,.18)}
.sidepot-input-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;min-height:0}.sidepot-keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:5px;min-height:0}.sidepot-keypad button{border:1px solid rgba(215,179,87,.18);border-radius:10px;background:linear-gradient(180deg,#222320,#101110);color:#eee;font-size:16px;font-weight:800;min-height:44px;box-shadow:0 2px 8px rgba(0,0,0,.22)}.sidepot-keypad button.utility{font-size:9.5px;color:#d1b36a}.sidepot-builder-actions{display:flex;flex-direction:column;justify-content:center;gap:7px;text-align:center}.sidepot-remove-btn{width:100%;border:1px solid rgba(224,84,98,.34);border-radius:8px;background:rgba(86,20,28,.25);padding:8px 4px;font-size:6.6px;color:#d9868e}.sidepot-builder-actions>small{font-size:6.2px;line-height:1.45;color:#9a8f75}
.sidepot-slide-confirm{position:relative;height:40px;min-height:40px;border:1px solid rgba(183,148,62,.35);border-radius:11px;padding:3px;background:linear-gradient(180deg,#171610,#090a09);overflow:hidden;touch-action:none;user-select:none}.sidepot-slide-fill{position:absolute;left:3px;top:3px;bottom:3px;width:0;border-radius:8px;background:linear-gradient(90deg,rgba(95,52,149,.35),rgba(155,85,236,.55));pointer-events:none}.sidepot-slide-confirm>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:44px;font-size:7.4px;font-weight:900;letter-spacing:.08em;color:#8e887d;pointer-events:none}.sidepot-slide-thumb{position:relative;z-index:3;width:34px;height:32px;border:1px solid rgba(195,127,255,.65);border-radius:8px;background:linear-gradient(145deg,#c594f6,#7440a8);font-size:17px;font-weight:900;color:#16091e;touch-action:none}.sidepot-slide-confirm.ready{border-color:rgba(182,112,250,.78);box-shadow:0 0 9px rgba(149,72,222,.12)}.sidepot-slide-confirm.ready>span{color:#e2d4ed}.sidepot-slide-confirm.locked .sidepot-slide-thumb{opacity:.5;filter:grayscale(.35)}.sidepot-slide-confirm.near-complete{box-shadow:0 0 14px rgba(175,92,255,.3);border-color:rgba(201,137,255,.95)}.sidepot-slide-confirm.snapback .sidepot-slide-thumb{transition:transform .2s ease}.sidepot-slide-confirm.snapback .sidepot-slide-fill{transition:width .2s ease}.sidepot-slide-confirm.submitted{pointer-events:none}
.sidepot-feedback-screen{max-width:720px;margin:0 auto;padding-bottom:16px}.sidepot-feedback-hero{margin-bottom:8px}.sidepot-feedback-score{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.sidepot-feedback-score>div{text-align:center;padding:8px}.sidepot-feedback-score small{display:block;font-size:6px;color:#817b70}.sidepot-feedback-score strong{display:block;margin-top:3px;font-size:15px}.sidepot-feedback-score .ok strong{color:#6ed89a}.sidepot-feedback-score .ng strong{color:#e5737e}
.sidepot-compare-panel,.sidepot-layer-panel,.sidepot-dealer-point{margin-top:8px;padding:10px}.sidepot-compare-row{display:grid;grid-template-columns:62px 1fr 18px 1fr;gap:5px;align-items:center;padding:7px 5px;border-bottom:1px solid rgba(255,255,255,.045)}.sidepot-compare-row>span{font-size:7px;font-weight:900;color:#cbb068}.sidepot-compare-row>div{text-align:right;min-width:0}.sidepot-compare-row small{display:block;font-size:5.4px;color:#746f67}.sidepot-compare-row b,.sidepot-compare-row strong{display:block;font-size:10px;color:#e5dfd2}.sidepot-compare-row em{display:block;margin-top:2px;font-size:5.7px;font-style:normal;color:#9f998e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidepot-compare-row>i{text-align:center;font-style:normal;color:#a08750}.sidepot-compare-row.correct>i{color:#70db9d}.sidepot-compare-row.incorrect>i{color:#e57b85}
.sidepot-layer-solution{display:grid;grid-template-columns:72px 1fr 1fr;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.045)}.sidepot-layer-name small,.sidepot-layer-eligible small{display:block;font-size:5.5px;color:#7f796f}.sidepot-layer-name strong{display:block;font-size:12px;color:#edcb70}.sidepot-layer-math span{display:block;font-size:7px;color:#bba568}.sidepot-layer-math b{display:block;margin-top:2px;font-size:7px;color:#d4cec0}.sidepot-layer-math small{display:block;margin-top:2px;font-size:5.6px;color:#7f7a71}.sidepot-layer-eligible{text-align:right}.sidepot-layer-eligible b{display:block;margin-top:3px;font-size:7px;color:#77d89c}.sidepot-uncalled-note{padding:7px;border:1px solid rgba(226,174,60,.17);border-radius:7px;background:rgba(205,153,36,.05);font-size:8px!important;color:#c7b278!important}.sidepot-term-buttons{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.sidepot-result-hero .holdem-result-kicker{color:#c993ff}.sidepot-stack-icon{position:relative;display:flex;align-items:flex-end;justify-content:center;height:30px;width:52px;margin:0 auto}.sidepot-main-stack{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px;z-index:2}.sidepot-main-stack i{display:block;width:10px;border-radius:50% 50% 3px 3px;border:2px solid #d8b55f;background:linear-gradient(180deg,#241d14,#120f0c);box-shadow:0 1px 4px rgba(0,0,0,.22)}.sidepot-main-stack i:nth-child(1){height:13px;border-color:#b58d3c}.sidepot-main-stack i:nth-child(2){height:19px;border-color:#a465d7}.sidepot-main-stack i:nth-child(3){height:26px;border-color:#d7a4ff}.sidepot-side-chip{position:absolute;bottom:1px;width:9px;height:9px;border-radius:50%;border:2px solid #c39d46;background:linear-gradient(180deg,#221a13,#120f0b);z-index:1}.sidepot-side-chip.left{left:4px}.sidepot-side-chip.right{right:4px}.sidepot-stack-icon:before,.sidepot-stack-icon:after{content:"";position:absolute;bottom:10px;width:12px;height:2px;background:linear-gradient(90deg,rgba(214,170,78,.95),rgba(164,101,215,.85));box-shadow:0 0 6px rgba(171,113,228,.18)}.sidepot-stack-icon:before{left:11px;transform:rotate(-28deg)}.sidepot-stack-icon:after{right:11px;transform:rotate(28deg)}
@media(max-height:740px){body.holdem-sidepot-active .sidepot-top{height:38px!important;min-height:38px!important;flex-basis:38px!important}.sidepot-question-screen{grid-template-rows:31px minmax(125px,.58fr) minmax(325px,1.42fr)!important;gap:4px!important}.sidepot-builder-panel{grid-template-rows:28px 39px 68px minmax(106px,1fr) 37px;padding:5px}.sidepot-player-seat{width:54px;min-height:36px}.sidepot-player-seat>strong{font-size:9px}.sidepot-editor-row{grid-template-columns:94px 1fr}.sidepot-amount-box strong{font-size:20px}.sidepot-keypad button{font-size:14px;min-height:40px}.sidepot-slide-confirm{height:37px;min-height:37px}.sidepot-slide-thumb{height:29px;width:31px}.sidepot-slide-confirm>span{font-size:6.7px}.sidepot-return-banner{font-size:6px}}
@media(max-height:680px){.sidepot-question-screen{grid-template-rows:28px 108px minmax(306px,1fr)!important}.sidepot-stage-label{font-size:5px}.sidepot-table-shell{height:54%}.sidepot-player-seat{width:50px;min-height:33px;padding:3px}.sidepot-player-seat>b{font-size:8px}.sidepot-player-seat>strong{font-size:8px}.sidepot-player-seat>small{font-size:4.8px}.sidepot-builder-panel{grid-template-rows:26px 36px 62px minmax(100px,1fr) 35px;gap:3px;padding:4px}.sidepot-editor-row{grid-template-columns:88px 1fr}.sidepot-eligible-btn{height:22px}.sidepot-keypad{gap:2px}.sidepot-slide-confirm{height:35px;min-height:35px}.sidepot-slide-thumb{height:27px;width:29px}.sidepot-builder-actions>small{font-size:5.6px;line-height:1.35}}


/* =========================================================
   v1.5.2 — SIDE POT clarity / bilingual labels / clean icon
   ========================================================= */

/* Keypad-side area: action only. No instructional note. */
body.holdem-sidepot-active .sidepot-builder-actions{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  text-align:center!important;
}
body.holdem-sidepot-active .sidepot-builder-actions>small{display:none!important}
body.holdem-sidepot-active #sidePotRemoveWrap:empty{display:none!important}
body.holdem-sidepot-active #sidePotRemoveWrap:not(:empty){display:flex!important;height:100%!important;align-items:center!important;justify-content:center!important}
body.holdem-sidepot-active .sidepot-remove-btn{
  width:100%!important;
  min-height:58px!important;
  padding:9px 5px!important;
  border:1px solid rgba(229,86,101,.52)!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,rgba(101,27,36,.72),rgba(45,12,17,.92))!important;
  box-shadow:0 0 10px rgba(225,77,94,.10)!important;
  color:#fff!important;
  line-height:1.1!important;
}
body.holdem-sidepot-active .sidepot-remove-btn strong{
  display:block!important;
  font-size:8px!important;
  letter-spacing:.06em!important;
  color:#f1a4ac!important;
}
body.holdem-sidepot-active .sidepot-remove-btn span{
  display:block!important;
  margin-top:5px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#fff!important;
}

/* Bilingual labels need just enough room without shrinking the keypad. */
body.holdem-sidepot-active .sidepot-builder-head strong{font-size:9.4px!important;letter-spacing:.01em!important}
body.holdem-sidepot-active .sidepot-amount-box span{font-size:5.6px!important;color:#928875!important}
body.holdem-sidepot-active .sidepot-eligibility-box>small{font-size:5.4px!important;letter-spacing:.055em!important}

/* LAB icon: a clean MAIN chip mound in the center + small SIDE chips left/right.
   No branch lines: relationship is communicated purely by chip hierarchy. */
.sidepot-stack-icon{
  position:relative!important;
  display:block!important;
  width:54px!important;
  height:31px!important;
  margin:0 auto!important;
}
.sidepot-stack-icon:before,
.sidepot-stack-icon:after{content:none!important;display:none!important}
.sidepot-main-stack{
  position:absolute!important;
  left:50%!important;
  bottom:3px!important;
  transform:translateX(-50%)!important;
  width:31px!important;
  height:27px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:1px!important;
  z-index:3!important;
}
.sidepot-main-stack i{
  position:relative!important;
  display:block!important;
  width:10px!important;
  height:5px!important;
  border:1.5px solid #d1a847!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#322715,#18120d)!important;
  box-shadow:none!important;
}
.sidepot-main-stack i:nth-child(1){
  width:10px!important;height:5px!important;border-color:#b99038!important;
  box-shadow:0 -4px 0 -1px #21180f,0 -4px 0 0 #b99038!important;
}
.sidepot-main-stack i:nth-child(2){
  width:11px!important;height:5px!important;border-color:#d7aa4b!important;
  box-shadow:0 -4px 0 -1px #241b10,0 -4px 0 0 #d7aa4b,0 -8px 0 -1px #241b10,0 -8px 0 0 #d7aa4b,0 -12px 0 -1px #241b10,0 -12px 0 0 #d7aa4b!important;
}
.sidepot-main-stack i:nth-child(3){
  width:10px!important;height:5px!important;border-color:#b99038!important;
  box-shadow:0 -4px 0 -1px #21180f,0 -4px 0 0 #b99038,0 -8px 0 -1px #21180f,0 -8px 0 0 #b99038!important;
}
.sidepot-side-chip{
  position:absolute!important;
  bottom:3px!important;
  width:10px!important;
  height:5px!important;
  border-radius:50%!important;
  border:1.5px solid #a768d5!important;
  background:linear-gradient(180deg,#2a1935,#160e1d)!important;
  box-shadow:0 -4px 0 -1px #1f1228,0 -4px 0 0 #a768d5!important;
  z-index:2!important;
}
.sidepot-side-chip.left{left:4px!important}
.sidepot-side-chip.right{right:4px!important}

@media(max-height:740px){
  body.holdem-sidepot-active .sidepot-remove-btn{min-height:52px!important}
  body.holdem-sidepot-active .sidepot-remove-btn strong{font-size:7px!important}
  body.holdem-sidepot-active .sidepot-remove-btn span{font-size:11px!important}
}
@media(max-height:680px){
  body.holdem-sidepot-active .sidepot-remove-btn{min-height:46px!important;padding:6px 4px!important}
  body.holdem-sidepot-active .sidepot-remove-btn strong{font-size:6.5px!important}
  body.holdem-sidepot-active .sidepot-remove-btn span{font-size:10px!important;margin-top:3px!important}
}


/* =========================================================
   v1.5.3 — SIDE POT: bilingual guide + ADD/DELETE row + larger input
   ========================================================= */
body.holdem-sidepot-active .sidepot-info-links button{
  white-space:nowrap!important;
  padding:4px 5px!important;
  font-size:5.8px!important;
}

/* Layer row owns both ADD and DELETE. With 2/3/4 pots, controls stay adjacent. */
body.holdem-sidepot-active .sidepot-layer-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:3px!important;
}
body.holdem-sidepot-active .sidepot-tab-remove{
  position:relative!important;
  min-width:0!important;
  border:1px solid rgba(231,91,105,.42)!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,rgba(91,24,31,.58),rgba(39,11,15,.88))!important;
  color:#e58a94!important;
  font-size:17px!important;
  font-weight:800!important;
  padding:4px 2px!important;
  box-shadow:0 0 8px rgba(223,75,91,.08)!important;
}
body.holdem-sidepot-active .sidepot-tab-remove small{
  display:block!important;
  margin-top:1px!important;
  font-size:5px!important;
  line-height:1!important;
  color:#c87881!important;
}
body.holdem-sidepot-active .sidepot-tab-remove:active{
  transform:scale(.96)!important;
  background:rgba(119,30,40,.72)!important;
}

/* Keypad now owns the entire row width. */
body.holdem-sidepot-active .sidepot-input-row{
  display:block!important;
  min-height:0!important;
}
body.holdem-sidepot-active .sidepot-keypad{
  width:100%!important;
  height:100%!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
body.holdem-sidepot-active .sidepot-keypad button{
  min-height:46px!important;
  border-radius:11px!important;
  font-size:19px!important;
  font-weight:850!important;
  border-color:rgba(220,184,91,.22)!important;
}
body.holdem-sidepot-active .sidepot-keypad button.utility{
  font-size:10.5px!important;
  letter-spacing:.03em!important;
}

/* Slightly larger confirm gesture after removing the side action column. */
body.holdem-sidepot-active .sidepot-builder-panel{
  grid-template-rows:31px 43px 76px minmax(116px,1fr) 46px!important;
}
body.holdem-sidepot-active .sidepot-slide-confirm{
  height:46px!important;
  min-height:46px!important;
  border-radius:12px!important;
}
body.holdem-sidepot-active .sidepot-slide-thumb{
  width:39px!important;
  height:38px!important;
  border-radius:9px!important;
  font-size:19px!important;
}
body.holdem-sidepot-active .sidepot-slide-confirm>span{
  padding-left:48px!important;
  font-size:8px!important;
}

@media(max-height:740px){
  body.holdem-sidepot-active .sidepot-builder-panel{
    grid-template-rows:28px 39px 68px minmax(106px,1fr) 41px!important;
  }
  body.holdem-sidepot-active .sidepot-keypad{gap:4px!important}
  body.holdem-sidepot-active .sidepot-keypad button{min-height:40px!important;font-size:16px!important}
  body.holdem-sidepot-active .sidepot-keypad button.utility{font-size:9px!important}
  body.holdem-sidepot-active .sidepot-slide-confirm{height:41px!important;min-height:41px!important}
  body.holdem-sidepot-active .sidepot-slide-thumb{height:33px!important;width:35px!important}
  body.holdem-sidepot-active .sidepot-slide-confirm>span{font-size:7px!important}
}
@media(max-height:680px){
  body.holdem-sidepot-active .sidepot-builder-panel{
    grid-template-rows:26px 36px 62px minmax(100px,1fr) 38px!important;
  }
  body.holdem-sidepot-active .sidepot-keypad{gap:3px!important}
  body.holdem-sidepot-active .sidepot-keypad button{min-height:36px!important;font-size:15px!important}
  body.holdem-sidepot-active .sidepot-slide-confirm{height:38px!important;min-height:38px!important}
  body.holdem-sidepot-active .sidepot-slide-thumb{height:30px!important;width:33px!important}
}


/* =========================================================
   v1.5.4 — SIDE POT ELIGIBLE PLAYER VISIBILITY
   Required selection gets visual priority over oversized keypad.
   ========================================================= */
body.holdem-sidepot-active .sidepot-builder-panel{
  grid-template-rows:31px 43px 90px minmax(102px,1fr) 46px!important;
}
body.holdem-sidepot-active .sidepot-editor-row{
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:7px!important;
}
body.holdem-sidepot-active .sidepot-eligibility-box{
  padding:6px!important;
  border-color:rgba(204,170,82,.28)!important;
  overflow:visible!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
body.holdem-sidepot-active .sidepot-eligible-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:5px!important;
  margin-bottom:5px!important;
}
body.holdem-sidepot-active .sidepot-eligible-head small{
  display:block!important;
  margin:0!important;
  font-size:6.2px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  color:#c6b478!important;
}
body.holdem-sidepot-active .sidepot-eligible-head em{
  display:block!important;
  flex:0 0 auto!important;
  font-size:5.6px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  color:#f0d36f!important;
  text-shadow:0 0 7px rgba(229,190,86,.36)!important;
}
body.holdem-sidepot-active .sidepot-eligibility-box.needs-selection{
  border-color:rgba(225,184,76,.64)!important;
  background:radial-gradient(circle at 50% 0%,rgba(196,150,43,.12),rgba(255,255,255,.018) 67%)!important;
  box-shadow:0 0 11px rgba(211,166,56,.15),inset 0 0 10px rgba(211,166,56,.05)!important;
}
body.holdem-sidepot-active .sidepot-eligibility-box.needs-selection .sidepot-eligible-head em{
  animation:sidePotEligibleHintPulse .88s ease-in-out infinite!important;
}
body.holdem-sidepot-active .sidepot-eligible-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn{
  position:relative!important;
  height:31px!important;
  min-height:31px!important;
  border-radius:8px!important;
  padding:3px 2px!important;
  border-color:rgba(206,173,87,.25)!important;
  background:linear-gradient(180deg,#181a18,#0d0f0e)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.24)!important;
  transition:transform .12s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn b{
  display:block!important;
  font-size:9.4px!important;
  line-height:1!important;
  color:#ddd5c6!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn small{
  display:block!important;
  margin-top:3px!important;
  font-size:5.4px!important;
  line-height:1!important;
  color:#8b857b!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn.unselected:not(.folded){
  animation:sidePotEligibleButtonGlow 1.12s ease-in-out infinite!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn:active{
  transform:scale(.95)!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn.selected:not(.folded){
  animation:none!important;
  border-color:rgba(75,215,136,.92)!important;
  background:linear-gradient(180deg,rgba(42,119,76,.92),rgba(12,48,30,.98))!important;
  box-shadow:0 0 0 1px rgba(89,224,149,.15),0 0 11px rgba(70,212,131,.28)!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn.selected:not(.folded) b{
  color:#fff!important;
  text-shadow:0 0 6px rgba(111,233,166,.38)!important;
}
/* FOLDED stays selectable: the app must not reveal eligibility answers. */
body.holdem-sidepot-active .sidepot-eligible-btn.folded{
  opacity:.88!important;
  border-color:rgba(225,84,99,.42)!important;
  background:linear-gradient(180deg,rgba(73,24,30,.44),rgba(27,12,15,.92))!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn.folded.unselected{
  animation:sidePotFoldedEligibleGlow 1.22s ease-in-out infinite!important;
}
body.holdem-sidepot-active .sidepot-eligible-btn.folded.selected{
  animation:none!important;
  border-color:rgba(244,81,99,.95)!important;
  background:linear-gradient(180deg,rgba(116,29,40,.96),rgba(49,13,19,.98))!important;
  box-shadow:0 0 10px rgba(230,72,90,.24)!important;
}
@keyframes sidePotEligibleButtonGlow{
  0%,100%{border-color:rgba(206,173,87,.24);box-shadow:0 2px 6px rgba(0,0,0,.24),0 0 0 rgba(221,181,69,0)}
  50%{border-color:rgba(235,197,92,.74);box-shadow:0 2px 6px rgba(0,0,0,.24),0 0 10px rgba(221,181,69,.26)}
}
@keyframes sidePotFoldedEligibleGlow{
  0%,100%{border-color:rgba(225,84,99,.38);box-shadow:0 2px 6px rgba(0,0,0,.24)}
  50%{border-color:rgba(237,108,121,.74);box-shadow:0 0 8px rgba(230,72,90,.19)}
}
@keyframes sidePotEligibleHintPulse{
  0%,100%{opacity:.58;transform:scale(1)}
  50%{opacity:1;transform:scale(1.045)}
}

/* Keypad: still comfortably large, but no longer steals space from ELIGIBLE. */
body.holdem-sidepot-active .sidepot-keypad{gap:5px!important}
body.holdem-sidepot-active .sidepot-keypad button{
  min-height:40px!important;
  border-radius:10px!important;
  font-size:17px!important;
}
body.holdem-sidepot-active .sidepot-keypad button.utility{font-size:9.5px!important}

@media(max-height:740px){
  body.holdem-sidepot-active .sidepot-builder-panel{
    grid-template-rows:28px 39px 82px minmax(92px,1fr) 41px!important;
  }
  body.holdem-sidepot-active .sidepot-editor-row{grid-template-columns:90px minmax(0,1fr)!important}
  body.holdem-sidepot-active .sidepot-eligible-btn{height:28px!important;min-height:28px!important}
  body.holdem-sidepot-active .sidepot-eligible-btn b{font-size:8.7px!important}
  body.holdem-sidepot-active .sidepot-eligible-btn small{font-size:5px!important}
  body.holdem-sidepot-active .sidepot-eligible-head small{font-size:5.8px!important}
  body.holdem-sidepot-active .sidepot-eligible-head em{font-size:5.1px!important}
  body.holdem-sidepot-active .sidepot-keypad button{min-height:36px!important;font-size:15.5px!important}
}
@media(max-height:680px){
  body.holdem-sidepot-active .sidepot-builder-panel{
    grid-template-rows:26px 36px 76px minmax(86px,1fr) 38px!important;
  }
  body.holdem-sidepot-active .sidepot-editor-row{grid-template-columns:86px minmax(0,1fr)!important}
  body.holdem-sidepot-active .sidepot-eligible-grid{gap:3px!important}
  body.holdem-sidepot-active .sidepot-eligible-btn{height:26px!important;min-height:26px!important}
  body.holdem-sidepot-active .sidepot-eligible-btn b{font-size:8.2px!important}
  body.holdem-sidepot-active .sidepot-eligible-btn small{font-size:4.7px!important;margin-top:2px!important}
  body.holdem-sidepot-active .sidepot-eligible-head{margin-bottom:3px!important}
  body.holdem-sidepot-active .sidepot-eligible-head small{font-size:5.4px!important}
  body.holdem-sidepot-active .sidepot-eligible-head em{font-size:4.8px!important}
  body.holdem-sidepot-active .sidepot-keypad button{min-height:33px!important;font-size:14.5px!important}
}


/* =========================================================
   v1.5.5 — SIDE POT iPhone rapid-tap zoom prevention
   Same scoped strategy as the confirmed v0.10.1 rapid-tap fix.
   Do NOT disable page pinch zoom; suppress double-tap zoom only
   on SIDE POT numeric keypad controls.
   ========================================================= */
body.holdem-sidepot-active .sidepot-keypad,
body.holdem-sidepot-active [data-sidepot-key]{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}

body.holdem-sidepot-active [data-sidepot-key]{
  cursor:pointer;
}

/* Prevent selection/gesture artifacts while rapidly tapping labels/icons. */
body.holdem-sidepot-active [data-sidepot-key] *{
  pointer-events:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}


/* =========================================================
   v1.5.6 — SHARED REQUIRED-SELECTION ATTENTION
   Rule: required choice glows BEFORE the first selection.
   After selection, attention animation stops immediately.
   ========================================================= */
@keyframes dealerAcademyChoicePulse{
  0%,100%{
    border-color:rgba(205,157,255,.40);
    box-shadow:0 0 0 0 rgba(180,95,255,0),0 0 7px rgba(171,83,244,.10);
    filter:brightness(1);
  }
  48%{
    border-color:rgba(218,177,255,.95);
    box-shadow:0 0 0 2px rgba(201,139,255,.18),0 0 17px rgba(179,92,255,.48);
    filter:brightness(1.13);
  }
}
@keyframes dealerAcademyChoiceTextPulse{
  0%,100%{opacity:.68;text-shadow:none}
  50%{opacity:1;text-shadow:0 0 8px rgba(211,163,255,.88)}
}

/* HAND READING — pulse answer buttons only until a hand is selected. */
body.holdem-hand-reading-active .holdem-lux-answer-panel.needs-selection .holdem-lux-rank-btn:not(.selected){
  animation:dealerAcademyChoicePulse 1.15s ease-in-out infinite;
}
body.holdem-hand-reading-active .holdem-lux-answer-panel.needs-selection .holdem-lux-answer-title span{
  color:#e6c7ff!important;
  animation:dealerAcademyChoiceTextPulse 1.15s ease-in-out infinite;
}
body.holdem-hand-reading-active .holdem-lux-answer-panel.has-selection .holdem-lux-rank-btn,
body.holdem-hand-reading-active .holdem-lux-answer-panel .holdem-lux-rank-btn.selected{
  animation:none!important;
  filter:none;
}

/* BEST 5 — cards glow before the first card is chosen. */
body.holdem-best5-active .holdem-best5-stage.needs-selection [data-best5-card]:not(.selected){
  animation:dealerAcademyChoicePulse 1.08s ease-in-out infinite;
}
body.holdem-best5-active .holdem-best5-stage.has-selection [data-best5-card],
body.holdem-best5-active [data-best5-card].selected{
  animation:none!important;
}
body.holdem-best5-active .holdem-best5-screen:has(.holdem-best5-stage.needs-selection) .holdem-best5-guide span{
  color:#e5c4ff!important;
  animation:dealerAcademyChoiceTextPulse 1.08s ease-in-out infinite;
}

/* SHOWDOWN — player seats glow until at least one winner is selected. */
body.holdem-showdown-active .showdown-stage.needs-selection .showdown-player-seat:not(.selected){
  animation:dealerAcademyChoicePulse 1.12s ease-in-out infinite;
}
body.holdem-showdown-active .showdown-stage.has-selection .showdown-player-seat,
body.holdem-showdown-active .showdown-player-seat.selected{
  animation:none!important;
}
body.holdem-showdown-active .showdown-stage.needs-selection + .showdown-answer-dock .showdown-selection-row>span{
  color:#e6c7ff!important;
  animation:dealerAcademyChoiceTextPulse 1.12s ease-in-out infinite;
}

/* BLACKJACK EXAM — MAIN and INSURANCE action groups independently guide the next required choice. */
body.blackjack-exam-active .exam-action-grid.needs-selection .exam-action-btn:not(.selected){
  animation:dealerAcademyChoicePulse 1.12s ease-in-out infinite;
}
body.blackjack-exam-active .exam-action-grid.has-selection .exam-action-btn,
body.blackjack-exam-active .exam-action-btn.selected{
  animation:none!important;
}

/* Do not animate selected/confirmed controls even if a stale parent class remains briefly. */
.needs-selection .selected{
  animation:none!important;
}

/* Respect reduced-motion: keep a strong static cue instead of blinking. */
@media (prefers-reduced-motion:reduce){
  body.holdem-hand-reading-active .holdem-lux-answer-panel.needs-selection .holdem-lux-rank-btn:not(.selected),
  body.holdem-best5-active .holdem-best5-stage.needs-selection [data-best5-card]:not(.selected),
  body.holdem-showdown-active .showdown-stage.needs-selection .showdown-player-seat:not(.selected),
  body.blackjack-exam-active .exam-action-grid.needs-selection .exam-action-btn:not(.selected){
    animation:none!important;
    border-color:rgba(218,177,255,.88)!important;
    box-shadow:0 0 0 2px rgba(201,139,255,.16),0 0 13px rgba(179,92,255,.30)!important;
  }
}


/* =========================================================
   v1.6.0 — TEXAS HOLD'EM ACTION MANAGEMENT
   ========================================================= */
.action-management-tc-icon{overflow:visible!important}.action-control-icon{position:relative;display:grid;place-items:center;width:44px;height:30px;margin:0 auto;border:1px solid rgba(203,157,255,.55);border-radius:50%;background:radial-gradient(circle,rgba(128,58,177,.22),transparent 68%);box-shadow:0 0 10px rgba(177,92,244,.13)}.action-control-icon i{font-style:normal;font-size:22px;line-height:1;color:#d6abff}.action-control-icon b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:7px;color:#f3d06f;text-shadow:0 0 5px rgba(238,195,83,.5)}
body.holdem-action-management-active{overflow:hidden!important}body.holdem-action-management-active .app-shell{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}body.holdem-action-management-active #screen{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;padding:max(7px,env(safe-area-inset-top)) 8px max(7px,env(safe-area-inset-bottom))!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}body.holdem-action-management-active #bottomNav{display:none!important}body.holdem-action-management-active .action-management-top{flex:0 0 42px!important;height:42px!important;min-height:42px!important;padding:0 1px 5px!important}
.action-management-question-screen{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:34px minmax(145px,.7fr) minmax(102px,.46fr) minmax(260px,1.15fr);gap:5px;overflow:hidden}.action-management-status{display:grid;grid-template-columns:1fr 1fr 58px;gap:5px}.action-management-status>span,.action-management-status>button{border:1px solid rgba(210,171,69,.18);border-radius:8px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:center;gap:6px;color:#bdb6a7}.action-management-status small{font-size:6px;letter-spacing:.11em;color:#817a6e}.action-management-status b{font-size:10px;color:#d9bd72}.action-management-status button b{font-size:14px}
.action-management-stage{position:relative;min-height:0;overflow:visible;border:1px solid rgba(214,175,78,.16);border-radius:14px;background:radial-gradient(circle at 50% 45%,rgba(91,15,22,.26),rgba(5,6,7,.76))}.action-stage-label{position:absolute;left:8px;top:6px;z-index:5;font-size:6px;font-weight:900;letter-spacing:.13em;color:#8f876f}.action-table-shell{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:69%;height:57%;border-radius:50%;padding:5px;background:linear-gradient(180deg,#191919,#050505);box-shadow:0 7px 18px rgba(0,0,0,.62),0 0 0 1px rgba(214,173,73,.45)}.action-table-shell:before{content:"";position:absolute;inset:2px;border:2px solid #ad8430;border-radius:50%;opacity:.78}.action-table-felt{height:100%;border-radius:50%;background:radial-gradient(circle at center,#59131a,#260a0d 74%);position:relative;overflow:hidden}.action-table-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;text-align:center;border:1px solid rgba(220,184,91,.28);border-radius:11px;padding:6px 3px;background:rgba(0,0,0,.28)}.action-table-center small{display:block;font-size:5.4px;letter-spacing:.12em;color:#9b8c68}.action-table-center strong{display:block;font-size:20px;line-height:1;color:#efcf70;font-variant-numeric:tabular-nums}.action-table-center span{display:block;margin-top:3px;font-size:5px;color:#817663}.action-player-seat{position:absolute;left:var(--am-x);top:var(--am-y);transform:translate(-50%,-50%);z-index:4;width:64px;padding:6px 3px;border-radius:9px;text-align:center;background:linear-gradient(180deg,#171819,#080909);border:1px solid rgba(219,181,89,.27);box-shadow:0 4px 10px rgba(0,0,0,.52)}.action-player-seat b{display:block;font-size:10px;color:#e6dfd0}.action-player-seat small{display:block;margin-top:2px;font-size:5px;letter-spacing:.06em;color:#7d786f}.action-player-seat.focus{border-color:rgba(177,105,255,.78);box-shadow:0 0 12px rgba(166,82,239,.22),0 4px 10px rgba(0,0,0,.52)}.action-player-seat.focus small{color:#d5a8ff}.action-player-seat.oot{border-color:rgba(231,80,99,.78);box-shadow:0 0 11px rgba(228,68,88,.2)}.action-player-seat.oot small{color:#ee7e8b}
.action-sequence-panel{min-height:0;border:1px solid rgba(213,175,78,.15);border-radius:11px;background:linear-gradient(180deg,rgba(18,18,17,.97),rgba(8,9,9,.98));padding:6px;overflow:hidden}.action-sequence-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.action-sequence-head small{font-size:5.5px;letter-spacing:.1em;color:#8f887b}.action-sequence-head b{font-size:6px;color:#bda15d}.action-events{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.action-events::-webkit-scrollbar{display:none}.action-event{flex:0 0 auto;min-width:78px;max-width:128px;border:1px solid rgba(255,255,255,.07);border-radius:7px;padding:5px 6px;background:#0f1010}.action-event>span{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#27241c;font-size:5px;color:#b99a50}.action-event>b{margin-left:4px;font-size:6.6px;color:#d5cbb8}.action-event>strong{display:block;margin-top:3px;font-size:7.3px;line-height:1.25;color:#aaa397;white-space:normal}.action-event.hot{border-color:rgba(184,117,250,.55);background:linear-gradient(180deg,rgba(91,40,126,.24),#101011)}.action-event.hot>strong{color:#e1c8f5}.action-event.warn{border-color:rgba(230,78,97,.5);background:linear-gradient(180deg,rgba(104,26,36,.23),#100f10)}.action-event.warn>strong{color:#e0a1a8}
.action-decision-panel{min-height:0;display:grid;grid-template-rows:38px 1fr 48px;gap:5px;padding:7px;border:1px solid rgba(213,175,78,.17);border-radius:13px;background:linear-gradient(180deg,rgba(15,15,14,.99),rgba(6,7,7,.99));overflow:hidden}.action-decision-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.action-decision-head small{display:block;font-size:5.7px;letter-spacing:.12em;color:#8c8374}.action-decision-head strong{display:block;margin-top:2px;font-size:9.5px;color:#e0c16e}.action-decision-head em{font-style:normal;font-size:6px;font-weight:900;color:#a972d4;border:1px solid rgba(183,105,242,.33);border-radius:999px;padding:4px 6px;white-space:nowrap}.action-decision-panel.needs-selection .action-decision-head em{animation:amPromptPulse .9s ease-in-out infinite}.action-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;min-height:0}.action-decision-option{position:relative;min-width:0;min-height:52px;border:1px solid rgba(210,171,69,.17);border-radius:9px;background:linear-gradient(180deg,#181918,#0c0d0d);padding:6px;color:#d9d2c5;text-align:left;overflow:visible}.action-decision-option b{display:block;font-size:9px;line-height:1.18}.action-decision-option small{display:block;margin-top:4px;font-size:5.8px;line-height:1.25;color:#807a70}.action-decision-option.attention{border-color:rgba(186,112,249,.46);animation:amChoicePulse 1.05s ease-in-out infinite}.action-decision-option:nth-child(2).attention{animation-delay:.13s}.action-decision-option:nth-child(3).attention{animation-delay:.26s}.action-decision-option:nth-child(4).attention{animation-delay:.39s}.action-decision-option.selected{border-color:rgba(215,171,255,.96);background:radial-gradient(circle at 50% 0%,rgba(162,83,225,.34),transparent 74%),linear-gradient(180deg,#321b43,#150d1c);box-shadow:0 0 12px rgba(177,91,243,.32),inset 0 0 10px rgba(216,164,255,.08)}.action-decision-option.selected b{color:#fff}.action-decision-option.selected small{color:#cdb8dc}.action-decision-confirm{height:48px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#101111;color:#6e6b66;font-size:9px;font-weight:900;letter-spacing:.07em}.action-decision-confirm.ready{border-color:rgba(194,124,255,.8);background:linear-gradient(180deg,#7d46ac,#3a1d54);color:#fff;box-shadow:0 0 13px rgba(171,82,239,.24);animation:amConfirmPulse 1s ease-in-out infinite}.action-decision-confirm:disabled{opacity:.7}
@keyframes amChoicePulse{0%,100%{box-shadow:0 0 3px rgba(176,89,240,.12);filter:brightness(1)}50%{border-color:rgba(211,153,255,.92);box-shadow:0 0 10px rgba(183,95,247,.34);filter:brightness(1.13)}}@keyframes amPromptPulse{0%,100%{color:#a972d4;box-shadow:none}50%{color:#e1b6ff;box-shadow:0 0 9px rgba(180,93,243,.23)}}@keyframes amConfirmPulse{0%,100%{box-shadow:0 0 8px rgba(171,82,239,.18)}50%{box-shadow:0 0 18px rgba(191,111,251,.42)}}
.action-management-feedback-screen{max-width:720px;margin:0 auto;padding-bottom:16px}.action-feedback-hero{margin-bottom:8px}.action-feedback-hero h2{font-size:19px!important;line-height:1.15}.action-feedback-sequence,.action-dealer-point{margin-top:8px;padding:10px}.action-feedback-sequence .action-events{margin-top:7px;flex-wrap:wrap;overflow:visible}.action-feedback-sequence .action-event{flex:1 1 115px}.action-dealer-point p{font-size:11px;line-height:1.55}.action-rule-ref{display:inline-block;margin:5px 0;padding:5px 7px;border:1px solid rgba(210,173,77,.22);border-radius:6px;background:rgba(207,165,56,.05);font-size:8px;font-weight:900;color:#d0b363}.action-dealer-point>small{display:block;margin-top:6px;font-size:7px;color:#746f68}.action-management-result-hero .holdem-result-kicker{color:#c993ff}.action-management-my-panel .kicker{color:#c69aec}
@media(max-height:740px){body.holdem-action-management-active .action-management-top{height:38px!important;min-height:38px!important;flex-basis:38px!important}.action-management-question-screen{grid-template-rows:31px minmax(124px,.62fr) minmax(88px,.42fr) minmax(244px,1.16fr);gap:4px}.action-decision-panel{grid-template-rows:34px 1fr 43px;padding:5px}.action-decision-option{min-height:46px;padding:5px}.action-decision-option b{font-size:8.4px}.action-decision-option small{font-size:5.4px}.action-decision-confirm{height:43px}.action-player-seat{width:58px;padding:5px 2px}.action-table-shell{height:55%}}
@media(max-height:680px){.action-management-question-screen{grid-template-rows:28px 108px 80px minmax(225px,1fr)}.action-management-stage .action-stage-label{font-size:5px}.action-table-shell{height:52%;width:66%}.action-player-seat{width:53px;padding:4px 2px}.action-player-seat b{font-size:8.5px}.action-player-seat small{font-size:4.5px}.action-sequence-panel{padding:4px}.action-event{min-width:70px;padding:4px}.action-event>strong{font-size:6.6px}.action-decision-panel{grid-template-rows:31px 1fr 39px;gap:3px;padding:4px}.action-decision-head strong{font-size:8.5px}.action-decision-option{min-height:42px;padding:4px}.action-decision-option b{font-size:7.7px}.action-decision-option small{font-size:5px}.action-decision-confirm{height:39px;font-size:8px}}


/* =========================================================
   v1.6.1 — ACTION MANAGEMENT READABILITY + DEALER BUTTON
   ========================================================= */

/* Common Hold'em dealer button: white physical-style button beside BTN seat. */
.holdem-dealer-button{
  position:absolute!important;
  z-index:20!important;
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  border:2px solid #171717!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fffdf7,#d9d6cf)!important;
  color:#111!important;
  font-style:normal!important;
  font-family:Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  box-shadow:
    0 0 0 1px rgba(230,188,91,.62),
    0 3px 7px rgba(0,0,0,.62),
    inset 0 1px 1px rgba(255,255,255,.9)!important;
  pointer-events:none!important;
}
.holdem-lux-seat .holdem-dealer-button{
  right:-9px!important;
  bottom:-5px!important;
}
.holdem-lux-seat.seat-btn .holdem-dealer-button{
  transform:rotate(-17deg)!important;
}
.pot-player-seat .holdem-dealer-button,
.sidepot-player-seat .holdem-dealer-button,
.action-player-seat .holdem-dealer-button{
  right:-10px!important;
  top:-9px!important;
}

/* ACTION MANAGEMENT: status gets PLAYER count without shrinking GUIDE excessively. */
body.holdem-action-management-active .action-management-status{
  grid-template-columns:1fr 1fr .78fr 54px!important;
  gap:4px!important;
}

/* Make the question the visual priority. */
body.holdem-action-management-active .action-management-question-screen{
  grid-template-rows:34px minmax(145px,.74fr) minmax(102px,.48fr) minmax(242px,1.08fr)!important;
}
body.holdem-action-management-active .action-decision-panel{
  grid-template-rows:50px 1fr 50px!important;
  gap:6px!important;
  padding:7px!important;
}
body.holdem-action-management-active .action-decision-head{
  position:relative!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  padding:0 64px 0 6px!important;
}
body.holdem-action-management-active .action-decision-head>div{
  width:100%!important;
}
body.holdem-action-management-active .action-decision-head small{
  font-size:6.4px!important;
  letter-spacing:.13em!important;
}
body.holdem-action-management-active .action-decision-head strong{
  display:block!important;
  margin-top:3px!important;
  font-size:13px!important;
  line-height:1.22!important;
  color:#f0d27b!important;
  text-align:center!important;
}
body.holdem-action-management-active .action-decision-head em{
  position:absolute!important;
  right:2px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:6px!important;
}

/* Smaller answer block footprint, centered, but larger readable answer text. */
body.holdem-action-management-active .action-decision-grid{
  width:90%!important;
  max-width:520px!important;
  justify-self:center!important;
  align-self:center!important;
  margin:0 auto!important;
  gap:6px!important;
}
body.holdem-action-management-active .action-decision-option{
  min-height:48px!important;
  padding:7px 8px!important;
  text-align:center!important;
}
body.holdem-action-management-active .action-decision-option b{
  font-size:11px!important;
  line-height:1.22!important;
}
body.holdem-action-management-active .action-decision-option small{
  margin-top:4px!important;
  font-size:6.8px!important;
  line-height:1.28!important;
}

/* Keep player labels readable as the table varies from 4 to 6 seats. */
body.holdem-action-management-active .action-player-seat{
  width:60px!important;
  min-height:38px!important;
  padding:5px 3px!important;
}
body.holdem-action-management-active .action-player-seat b{
  font-size:9.5px!important;
}
body.holdem-action-management-active .action-player-seat small{
  font-size:4.8px!important;
}

/* Short iPhones: keep one-screen layout while retaining the larger question/answer copy. */
@media(max-height:740px){
  body.holdem-action-management-active .action-management-question-screen{
    grid-template-rows:31px minmax(122px,.64fr) minmax(86px,.43fr) minmax(228px,1.08fr)!important;
  }
  body.holdem-action-management-active .action-decision-panel{
    grid-template-rows:45px 1fr 43px!important;
    gap:4px!important;
    padding:5px!important;
  }
  body.holdem-action-management-active .action-decision-head strong{font-size:11.5px!important}
  body.holdem-action-management-active .action-decision-grid{width:92%!important;gap:4px!important}
  body.holdem-action-management-active .action-decision-option{
    min-height:44px!important;
    padding:5px 6px!important;
  }
  body.holdem-action-management-active .action-decision-option b{font-size:9.8px!important}
  body.holdem-action-management-active .action-decision-option small{font-size:6.1px!important}
  body.holdem-action-management-active .action-player-seat{width:55px!important;padding:4px 2px!important}
}
@media(max-height:680px){
  body.holdem-action-management-active .action-management-question-screen{
    grid-template-rows:28px 108px 78px minmax(213px,1fr)!important;
  }
  body.holdem-action-management-active .action-decision-panel{
    grid-template-rows:40px 1fr 39px!important;
  }
  body.holdem-action-management-active .action-decision-head{
    padding-right:58px!important;
  }
  body.holdem-action-management-active .action-decision-head strong{font-size:10.5px!important}
  body.holdem-action-management-active .action-decision-option{
    min-height:40px!important;
    padding:4px 5px!important;
  }
  body.holdem-action-management-active .action-decision-option b{font-size:9px!important}
  body.holdem-action-management-active .action-decision-option small{font-size:5.6px!important}
  body.holdem-action-management-active .action-player-seat{width:50px!important}
  body.holdem-action-management-active .action-player-seat b{font-size:8px!important}
  body.holdem-action-management-active .holdem-dealer-button{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;font-size:8px!important}
}


/* =========================================================
   v1.6.2 — ACTION MANAGEMENT HIGH VISIBILITY
   ========================================================= */

/* DEALER BUTTON now sits on the table surface, visually detached from the player seat. */
.holdem-dealer-button-on-table{
  left:var(--dealer-x)!important;
  top:var(--dealer-y)!important;
  right:auto!important;
  bottom:auto!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  transform:translate(-50%,-50%) rotate(-8deg)!important;
  font-size:10px!important;
  border-width:2px!important;
  box-shadow:
    0 0 0 2px rgba(231,194,101,.42),
    0 0 9px rgba(255,255,255,.18),
    0 4px 8px rgba(0,0,0,.72)!important;
  z-index:8!important;
}

/* HAND READING / BEST 5: fixed BTN-side physical dealer button on the felt. */
.holdem-dealer-button-luxury{
  left:18%!important;
  bottom:17%!important;
  top:auto!important;
  right:auto!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  transform:rotate(-12deg)!important;
  font-size:10px!important;
  z-index:14!important;
  box-shadow:
    0 0 0 2px rgba(231,194,101,.42),
    0 0 10px rgba(255,255,255,.18),
    0 4px 8px rgba(0,0,0,.7)!important;
}

/* The prompt is now a primary learning element, not small helper copy. */
body.holdem-action-management-active .action-management-question-screen{
  grid-template-rows:34px minmax(128px,.58fr) minmax(82px,.36fr) minmax(304px,1.48fr)!important;
}
body.holdem-action-management-active .action-decision-panel{
  grid-template-rows:64px 1fr 54px!important;
  gap:7px!important;
  padding:8px!important;
}
body.holdem-action-management-active .action-decision-head{
  padding:0 78px 0 8px!important;
}
body.holdem-action-management-active .action-decision-head small{
  font-size:7px!important;
}
body.holdem-action-management-active .action-decision-head strong{
  margin-top:4px!important;
  font-size:15.5px!important;
  line-height:1.34!important;
  letter-spacing:.01em!important;
  color:#f4d982!important;
  text-shadow:0 1px 6px rgba(235,194,91,.12)!important;
}
body.holdem-action-management-active .action-decision-head em{
  font-size:6.6px!important;
  padding:5px 7px!important;
}

/* Use the whole answer frame. Main answer and explanatory line are both readable. */
body.holdem-action-management-active .action-decision-grid{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  gap:7px!important;
}
body.holdem-action-management-active .action-decision-option{
  min-height:62px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.holdem-action-management-active .action-decision-option b{
  font-size:13px!important;
  line-height:1.28!important;
  letter-spacing:.01em!important;
}
body.holdem-action-management-active .action-decision-option small{
  margin-top:6px!important;
  font-size:8.4px!important;
  line-height:1.34!important;
  color:#9c9589!important;
}
body.holdem-action-management-active .action-decision-option.selected small{
  color:#d8c6e5!important;
}
body.holdem-action-management-active .action-decision-confirm{
  height:54px!important;
  font-size:10px!important;
}

/* Keep one-screen portrait behavior on shorter iPhones, but preserve legibility. */
@media(max-height:740px){
  body.holdem-action-management-active .action-management-question-screen{
    grid-template-rows:31px 112px 74px minmax(280px,1fr)!important;
  }
  body.holdem-action-management-active .action-decision-panel{
    grid-template-rows:57px 1fr 48px!important;
    gap:5px!important;
    padding:6px!important;
  }
  body.holdem-action-management-active .action-decision-head{
    padding-right:70px!important;
  }
  body.holdem-action-management-active .action-decision-head strong{
    font-size:13.5px!important;
    line-height:1.28!important;
  }
  body.holdem-action-management-active .action-decision-grid{
    width:100%!important;
    gap:5px!important;
  }
  body.holdem-action-management-active .action-decision-option{
    min-height:54px!important;
    padding:7px 8px!important;
  }
  body.holdem-action-management-active .action-decision-option b{font-size:11.3px!important}
  body.holdem-action-management-active .action-decision-option small{font-size:7.2px!important}
  body.holdem-action-management-active .action-decision-confirm{height:48px!important}
}
@media(max-height:680px){
  body.holdem-action-management-active .action-management-question-screen{
    grid-template-rows:28px 100px 68px minmax(258px,1fr)!important;
  }
  body.holdem-action-management-active .action-decision-panel{
    grid-template-rows:52px 1fr 44px!important;
    gap:4px!important;
    padding:5px!important;
  }
  body.holdem-action-management-active .action-decision-head strong{
    font-size:12px!important;
    line-height:1.24!important;
  }
  body.holdem-action-management-active .action-decision-option{
    min-height:48px!important;
    padding:6px 7px!important;
  }
  body.holdem-action-management-active .action-decision-option b{font-size:10.2px!important}
  body.holdem-action-management-active .action-decision-option small{font-size:6.5px!important}
  body.holdem-action-management-active .action-decision-confirm{height:44px!important}
  .holdem-dealer-button-on-table,
  .holdem-dealer-button-luxury{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    min-height:21px!important;
    font-size:9px!important;
  }
}


/* v1.6.4 — Hold'em seat-order integrity
   Clockwise physical order is now BTN → SB → BB → UTG → ... → CO → BTN.
   Dynamic modes use semantic coordinates instead of array-index placement. */


/* =========================================================
   v1.6.5 — ACTION MANAGEMENT TRUE STREET ACTION ORDER
   ========================================================= */
body.holdem-action-management-active .action-sequence-head b{
  color:#ead078!important;
  font-size:7px!important;
  letter-spacing:.04em!important;
}
.action-event.auto-flow{
  border-color:rgba(92,154,199,.18)!important;
  background:linear-gradient(180deg,rgba(25,48,62,.22),#0f1010)!important;
}
.action-event.auto-flow>b{
  color:#aac5d8!important;
}
.action-event.auto-flow>strong{
  color:#c8d8e2!important;
}
.action-player-seat.folded{
  opacity:.48!important;
  border-color:rgba(224,83,98,.38)!important;
  background:linear-gradient(180deg,#321317,#11090a)!important;
}
.action-player-seat.folded small{
  color:#e27781!important;
}


/* =========================================================
   v1.6.6 — ACTION SEQUENCE ONE-SCREEN ADAPTIVE GRID
   No hard action-count cap. No horizontal scrolling.
   ========================================================= */

/* ACTION SEQUENCE always wraps into the available viewport. */
body.holdem-action-management-active .action-sequence-panel{
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
body.holdem-action-management-active .action-sequence-head{
  flex:0 0 auto!important;
  margin-bottom:5px!important;
}
body.holdem-action-management-active .action-events{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(var(--am-seq-cols),minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--am-seq-rows),minmax(0,1fr))!important;
  gap:4px!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  padding:0!important;
  scrollbar-width:none!important;
}
body.holdem-action-management-active .action-event{
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  height:100%!important;
  min-height:0!important;
  padding:4px 5px!important;
  display:block!important;
  overflow:hidden!important;
}
body.holdem-action-management-active .action-event>span{
  width:12px!important;
  height:12px!important;
  font-size:4.8px!important;
}
body.holdem-action-management-active .action-event>b{
  margin-left:3px!important;
  font-size:6.4px!important;
}
body.holdem-action-management-active .action-event>strong{
  display:block!important;
  margin-top:2px!important;
  font-size:7px!important;
  line-height:1.16!important;
  overflow-wrap:anywhere!important;
}

/* Reallocate vertical space from the answer area to ACTION SEQUENCE. */
body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
  grid-template-rows:34px 116px 72px minmax(276px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
  grid-template-rows:34px 110px 112px minmax(242px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
  grid-template-rows:34px 101px 148px minmax(215px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
  grid-template-rows:34px 92px 180px minmax(192px,1fr)!important;
}

/* The decision area remains readable, but loses unused vertical padding first. */
body.holdem-action-management-active .sequence-compact .action-decision-panel,
body.holdem-action-management-active .sequence-dense .action-decision-panel{
  grid-template-rows:50px 1fr 46px!important;
  gap:4px!important;
  padding:5px!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-head strong,
body.holdem-action-management-active .sequence-dense .action-decision-head strong{
  font-size:12.6px!important;
  line-height:1.22!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-grid,
body.holdem-action-management-active .sequence-dense .action-decision-grid{
  gap:4px!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-option,
body.holdem-action-management-active .sequence-dense .action-decision-option{
  min-height:42px!important;
  padding:5px 7px!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-option b,
body.holdem-action-management-active .sequence-dense .action-decision-option b{
  font-size:10.8px!important;
  line-height:1.18!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-option small,
body.holdem-action-management-active .sequence-dense .action-decision-option small{
  margin-top:3px!important;
  font-size:6.6px!important;
  line-height:1.2!important;
}
body.holdem-action-management-active .sequence-compact .action-decision-confirm,
body.holdem-action-management-active .sequence-dense .action-decision-confirm{
  height:46px!important;
}

/* 11+ ACTIONS: denser cards only — never introduce horizontal scroll. */
body.holdem-action-management-active .sequence-compact .action-event{
  padding:3px 4px!important;
}
body.holdem-action-management-active .sequence-compact .action-event>b{
  font-size:5.9px!important;
}
body.holdem-action-management-active .sequence-compact .action-event>strong{
  font-size:6.25px!important;
  line-height:1.12!important;
}
body.holdem-action-management-active .sequence-dense .action-events{
  gap:3px!important;
}
body.holdem-action-management-active .sequence-dense .action-event{
  padding:3px!important;
  border-radius:6px!important;
}
body.holdem-action-management-active .sequence-dense .action-event>span{
  width:10px!important;
  height:10px!important;
  font-size:4px!important;
}
body.holdem-action-management-active .sequence-dense .action-event>b{
  margin-left:2px!important;
  font-size:5.3px!important;
}
body.holdem-action-management-active .sequence-dense .action-event>strong{
  font-size:5.65px!important;
  line-height:1.08!important;
}

/* Short iPhones: same no-scroll policy, with tighter table/answer allocation. */
@media(max-height:740px){
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
    grid-template-rows:31px 105px 68px minmax(250px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
    grid-template-rows:31px 99px 104px minmax(220px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
    grid-template-rows:31px 92px 136px minmax(195px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
    grid-template-rows:31px 84px 164px minmax(175px,1fr)!important;
  }
}
@media(max-height:680px){
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
    grid-template-rows:28px 94px 62px minmax(224px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
    grid-template-rows:28px 88px 94px minmax(198px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
    grid-template-rows:28px 82px 124px minmax(174px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
    grid-template-rows:28px 76px 148px minmax(156px,1fr)!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-panel{
    grid-template-rows:42px 1fr 38px!important;
    padding:4px!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-head strong{
    font-size:10.2px!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-option{
    min-height:34px!important;
    padding:3px 5px!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-option b{
    font-size:8.9px!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-option small{
    font-size:5.3px!important;
  }
  body.holdem-action-management-active .sequence-dense .action-decision-confirm{
    height:38px!important;
  }
}


/* =========================================================
   v1.6.7 — ACTION MANAGEMENT LAYOUT BALANCE
   Restore table presence + prevent sequence text clipping.
   ========================================================= */

/* Give the live table back its visual weight. */
body.holdem-action-management-active .action-table-shell{
  width:74%!important;
  height:62%!important;
}
body.holdem-action-management-active .action-table-center{
  width:104px!important;
  padding:7px 4px!important;
}
body.holdem-action-management-active .action-table-center strong{
  font-size:22px!important;
}
body.holdem-action-management-active .action-player-seat{
  width:62px!important;
  min-height:40px!important;
  padding:5px 3px!important;
}
body.holdem-action-management-active .action-player-seat b{
  font-size:10px!important;
}
body.holdem-action-management-active .action-player-seat small{
  font-size:5px!important;
}

/* D button remains on the felt and now sits well inside BTN, never on top of the BTN label. */
body.holdem-action-management-active .holdem-dealer-button-on-table{
  width:23px!important;
  height:23px!important;
  min-width:23px!important;
  min-height:23px!important;
  font-size:10px!important;
  z-index:7!important;
}

/* Rebalance the four main areas.
   The answer section had spare vertical room, so table + sequence get it back. */
body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
  grid-template-rows:34px 132px 78px minmax(218px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
  grid-template-rows:34px 128px 132px minmax(194px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
  grid-template-rows:34px 120px 166px minmax(170px,1fr)!important;
}
body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
  grid-template-rows:34px 112px 192px minmax(152px,1fr)!important;
}

/* Two-row sequence is the common case: prioritize complete, readable cards. */
body.holdem-action-management-active .sequence-rows-2 .action-sequence-panel{
  padding:6px!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-sequence-head{
  margin-bottom:5px!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-events{
  gap:5px!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-event{
  padding:5px 5px!important;
  overflow:hidden!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-event>span{
  width:13px!important;
  height:13px!important;
  font-size:5px!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-event>b{
  margin-left:3px!important;
  font-size:6.5px!important;
}
body.holdem-action-management-active .sequence-rows-2 .action-event>strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3!important;
  margin-top:3px!important;
  font-size:7.2px!important;
  line-height:1.24!important;
  max-height:3.72em!important;
  overflow:hidden!important;
  white-space:normal!important;
  text-overflow:ellipsis!important;
}

/* 1-row cards can stay generous. */
body.holdem-action-management-active .sequence-rows-1 .action-event>strong{
  font-size:7.3px!important;
  line-height:1.22!important;
}

/* 3+ rows still fit one screen, but guarantee at least two readable text lines per card. */
body.holdem-action-management-active .sequence-compact .action-event,
body.holdem-action-management-active .sequence-dense .action-event{
  overflow:hidden!important;
}
body.holdem-action-management-active .sequence-compact .action-event>strong,
body.holdem-action-management-active .sequence-dense .action-event>strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  max-height:2.5em!important;
  overflow:hidden!important;
  white-space:normal!important;
}

/* Reclaim unused answer-panel padding before shrinking readable copy. */
body.holdem-action-management-active .action-decision-panel{
  gap:5px!important;
  padding:6px!important;
}
body.holdem-action-management-active .action-decision-option{
  min-height:50px!important;
  padding:6px 8px!important;
}
body.holdem-action-management-active .action-decision-option b{
  font-size:11.5px!important;
}
body.holdem-action-management-active .action-decision-option small{
  font-size:7px!important;
}

/* Short iPhones: table remains larger than v1.6.6, while sequence text stays intact. */
@media(max-height:740px){
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
    grid-template-rows:31px 118px 72px minmax(202px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
    grid-template-rows:31px 114px 122px minmax(180px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
    grid-template-rows:31px 106px 151px minmax(159px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
    grid-template-rows:31px 99px 174px minmax(143px,1fr)!important;
  }
  body.holdem-action-management-active .action-table-shell{
    width:72%!important;
    height:60%!important;
  }
  body.holdem-action-management-active .action-player-seat{
    width:57px!important;
    min-height:36px!important;
    padding:4px 2px!important;
  }
  body.holdem-action-management-active .sequence-rows-2 .action-event>strong{
    font-size:6.8px!important;
    line-height:1.2!important;
  }
}
@media(max-height:680px){
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-1{
    grid-template-rows:28px 106px 66px minmax(184px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-2{
    grid-template-rows:28px 102px 112px minmax(164px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-3{
    grid-template-rows:28px 96px 139px minmax(143px,1fr)!important;
  }
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-4,
  body.holdem-action-management-active .action-management-question-screen.sequence-rows-5{
    grid-template-rows:28px 90px 158px minmax(130px,1fr)!important;
  }
  body.holdem-action-management-active .action-table-shell{
    width:70%!important;
    height:58%!important;
  }
  body.holdem-action-management-active .action-player-seat{
    width:52px!important;
    min-height:33px!important;
  }
  body.holdem-action-management-active .action-player-seat b{font-size:8.5px!important}
  body.holdem-action-management-active .action-player-seat small{font-size:4.4px!important}
  body.holdem-action-management-active .holdem-dealer-button-on-table{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    font-size:8.5px!important;
  }
  body.holdem-action-management-active .sequence-rows-2 .action-event{
    padding:4px!important;
  }
  body.holdem-action-management-active .sequence-rows-2 .action-event>strong{
    font-size:6.25px!important;
    line-height:1.16!important;
  }
}


/* =========================================================
   v1.6.8 — DEALER BUTTON CENTER-COLLISION FIX
   ========================================================= */
.holdem-dealer-button-on-table{
  box-shadow:
    0 0 0 2px rgba(231,194,101,.48),
    0 0 8px rgba(255,255,255,.18),
    0 4px 8px rgba(0,0,0,.72)!important;
}
body.holdem-action-management-active .holdem-dealer-button-on-table,
body.holdem-pot-calc-active .holdem-dealer-button-on-table,
body.holdem-sidepot-active .holdem-dealer-button-on-table{
  z-index:9!important;
}


/* =========================================================
   v1.6.9 — ROTATING PHYSICAL SEATS + D BUTTON SAFE ZONE
   ========================================================= */
body.holdem-action-management-active .holdem-dealer-button-on-table{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  font-size:9.5px!important;
  z-index:8!important;
}




/* =========================================================
   v1.7.0 — TEXAS HOLD'EM TABLE FLOW
   iPhone-first one-screen full hand simulator
   ========================================================= */
.holdem-tableflow-card{
  border-color:rgba(218,177,83,.72)!important;
  background:
    radial-gradient(circle at 50% 12%,rgba(171,38,38,.24),transparent 48%),
    linear-gradient(145deg,#2b1314,#100d0d 62%,#07120d)!important;
}
.table-flow-cycle-icon.active i{color:#f5cf6f!important;text-shadow:0 0 14px rgba(245,207,111,.5)}
.table-flow-cycle-icon.active b,.table-flow-cycle-icon.active em{border-color:#d3a94d!important}

body.holdem-table-flow-active{
  overflow:hidden!important;
}
body.holdem-table-flow-active .app-shell{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;
}
body.holdem-table-flow-active #screen{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
  padding:max(7px,env(safe-area-inset-top)) 8px max(7px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
body.holdem-table-flow-active #bottomNav{display:none!important}
.tf-top{
  flex:0 0 42px!important;height:42px!important;min-height:42px!important;padding:0 1px 5px!important;
}
.tf-top .training-title strong{font-size:18px!important;letter-spacing:.1em!important}
.tf-top .training-title span{font-size:7px!important;letter-spacing:.12em!important}
.tf-guide-button{
  width:32px;height:32px;border:1px solid rgba(213,168,75,.48)!important;border-radius:10px!important;
  background:rgba(4,8,6,.7)!important;
}
.tf-screen{
  flex:1;min-height:0;display:grid;
  grid-template-rows:34px 38px minmax(250px,1fr) 218px;
  gap:6px;padding-top:6px;
}
.tf-status{
  display:grid;grid-template-columns:repeat(4,1fr);gap:4px;
}
.tf-status span{
  min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;
  border:1px solid rgba(213,168,75,.28);border-radius:9px;
  background:linear-gradient(180deg,rgba(26,24,19,.95),rgba(8,11,9,.96));
}
.tf-status small{font-size:5.5px;color:#a99b79;letter-spacing:.1em}
.tf-status b{font-size:9px;color:#f1d27c;white-space:nowrap}

.tf-flowbar{
  display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:4px;
  border:1px solid rgba(213,168,75,.26);border-radius:10px;background:rgba(4,8,6,.88);
}
.tf-flowbar div{
  min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  border-radius:6px;color:#686d66;background:rgba(255,255,255,.025);
}
.tf-flowbar i{
  width:14px;height:14px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.15);font-style:normal;font-size:6px;
}
.tf-flowbar span{font-size:5.2px;font-weight:800;letter-spacing:.03em}
.tf-flowbar .done{color:#78b979}
.tf-flowbar .done i{border-color:#4f9d5a;background:rgba(42,116,56,.25)}
.tf-flowbar .active{color:#ffe091;background:rgba(149,36,36,.24);box-shadow:inset 0 0 0 1px rgba(229,175,63,.42),0 0 12px rgba(212,139,43,.12)}
.tf-flowbar .active i{border-color:#e9bd5f;color:#271b07;background:#e5ba60}

.tf-stage{
  position:relative;min-height:0;overflow:hidden;border:1px solid rgba(213,168,75,.48);
  border-radius:17px;background:
    radial-gradient(ellipse at 50% 38%,rgba(85,11,15,.52),transparent 56%),
    linear-gradient(180deg,#080c0a,#040706);
  box-shadow:inset 0 0 0 1px rgba(255,228,148,.04),0 10px 24px rgba(0,0,0,.28);
}
.tf-stage.allin-mode{border-color:rgba(160,109,224,.62)}
.tf-stage.sidepot-mode{box-shadow:inset 0 0 0 1px rgba(181,126,236,.12),0 0 16px rgba(130,80,190,.08),0 10px 24px rgba(0,0,0,.28)}
.tf-stage-mark{
  position:absolute;z-index:5;left:9px;top:6px;font-family:var(--serif);
  color:rgba(231,199,118,.48);font-size:5.4px;letter-spacing:.16em;
}
.tf-table-shell{
  position:absolute;left:9%;right:9%;top:12%;height:58%;
  border-radius:50%;padding:7px;
  background:linear-gradient(180deg,#161616,#050505);
  border:2px solid #040404;
  box-shadow:0 0 0 2px #b58b35,0 0 0 4px #2b2110,0 10px 18px rgba(0,0,0,.6);
}
.tf-felt{
  width:100%;height:100%;border-radius:50%;position:relative;overflow:hidden;
  border:1px solid rgba(240,198,95,.28);
  background:
    radial-gradient(ellipse at center,rgba(124,26,29,.45),transparent 62%),
    linear-gradient(180deg,#4a1118,#270a0e);
}
.tf-felt:after{
  content:"TABLE FLOW";position:absolute;left:50%;top:19%;transform:translateX(-50%);
  font-family:var(--serif);font-size:10px;letter-spacing:.18em;color:rgba(255,227,167,.11);
}
.tf-center{
  position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);
  width:78%;display:flex;flex-direction:column;align-items:center;gap:5px;
}
.tf-board{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:100%;max-width:190px}
.tf-board-card,.tf-board-empty{min-width:0;height:42px;display:grid;place-items:center}
.tf-board-card .play-card{
  width:31px!important;height:42px!important;min-width:31px!important;border-radius:4px!important;
}
.tf-board-card .play-card .rank{font-size:10px!important}
.tf-board-card .play-card .suit{font-size:11px!important}
.tf-board-empty{
  border:1px solid rgba(244,213,139,.17);border-radius:4px;background:rgba(0,0,0,.13);
}
.tf-board-empty i{width:8px;height:1px;background:rgba(255,255,255,.12)}
.tf-pot{
  min-width:88px;padding:3px 10px;text-align:center;border-radius:12px;
  border:1px solid rgba(231,192,93,.34);background:rgba(3,6,5,.76);
}
.tf-pot small{display:block;font-size:5px;color:#c7ae70;letter-spacing:.1em}
.tf-pot strong{font-family:var(--serif);font-size:15px;color:#ffe294}
.tf-pot span{display:block;font-size:5.2px;color:#d6a7d9}

.tf-seat{
  position:absolute;z-index:8;left:var(--tf-x);top:var(--tf-y);transform:translate(-50%,-50%);
  width:52px;min-height:32px;padding:4px 3px;text-align:center;border-radius:10px;
  border:1px solid rgba(211,171,75,.5);
  background:linear-gradient(180deg,rgba(18,24,20,.98),rgba(6,9,7,.98));
  box-shadow:0 4px 8px rgba(0,0,0,.52);
}
.tf-seat b{display:block;color:#f3d27c;font-family:var(--serif);font-size:8.5px;line-height:1}
.tf-seat small{display:block;margin-top:3px;font-size:4.7px;color:#92aa96;letter-spacing:.08em}
.tf-seat.folded{opacity:.46;border-color:rgba(170,55,55,.45)}
.tf-seat.folded b,.tf-seat.folded small{color:#b36b6b}
.tf-seat.allin{border-color:#a56ee4;box-shadow:0 0 12px rgba(158,93,223,.28),0 4px 8px rgba(0,0,0,.52)}
.tf-seat.allin small{color:#d7b9ff}
.tf-seat.focus{
  border-color:#78d371;box-shadow:0 0 0 2px rgba(112,210,103,.18),0 0 16px rgba(112,210,103,.3);
  animation:tfSeatFocus 1.15s ease-in-out infinite;
}
@keyframes tfSeatFocus{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.045)}}
body.holdem-table-flow-active .holdem-dealer-button-on-table{
  width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
  font-size:8px!important;z-index:9!important;
}

.tf-recent{
  position:absolute;left:6px;right:6px;bottom:5px;height:28%;
  border-top:1px solid rgba(213,168,75,.18);padding-top:4px;
}
.tf-recent-title{font-size:5px;color:#a88f55;letter-spacing:.14em;margin-bottom:3px}
.tf-recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.tf-action-line{
  min-width:0;display:flex;align-items:center;gap:4px;height:23px;padding:3px 5px;
  border-radius:6px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);
  overflow:hidden;
}
.tf-action-line b{flex:none;font-size:6px;color:#e0bc65}
.tf-action-line span{min-width:0;font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dad7ce}
.tf-action-line.latest{border-color:rgba(103,190,103,.3);background:rgba(60,121,63,.1)}

.tf-decision{
  min-height:0;display:grid;grid-template-rows:48px 1fr 43px;gap:5px;padding:6px;
  border:1px solid rgba(213,168,75,.44);border-radius:15px;
  background:linear-gradient(180deg,rgba(20,18,15,.98),rgba(7,9,8,.99));
}
.tf-decision-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tf-decision-head>div{min-width:0}
.tf-decision-head small{display:block;color:#e2b956;font-size:6px;letter-spacing:.13em;font-weight:800}
.tf-decision-head strong{display:block;margin-top:3px;font-size:11px;line-height:1.2;color:#fff8e5}
.tf-decision-head em{
  flex:none;font-style:normal;font-size:5.5px;padding:4px 6px;border:1px solid rgba(213,168,75,.32);
  border-radius:10px;color:#bda66d;
}
.tf-choice-grid{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.tf-choice{
  min-width:0;min-height:48px;border:1px solid rgba(213,168,75,.28);border-radius:10px;
  background:linear-gradient(180deg,#171b18,#0d110f);color:#eee7d8;padding:6px 7px;text-align:left;
}
.tf-choice b{display:block;font-size:8.5px;line-height:1.14}
.tf-choice small{display:block;margin-top:3px;font-size:5.8px;line-height:1.15;color:#9fa49c}
.tf-decision.needs-selection .tf-choice{
  animation:tfChoiceGlow 1.7s ease-in-out infinite;
}
.tf-decision.needs-selection .tf-choice:nth-child(2){animation-delay:.12s}
.tf-decision.needs-selection .tf-choice:nth-child(3){animation-delay:.24s}
.tf-decision.needs-selection .tf-choice:nth-child(4){animation-delay:.36s}
@keyframes tfChoiceGlow{0%,100%{border-color:rgba(213,168,75,.25);box-shadow:none}50%{border-color:rgba(235,195,93,.62);box-shadow:0 0 10px rgba(210,158,54,.12)}}
.tf-choice.selected{
  border-color:#73cb6f!important;background:linear-gradient(180deg,#17381f,#0b2313)!important;
  box-shadow:0 0 0 1px rgba(109,203,105,.14),0 0 14px rgba(82,183,83,.14)!important;
}
.tf-confirm,.tf-next{
  border-radius:11px;border:1px solid rgba(213,168,75,.32);font-weight:900;font-size:10px;
  color:#776d57;background:#101310;
}
.tf-confirm.ready,.tf-next.ready{
  color:#fff9e8;border-color:#5caa62;background:linear-gradient(180deg,#226d38,#104625);
  animation:tfConfirmPulse 1.05s ease-in-out infinite;
}
@keyframes tfConfirmPulse{0%,100%{box-shadow:0 0 0 0 rgba(105,207,102,.05)}50%{box-shadow:0 0 0 3px rgba(105,207,102,.12),0 0 15px rgba(105,207,102,.18)}}

.tf-decision.tf-feedback{
  grid-template-rows:43px 24px 1fr 44px;
}
.tf-feedback-head{
  display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:9px;
  border:1px solid rgba(103,188,94,.35);background:rgba(38,100,47,.13);
}
.tf-feedback.incorrect .tf-feedback-head{border-color:rgba(224,77,70,.42);background:rgba(126,27,23,.14)}
.tf-feedback-head span{font-size:7px;font-weight:900;color:#79d875}
.tf-feedback.incorrect .tf-feedback-head span{color:#ff7d72}
.tf-feedback-head strong{font-size:9px;line-height:1.12;color:#fff1ce}
.tf-your-pick{
  display:flex;align-items:center;padding:0 8px;border-radius:8px;font-size:6.5px;color:#d9a59f;
  background:rgba(120,34,29,.12);
}
.tf-dealer-point{
  min-height:0;padding:6px 8px;border:1px solid rgba(213,168,75,.18);border-radius:9px;background:rgba(255,255,255,.02);overflow:hidden;
}
.tf-dealer-point small{display:block;color:#e4bd61;font-size:5.5px;letter-spacing:.12em}
.tf-dealer-point p{margin:3px 0 0;font-size:7.3px;line-height:1.32;color:#ddd8cd}
.tf-next{width:100%;color:#fff6dc;border-color:#c7963a;background:linear-gradient(180deg,#c4943d,#76531c)}

.tf-result-hero{margin-top:10px}
.tf-result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.tf-result-metrics>div{text-align:center;padding:12px 7px}
.tf-result-metrics small{display:block;color:#bfa86b;font-size:8px}
.tf-result-metrics strong{display:block;margin-top:4px;font-family:var(--serif);font-size:22px;color:#f5d77e}
.tf-hand-result{margin-top:10px;padding:12px}
.tf-hand-result>div{display:flex;justify-content:space-between;padding:7px;border-bottom:1px solid rgba(213,168,75,.12)}
.tf-hand-result>div:last-child{border-bottom:0}
.tf-hand-result span{font-size:10px;color:#bcb5a5}
.tf-hand-result b{font-family:var(--serif);color:#efd179}
.tf-result-review{margin-top:10px}
.tf-my-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
.tf-my-grid span{padding:8px 5px;text-align:center;border:1px solid rgba(213,168,75,.16);border-radius:9px;background:rgba(0,0,0,.14)}
.tf-my-grid small{display:block;font-size:6px;color:#a9a498}
.tf-my-grid b{display:block;margin-top:3px;font-size:12px;color:#f0d37e}

@media(max-height:740px){
  .tf-screen{grid-template-rows:31px 34px minmax(225px,1fr) 196px;gap:4px;padding-top:4px}
  .tf-top{flex-basis:38px!important;height:38px!important;min-height:38px!important}
  .tf-table-shell{top:12%;height:56%}
  .tf-seat{width:48px;min-height:29px;padding:3px 2px}
  .tf-seat b{font-size:7.7px}.tf-seat small{font-size:4.2px}
  .tf-board-card,.tf-board-empty{height:37px}
  .tf-board-card .play-card{width:27px!important;height:37px!important;min-width:27px!important}
  .tf-pot strong{font-size:13px}
  .tf-recent-grid{gap:2px}.tf-action-line{height:20px;padding:2px 4px}
  .tf-decision{grid-template-rows:43px 1fr 39px;padding:5px;gap:4px}
  .tf-choice{min-height:43px;padding:5px 6px}.tf-choice b{font-size:7.8px}.tf-choice small{font-size:5.2px}
  .tf-decision.tf-feedback{grid-template-rows:39px 21px 1fr 39px}
}
@media(max-height:680px){
  body.holdem-table-flow-active #screen{padding-top:max(3px,env(safe-area-inset-top))!important;padding-left:6px!important;padding-right:6px!important}
  .tf-screen{grid-template-rows:29px 31px minmax(198px,1fr) 176px}
  .tf-top{flex-basis:35px!important;height:35px!important;min-height:35px!important}
  .tf-top .training-title strong{font-size:15px!important}
  .tf-status small{font-size:4.8px}.tf-status b{font-size:8px}
  .tf-flowbar{padding:3px}.tf-flowbar i{width:12px;height:12px}.tf-flowbar span{font-size:4.5px}
  .tf-table-shell{left:10%;right:10%;top:13%;height:53%}
  .tf-seat{width:43px;min-height:26px}.tf-seat b{font-size:7px}.tf-seat small{font-size:3.8px}
  .tf-board-card,.tf-board-empty{height:32px}
  .tf-board-card .play-card{width:24px!important;height:32px!important;min-width:24px!important}
  .tf-board-card .play-card .rank{font-size:8px!important}.tf-board-card .play-card .suit{font-size:9px!important}
  .tf-pot{padding:2px 8px}.tf-pot strong{font-size:11px}
  .tf-action-line{height:18px}.tf-action-line b,.tf-action-line span{font-size:5.3px}
  .tf-decision{grid-template-rows:38px 1fr 35px}
  .tf-decision-head strong{font-size:9.4px}
  .tf-choice{min-height:38px;padding:4px 5px}.tf-choice b{font-size:7px}.tf-choice small{font-size:4.7px}
  .tf-confirm,.tf-next{font-size:8.5px}
  .tf-decision.tf-feedback{grid-template-rows:34px 18px 1fr 35px}
  .tf-feedback-head strong{font-size:7.7px}
  .tf-dealer-point p{font-size:6.3px;line-height:1.25}
}


/* =========================================================
   v1.7.1 — TABLE FLOW / TABLE ACTION COLLISION FIX
   TABLE ACTION is a dedicated row outside the live table.
   ========================================================= */

/* 5 layers:
   STATUS / FLOW / LIVE TABLE / TABLE ACTION / DEALER NEXT MOVE */
body.holdem-table-flow-active .tf-screen{
  grid-template-rows:34px 38px minmax(215px,1fr) 62px 204px!important;
  gap:5px!important;
}

/* The table no longer reserves its lower 28% for action history.
   Give that space back to the actual poker table and seats. */
body.holdem-table-flow-active .tf-table-shell{
  top:12%!important;
  height:70%!important;
}

/* Old overlaid TABLE ACTION is disabled defensively. */
body.holdem-table-flow-active .tf-stage > .tf-recent{
  display:none!important;
}

/* Independent action history panel — never shares coordinates with seats. */
.tf-action-panel{
  min-height:0;
  display:grid;
  grid-template-rows:12px 1fr;
  gap:3px;
  padding:4px 6px 5px;
  border:1px solid rgba(213,168,75,.30);
  border-radius:11px;
  background:
    linear-gradient(180deg,rgba(18,19,16,.98),rgba(7,10,8,.98));
  overflow:hidden;
}
.tf-action-panel-head{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.tf-action-panel-head small{
  font-size:5.7px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  color:#d9b762;
}
.tf-action-panel-head span{
  font-size:5px;
  line-height:1;
  letter-spacing:.08em;
  color:#827d70;
}
.tf-action-panel .tf-recent-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:3px;
}
.tf-action-panel .tf-action-line{
  height:auto!important;
  min-height:0!important;
  padding:3px 5px!important;
  border-radius:6px;
  display:flex;
  align-items:center;
  gap:4px;
  overflow:hidden;
}
.tf-action-panel .tf-action-line b{
  flex:0 0 auto;
  font-size:6.2px!important;
  line-height:1;
}
.tf-action-panel .tf-action-line span{
  min-width:0;
  font-size:6.1px!important;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tf-action-panel .tf-action-line.latest{
  border-color:rgba(103,190,103,.40)!important;
  background:rgba(60,121,63,.13)!important;
}

/* Keep decision area readable while giving TABLE ACTION its own row. */
body.holdem-table-flow-active .tf-decision{
  grid-template-rows:44px 1fr 40px!important;
  gap:4px!important;
  padding:5px!important;
}
body.holdem-table-flow-active .tf-decision.tf-feedback{
  grid-template-rows:39px 21px 1fr 39px!important;
}

/* Standard phone */
@media(max-height:740px){
  body.holdem-table-flow-active .tf-screen{
    grid-template-rows:31px 34px minmax(195px,1fr) 57px 181px!important;
    gap:4px!important;
  }
  body.holdem-table-flow-active .tf-table-shell{
    top:12%!important;
    height:68%!important;
  }
  .tf-action-panel{
    grid-template-rows:10px 1fr;
    padding:3px 5px 4px;
    gap:2px;
  }
  .tf-action-panel .tf-recent-grid{gap:2px}
  .tf-action-panel .tf-action-line{padding:2px 4px!important}
  .tf-action-panel .tf-action-line b{font-size:5.7px!important}
  .tf-action-panel .tf-action-line span{font-size:5.6px!important}
  body.holdem-table-flow-active .tf-decision{
    grid-template-rows:39px 1fr 36px!important;
  }
}

/* Short iPhone */
@media(max-height:680px){
  body.holdem-table-flow-active .tf-screen{
    grid-template-rows:29px 31px minmax(170px,1fr) 52px 163px!important;
    gap:4px!important;
  }
  body.holdem-table-flow-active .tf-table-shell{
    top:13%!important;
    height:66%!important;
  }
  .tf-action-panel{
    padding:3px 4px;
  }
  .tf-action-panel-head small{font-size:5px}
  .tf-action-panel-head span{font-size:4.4px}
  .tf-action-panel .tf-action-line{
    padding:2px 3px!important;
  }
  .tf-action-panel .tf-action-line b{
    font-size:5.2px!important;
  }
  .tf-action-panel .tf-action-line span{
    font-size:5.1px!important;
  }
  body.holdem-table-flow-active .tf-decision{
    grid-template-rows:35px 1fr 32px!important;
    padding:4px!important;
  }
  body.holdem-table-flow-active .tf-decision.tf-feedback{
    grid-template-rows:32px 17px 1fr 32px!important;
  }
}


/* =========================================================
   v1.7.2 — TABLE FLOW / DEALER POINT FULL VIEW
   After an answer, prioritize explanation readability.
   ========================================================= */

/* Normal question layout remains v1.7.1.
   Only feedback state reallocates height to DEALER POINT. */
body.holdem-table-flow-active .tf-screen.has-feedback{
  grid-template-rows:34px 38px minmax(185px,1fr) 52px 240px!important;
}

/* Feedback panel: make DEALER POINT the dominant flexible row. */
body.holdem-table-flow-active .tf-screen.has-feedback .tf-decision.tf-feedback{
  grid-template-rows:38px auto minmax(82px,1fr) 40px!important;
  gap:4px!important;
  padding:5px!important;
}

/* Never clip the explanation text. */
body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point{
  min-height:0!important;
  overflow:visible!important;
  padding:7px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point small{
  flex:0 0 auto!important;
  font-size:5.6px!important;
}
body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point p{
  flex:0 0 auto!important;
  margin:4px 0 0!important;
  font-size:7.5px!important;
  line-height:1.34!important;
  white-space:normal!important;
  overflow:visible!important;
  display:block!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
}

/* YOUR PICK only exists on wrong answers; keep it compact. */
body.holdem-table-flow-active .tf-screen.has-feedback .tf-your-pick{
  min-height:20px!important;
  padding:3px 7px!important;
  line-height:1.15!important;
  white-space:normal!important;
}

/* Slightly reduce already-reviewed visual areas after answer. */
body.holdem-table-flow-active .tf-screen.has-feedback .tf-table-shell{
  top:13%!important;
  height:66%!important;
}
body.holdem-table-flow-active .tf-screen.has-feedback .tf-action-panel{
  padding-top:3px!important;
  padding-bottom:3px!important;
}
body.holdem-table-flow-active .tf-screen.has-feedback .tf-action-panel .tf-action-line{
  padding-top:2px!important;
  padding-bottom:2px!important;
}

/* Standard shorter iPhone */
@media(max-height:740px){
  body.holdem-table-flow-active .tf-screen.has-feedback{
    grid-template-rows:31px 34px minmax(166px,1fr) 48px 218px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-decision.tf-feedback{
    grid-template-rows:35px auto minmax(76px,1fr) 36px!important;
    padding:4px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point{
    padding:6px 7px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point p{
    font-size:7px!important;
    line-height:1.3!important;
  }
}

/* Very short iPhone */
@media(max-height:680px){
  body.holdem-table-flow-active .tf-screen.has-feedback{
    grid-template-rows:29px 31px minmax(144px,1fr) 43px 199px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-decision.tf-feedback{
    grid-template-rows:31px auto minmax(70px,1fr) 33px!important;
    gap:3px!important;
    padding:4px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-feedback-head{
    padding:3px 6px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-feedback-head span{
    font-size:5.8px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-feedback-head strong{
    font-size:7.2px!important;
    line-height:1.1!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-your-pick{
    min-height:16px!important;
    padding:2px 6px!important;
    font-size:5.5px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point{
    padding:5px 6px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point small{
    font-size:4.9px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback .tf-dealer-point p{
    font-size:6.25px!important;
    line-height:1.26!important;
  }
}


/* =========================================================
   v1.7.3 — TABLE ACTION READABILITY + NUMBERED ORDER
   ========================================================= */

/* Give TABLE ACTION more room in the normal unanswered state. */
body.holdem-table-flow-active .tf-screen:not(.has-feedback){
  grid-template-rows:34px 38px minmax(190px,1fr) 98px 190px!important;
}

/* Feedback also keeps a readable action panel while preserving DEALER POINT. */
body.holdem-table-flow-active .tf-screen.has-feedback{
  grid-template-rows:34px 38px minmax(170px,1fr) 76px 236px!important;
}

.tf-action-panel{
  grid-template-rows:16px 1fr!important;
  gap:4px!important;
  padding:5px 7px 6px!important;
}
.tf-action-panel-head small{
  font-size:6.5px!important;
  letter-spacing:.13em!important;
}
.tf-action-panel-head span{
  max-width:72%;
  text-align:right;
  font-size:5.8px!important;
  color:#c5b07b!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Two columns = larger, easier-to-follow action tiles. */
.tf-action-panel .tf-recent-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--tf-action-rows),minmax(0,1fr))!important;
  gap:4px!important;
}
.tf-action-panel .tf-action-line{
  min-height:0!important;
  padding:4px 6px!important;
  gap:5px!important;
  border-radius:7px!important;
}
.tf-action-no{
  flex:0 0 auto;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(224,183,82,.55);
  background:rgba(217,174,70,.12);
  color:#f1cf75;
  font-style:normal;
  font-family:var(--serif);
  font-size:7px;
  font-weight:900;
  line-height:1;
}
.tf-action-panel .tf-action-line b{
  flex:0 0 auto!important;
  min-width:26px;
  font-size:7.3px!important;
  line-height:1!important;
  color:#efc967!important;
}
.tf-action-panel .tf-action-line span{
  font-size:7.2px!important;
  line-height:1.12!important;
  color:#e7e2d6!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tf-action-panel .tf-action-line.latest .tf-action-no{
  border-color:#72c979;
  color:#a7e5aa;
  background:rgba(58,133,65,.18);
}

/* Slightly larger TABLE ACTION on standard short phones too. */
@media(max-height:740px){
  body.holdem-table-flow-active .tf-screen:not(.has-feedback){
    grid-template-rows:31px 34px minmax(172px,1fr) 88px 172px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback{
    grid-template-rows:31px 34px minmax(150px,1fr) 70px 214px!important;
  }
  .tf-action-panel{
    grid-template-rows:14px 1fr!important;
    padding:4px 6px 5px!important;
    gap:3px!important;
  }
  .tf-action-no{width:14px;height:14px;font-size:6.4px}
  .tf-action-panel .tf-action-line{padding:3px 5px!important;gap:4px!important}
  .tf-action-panel .tf-action-line b{font-size:6.8px!important;min-width:24px}
  .tf-action-panel .tf-action-line span{font-size:6.7px!important}
}
@media(max-height:680px){
  body.holdem-table-flow-active .tf-screen:not(.has-feedback){
    grid-template-rows:29px 31px minmax(146px,1fr) 80px 154px!important;
  }
  body.holdem-table-flow-active .tf-screen.has-feedback{
    grid-template-rows:29px 31px minmax(130px,1fr) 64px 195px!important;
  }
  .tf-action-panel-head small{font-size:5.6px!important}
  .tf-action-panel-head span{font-size:5px!important}
  .tf-action-no{width:13px;height:13px;font-size:5.8px}
  .tf-action-panel .tf-action-line{padding:3px 4px!important}
  .tf-action-panel .tf-action-line b{font-size:6.2px!important;min-width:22px}
  .tf-action-panel .tf-action-line span{font-size:6.1px!important}
}


/* =========================================================
   v1.7.4 — BGM continuity / answer separation / player chips
   ========================================================= */

/* ---------- TABLE FLOW: true 2 x 2 answers + independent CONFIRM ---------- */
body.holdem-table-flow-active .tf-screen:not(.has-feedback){
  grid-template-rows:34px 38px minmax(176px,1fr) 94px 214px!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-decision{
  grid-template-rows:44px minmax(0,1fr) 40px!important;
  gap:5px!important;
  padding:5px!important;
  overflow:hidden!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice-grid{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  overflow:hidden!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice{
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  padding:5px 7px!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice b{
  font-size:8.2px!important;
  line-height:1.13!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice small{
  margin-top:3px!important;
  font-size:5.6px!important;
  line-height:1.12!important;
}
body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-confirm{
  position:relative!important;
  z-index:4!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  align-self:stretch!important;
}

/* ---------- TABLE FLOW: committed chips in front of each PLAYER ---------- */
.tf-player-bet{
  position:absolute;
  z-index:7;
  left:var(--tf-bet-x);
  top:var(--tf-bet-y);
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:3px;
  pointer-events:none;
}
.tf-chip-stack{
  position:relative;
  display:block;
  width:23px;
  height:17px;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.5));
}
.tf-chip-stack i{
  position:absolute;
  left:2px;
  width:19px;
  height:7px;
  border-radius:50%;
  border:1px solid rgba(245,220,151,.72);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.08),
    inset 0 0 0 4px rgba(0,0,0,.18);
}
.tf-chip-stack i:nth-child(1){bottom:0}
.tf-chip-stack i:nth-child(2){bottom:3px}
.tf-chip-stack i:nth-child(3){bottom:6px}
.tf-chip-stack i:nth-child(4){bottom:9px}
.tf-player-bet.low .tf-chip-stack i{
  background:radial-gradient(circle at 50% 45%,#be4343 0 35%,#741c23 36% 66%,#d9b65e 67% 75%,#60151c 76%);
}
.tf-player-bet.mid .tf-chip-stack i{
  background:radial-gradient(circle at 50% 45%,#252c33 0 35%,#0a0d10 36% 66%,#d9b65e 67% 75%,#080a0c 76%);
}
.tf-player-bet.high .tf-chip-stack i,
.tf-player-bet.allin .tf-chip-stack i{
  background:radial-gradient(circle at 50% 45%,#6a3b8c 0 35%,#35184f 36% 66%,#e0bd68 67% 75%,#29103f 76%);
}
.tf-player-bet b{
  min-width:24px;
  padding:2px 4px;
  border:1px solid rgba(225,184,83,.38);
  border-radius:7px;
  background:rgba(4,7,6,.86);
  color:#f5d477;
  font-family:var(--serif);
  font-size:6.4px;
  line-height:1;
  text-align:center;
  box-shadow:0 3px 6px rgba(0,0,0,.42);
}
.tf-player-bet.allin b{
  color:#debfff;
  border-color:rgba(169,105,226,.48);
}

/* Short phones */
@media(max-height:740px){
  body.holdem-table-flow-active .tf-screen:not(.has-feedback){
    grid-template-rows:31px 34px minmax(155px,1fr) 84px 198px!important;
  }
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-decision{
    grid-template-rows:39px minmax(0,1fr) 36px!important;
    gap:4px!important;
    padding:4px!important;
  }
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice-grid{gap:4px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice{padding:4px 6px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice b{font-size:7.6px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice small{font-size:5.1px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-confirm{
    height:36px!important;min-height:36px!important;
  }
  .tf-chip-stack{width:21px;height:15px}
  .tf-chip-stack i{width:17px;height:6px}
  .tf-chip-stack i:nth-child(2){bottom:3px}
  .tf-chip-stack i:nth-child(3){bottom:5px}
  .tf-chip-stack i:nth-child(4){bottom:8px}
  .tf-player-bet b{font-size:5.8px;padding:2px 3px}
}
@media(max-height:680px){
  body.holdem-table-flow-active .tf-screen:not(.has-feedback){
    grid-template-rows:29px 31px minmax(128px,1fr) 76px 184px!important;
  }
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-decision{
    grid-template-rows:35px minmax(0,1fr) 33px!important;
    gap:3px!important;
    padding:4px!important;
  }
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice-grid{gap:3px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice{padding:3px 5px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice b{
    font-size:6.9px!important;line-height:1.1!important;
  }
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-choice small{font-size:4.7px!important}
  body.holdem-table-flow-active .tf-screen:not(.has-feedback) .tf-confirm{
    height:33px!important;min-height:33px!important;font-size:8px!important;
  }
  .tf-player-bet{gap:2px}
  .tf-chip-stack{width:18px;height:13px}
  .tf-chip-stack i{left:2px;width:15px;height:5px}
  .tf-chip-stack i:nth-child(2){bottom:2px}
  .tf-chip-stack i:nth-child(3){bottom:4px}
  .tf-chip-stack i:nth-child(4){bottom:6px}
  .tf-player-bet b{min-width:20px;font-size:5.1px;padding:2px}
}


/* =========================================================
   v1.7.5 — TABLE ACTION VERTICAL READING ORDER
   6 actions:
   1 4
   2 5
   3 6
   ========================================================= */
.tf-action-panel .tf-recent-grid{
  grid-auto-flow:column!important;
}

/* =========================================================
   v1.8.0 — TEXAS HOLD'EM DEALER EXAM
   ========================================================= */
body.holdem-exam-active #screen{padding-bottom:22px}
.holdem-exam-top{position:sticky;top:0;z-index:20}
.holdem-exam-progress{margin:8px 10px 10px;padding:9px 11px;border:1px solid rgba(216,179,91,.28);border-radius:13px;background:linear-gradient(180deg,rgba(13,26,22,.96),rgba(4,10,8,.96));box-shadow:0 10px 24px rgba(0,0,0,.22)}
.holdem-exam-progress>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:10px}.holdem-exam-progress span,.holdem-exam-progress small{font-size:9px;letter-spacing:.08em;color:rgba(238,231,210,.62)}.holdem-exam-progress b{font-family:var(--serif);font-size:11px;color:#e9c66d;letter-spacing:.05em}.holdem-exam-progress-track{height:4px!important;margin:7px 0 5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.holdem-exam-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9b742d,#f0d17e);box-shadow:0 0 12px rgba(234,195,99,.42)}
.holdem-exam-screen{display:grid;gap:10px;padding:0 10px 16px}.holdem-exam-answer-panel{display:grid;gap:9px;padding:12px;border:1px solid rgba(216,179,91,.26);border-radius:15px;background:linear-gradient(180deg,rgba(12,24,20,.98),rgba(5,10,8,.98));box-shadow:0 10px 28px rgba(0,0,0,.24)}.holdem-exam-answer-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.holdem-exam-answer-panel small{font-size:9px;letter-spacing:.08em;color:rgba(238,231,210,.56)}.holdem-exam-answer-panel strong{font-family:var(--serif);font-size:13px;color:#f0d17e}.holdem-exam-lock-note{text-align:center;font-size:9px;color:rgba(238,231,210,.5);letter-spacing:.03em;padding:2px 8px 8px}
.holdem-exam-hand-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.holdem-exam-hand-grid button{min-height:47px;padding:7px 8px;border:1px solid rgba(220,190,115,.2);border-radius:10px;background:rgba(0,0,0,.22);color:#efe6ce;text-align:left}.holdem-exam-hand-grid button b{display:block;font-size:9px;line-height:1.2;letter-spacing:.03em}.holdem-exam-hand-grid button small{display:block;margin-top:3px;font-size:7px}.holdem-exam-hand-grid button.selected{border-color:#e5c56e;background:rgba(201,157,56,.15);box-shadow:inset 0 0 0 1px rgba(229,197,110,.25),0 0 16px rgba(207,166,66,.12)}
.holdem-exam-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}.holdem-exam-choice-grid .action-decision-option{min-height:52px;border:1px solid rgba(220,190,115,.2);border-radius:11px;background:rgba(0,0,0,.22);color:#f1ead7;text-align:left;padding:8px}.holdem-exam-choice-grid .action-decision-option b{display:block;font-size:9px;line-height:1.2}.holdem-exam-choice-grid .action-decision-option small{display:block;margin-top:4px;font-size:7px;line-height:1.2}.holdem-exam-choice-grid .action-decision-option.selected{border-color:#e5c56e;background:rgba(201,157,56,.15);box-shadow:inset 0 0 0 1px rgba(229,197,110,.25)}
.holdem-exam-pot-card{padding:12px}.holdem-exam-pot-card h2{margin:3px 0 10px;font-family:var(--serif);font-size:15px}.holdem-exam-action-list{display:grid;gap:5px}.holdem-exam-action-list span{display:grid;grid-template-columns:22px 1fr auto auto;gap:7px;align-items:center;padding:7px;border-radius:9px;background:rgba(255,255,255,.035)}.holdem-exam-action-list em{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(216,179,91,.28);border-radius:50%;font-style:normal;font-size:8px;color:#e8c96f}.holdem-exam-action-list b{font-size:9px}.holdem-exam-action-list strong{font-size:9px;color:#e8c96f}.holdem-exam-action-list small{font-size:7px}.holdem-exam-number{display:flex!important;align-items:end!important;justify-content:space-between!important}.holdem-exam-number strong{font-size:25px!important}.holdem-exam-keypad{width:100%}.holdem-exam-sidepot-builder{margin:0}.holdem-exam-sidepot-confirm{width:100%;margin-top:6px}
.holdem-exam-intro-modal{max-width:520px}.holdem-exam-intro-modal h2{margin:4px 0 8px;font-family:var(--serif);font-size:28px;color:#ead080}.holdem-exam-intro-modal>p{line-height:1.65}.holdem-exam-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.holdem-exam-intro-grid span{display:grid;gap:4px;padding:10px 6px;border:1px solid rgba(216,179,91,.22);border-radius:11px;background:rgba(0,0,0,.18);text-align:center}.holdem-exam-intro-grid b{font-family:var(--serif);font-size:14px;color:#e8c96f}.holdem-exam-intro-grid small{font-size:7px;letter-spacing:.05em}.holdem-exam-standard{display:flex;align-items:center;justify-content:space-between;margin:10px 0;padding:10px 12px;border-radius:11px;background:rgba(195,151,54,.12);border:1px solid rgba(225,190,105,.3)}.holdem-exam-standard strong{font-family:var(--serif);font-size:17px;color:#f0d17e}.holdem-exam-standard span{font-size:10px}.holdem-exam-intro-modal ul{padding-left:20px;margin:12px 0 16px;color:rgba(242,235,218,.74);font-size:10px;line-height:1.7}
.holdem-exam-payout-card{padding:14px}.holdem-exam-payout-card h2{margin:4px 0 12px;font-family:var(--serif);font-size:18px}.holdem-exam-pot-eligibility{display:grid;grid-template-columns:1fr 1fr;gap:8px}.holdem-exam-pot-eligibility span{display:grid;gap:4px;padding:10px;border:1px solid rgba(216,179,91,.22);border-radius:10px;background:rgba(0,0,0,.18)}.holdem-exam-pot-eligibility small{font-size:7px;color:rgba(238,231,210,.55)}.holdem-exam-pot-eligibility b{font-size:10px;color:#edcf79}.holdem-exam-board-mini{margin-top:10px;font-size:10px;line-height:1.5;color:rgba(242,235,218,.78)}
.holdem-exam-result-hero{display:grid;place-items:center;text-align:center;margin:10px}.holdem-exam-result-hero.pass{border-color:rgba(224,190,99,.56)}.holdem-exam-result-hero.fail{border-color:rgba(195,84,84,.42)}.holdem-exam-id-result{margin-top:7px;font-size:8px;letter-spacing:.09em;color:rgba(238,231,210,.52)}.holdem-exam-section-result{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 10px 10px}.holdem-exam-section-result>div{display:grid;gap:3px;text-align:center;padding:10px 6px}.holdem-exam-section-result small{font-size:7px}.holdem-exam-section-result strong{font-family:var(--serif);font-size:16px;color:#e9c96e}.holdem-exam-section-result span{font-size:9px;color:rgba(238,231,210,.65)}.holdem-exam-review{margin:10px}.holdem-exam-review-row{display:grid;grid-template-columns:72px 1fr;gap:9px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}.holdem-exam-review-row>div:first-child{display:grid;align-content:start;gap:3px}.holdem-exam-review-row>div:first-child span{font-family:var(--serif);font-size:15px;color:#e9c96e}.holdem-exam-review-row>div:last-child{display:grid;gap:3px}.holdem-exam-review-row small{font-size:7px;color:rgba(238,231,210,.46)}.holdem-exam-review-row b{font-size:9px;color:#d99090}.holdem-exam-review-row strong{font-size:9px;color:#9fdbb0}.holdem-exam-review-row em{font-size:7px;color:#e6c96f;font-style:normal}.holdem-exam-review-row p{margin:3px 0 0;font-size:8px;line-height:1.5;color:rgba(238,231,210,.68)}
@media(max-width:430px){.holdem-exam-intro-grid{grid-template-columns:1fr}.holdem-exam-section-result{grid-template-columns:1fr 1fr 1fr}.holdem-exam-choice-grid{grid-template-columns:1fr 1fr}.holdem-exam-review-row{grid-template-columns:58px 1fr}.holdem-exam-action-list span{grid-template-columns:22px 1fr auto}.holdem-exam-action-list span small{display:none}}
@media(max-height:700px){body.holdem-exam-active .holdem-exam-progress{margin-top:5px;margin-bottom:6px;padding:6px 9px}.holdem-exam-screen{gap:6px}.holdem-exam-answer-panel{padding:8px;gap:6px}.holdem-exam-choice-grid{gap:5px}.holdem-exam-choice-grid .action-decision-option{min-height:42px;padding:6px}.holdem-exam-lock-note{font-size:7px}}

/* =========================================================
   v1.8.1 — TEXAS HOLD'EM EXAM UI compact/follow existing modes
   ========================================================= */
body.holdem-exam-active .holdem-exam-screen{
  gap:8px;
}
body.holdem-exam-active .holdem-exam-embedded-status{
  margin:0;
}
body.holdem-exam-active .holdem-exam-skill-screen,
body.holdem-exam-active .holdem-exam-control-screen,
body.holdem-exam-active .holdem-exam-live-screen,
body.holdem-exam-active .holdem-exam-live-showdown-screen,
body.holdem-exam-active .holdem-exam-live-payout-screen{
  display:grid;
  gap:8px;
}
body.holdem-exam-active .holdem-exam-reading-panel,
body.holdem-exam-active .holdem-exam-best5-panel,
body.holdem-exam-active .holdem-exam-showdown-dock{
  margin-top:0;
}
body.holdem-exam-active .holdem-exam-pot-screen .pot-history-panel,
body.holdem-exam-active .holdem-exam-pot-screen .pot-answer-panel,
body.holdem-exam-active .holdem-exam-sidepot-screen .sidepot-builder-panel,
body.holdem-exam-active .holdem-exam-action-screen .action-decision-panel,
body.holdem-exam-active .holdem-exam-live-payout-screen .tf-decision{
  margin-bottom:0;
}
body.holdem-exam-active .holdem-exam-pot-list div{
  display:grid;
  grid-template-columns:20px 34px 1fr auto;
  gap:6px;
  align-items:center;
  padding:7px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.035);
}
body.holdem-exam-active .holdem-exam-pot-list em{
  display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:8px;border:1px solid rgba(216,179,91,.28);color:#e8c96f;
}
body.holdem-exam-active .holdem-exam-pot-list span,
body.holdem-exam-active .holdem-exam-pot-list b,
body.holdem-exam-active .holdem-exam-pot-list small{font-size:9px}
body.holdem-exam-active .holdem-exam-pot-list small{color:rgba(238,231,210,.58)}
body.holdem-exam-active .holdem-exam-pot-answer-panel .pot-answer-display{margin-bottom:0}
body.holdem-exam-active .holdem-exam-sidepot-confirm{width:100%}
body.holdem-exam-active .holdem-exam-live-status,
body.holdem-exam-active .holdem-exam-control-status{margin:0}
body.holdem-exam-active .holdem-exam-live-status span,
body.holdem-exam-active .holdem-exam-control-status span,
body.holdem-exam-active .holdem-exam-control-status div{min-width:0}
body.holdem-exam-active .holdem-exam-control-status strong,
body.holdem-exam-active .holdem-exam-control-status b,
body.holdem-exam-active .holdem-exam-live-status b{white-space:nowrap}
body.holdem-exam-active .holdem-exam-showdown-screen .showdown-stage,
body.holdem-exam-active .holdem-exam-live-showdown-screen .showdown-stage{min-height:330px}
body.holdem-exam-active .showdown-count-2 .showdown-player-seat{width:64px;min-height:60px;padding:4px 3px}
body.holdem-exam-active .showdown-count-2 .showdown-player-cards .play-card{width:24px!important;height:36px!important}
body.holdem-exam-active .showdown-count-2 .showdown-board-cards .play-card{width:37px!important;height:54px!important}
body.holdem-exam-active .showdown-count-5 .showdown-player-seat{width:72px}
body.holdem-exam-active .showdown-count-5 .showdown-player-cards .play-card{width:26px!important;height:38px!important}

/* Required-selection glow for exam, matching other modes */
body.holdem-exam-active .holdem-exam-reading-panel.needs-selection .holdem-lux-rank-btn:not(.selected){
  animation:dealerAcademyChoicePulse 1.15s ease-in-out infinite;
}
body.holdem-exam-active .holdem-exam-reading-panel.needs-selection .holdem-lux-answer-title span,
body.holdem-exam-active .holdem-best5-stage.needs-selection + .holdem-exam-best5-panel .holdem-best5-guide span,
body.holdem-exam-active .showdown-stage.needs-selection + .holdem-exam-showdown-dock .showdown-selection-row>span{
  color:#e6c7ff!important;
  animation:dealerAcademyChoiceTextPulse 1.12s ease-in-out infinite;
}
body.holdem-exam-active .holdem-best5-stage.needs-selection [data-best5-card]:not(.selected),
body.holdem-exam-active .showdown-stage.needs-selection .showdown-player-seat:not(.selected),
body.holdem-exam-active .holdem-exam-choice-grid.needs-selection .action-decision-option:not(.selected),
body.holdem-exam-active .tf-decision.needs-selection .tf-choice:not(.selected){
  animation:dealerAcademyChoicePulse 1.12s ease-in-out infinite;
}
body.holdem-exam-active .sidepot-eligibility-box.needs-selection{
  border-color:rgba(225,184,76,.64)!important;
  background:radial-gradient(circle at 50% 0%,rgba(196,150,43,.12),rgba(255,255,255,.018) 67%)!important;
  box-shadow:0 0 11px rgba(211,166,56,.15),inset 0 0 10px rgba(211,166,56,.05)!important;
}
body.holdem-exam-active .sidepot-eligibility-box.needs-selection .sidepot-eligible-head em{
  animation:sidePotEligibleHintPulse .88s ease-in-out infinite!important;
}
body.holdem-exam-active .holdem-exam-choice-grid.has-selection .action-decision-option,
body.holdem-exam-active .tf-decision.has-selection .tf-choice,
body.holdem-exam-active .showdown-player-seat.selected,
body.holdem-exam-active [data-best5-card].selected,
body.holdem-exam-active .holdem-lux-rank-btn.selected{
  animation:none!important;
}

@media(max-height:740px){
  body.holdem-exam-active .holdem-exam-progress{margin:4px 10px 5px;padding:6px 9px}
  body.holdem-exam-active .holdem-exam-showdown-screen .showdown-stage,
  body.holdem-exam-active .holdem-exam-live-showdown-screen .showdown-stage{min-height:305px}
  body.holdem-exam-active .holdem-lux-stage{min-height:300px}
}
@media(max-width:360px){
  body.holdem-exam-active .holdem-exam-pot-list div{grid-template-columns:18px 28px 1fr auto;gap:4px;padding:6px}
  body.holdem-exam-active .showdown-count-2 .showdown-player-seat{width:60px}
  body.holdem-exam-active .showdown-count-5 .showdown-player-seat{width:66px}
}

/* =========================================================
   v1.9.0 — TEXAS HOLD'EM LIVE DEALER EXAM
   ========================================================= */
body.holdem-dealer-exam-active #screen{padding-bottom:14px}
.dealer-exam-top{position:sticky;top:0;z-index:30}
.dealer-exam-id-mini{font-size:7px;letter-spacing:.06em;color:rgba(238,231,210,.55);white-space:nowrap}
.dealer-exam-screen{display:grid;grid-template-rows:auto minmax(300px,1fr) auto auto auto;gap:7px;padding:7px 8px 14px;min-height:calc(100svh - 54px);box-sizing:border-box}
.dealer-exam-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.dealer-exam-status span{display:grid;gap:2px;padding:6px 5px;border:1px solid rgba(216,179,91,.18);border-radius:9px;background:rgba(9,14,12,.9);text-align:center;min-width:0}
.dealer-exam-status small{font-size:5.5px;letter-spacing:.08em;color:rgba(238,231,210,.48)}
.dealer-exam-status b{font-size:7.5px;color:#e6c66f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dealer-exam-table-stage{position:relative;min-height:300px;height:100%;overflow:hidden;border-radius:18px;border:1px solid rgba(213,168,75,.34);background:radial-gradient(ellipse at 50% 45%,rgba(104,29,18,.20),transparent 44%),linear-gradient(180deg,#130e0c,#070908 78%);box-shadow:inset 0 0 28px rgba(0,0,0,.67)}
.dealer-exam-room-mark{position:absolute;left:50%;top:5px;transform:translateX(-50%);font-size:5px;letter-spacing:.18em;color:rgba(219,189,119,.30);white-space:nowrap}
.dealer-exam-table-shell{position:absolute;left:50%;top:50%;width:68%;height:54%;transform:translate(-50%,-50%);border:5px solid #35261c;border-radius:50%;box-shadow:0 0 0 2px rgba(203,162,69,.38),0 12px 25px rgba(0,0,0,.55),inset 0 0 18px rgba(0,0,0,.72);overflow:hidden}
.dealer-exam-felt{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 48%,#174637,#0a281f 62%,#061813)}
.dealer-exam-board-label{position:absolute;left:50%;top:22%;transform:translateX(-50%);font-size:5px;letter-spacing:.2em;color:rgba(238,231,210,.50)}
.dealer-exam-board{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;gap:3px;align-items:center;justify-content:center}
.dealer-exam-board .play-card{width:31px!important;height:45px!important;padding:2px!important;border-radius:5px!important}
.dealer-exam-board .play-card .rank{font-size:10px!important}.dealer-exam-board .play-card .suit{font-size:14px!important;margin-top:4px!important}
.dealer-exam-board-slot{display:block;width:31px;height:45px;border:1px dashed rgba(239,225,193,.16);border-radius:5px;background:rgba(0,0,0,.07)}
.dealer-exam-pot-stack{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);display:flex;gap:5px}
.dealer-exam-pot-stack span{display:grid;gap:1px;min-width:61px;padding:4px 6px;border:1px solid rgba(224,187,93,.24);border-radius:8px;background:rgba(4,13,10,.78);text-align:center}
.dealer-exam-pot-stack small{font-size:4.5px;color:rgba(238,231,210,.50)}.dealer-exam-pot-stack b{font-size:8px;color:#e9c96e}
.dealer-exam-deck{position:absolute;right:7%;top:69%;display:grid;place-items:center;gap:1px}.dealer-exam-deck i{display:block;width:26px;height:38px;border-radius:4px;border:2px solid #ece6db;background:repeating-linear-gradient(45deg,#31245b 0 3px,#1d1739 3px 6px);box-shadow:3px 3px 0 rgba(236,230,219,.42)}.dealer-exam-deck b{font-size:4.5px;color:rgba(238,231,210,.55)}.dealer-exam-deck em{font-size:4.5px;font-style:normal;color:#e7c768}
.dealer-exam-button{position:absolute;left:var(--dx);top:var(--dy);transform:translate(-50%,-50%);z-index:9;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f1ede3;color:#181510;border:2px solid #b5964b;font-size:8px;font-style:normal;font-weight:1000;box-shadow:0 3px 7px rgba(0,0,0,.45)}
.dealer-exam-seat{position:absolute;left:var(--dx);top:var(--dy);transform:translate(-50%,-50%);z-index:8;width:72px;min-height:54px;padding:5px 4px;border:1px solid rgba(213,171,76,.30);border-radius:10px;background:linear-gradient(180deg,#191b18,#090b09);box-shadow:0 5px 12px rgba(0,0,0,.48);text-align:center;color:#eee}
.dealer-exam-seat-head{display:flex;align-items:center;justify-content:center;gap:4px}.dealer-exam-seat-head b{font-size:7px}.dealer-exam-seat-head em{padding:1px 4px;border-radius:999px;background:rgba(220,181,82,.13);font-size:5px;font-style:normal;color:#e5c46d}
.dealer-exam-seat>small{display:block;margin-top:2px;font-size:4.7px;color:rgba(238,231,210,.48)}
.dealer-exam-hole{display:flex;justify-content:center;gap:2px;min-height:30px;margin-top:3px}.dealer-exam-hole .play-card{width:24px!important;height:35px!important;padding:2px!important;border-radius:4px!important}.dealer-exam-hole .play-card .rank{font-size:8px!important}.dealer-exam-hole .play-card .suit{font-size:10px!important;margin-top:3px!important}
.dealer-exam-card-back{display:block;width:23px;height:33px;border:1px solid #efe7da;border-radius:4px;background:repeating-linear-gradient(45deg,#31245b 0 3px,#1a1533 3px 6px);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)}
.dealer-exam-bet{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);padding:2px 5px;border-radius:999px;background:#0b0f0c;border:1px solid rgba(222,183,82,.35);font-size:5px;color:#e6c76d;white-space:nowrap}
.dealer-exam-seat.folded{opacity:.43;filter:saturate(.3)}.dealer-exam-seat.allin{border-color:rgba(223,101,90,.68);box-shadow:0 0 13px rgba(201,70,58,.22)}.dealer-exam-seat.allin .dealer-exam-seat-head em{color:#f1a099}
.dealer-exam-events{display:grid;grid-template-columns:86px 1fr;gap:6px;padding:6px;border:1px solid rgba(215,176,79,.17);border-radius:10px;background:linear-gradient(180deg,rgba(15,17,15,.98),rgba(7,9,8,.98));min-width:0}
.dealer-exam-events>div:first-child{display:grid;align-content:center;gap:2px;padding-right:6px;border-right:1px solid rgba(255,255,255,.06)}.dealer-exam-events small{font-size:5px;letter-spacing:.1em;color:#837d72}.dealer-exam-events>div:first-child b{font-size:7px;color:#e3c36c}
.dealer-exam-event-list{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0}.dealer-exam-event-list::-webkit-scrollbar{display:none}.dealer-exam-event-list span{flex:0 0 auto;display:flex;align-items:center;gap:4px;min-width:74px;max-width:128px;padding:4px 5px;border-radius:7px;background:rgba(255,255,255,.035)}.dealer-exam-event-list em{display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#29251c;font-size:5px;font-style:normal;color:#d8b85f}.dealer-exam-event-list b{font-size:5.7px;line-height:1.18;color:#cfc7b8}
.dealer-exam-console,.dealer-exam-detail{display:grid;gap:6px;padding:7px;border:1px solid rgba(212,172,72,.22);border-radius:12px;background:linear-gradient(180deg,rgba(14,16,14,.99),rgba(5,7,6,.99));box-shadow:0 8px 22px rgba(0,0,0,.25)}
.dealer-exam-console-head,.dealer-exam-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dealer-exam-console-head small,.dealer-exam-detail-head small{display:block;font-size:5px;letter-spacing:.12em;color:#827b6f}.dealer-exam-console-head strong,.dealer-exam-detail-head strong{display:block;margin-top:1px;font-size:8.5px;color:#e2c16a}.dealer-exam-console-head em{font-style:normal;font-size:5.5px;color:#d9bcff;animation:dealerAcademyChoiceTextPulse 1.15s ease-in-out infinite}
.dealer-exam-console-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.dealer-exam-console-grid button{min-height:42px;padding:5px 3px;border:1px solid rgba(201,139,255,.34);border-radius:8px;background:linear-gradient(180deg,#181a18,#0b0d0b);color:#ece4d3;text-align:center;animation:dealerAcademyChoicePulse 1.35s ease-in-out infinite}.dealer-exam-console-grid button:nth-child(2n){animation-delay:.12s}.dealer-exam-console-grid button:nth-child(3n){animation-delay:.24s}.dealer-exam-console-grid b{display:block;font-size:7px}.dealer-exam-console-grid small{display:block;margin-top:2px;font-size:4.5px;line-height:1.15;color:#80796f}
.dealer-exam-no-feedback{text-align:center;font-size:6px;color:rgba(238,231,210,.42);letter-spacing:.03em}
.holdem-dealer-exam-intro{max-width:520px}.holdem-dealer-exam-intro h2{margin:4px 0 8px;font-family:var(--serif);font-size:27px;color:#ead080}.holdem-dealer-exam-intro p{line-height:1.6}.holdem-dealer-exam-intro ul{padding-left:20px;font-size:10px;line-height:1.7;color:rgba(242,235,218,.72)}.dealer-exam-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.dealer-exam-intro-grid span{display:grid;gap:3px;padding:9px 5px;border:1px solid rgba(216,179,91,.22);border-radius:10px;background:rgba(0,0,0,.18);text-align:center}.dealer-exam-intro-grid b{font-family:var(--serif);font-size:14px;color:#e8c96f}.dealer-exam-intro-grid small{font-size:6px}
.dealer-exam-detail-options,.dealer-exam-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.dealer-exam-detail-options button,.dealer-exam-player-grid button,.dealer-exam-pot-tabs button{min-height:42px;padding:6px;border:1px solid rgba(201,139,255,.36);border-radius:8px;background:#111311;color:#e8e1d3;text-align:left;animation:dealerAcademyChoicePulse 1.2s ease-in-out infinite}.dealer-exam-detail-options button b,.dealer-exam-player-grid button b{display:block;font-size:7.5px}.dealer-exam-detail-options button small,.dealer-exam-player-grid button small{display:block;margin-top:2px;font-size:5px;color:#837d72}.dealer-exam-detail-options button.selected,.dealer-exam-player-grid button.selected{animation:none;border-color:#dcc2ff;background:linear-gradient(180deg,#3b2150,#160e1e);box-shadow:0 0 12px rgba(181,94,246,.30)}
.dealer-exam-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dealer-exam-player-grid button{text-align:center;min-height:37px}
.dealer-exam-money{display:flex;align-items:end;justify-content:space-between;padding:7px 8px;border:1px solid rgba(216,179,91,.18);border-radius:9px;background:rgba(0,0,0,.18)}.dealer-exam-money small{font-size:5px;color:#827b70}.dealer-exam-money strong{font-family:var(--serif);font-size:19px;color:#e7c96e}
.dealer-exam-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.dealer-exam-keypad button{height:33px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#111311;color:#e5ddce;font-size:8px}
.dealer-exam-pot-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px}.dealer-exam-pot-tabs button{min-height:32px;text-align:center;font-size:7px;animation:none}.dealer-exam-pot-tabs button.active{border-color:#e5c56e;background:rgba(198,153,54,.15);color:#f0cf78}.dealer-exam-eligible-summary{display:flex;justify-content:space-between;align-items:center;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.03)}.dealer-exam-eligible-summary small{font-size:5px;color:#827b70}.dealer-exam-eligible-summary b{font-size:7px;color:#e7c76e}
.dealer-exam-result-hero{display:grid;place-items:center;text-align:center;margin:10px}.dealer-exam-result-hero.pass{border-color:rgba(224,190,99,.55)}.dealer-exam-result-hero.fail{border-color:rgba(202,83,83,.45)}.dealer-exam-critical{margin-top:5px;padding:5px 9px;border-radius:999px;font-size:7px}.dealer-exam-critical.ok{color:#a7e1b0;border:1px solid rgba(102,206,121,.35)}.dealer-exam-critical.ng{color:#f2a2a2;border:1px solid rgba(222,84,84,.42)}
.dealer-exam-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 10px 9px}.dealer-exam-result-grid>div{display:grid;gap:3px;text-align:center;padding:9px 5px}.dealer-exam-result-grid small{font-size:6px}.dealer-exam-result-grid strong{font-family:var(--serif);font-size:18px;color:#e9c96e}.dealer-exam-result-grid strong em{font-size:7px;font-style:normal;color:#8f8778}.dealer-exam-result-grid span{font-size:6px;color:#817b70}.dealer-exam-result-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 10px 9px}.dealer-exam-result-meta span{display:grid;gap:3px;text-align:center}.dealer-exam-result-meta small{font-size:6px}.dealer-exam-result-meta b{font-size:8px;color:#dfc16e}.dealer-exam-review{margin:10px}.dealer-exam-review-row{display:grid;grid-template-columns:105px 1fr;gap:8px;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}.dealer-exam-review-row>div:first-child{display:grid;align-content:start;gap:3px}.dealer-exam-review-row>div:first-child b{font-size:8px;color:#e5c56e}.dealer-exam-review-row>div:first-child small{font-size:5px;color:#a19a8e}.dealer-exam-review-row.critical>div:first-child small{color:#e98989}.dealer-exam-review-row>div:last-child{display:grid;gap:3px}.dealer-exam-review-row span{font-size:6px;color:#8c8579}.dealer-exam-review-row span b{color:#d79090}.dealer-exam-review-row span strong{color:#9fd6a8}.dealer-exam-review-row p{margin:2px 0 0;font-size:6px;line-height:1.45;color:rgba(238,231,210,.62)}
.dealer-live-exam-card{border-color:rgba(224,185,82,.52)!important;box-shadow:0 0 16px rgba(211,164,54,.10)}

@media(max-height:740px){
  .dealer-exam-screen{grid-template-rows:auto minmax(270px,1fr) auto auto auto;gap:5px;padding-top:5px}
  .dealer-exam-table-stage{min-height:270px}.dealer-exam-seat{width:65px;min-height:49px;padding:4px 3px}.dealer-exam-hole .play-card{width:21px!important;height:31px!important}.dealer-exam-card-back{width:20px;height:29px}.dealer-exam-console-grid button{min-height:36px}.dealer-exam-console-grid b{font-size:6.5px}.dealer-exam-events{padding:5px}
}
@media(max-width:360px){
  .dealer-exam-table-shell{width:66%}.dealer-exam-seat{width:62px}.dealer-exam-board .play-card,.dealer-exam-board-slot{width:27px!important;height:40px!important}.dealer-exam-board .play-card .rank{font-size:9px!important}.dealer-exam-board .play-card .suit{font-size:12px!important}.dealer-exam-console-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dealer-exam-review-row{grid-template-columns:82px 1fr}
}
@media(prefers-reduced-motion:reduce){.dealer-exam-console-grid button,.dealer-exam-detail-options button,.dealer-exam-player-grid button{animation:none!important;box-shadow:0 0 0 1px rgba(201,139,255,.18)}}
body.holdem-dealer-exam-active .dealer-exam-seat.selectable{cursor:pointer;border-color:rgba(202,141,255,.55);animation:dealerAcademyChoicePulse 1.2s ease-in-out infinite}
body.holdem-dealer-exam-active .dealer-exam-seat.selectable.picked{animation:none!important;border-color:#e0c5ff;box-shadow:0 0 0 2px rgba(194,130,255,.18),0 0 17px rgba(179,92,255,.34);background:linear-gradient(180deg,#352044,#110d16)}

/* =========================================================
   v1.9.1 — LIVE DEALER EXAM readability / one-screen / chips
   ========================================================= */
body.holdem-dealer-exam-active{overflow:hidden!important}
body.holdem-dealer-exam-active .app-shell{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
body.holdem-dealer-exam-active #screen{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
  padding:max(6px,env(safe-area-inset-top)) 7px max(6px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
body.holdem-dealer-exam-active #bottomNav{display:none!important}
body.holdem-dealer-exam-active .dealer-exam-top{
  position:relative!important;top:auto!important;flex:0 0 43px!important;height:43px!important;min-height:43px!important;padding:0 1px 5px!important;
}
body.holdem-dealer-exam-active .dealer-exam-top .training-title strong{font-size:17px!important;letter-spacing:.07em!important}
body.holdem-dealer-exam-active .dealer-exam-top .training-title span{font-size:8px!important;letter-spacing:.08em!important}
body.holdem-dealer-exam-active .dealer-exam-id-mini{font-size:7.5px!important;max-width:94px;overflow:hidden;text-overflow:ellipsis}
body.holdem-dealer-exam-active .dealer-exam-screen{
  flex:1!important;min-height:0!important;height:auto!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:34px minmax(238px,1fr) auto auto!important;
  gap:5px!important;padding:5px 0 0!important;
}
body.holdem-dealer-exam-active .dealer-exam-screen.detail-open{
  grid-template-rows:32px minmax(205px,1fr) auto auto!important;
}
body.holdem-dealer-exam-active .dealer-exam-status{gap:4px!important}
body.holdem-dealer-exam-active .dealer-exam-status span{padding:4px 3px!important;border-radius:8px!important}
body.holdem-dealer-exam-active .dealer-exam-status small{font-size:6.5px!important}
body.holdem-dealer-exam-active .dealer-exam-status b{font-size:9px!important;overflow:visible!important;text-overflow:clip!important}
body.holdem-dealer-exam-active .dealer-exam-table-stage{min-height:0!important;height:100%!important;border-radius:16px!important}
body.holdem-dealer-exam-active .dealer-exam-room-mark{font-size:6px!important;top:4px!important}
body.holdem-dealer-exam-active .dealer-exam-table-shell{width:70%!important;height:55%!important;top:48%!important}
body.holdem-dealer-exam-active .dealer-exam-board-label{font-size:6px!important;top:18%!important}
body.holdem-dealer-exam-active .dealer-exam-board{top:36%!important;gap:3px!important}
body.holdem-dealer-exam-active .dealer-exam-board .play-card,
body.holdem-dealer-exam-active .dealer-exam-board-slot{width:34px!important;height:49px!important}
body.holdem-dealer-exam-active .dealer-exam-board .play-card .rank{font-size:11px!important}
body.holdem-dealer-exam-active .dealer-exam-board .play-card .suit{font-size:15px!important;margin-top:4px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack{top:73%!important;gap:4px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack span{min-width:68px!important;padding:4px 7px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack small{font-size:5.5px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack b{font-size:10px!important}
body.holdem-dealer-exam-active .dealer-exam-deck{right:5%!important;top:67%!important}
body.holdem-dealer-exam-active .dealer-exam-deck b,
body.holdem-dealer-exam-active .dealer-exam-deck em{font-size:5.5px!important}
body.holdem-dealer-exam-active .dealer-exam-button{
  width:22px!important;height:22px!important;font-size:9px!important;z-index:11!important;
  box-shadow:0 3px 7px rgba(0,0,0,.55),0 0 0 2px rgba(255,255,255,.08)!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat{
  width:78px!important;min-height:58px!important;padding:5px 4px!important;border-radius:10px!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-head b{font-size:8px!important}
body.holdem-dealer-exam-active .dealer-exam-seat-head em{font-size:6px!important;padding:1px 4px!important}
body.holdem-dealer-exam-active .dealer-exam-seat>small{font-size:5.7px!important;color:rgba(238,231,210,.68)!important}
body.holdem-dealer-exam-active .dealer-exam-seat>small strong{font-size:7px!important;color:#f0d17e!important}
body.holdem-dealer-exam-active .dealer-exam-hole{min-height:31px!important;margin-top:2px!important}
body.holdem-dealer-exam-active .dealer-exam-hole .play-card{width:25px!important;height:37px!important}
body.holdem-dealer-exam-active .dealer-exam-hole .play-card .rank{font-size:9px!important}
body.holdem-dealer-exam-active .dealer-exam-hole .play-card .suit{font-size:11px!important}
body.holdem-dealer-exam-active .dealer-exam-card-back{width:24px!important;height:35px!important}

/* Real chip stacks on the felt: blinds, BBA and live player bets. */
body.holdem-dealer-exam-active .dealer-exam-wager-group{
  position:absolute;left:var(--wx);top:var(--wy);transform:translate(-50%,-50%);z-index:10;
  display:flex;align-items:flex-end;justify-content:center;gap:2px;pointer-events:none;
}
body.holdem-dealer-exam-active .dealer-exam-wager{
  position:relative;display:grid;justify-items:center;gap:0;min-width:29px;
}
body.holdem-dealer-exam-active .dealer-exam-wager .tf-chip-stack{transform:scale(.82);transform-origin:center bottom;margin-bottom:-1px}
body.holdem-dealer-exam-active .dealer-exam-wager.low .tf-chip-stack i{background:radial-gradient(circle at 50% 45%,#be4343 0 35%,#741c23 36% 66%,#d9b65e 67% 75%,#60151c 76%)}
body.holdem-dealer-exam-active .dealer-exam-wager.mid .tf-chip-stack i{background:radial-gradient(circle at 50% 45%,#252c33 0 35%,#0a0d10 36% 66%,#d9b65e 67% 75%,#080a0c 76%)}
body.holdem-dealer-exam-active .dealer-exam-wager.high .tf-chip-stack i,
body.holdem-dealer-exam-active .dealer-exam-wager.allin .tf-chip-stack i{background:radial-gradient(circle at 50% 45%,#6a3b8c 0 35%,#35184f 36% 66%,#e0bd68 67% 75%,#29103f 76%)}
body.holdem-dealer-exam-active .dealer-exam-wager>b{
  margin-top:-1px;padding:1px 4px;border:1px solid rgba(231,192,93,.38);border-radius:6px;background:rgba(3,7,5,.88);
  font-size:6.5px!important;line-height:1;color:#ffe08a;white-space:nowrap;
}
body.holdem-dealer-exam-active .dealer-exam-wager>small{font-size:4.7px!important;line-height:1.1;color:#c9b77f;white-space:nowrap}

/* TABLE ACTION: no horizontal slide. Everything stays visible in a compact grid. */
body.holdem-dealer-exam-active .dealer-exam-events{
  grid-template-columns:72px 1fr!important;gap:5px!important;padding:5px 6px!important;min-height:56px!important;max-height:78px!important;overflow:hidden!important;
}
body.holdem-dealer-exam-active .dealer-exam-events>div:first-child{padding-right:5px!important}
body.holdem-dealer-exam-active .dealer-exam-events small{font-size:6px!important}
body.holdem-dealer-exam-active .dealer-exam-events>div:first-child b{font-size:8px!important}
body.holdem-dealer-exam-active .dealer-exam-event-list{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;overflow:visible!important;align-content:center!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list span{
  min-width:0!important;max-width:none!important;padding:4px!important;gap:3px!important;white-space:normal!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list em{width:14px!important;height:14px!important;font-size:6px!important;flex:0 0 14px!important}
body.holdem-dealer-exam-active .dealer-exam-event-list b{font-size:6.4px!important;line-height:1.13!important;overflow-wrap:anywhere}

/* Dealer console: 13 bilingual buttons in two rows. */
body.holdem-dealer-exam-active .dealer-exam-console,
body.holdem-dealer-exam-active .dealer-exam-detail{gap:4px!important;padding:5px 6px!important;border-radius:10px!important;overflow:hidden!important}
body.holdem-dealer-exam-active .dealer-exam-console-head small,
body.holdem-dealer-exam-active .dealer-exam-detail-head small{font-size:6px!important}
body.holdem-dealer-exam-active .dealer-exam-console-head strong,
body.holdem-dealer-exam-active .dealer-exam-detail-head strong{font-size:9px!important}
body.holdem-dealer-exam-active .dealer-exam-console-head em{font-size:6px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid button{
  min-height:43px!important;padding:4px 2px!important;border-radius:7px!important;
}
body.holdem-dealer-exam-active .dealer-exam-console-grid b{font-size:7.4px!important;line-height:1.05!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid small{font-size:5.6px!important;line-height:1.08!important;color:#c4baaa!important}

/* Detail/answer panels also fit without scrolling. */
body.holdem-dealer-exam-active .dealer-exam-detail-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button{min-height:40px!important;padding:5px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button b{font-size:8px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button small{font-size:6px!important;line-height:1.12!important;color:#b2aa9d!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:3px!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid button{min-height:34px!important;padding:4px 2px!important;text-align:center!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid button b{font-size:7.5px!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid button small{font-size:5px!important}
body.holdem-dealer-exam-active .dealer-exam-money{padding:4px 7px!important}
body.holdem-dealer-exam-active .dealer-exam-money small{font-size:6px!important}
body.holdem-dealer-exam-active .dealer-exam-money strong{font-size:18px!important}
body.holdem-dealer-exam-active .dealer-exam-keypad{grid-template-columns:repeat(6,1fr)!important;gap:3px!important}
body.holdem-dealer-exam-active .dealer-exam-keypad button{height:30px!important;font-size:8px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-tabs{gap:4px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-tabs button{min-height:29px!important;font-size:6.4px!important;padding:4px!important}
body.holdem-dealer-exam-active .dealer-exam-eligible-summary{padding:4px 6px!important}
body.holdem-dealer-exam-active .dealer-exam-eligible-summary small{font-size:5.8px!important}
body.holdem-dealer-exam-active .dealer-exam-eligible-summary b{font-size:7px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-confirm{min-height:35px!important;font-size:8px!important}

/* Critical error Japanese explanation */
.dealer-exam-critical{font-size:8px!important}
.holdem-dealer-exam-intro .dealer-exam-intro-grid small{font-size:7px!important;line-height:1.25!important}
.holdem-dealer-exam-intro li b{color:#f0a4a4}

@media(max-height:740px){
  body.holdem-dealer-exam-active .dealer-exam-top{flex-basis:39px!important;height:39px!important;min-height:39px!important}
  body.holdem-dealer-exam-active .dealer-exam-screen{grid-template-rows:30px minmax(195px,1fr) auto auto!important;gap:4px!important;padding-top:3px!important}
  body.holdem-dealer-exam-active .dealer-exam-screen.detail-open{grid-template-rows:29px minmax(175px,1fr) auto auto!important}
  body.holdem-dealer-exam-active .dealer-exam-seat{width:70px!important;min-height:52px!important;padding:4px 3px!important}
  body.holdem-dealer-exam-active .dealer-exam-board .play-card,
  body.holdem-dealer-exam-active .dealer-exam-board-slot{width:30px!important;height:44px!important}
  body.holdem-dealer-exam-active .dealer-exam-console-grid button{min-height:38px!important}
  body.holdem-dealer-exam-active .dealer-exam-event-list b{font-size:5.8px!important}
}
@media(max-width:360px){
  body.holdem-dealer-exam-active .dealer-exam-seat{width:68px!important}
  body.holdem-dealer-exam-active .dealer-exam-table-shell{width:67%!important}
  body.holdem-dealer-exam-active .dealer-exam-console-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  body.holdem-dealer-exam-active .dealer-exam-console-grid b{font-size:6.6px!important}
  body.holdem-dealer-exam-active .dealer-exam-console-grid small{font-size:5px!important}
  body.holdem-dealer-exam-active .dealer-exam-event-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.holdem-dealer-exam-active .dealer-exam-events{max-height:86px!important}
}
/* v1.9.1 readability pass — avoid micro text in LIVE EXAM */
body.holdem-dealer-exam-active .dealer-exam-seat-head b{font-size:9px!important}
body.holdem-dealer-exam-active .dealer-exam-seat-head em{font-size:7px!important}
body.holdem-dealer-exam-active .dealer-exam-seat>small{font-size:6.5px!important}
body.holdem-dealer-exam-active .dealer-exam-seat>small strong{font-size:8.2px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack small{font-size:6px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack b{font-size:11px!important}
body.holdem-dealer-exam-active .dealer-exam-wager>b{font-size:7px!important}
body.holdem-dealer-exam-active .dealer-exam-wager>small{font-size:5.5px!important}
body.holdem-dealer-exam-active .dealer-exam-events small{font-size:6.5px!important}
body.holdem-dealer-exam-active .dealer-exam-events>div:first-child b{font-size:8.5px!important}
body.holdem-dealer-exam-active .dealer-exam-event-list b{font-size:7.2px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid b{font-size:9px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid small{font-size:6.4px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button b{font-size:8.8px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button small{font-size:6.5px!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid button b{font-size:8.2px!important}
body.holdem-dealer-exam-active .dealer-exam-player-grid button small{font-size:5.8px!important}
/* Final legibility bump for phone use */
body.holdem-dealer-exam-active .dealer-exam-seat>small{font-size:7px!important}
body.holdem-dealer-exam-active .dealer-exam-seat>small strong{font-size:8.8px!important}
body.holdem-dealer-exam-active .dealer-exam-event-list b{font-size:7.5px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid b{font-size:9.5px!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid small{font-size:6.8px!important}

/* =========================================================
   v1.9.2 — LIVE DEALER EXAM luxury / layout clarification
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-screen{
  background:radial-gradient(circle at 50% 0%,rgba(158,121,45,.08),transparent 34%);
}
body.holdem-dealer-exam-active .dealer-exam-table-stage{
  border-radius:22px!important;
  border:1px solid rgba(222,184,90,.42)!important;
  background:
    radial-gradient(circle at 50% 10%,rgba(217,178,82,.10),transparent 26%),
    linear-gradient(180deg,#17100d,#080908 75%)!important;
  box-shadow:inset 0 0 34px rgba(0,0,0,.78),0 8px 26px rgba(0,0,0,.34)!important;
}
body.holdem-dealer-exam-active .dealer-exam-room-mark{font-size:5.7px!important;color:rgba(219,189,119,.40)!important}
body.holdem-dealer-exam-active .dealer-exam-table-shell{
  width:72%!important;
  height:58%!important;
  border:7px solid #3f2d20!important;
  box-shadow:0 0 0 2px rgba(226,184,88,.45),0 14px 28px rgba(0,0,0,.58),inset 0 0 20px rgba(0,0,0,.7)!important;
  background:linear-gradient(180deg,#5a4330,#25180f)!important;
}
body.holdem-dealer-exam-active .dealer-exam-felt{
  background:
    radial-gradient(circle at 50% 45%,rgba(51,129,103,.22),transparent 38%),
    radial-gradient(circle at 50% 45%,#165540,#0b3327 63%,#071c16)!important;
}
body.holdem-dealer-exam-active .dealer-exam-board-label{top:18%!important;font-size:6px!important;color:rgba(244,235,211,.66)!important}
body.holdem-dealer-exam-active .dealer-exam-board{top:33.5%!important;gap:4px!important;z-index:3}
body.holdem-dealer-exam-active .dealer-exam-board .play-card{width:33px!important;height:48px!important}
body.holdem-dealer-exam-active .dealer-exam-board-slot{width:33px!important;height:48px!important;background:rgba(0,0,0,.16)!important;border-color:rgba(244,232,203,.20)!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack{top:58%!important;z-index:2;gap:6px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack span{min-width:76px!important;padding:5px 7px!important;border-color:rgba(235,201,107,.32)!important;background:rgba(8,18,14,.86)!important;backdrop-filter:blur(2px)}
body.holdem-dealer-exam-active .dealer-exam-pot-stack small{font-size:5.8px!important;color:rgba(244,235,211,.58)!important}
body.holdem-dealer-exam-active .dealer-exam-pot-stack b{font-size:10px!important;color:#f0d27a!important}
body.holdem-dealer-exam-active .dealer-exam-deck-area{position:absolute;right:6.5%;bottom:8%;display:grid;grid-template-columns:repeat(2,auto);gap:8px;align-items:end;z-index:3}
body.holdem-dealer-exam-active .dealer-exam-deck-slot,
body.holdem-dealer-exam-active .dealer-exam-burn-slot{display:grid;place-items:center;gap:3px;padding:2px 4px 0;border-radius:10px;background:rgba(8,12,10,.55);border:1px solid rgba(227,188,89,.18)}
body.holdem-dealer-exam-active .dealer-exam-deck-slot i,
body.holdem-dealer-exam-active .dealer-exam-burn-slot i,
body.holdem-dealer-exam-active .dealer-exam-burn-slot u{display:block;width:24px;height:35px;border-radius:4px;text-decoration:none}
body.holdem-dealer-exam-active .dealer-exam-deck-slot i{border:2px solid #efe7da;background:repeating-linear-gradient(45deg,#392967 0 3px,#1a1533 3px 6px);box-shadow:3px 3px 0 rgba(236,230,219,.32)}
body.holdem-dealer-exam-active .dealer-exam-burn-slot i{border:2px solid #efe7da;background:repeating-linear-gradient(45deg,#4e2d66 0 3px,#24143f 3px 6px);box-shadow:3px 3px 0 rgba(236,230,219,.22)}
body.holdem-dealer-exam-active .dealer-exam-burn-slot u{border:1px dashed rgba(239,225,193,.20);background:rgba(0,0,0,.14)}
body.holdem-dealer-exam-active .dealer-exam-deck-slot b,
body.holdem-dealer-exam-active .dealer-exam-burn-slot b{font-size:5.2px!important;line-height:1.1;color:rgba(244,235,211,.72)!important;white-space:nowrap}
body.holdem-dealer-exam-active .dealer-exam-button-spot{position:absolute;left:var(--dx);top:var(--dy);transform:translate(-50%,-50%);display:grid;justify-items:center;gap:1px;z-index:4}
body.holdem-dealer-exam-active .dealer-exam-button-spot span{font-size:5px;color:rgba(244,235,211,.74);letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.45)}
body.holdem-dealer-exam-active .dealer-exam-button{position:static!important;transform:none!important;width:18px!important;height:18px!important;font-size:7px!important;box-shadow:0 2px 5px rgba(0,0,0,.45)!important}
body.holdem-dealer-exam-active .dealer-exam-seat{background:linear-gradient(180deg,rgba(27,28,25,.98),rgba(8,10,8,.98))!important;border-color:rgba(225,184,88,.36)!important}
body.holdem-dealer-exam-active .dealer-exam-seat-head b{color:#f0d88f!important}
body.holdem-dealer-exam-active .dealer-exam-seat-head em{background:rgba(220,181,82,.18)!important}
body.holdem-dealer-exam-active .dealer-exam-wager-group{z-index:1!important}
body.holdem-dealer-exam-active .dealer-exam-events{grid-template-columns:72px 1fr!important;padding:6px!important;background:linear-gradient(180deg,rgba(18,17,13,.98),rgba(7,7,6,.99))!important}
body.holdem-dealer-exam-active .dealer-exam-event-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important}
body.holdem-dealer-exam-active .dealer-exam-event-list span{min-width:0!important;max-width:none!important;padding:4px 4px!important}
body.holdem-dealer-exam-active .dealer-exam-event-list b{font-size:6.6px!important;line-height:1.12!important}
body.holdem-dealer-exam-active .dealer-exam-console,
body.holdem-dealer-exam-active .dealer-exam-detail{background:linear-gradient(180deg,rgba(22,18,12,.98),rgba(8,8,7,.99))!important;border-color:rgba(228,187,90,.25)!important;box-shadow:0 10px 24px rgba(0,0,0,.30)!important}
body.holdem-dealer-exam-active .dealer-exam-console-head,
body.holdem-dealer-exam-active .dealer-exam-detail-head{align-items:flex-start!important}
body.holdem-dealer-exam-active .dealer-exam-console-head p,
body.holdem-dealer-exam-active .dealer-exam-detail-head p{margin:3px 0 0;font-size:5.7px;line-height:1.3;color:rgba(234,225,206,.62)}
body.holdem-dealer-exam-active .dealer-exam-console-grid button{background:linear-gradient(180deg,#21180e,#0d0d0c)!important;border-color:rgba(226,186,90,.34)!important;animation:dealerAcademyChoicePulse 1.3s ease-in-out infinite, dealerAcademyGoldSheen 3.4s linear infinite!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid button b{color:#f3d78e!important}
body.holdem-dealer-exam-active .dealer-exam-console-grid small{color:#d1c4af!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button,
body.holdem-dealer-exam-active .dealer-exam-player-grid button,
body.holdem-dealer-exam-active .dealer-exam-pot-tabs button{background:linear-gradient(180deg,#1f1710,#0d0d0c)!important;border-color:rgba(226,186,90,.34)!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button.selected,
body.holdem-dealer-exam-active .dealer-exam-player-grid button.selected,
body.holdem-dealer-exam-active .dealer-exam-pot-tabs button.active{background:linear-gradient(180deg,#53361b,#23170d)!important;border-color:#f0d27a!important;box-shadow:0 0 12px rgba(240,210,122,.22)!important}
@keyframes dealerAcademyGoldSheen{0%{box-shadow:0 0 0 rgba(240,210,122,0)}50%{box-shadow:0 0 10px rgba(240,210,122,.08)}100%{box-shadow:0 0 0 rgba(240,210,122,0)}}
@media (max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-board{top:34%!important}
  body.holdem-dealer-exam-active .dealer-exam-pot-stack{top:59%!important}
  body.holdem-dealer-exam-active .dealer-exam-deck-area{right:5.5%!important;bottom:7.5%!important;gap:6px!important}
  body.holdem-dealer-exam-active .dealer-exam-event-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* =========================================================
   v1.9.3 — LIVE DEALER EXAM bugfix pass
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-deck-area{
  right:11%!important;
  bottom:11.5%!important;
  grid-template-columns:auto!important;
  gap:5px!important;
  justify-items:end;
  z-index:5!important;
}
body.holdem-dealer-exam-active .dealer-exam-deck-slot,
body.holdem-dealer-exam-active .dealer-exam-burn-panel{
  display:grid;
  justify-items:center;
  gap:3px;
  padding:3px 5px;
  border-radius:11px;
  background:rgba(8,12,10,.78)!important;
  border:1px solid rgba(227,188,89,.26)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.28);
}
body.holdem-dealer-exam-active .dealer-exam-burn-panel b,
body.holdem-dealer-exam-active .dealer-exam-deck-slot b{font-size:5.4px!important;line-height:1.1!important}
body.holdem-dealer-exam-active .dealer-exam-burn-cards{display:flex;gap:2px;align-items:center;justify-content:center}
body.holdem-dealer-exam-active .dealer-exam-burn-cards i,
body.holdem-dealer-exam-active .dealer-exam-burn-cards u{display:block;width:16px;height:23px;border-radius:3px;text-decoration:none}
body.holdem-dealer-exam-active .dealer-exam-burn-cards i{border:1.5px solid #efe7da;background:repeating-linear-gradient(45deg,#4e2d66 0 3px,#24143f 3px 6px);box-shadow:2px 2px 0 rgba(236,230,219,.22)}
body.holdem-dealer-exam-active .dealer-exam-burn-cards u{border:1px dashed rgba(239,225,193,.20);background:rgba(0,0,0,.14)}
body.holdem-dealer-exam-active .dealer-exam-button-spot{gap:0!important;z-index:6!important}
body.holdem-dealer-exam-active .dealer-exam-button-spot span{font-size:5.3px!important}
body.holdem-dealer-exam-active .dealer-exam-button{width:18px!important;height:18px!important}
/* keep right-side player wagers away from deck/burn area */
body.holdem-dealer-exam-active .dealer-exam-wager-group{max-width:84px}
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="CO chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BTN chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{transform:translate(-8px,-6px)}
/* selection glow restore */
body.holdem-dealer-exam-active .dealer-exam-console-grid button,
body.holdem-dealer-exam-active .dealer-exam-detail-options button,
body.holdem-dealer-exam-active .dealer-exam-player-grid button,
body.holdem-dealer-exam-active .dealer-exam-pot-tabs button,
body.holdem-dealer-exam-active .dealer-exam-keypad button{
  animation:dealerAcademyChoicePulse 1.2s ease-in-out infinite!important;
}
body.holdem-dealer-exam-active .dealer-exam-detail-confirm,
body.holdem-dealer-exam-active .dealer-exam-console-head em{
  animation:dealerAcademyChoiceTextPulse 1.05s ease-in-out infinite!important;
}
body.holdem-dealer-exam-active .dealer-exam-detail-options button:nth-child(2n),
body.holdem-dealer-exam-active .dealer-exam-player-grid button:nth-child(2n),
body.holdem-dealer-exam-active .dealer-exam-console-grid button:nth-child(2n){animation-delay:.12s!important}
body.holdem-dealer-exam-active .dealer-exam-detail-options button.selected,
body.holdem-dealer-exam-active .dealer-exam-player-grid button.selected,
body.holdem-dealer-exam-active .dealer-exam-pot-tabs button.active{animation:none!important}
@media (max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-deck-area{right:9%!important;bottom:10.5%!important}
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="CO chips"],
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BTN chips"],
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{transform:translate(-12px,-8px)}
}

/* =========================================================
   v1.9.5 — LIVE DEALER EXAM spatial lanes
   BTN attached to player / BOARD centered / BURN under MAIN
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-table-shell{
  width:73%!important;
  height:61%!important;
}
/* Community cards occupy the true middle lane, away from upper-seat wagers. */
body.holdem-dealer-exam-active .dealer-exam-board-label{
  top:24%!important;
}
body.holdem-dealer-exam-active .dealer-exam-board{
  top:45%!important;
  left:50%!important;
  z-index:4!important;
}
/* New POT + BURN vertical lane */
body.holdem-dealer-exam-active .dealer-exam-pot-stack,
body.holdem-dealer-exam-active .dealer-exam-deck-area,
body.holdem-dealer-exam-active .dealer-exam-button-spot{display:none!important}
body.holdem-dealer-exam-active .dealer-exam-pot-area{
  position:absolute;
  left:50%;
  top:69%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:7px;
  z-index:3;
}
body.holdem-dealer-exam-active .dealer-exam-main-column{
  display:grid;
  justify-items:center;
  gap:4px;
}
body.holdem-dealer-exam-active .dealer-exam-pot-box{
  display:grid;
  gap:1px;
  min-width:76px;
  padding:5px 7px;
  border:1px solid rgba(235,201,107,.32);
  border-radius:8px;
  background:rgba(8,18,14,.88);
  text-align:center;
  box-shadow:0 3px 9px rgba(0,0,0,.24);
}
body.holdem-dealer-exam-active .dealer-exam-pot-box small{font-size:5.8px!important;color:rgba(244,235,211,.58)!important}
body.holdem-dealer-exam-active .dealer-exam-pot-box b{font-size:10.5px!important;color:#f0d27a!important}
body.holdem-dealer-exam-active .dealer-exam-burn-panel{
  display:grid!important;
  justify-items:center!important;
  gap:2px!important;
  padding:2px 4px!important;
  border-radius:8px!important;
  background:rgba(7,12,10,.72)!important;
  border:1px solid rgba(227,188,89,.20)!important;
  box-shadow:none!important;
}
body.holdem-dealer-exam-active .dealer-exam-burn-cards{display:flex!important;gap:2px!important}
body.holdem-dealer-exam-active .dealer-exam-burn-cards i,
body.holdem-dealer-exam-active .dealer-exam-burn-cards u{width:13px!important;height:18px!important;border-radius:2px!important}
body.holdem-dealer-exam-active .dealer-exam-burn-panel>b{font-size:4.8px!important;color:rgba(244,235,211,.66)!important}
/* Deck remains a separate table tool in the lower-right corner. */
body.holdem-dealer-exam-active .dealer-exam-deck-corner{
  position:absolute!important;
  right:5.5%!important;
  bottom:8%!important;
  z-index:3!important;
  display:grid!important;
  place-items:center!important;
  gap:2px!important;
  padding:2px 4px!important;
  border-radius:9px!important;
  background:rgba(8,12,10,.62)!important;
  border:1px solid rgba(227,188,89,.18)!important;
}
body.holdem-dealer-exam-active .dealer-exam-deck-corner i{width:22px!important;height:32px!important}
body.holdem-dealer-exam-active .dealer-exam-deck-corner b{font-size:4.8px!important}
/* Dealer button belongs to the BTN player's frame, never to the free felt. */
body.holdem-dealer-exam-active .dealer-exam-seat{overflow:visible!important}
body.holdem-dealer-exam-active .dealer-exam-seat-button{
  position:absolute;
  z-index:14;
  display:flex;
  align-items:center;
  gap:2px;
  pointer-events:none;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));
}
body.holdem-dealer-exam-active .dealer-exam-seat-button small{
  padding:1px 3px;
  border-radius:4px;
  background:rgba(7,11,9,.90);
  border:1px solid rgba(222,184,90,.35);
  color:#ead080;
  font-size:4.6px!important;
  line-height:1!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-button i{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  border:2px solid #b5964b;
  background:#f1ede3;
  color:#181510;
  font-size:8px;
  font-style:normal;
  font-weight:1000;
}
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-top-right{top:-9px;right:-7px}
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-top-left{top:-9px;left:-7px;flex-direction:row-reverse}
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-bottom-left{bottom:-9px;left:-7px;flex-direction:row-reverse}
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-bottom-right{bottom:-9px;right:-7px}
/* Wagers stay under seats but above felt art; BUTTON sits above them. */
body.holdem-dealer-exam-active .dealer-exam-wager-group{z-index:7!important}
@media (max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-table-shell{width:72%!important;height:60%!important}
  body.holdem-dealer-exam-active .dealer-exam-board{top:46%!important}
  body.holdem-dealer-exam-active .dealer-exam-pot-area{top:70%!important}
  body.holdem-dealer-exam-active .dealer-exam-deck-corner{right:4.5%!important;bottom:7%!important}
}
/* Keep dealer button fully visible even when its BTN player has folded. */
body.holdem-dealer-exam-active .dealer-exam-seat.folded{opacity:1!important;filter:none!important}
body.holdem-dealer-exam-active .dealer-exam-seat.folded>.dealer-exam-seat-head,
body.holdem-dealer-exam-active .dealer-exam-seat.folded>small,
body.holdem-dealer-exam-active .dealer-exam-seat.folded>.dealer-exam-hole{opacity:.43;filter:saturate(.3)}

/* =========================================================
   v1.9.6 — chip visibility / deck removal
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-wager-group{z-index:12!important}
body.holdem-dealer-exam-active .dealer-exam-deck-slot,
body.holdem-dealer-exam-active .dealer-exam-deck-corner,
body.holdem-dealer-exam-active .dealer-exam-deck-area{display:none!important}
/* Slightly nudge top-side chips inward so they are not hidden by player frames. */
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="UTG chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="HJ chips"]{transform:translate(0,6px)}
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="CO chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BTN chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{transform:translate(-8px,-4px)}
@media (max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="UTG chips"],
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="HJ chips"]{transform:translate(0,7px)}
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="CO chips"],
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BTN chips"],
  body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{transform:translate(-10px,-5px)}
}

/* =========================================================
   v1.9.8 — phase / payout selection / no auto-advance UX
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-seat.selectable{
  z-index:16!important;
  pointer-events:auto!important;
  border-color:rgba(228,190,94,.78)!important;
  box-shadow:0 0 0 2px rgba(228,190,94,.14),0 0 15px rgba(228,190,94,.24)!important;
  animation:dealerAcademyChoicePulse 1.05s ease-in-out infinite!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat.selectable.picked{
  z-index:17!important;
  animation:none!important;
  border-color:#f1d47d!important;
  background:linear-gradient(180deg,#433318,#15110b)!important;
  box-shadow:0 0 0 2px rgba(241,212,125,.22),0 0 18px rgba(241,212,125,.35)!important;
}
body.holdem-dealer-exam-active .dealer-exam-payout-detail{gap:5px!important}
body.holdem-dealer-exam-active .dealer-exam-payout-selected{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 9px;border:1px solid rgba(229,190,95,.26);border-radius:9px;
  background:rgba(10,13,10,.72)
}
body.holdem-dealer-exam-active .dealer-exam-payout-selected small{font-size:6px!important;color:rgba(236,227,208,.58)}
body.holdem-dealer-exam-active .dealer-exam-payout-selected b{font-size:10px!important;color:#efd079}

/* =========================================================
   v1.9.9 — SIDE POT naming / purple PUSH selection
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-seat.selectable{
  border-color:rgba(205,157,255,.72)!important;
  background:linear-gradient(180deg,rgba(35,25,45,.98),rgba(11,9,15,.98))!important;
  box-shadow:0 0 0 2px rgba(201,139,255,.16),0 0 17px rgba(179,92,255,.40)!important;
  animation:dealerAcademyChoicePulse 1.05s ease-in-out infinite!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat.selectable.picked{
  animation:none!important;
  border-color:#dcc2ff!important;
  background:linear-gradient(180deg,#432557,#160e1e)!important;
  box-shadow:0 0 0 2px rgba(201,139,255,.24),0 0 21px rgba(179,92,255,.55)!important;
}
body.holdem-dealer-exam-active .dealer-exam-payout-selected{
  border-color:rgba(201,139,255,.30)!important;
  background:rgba(24,13,31,.78)!important;
}
body.holdem-dealer-exam-active .dealer-exam-payout-selected b{color:#dec5ff!important}
body.holdem-dealer-exam-active .dealer-exam-payout-selected.ready{
  border-color:rgba(218,177,255,.78)!important;
  box-shadow:0 0 12px rgba(179,92,255,.22)!important;
}
body.holdem-dealer-exam-active .dealer-exam-payout-confirm{
  min-height:38px!important;
  border:1px solid rgba(167,137,190,.22)!important;
  background:linear-gradient(180deg,#19141d,#0d0a10)!important;
  color:#81798a!important;
  box-shadow:none!important;
  animation:none!important;
  opacity:.68;
}
body.holdem-dealer-exam-active .dealer-exam-payout-confirm.ready{
  opacity:1;
  border-color:rgba(218,177,255,.82)!important;
  background:linear-gradient(180deg,#4b2862,#21102d)!important;
  color:#f2e6ff!important;
  box-shadow:0 0 0 2px rgba(201,139,255,.12),0 0 18px rgba(179,92,255,.38)!important;
  animation:dealerAcademyChoicePulse 1.05s ease-in-out infinite!important;
  cursor:pointer;
}
body.holdem-dealer-exam-active .dealer-exam-payout-confirm:disabled{
  pointer-events:none!important;
  cursor:default!important;
}

/* =========================================================
   v1.10.0 — wager ring / stack accuracy
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-wager-group{
  z-index:12!important;
  transform:none!important;
}
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="UTG chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="HJ chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="CO chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BTN chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="SB chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{
  transform:none!important;
}

/* =========================================================
   v1.10.1 — wager placement / larger burn cards
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-burn-panel{
  gap:3px!important;
  padding:3px 5px!important;
  border-radius:9px!important;
}
body.holdem-dealer-exam-active .dealer-exam-burn-cards{gap:3px!important}
body.holdem-dealer-exam-active .dealer-exam-burn-cards i,
body.holdem-dealer-exam-active .dealer-exam-burn-cards u{
  width:17px!important;
  height:24px!important;
  border-radius:3px!important;
}
body.holdem-dealer-exam-active .dealer-exam-burn-panel>b{
  font-size:5.2px!important;
  color:rgba(244,235,211,.76)!important;
}
body.holdem-dealer-exam-active .dealer-exam-wager-group{
  z-index:12!important;
}
body.holdem-dealer-exam-active .dealer-exam-wager-group .wager-stack{
  gap:2px!important;
}
body.holdem-dealer-exam-active .dealer-exam-wager-chip{box-shadow:0 2px 5px rgba(0,0,0,.34)!important}

/* =========================================================
   v1.10.2 — P6 wager clearance / folded cards / pot-tap PUSH
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-pot-box.payout-target{
  cursor:pointer;
  pointer-events:auto!important;
  border-color:rgba(198,139,255,.56)!important;
  background:linear-gradient(180deg,rgba(48,29,61,.92),rgba(18,12,24,.94))!important;
  box-shadow:0 0 0 2px rgba(201,139,255,.10),0 0 12px rgba(179,92,255,.22)!important;
}
body.holdem-dealer-exam-active .dealer-exam-pot-box.payout-target.ready{
  border-color:#dcc2ff!important;
  color:#f3e8ff!important;
  box-shadow:0 0 0 2px rgba(201,139,255,.22),0 0 20px rgba(179,92,255,.52)!important;
  animation:dealerAcademyChoicePulse 1.05s ease-in-out infinite!important;
}
body.holdem-dealer-exam-active .dealer-exam-pot-box.payout-target.ready b,
body.holdem-dealer-exam-active .dealer-exam-pot-box.payout-target.ready small{
  color:#ead7ff!important;
}
/* Folded hole cards are removed from the table; keep a stable empty card lane. */
body.holdem-dealer-exam-active .dealer-exam-seat.folded .dealer-exam-hole{
  visibility:hidden!important;
}

/* =========================================================
   v1.10.3 — natural keypad / side-pot contribution retention
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-keypad{
  grid-template-columns:repeat(3,1fr)!important;
  gap:3px!important;
}
body.holdem-dealer-exam-active .dealer-exam-keypad button{
  height:25px!important;
  min-height:25px!important;
  font-size:8.5px!important;
  padding:0!important;
}
body.holdem-dealer-exam-active .dealer-exam-contrib-summary{
  display:grid;
  gap:2px;
  padding:4px 6px;
  border:1px solid rgba(211,178,101,.22);
  border-radius:8px;
  background:rgba(255,255,255,.025);
}
body.holdem-dealer-exam-active .dealer-exam-contrib-summary small{
  font-size:5.4px;
  color:#8f8779;
}
body.holdem-dealer-exam-active .dealer-exam-contrib-summary b{
  font-size:6.5px;
  line-height:1.25;
  color:#ead080;
}
/* lower side-seat wager groups stay close to their player frame and away from central BURN */
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="SB chips"],
body.holdem-dealer-exam-active .dealer-exam-wager-group[aria-label="BB chips"]{
  max-width:66px!important;
}
@media (max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-keypad button{height:24px!important;min-height:24px!important}
  body.holdem-dealer-exam-active .dealer-exam-contrib-summary b{font-size:6.1px}
}

/* =========================================================
   v1.10.4 — wager-safe seats / compact practical controls
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-seat{
  width:76px!important;
  min-height:65px!important;
  padding:4px 4px 3px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat>small{
  margin-top:1px!important;
  line-height:1.05!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wagers{
  min-height:16px;
  margin:2px 0 1px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  overflow:visible;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wagers.empty{visibility:hidden}
body.holdem-dealer-exam-active .dealer-exam-seat-wager{
  min-width:29px;
  max-width:35px;
  height:16px;
  padding:1px 2px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:10px 1fr;
  grid-template-rows:8px 6px;
  column-gap:2px;
  align-items:center;
  border:1px solid rgba(229,193,101,.34);
  border-radius:5px;
  background:linear-gradient(180deg,rgba(21,23,19,.98),rgba(7,9,7,.98));
  box-shadow:0 2px 5px rgba(0,0,0,.34);
  white-space:nowrap;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>i{
  grid-row:1/3;
  width:9px;height:9px;border-radius:50%;
  border:1px solid rgba(237,207,129,.68);
  background:radial-gradient(circle at 38% 35%,#8043a3 0 25%,#3b1957 27% 62%,#d7b45e 64% 74%,#29113b 76%);
  box-shadow:0 1px 2px rgba(0,0,0,.5);
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager.low>i{background:radial-gradient(circle at 38% 35%,#d05656 0 25%,#7d2028 27% 62%,#d7b45e 64% 74%,#61161d 76%)}
body.holdem-dealer-exam-active .dealer-exam-seat-wager.mid>i{background:radial-gradient(circle at 38% 35%,#4a5158 0 25%,#111519 27% 62%,#d7b45e 64% 74%,#080a0c 76%)}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>b{
  grid-column:2;font-size:6.1px!important;line-height:1!important;color:#f1d27b!important;text-align:left;overflow:hidden;text-overflow:clip;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>small{
  grid-column:2;font-size:4.4px!important;line-height:1!important;color:#d2c3a6!important;text-align:left;letter-spacing:-.02em;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager.allin{
  border-color:rgba(205,147,255,.58);background:linear-gradient(180deg,rgba(55,29,74,.98),rgba(22,12,31,.98));
}
/* Old free-floating wager layer is retired in v1.10.4. */
body.holdem-dealer-exam-active .dealer-exam-wager-group{display:none!important}
body.holdem-dealer-exam-active .dealer-exam-hole{min-height:28px!important;margin-top:1px!important}
body.holdem-dealer-exam-active .dealer-exam-hole .play-card{width:23px!important;height:33px!important}
body.holdem-dealer-exam-active .dealer-exam-card-back{width:22px!important;height:32px!important}

body.holdem-dealer-exam-active .dealer-exam-events.has-money-trace{align-items:stretch!important}
body.holdem-dealer-exam-active .dealer-exam-event-wrap{display:grid;gap:3px;min-width:0}
body.holdem-dealer-exam-active .dealer-exam-money-trace{
  display:flex;align-items:center;gap:5px;min-width:0;padding:3px 5px;border:1px solid rgba(213,177,94,.24);border-radius:6px;background:rgba(218,178,78,.055)
}
body.holdem-dealer-exam-active .dealer-exam-money-trace small{font-size:5.2px!important;color:#9f927b!important;flex:0 0 auto}
body.holdem-dealer-exam-active .dealer-exam-money-trace b{font-size:6.4px!important;line-height:1.15!important;color:#efd27f!important;white-space:normal;overflow-wrap:anywhere}

body.holdem-dealer-exam-active .dealer-exam-detail-head>div{min-width:0}
body.holdem-dealer-exam-active .dealer-exam-detail-head>em{
  flex:0 0 auto;padding:3px 5px;border-radius:6px;border:1px solid rgba(205,147,255,.30);background:rgba(92,48,120,.18);font-size:5.6px;font-style:normal;color:#e4caff;white-space:nowrap
}
body.holdem-dealer-exam-active .dealer-exam-keypad.compact-2x6{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:3px!important;
}
body.holdem-dealer-exam-active .dealer-exam-keypad.compact-2x6 button{
  height:27px!important;min-height:27px!important;padding:0!important;font-size:8.6px!important
}
body.holdem-dealer-exam-active .dealer-exam-return-detail,
body.holdem-dealer-exam-active .dealer-exam-pot-builder{
  gap:4px!important;padding:5px 6px!important;overflow:visible!important
}
body.holdem-dealer-exam-active .dealer-exam-return-detail .dealer-exam-money,
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-money{padding:4px 7px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-contrib-summary{padding:3px 5px!important}
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-contrib-summary b{font-size:6.2px!important;line-height:1.16!important}
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-eligible-summary{padding:3px 6px!important}
body.holdem-dealer-exam-active .dealer-exam-detail-confirm{
  position:relative!important;z-index:30!important;pointer-events:auto!important;touch-action:manipulation!important;min-height:32px!important
}
body.holdem-dealer-exam-active .dealer-exam-detail-confirm.ready{
  border-color:#d9b8ff!important;box-shadow:0 0 0 2px rgba(201,139,255,.18),0 0 15px rgba(179,92,255,.35)!important;animation:dealerAcademyChoicePulse 1.05s ease-in-out infinite!important
}
@media(max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-seat{width:72px!important;min-height:62px!important;padding:3px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager{min-width:28px;max-width:33px}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager>b{font-size:5.8px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager>small{font-size:4.2px!important}
  body.holdem-dealer-exam-active .dealer-exam-hole .play-card{width:22px!important;height:31px!important}
  body.holdem-dealer-exam-active .dealer-exam-card-back{width:21px!important;height:30px!important}
  body.holdem-dealer-exam-active .dealer-exam-keypad.compact-2x6 button{height:25px!important;min-height:25px!important}
}

/* =========================================================
   v1.10.5 — card-state / action-grid / keypad / touch fixes
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-screen,
body.holdem-dealer-exam-active .dealer-exam-screen button,
body.holdem-dealer-exam-active .dealer-exam-seat,
body.holdem-dealer-exam-active .dealer-exam-pot-box{
  touch-action:manipulation!important;
}
body.holdem-dealer-exam-active .dealer-exam-screen button{
  -webkit-user-select:none!important;
  user-select:none!important;
}
/* RULING can produce 6–7 table actions: keep all of them visible in 2 compact rows. */
body.holdem-dealer-exam-active .dealer-exam-events{
  max-height:84px!important;
  overflow:visible!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:2px!important;
  align-content:start!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list span{
  min-height:20px!important;
  padding:2px 3px!important;
  gap:2px!important;
  overflow:visible!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list em{
  width:12px!important;
  height:12px!important;
  flex-basis:12px!important;
  font-size:5.2px!important;
}
body.holdem-dealer-exam-active .dealer-exam-event-list b{
  font-size:5.7px!important;
  line-height:1.05!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
/* requested 2 x 6 keypad: 1 2 3 4 5 6 / 7 8 9 0 CLR 戻る */
body.holdem-dealer-exam-active .dealer-exam-keypad.compact-2x6{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,28px)!important;
  gap:3px!important;
}
body.holdem-dealer-exam-active .dealer-exam-keypad.compact-2x6 button{
  height:28px!important;
  min-height:28px!important;
  font-size:8.4px!important;
  white-space:nowrap!important;
  touch-action:manipulation!important;
}
/* Side-pot submission must remain tappable regardless of answer correctness. */
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-detail-confirm{
  position:relative!important;
  z-index:40!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
body.holdem-dealer-exam-active .dealer-exam-pot-builder .dealer-exam-detail-confirm.ready{
  box-shadow:0 0 0 2px rgba(196,128,255,.20),0 0 15px rgba(178,87,255,.42)!important;
}

/* =========================================================
   v1.10.6 — RULING consistency / 4-digit readability / full review
   ========================================================= */
body.holdem-dealer-exam-active .dealer-exam-seat{
  width:78px!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat>small{
  white-space:nowrap!important;
  overflow:visible!important;
  font-variant-numeric:tabular-nums;
}
body.holdem-dealer-exam-active .dealer-exam-seat>small strong{
  display:inline-block;
  min-width:0;
  max-width:48px;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:8.2px!important;
  letter-spacing:-.035em!important;
  font-variant-numeric:tabular-nums;
  vertical-align:baseline;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wagers{
  width:100%!important;
  min-height:17px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1px!important;
  padding:0 1px!important;
  box-sizing:border-box!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  height:17px!important;
  padding:1px!important;
  grid-template-columns:7px minmax(0,1fr)!important;
  grid-template-rows:8px 6px!important;
  column-gap:1px!important;
  overflow:visible!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager:only-child{
  grid-column:1/-1!important;
  width:43px!important;
  justify-self:center!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>i{
  width:7px!important;height:7px!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>b{
  min-width:0!important;
  font-size:5.35px!important;
  letter-spacing:-.055em!important;
  font-variant-numeric:tabular-nums;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-wager>small{
  min-width:0!important;
  font-size:3.95px!important;
  letter-spacing:-.055em!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.dealer-exam-review-row>div:first-child>em{
  display:block;
  margin-bottom:2px;
  font-size:5.5px;
  line-height:1;
  font-style:normal;
  letter-spacing:.08em;
  color:#d9b8ff;
}
@media(max-width:390px){
  body.holdem-dealer-exam-active .dealer-exam-seat{width:76px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat>small strong{font-size:7.9px!important;max-width:46px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager:only-child{width:42px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager>b{font-size:5.2px!important}
  body.holdem-dealer-exam-active .dealer-exam-seat-wager>small{font-size:3.8px!important}
}

/* v1.10.6 result review must never truncate mistake rows. */
.dealer-exam-review{
  max-height:none!important;
  overflow:visible!important;
}
.dealer-exam-review-row{
  overflow:visible!important;
}

/* =========================================================
   v1.10.8 — full audit: BTN clearance / detail table clearance
   ========================================================= */
/* Upper-side BTN seats used bottom-edge D buttons. Move the D marker fully
   outside the player card area while keeping it attached to the BTN frame. */
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-bottom-left{
  bottom:-20px!important;
  left:-7px!important;
}
body.holdem-dealer-exam-active .dealer-exam-seat-button.btn-edge-bottom-right{
  bottom:-20px!important;
  right:-7px!important;
}
/* When a detail panel is open the table is vertically compressed. Keep the
   BOARD / POT / BURN lanes separated in that compact state. */
body.holdem-dealer-exam-active .dealer-exam-screen.detail-open .dealer-exam-board{
  top:43%!important;
}
body.holdem-dealer-exam-active .dealer-exam-screen.detail-open .dealer-exam-board-label{
  top:28%!important;
}
body.holdem-dealer-exam-active .dealer-exam-screen.detail-open .dealer-exam-pot-area{
  top:72.5%!important;
}
@media(max-width:390px){
  /* Compact iPhone widths: keep the 5-card board clear of the upper side seats
     while SIDE POT / RETURN / RULING details are open. */
  body.holdem-dealer-exam-active .dealer-exam-screen.detail-open .dealer-exam-board .play-card,
  body.holdem-dealer-exam-active .dealer-exam-screen.detail-open .dealer-exam-board-slot{
    width:31px!important;
    height:45px!important;
  }
}

/* =========================================================
   v1.11.1 — HOME REBUILD
   ========================================================= */
body.home-active .screen{
  padding-left:12px;
  padding-right:12px;
}
.home-hero-v1111{
  min-height:276px;
}
.home-daily-card{
  margin-top:10px;
}
.home-section-title{
  justify-content:center;
  margin-top:16px;
}
.home-section-title small{
  color:#8f8a7e;
  font:700 8px var(--sans);
  letter-spacing:.13em;
  white-space:nowrap;
}
.home-game-hub{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.home-game-card{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  min-width:0;
  min-height:176px;
  padding:14px 12px 13px;
  text-align:left;
  color:var(--text);
  overflow:hidden;
  border-color:rgba(213,168,75,.5);
}
.home-game-card::after{
  content:"";
  position:absolute;
  width:116px;
  height:116px;
  right:-40px;
  bottom:-50px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,204,109,.16),transparent 66%);
  pointer-events:none;
}
.home-game-card.holdem{
  background:
    radial-gradient(circle at 12% 0%,rgba(25,111,75,.32),transparent 46%),
    linear-gradient(180deg,#112219,#08100c);
  border-color:rgba(113,183,119,.48);
}
.home-game-card.blackjack{
  background:
    radial-gradient(circle at 9% 0%,rgba(194,43,43,.19),transparent 44%),
    linear-gradient(180deg,#1b1710,#0b0e0b);
}
.home-game-suit{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  margin-bottom:8px;
  border:1px solid rgba(242,210,126,.4);
  border-radius:9px;
  color:var(--gold2);
  background:rgba(0,0,0,.27);
  font-size:18px;
}
.home-game-card>small{
  display:block;
  min-height:19px;
  color:#b3ad9d;
  font-size:7px;
  font-weight:900;
  letter-spacing:.09em;
  line-height:1.3;
}
.home-game-card h3{
  margin:3px 0 4px;
  color:#f2d27e;
  font:900 16px/1.05 var(--serif);
  letter-spacing:.02em;
  white-space:nowrap;
}
.home-game-card p{
  margin:0;
  min-height:27px;
  color:#d2cbbb;
  font-size:9px;
  line-height:1.4;
}
.home-game-card>div{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin-top:8px;
}
.home-game-card>div b{
  color:#fff4ce;
  font:900 22px var(--serif);
}
.home-game-card>div span{
  color:#9f998e;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.home-game-card em{
  display:block;
  margin-top:4px;
  color:#e9c65e;
  font-size:9px;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.08em;
}
.home-game-card:active,
.home-next-card:active,
.home-level-card:active{
  transform:translateY(1px);
}
.home-overall-progress{
  padding:14px;
  gap:13px;
}
.home-overall-progress .ring{
  width:76px;
  height:76px;
}
.home-overall-progress .ring::after{
  inset:8px;
}
.home-overall-progress .ring span{
  font-size:19px;
}
.home-overall-progress .progress-details h3{
  margin-bottom:7px;
  color:#f0dfb2;
  font-size:15px;
}
.home-progress-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}
.home-progress-stats>div{
  min-width:0;
  padding:5px 3px;
  border:1px solid rgba(213,168,75,.13);
  border-radius:8px;
  background:rgba(0,0,0,.18);
  text-align:center;
}
.home-progress-stats small{
  display:block;
  color:#8f8b82;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.home-progress-stats strong{
  display:block;
  overflow:hidden;
  margin-top:2px;
  color:#f6edda;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-overall-progress p{
  margin:6px 0 0;
  color:#918d84;
  font-size:8px;
  line-height:1.3;
}
.home-next-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:10px;
}
.home-next-card{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  min-width:0;
  min-height:142px;
  padding:13px 12px 12px;
  color:var(--text);
  text-align:left;
  overflow:hidden;
}
.home-next-card.continue{
  background:
    radial-gradient(circle at 100% 0%,rgba(215,174,69,.14),transparent 46%),
    linear-gradient(180deg,#171a14,#0b100d);
}
.home-next-card.recommended{
  border-color:rgba(88,173,113,.45);
  background:
    radial-gradient(circle at 100% 0%,rgba(62,165,99,.17),transparent 46%),
    linear-gradient(180deg,#101b14,#09110c);
}
.home-next-label{
  display:block;
  margin-bottom:5px;
  color:#d9b657;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
}
.home-next-card.recommended .home-next-label{color:#77d48d}
.home-next-card>i{
  float:left;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin:1px 7px 2px 0;
  border:1px solid rgba(213,168,75,.28);
  border-radius:8px;
  color:#f0d078;
  background:rgba(0,0,0,.25);
  font:900 11px var(--sans);
  font-style:normal;
}
.home-next-card h4{
  overflow:hidden;
  margin:3px 18px 2px 0;
  color:#f4e4b8;
  font:900 12px/1.2 var(--serif);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-next-card p{
  overflow:hidden;
  margin:0 15px 7px 0;
  color:#c6bfae;
  font-size:8px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-next-card>small{
  clear:both;
  display:block;
  padding-top:7px;
  color:#918d83;
  font-size:7px;
  line-height:1.4;
}
.home-next-arrow{
  position:absolute;
  right:10px;
  bottom:9px;
  color:#d8b552;
  font-size:18px;
}
.home-level-card{
  width:100%;
  border-color:rgba(213,168,75,.48);
  color:var(--text);
  text-align:left;
}
.home-level-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.home-level-copy small{
  color:#918b7c;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}
.home-level-copy b{
  color:#f1d071;
  font:900 16px var(--serif);
}
.home-level-copy span{
  overflow:hidden;
  max-width:235px;
  color:#aaa397;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-level-arrow{
  margin-left:auto;
  color:#e2be5e;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
  white-space:nowrap;
}
.home-update-compact{
  padding:0!important;
  overflow:hidden;
}
.home-update-compact::after{display:none}
.home-update-summary-row{
  list-style:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:67px;
  padding:11px 12px;
  cursor:pointer;
}
.home-update-summary-row::-webkit-details-marker{display:none}
.home-update-new{
  padding:4px 6px;
  border-radius:7px;
  color:#1d1303;
  background:linear-gradient(180deg,#f1cf6d,#b77c22);
  font-size:7px;
  font-weight:1000;
  letter-spacing:.08em;
}
.home-update-summary-row>div{
  min-width:0;
}
.home-update-summary-row small{
  display:block;
  margin-bottom:2px;
  color:#9f988b;
  font-size:7px;
}
.home-update-summary-row strong{
  display:block;
  overflow:hidden;
  color:#f0dfb1;
  font-size:10px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-update-summary-row>b{
  color:#c6a54e;
  font-size:7px;
  white-space:nowrap;
}
.home-update-compact[open] .home-update-summary-row>b{font-size:0}
.home-update-compact[open] .home-update-summary-row>b::after{content:"CLOSE −";font-size:7px}
.home-update-expanded{
  padding:0 12px 12px;
  border-top:1px solid rgba(213,168,75,.12);
}
.home-update-expanded .home-update-label{margin-top:10px}
.blackjack-section-title,
.holdem-section-title{
  scroll-margin-top:14px;
}
@media(max-width:380px){
  .home-game-card{min-height:171px;padding:13px 10px 12px}
  .home-game-card h3{font-size:14px}
  .home-game-card p{font-size:8px}
  .home-overall-progress{gap:10px;padding:12px}
  .home-overall-progress .ring{width:70px;height:70px}
  .home-next-card{min-height:139px;padding-left:10px;padding-right:10px}
  .home-next-card h4{font-size:11px}
  .home-level-copy span{max-width:205px}
}
@media(max-width:350px){
  .home-game-hub,.home-next-grid{grid-template-columns:1fr}
  .home-game-card{min-height:142px}
  .home-next-card{min-height:126px}
}

/* ======================================================================
   v1.11.2 — LEARN REBUILD / 20 LESSONS
   ====================================================================== */
.learn-hero-v2{padding:16px 18px 15px}
.learn-hero-v2 .subtle{max-width:300px;margin:0 auto}
.learn-progress-v2{grid-template-columns:88px 1fr;padding:13px 14px;gap:12px}
.learn-progress-v2 .ring{width:76px;height:76px}
.learn-progress-v2 h3{font-size:16px;letter-spacing:.04em}
.learn-next-card{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
  padding:14px 15px;overflow:hidden;position:relative;
}
.learn-next-card::after{content:'';position:absolute;inset:auto -32px -48px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.14),transparent 68%);pointer-events:none}
.learn-next-card.holdem{border-color:rgba(47,205,125,.55)}
.learn-next-card.common{border-color:rgba(90,170,255,.45)}
.learn-next-copy{min-width:0}
.learn-next-copy h2{margin:4px 0 3px;color:var(--gold2);font:700 17px/1.15 var(--serif)}
.learn-next-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.learn-next-card .btn{position:relative;z-index:1;white-space:nowrap;min-height:38px;padding:0 12px;font-size:10px}
.learn-course-no{font-family:var(--mono,monospace);font-size:9px;color:var(--gold);opacity:.72;margin-right:3px}
.course-card.is-complete{background:linear-gradient(145deg,rgba(22,49,36,.72),rgba(10,15,13,.94))}
.course-card.is-complete .course-state{color:#53df91}
.learn-web-card strong{display:block;color:var(--gold2);font-size:14px;margin:3px 0}

.learn-modal-backdrop{align-items:flex-end;padding:10px}
.learn-course-modal{
  width:min(520px,100%);max-height:min(88dvh,760px);overflow:auto;overscroll-behavior:contain;
  padding:17px 16px 14px;border-radius:18px 18px 12px 12px;
}
.learn-modal-kicker{font-size:9px;letter-spacing:.22em;color:var(--gold);font-weight:800;text-align:center}
.learn-course-modal>h2{margin:4px 0 4px;text-align:center;color:var(--gold2);font:700 22px/1.12 var(--serif)}
.learn-modal-desc{margin:0 auto 12px;text-align:center;color:var(--muted);font-size:11px;line-height:1.45;max-width:400px}
.learn-modal-section{margin:9px 0;padding:11px 12px;border:1px solid rgba(212,175,55,.18);background:rgba(255,255,255,.022);border-radius:10px}
.learn-modal-section>.kicker,.learn-dealer-point>.kicker,.learn-related-training .kicker{font-size:8px;letter-spacing:.16em;color:var(--gold);font-weight:800}
.learn-modal-section ul{margin:7px 0 0;padding-left:17px}
.learn-modal-section li{margin:0 0 5px;color:#e7e4dc;font-size:10.5px;line-height:1.48}
.learn-modal-section li:last-child{margin-bottom:0}
.learn-dealer-point{margin:9px 0;padding:11px 12px;border-left:3px solid #d2a83d;background:linear-gradient(90deg,rgba(210,168,61,.12),rgba(210,168,61,.035));border-radius:4px 10px 10px 4px}
.learn-dealer-point p{margin:5px 0 0;font-size:10.5px;line-height:1.52;color:#f1ead8}
.learn-key-terms>div:last-child{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.learn-key-terms span{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;border:1px solid rgba(212,175,55,.28);background:#0d1210;color:#d9c99b;font-size:8px;font-weight:800;letter-spacing:.04em}
.learn-article-list{display:grid;gap:6px;margin-top:7px}
.learn-article-link{display:grid;grid-template-columns:1fr auto;gap:1px 8px;align-items:center;padding:8px 9px;border-radius:8px;border:1px solid rgba(212,175,55,.18);background:#090d0b;text-decoration:none}
.learn-article-link>span{grid-column:1;font-size:7px;color:#8e8a7f;letter-spacing:.13em;font-weight:800}
.learn-article-link>b{grid-column:1;color:#f1ead8;font-size:9.5px;line-height:1.3}
.learn-article-link>em{grid-column:2;grid-row:1/3;color:var(--gold2);font-style:normal;font-size:14px}
.learn-related-training{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:10px 0;padding:11px 12px;border:1px solid rgba(47,205,125,.35);background:linear-gradient(135deg,rgba(18,72,45,.26),rgba(8,14,11,.88));border-radius:10px}
.learn-related-training strong{display:block;margin-top:3px;color:#dcf6e7;font-size:11px}
.learn-related-training small{display:block;color:#87a592;font-size:8px;margin-top:2px}
.learn-related-training .btn{white-space:nowrap;font-size:9px;min-height:34px;padding:0 10px}
.learn-completed-btn{background:linear-gradient(180deg,#1f543a,#173c2b)!important;border-color:#48bd7c!important;color:#dff8e9!important}
.learn-uncomplete-btn{margin-top:6px;font-size:9px!important;opacity:.72}
.learn-course-modal>.modal-close{margin-top:6px}

@media(max-width:380px){
  .learn-next-card{grid-template-columns:1fr;padding:12px 13px;gap:8px}
  .learn-next-card .btn{width:100%}
  .learn-course-modal{padding:15px 13px 12px;max-height:90dvh}
  .learn-course-modal>h2{font-size:20px}
  .learn-related-training{grid-template-columns:1fr}
  .learn-related-training .btn{width:100%}
}

/* ======================================================================
   v1.11.3 — LAB REBUILD / TRAINING PATH
   ====================================================================== */
.lab-hero-v1113{min-height:154px;padding:18px 18px 15px}
.lab-hero-v1113 h1{font-size:31px;margin-top:2px}
.lab-hero-v1113 .subtle{max-width:290px;font-size:10px;line-height:1.6}
.lab-next-step{
  margin-top:10px;padding:15px 15px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
  background:
    radial-gradient(circle at 88% 18%,rgba(218,174,64,.18),transparent 34%),
    linear-gradient(145deg,rgba(12,47,31,.98),rgba(7,18,13,.98));
  border-color:rgba(225,184,74,.62);
}
.lab-next-copy{min-width:0}
.lab-next-copy>.kicker{font-size:8px;letter-spacing:.16em}
.lab-next-copy>small{display:block;margin-top:5px;color:#a58d55;font-size:7px;font-weight:900;letter-spacing:.12em}
.lab-next-copy h2{margin:3px 0 2px;color:#f1d277;font-family:var(--serif);font-size:19px;letter-spacing:.04em}
.lab-next-copy p{margin:0;color:#b7b1a4;font-size:9px;line-height:1.45}
.lab-next-start{min-width:92px;padding:11px 12px;font-size:9px;letter-spacing:.08em}
.lab-daily-compact{
  margin-top:8px;padding:10px 11px;display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;
  background:linear-gradient(145deg,rgba(18,27,22,.97),rgba(8,13,11,.98));
}
.lab-daily-flame{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(218,174,64,.28);border-radius:9px;background:rgba(218,174,64,.06);font-size:16px}
.lab-daily-copy{min-width:0}
.lab-daily-copy .kicker{font-size:6.8px;letter-spacing:.13em}
.lab-daily-copy strong{display:block;overflow:hidden;margin:2px 0;color:#e9d6a2;font-family:var(--serif);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.lab-daily-copy small{display:block;overflow:hidden;color:#88867f;font-size:7px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.lab-daily-compact>.btn{padding:8px 9px;font-size:7px;min-width:58px}
.lab-game-section{margin-top:17px}
.lab-game-head.holdem-section-title,.lab-game-head.blackjack-section-title{
  margin:0 0 9px;padding:0 2px 8px;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px;border-bottom:1px solid rgba(213,168,75,.18);
}
.lab-game-head>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}
.lab-game-suit{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid rgba(226,184,73,.38);background:linear-gradient(145deg,#163c28,#09150e);color:#e9c967;font-size:19px;box-shadow:inset 0 0 18px rgba(219,172,55,.05)}
.blackjack-lab-section .lab-game-suit{background:linear-gradient(145deg,#281e12,#100c09)}
.lab-game-head small{display:block;color:#9c8756!important;font-size:6.5px!important;font-weight:900;letter-spacing:.13em}
.lab-game-head h2{margin:2px 0 0;color:#f0d075;font-family:var(--serif);font-size:19px;letter-spacing:.05em;line-height:1}
.lab-game-progress{display:grid!important;grid-template-columns:auto auto!important;column-gap:5px!important;align-items:baseline!important;text-align:right;min-width:88px}
.lab-game-progress b{color:#f0cf6d;font-family:var(--serif);font-size:13px}
.lab-game-progress span{color:#8f8b80;font-size:5.7px;font-weight:900;letter-spacing:.08em}
.lab-game-progress em{grid-column:1/3;color:#bca25f;font-size:6px;font-style:normal;font-weight:900;letter-spacing:.07em}
.lab-path-block{margin-top:10px}
.lab-path-heading{display:flex;align-items:center;gap:9px;margin:0 2px 7px}
.lab-path-heading>div{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.lab-path-heading span{color:#d8bb6a;font-family:var(--serif);font-size:9px;font-weight:900;letter-spacing:.14em}
.lab-path-heading small{color:#6e706b;font-size:5.8px;font-weight:800;letter-spacing:.08em}
.lab-path-heading i{height:1px;flex:1;background:linear-gradient(90deg,rgba(213,168,75,.28),transparent)}
.lab-v1113-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lab-training-item{min-width:0;display:flex;flex-direction:column;gap:4px}
.lab-path-card.training-card{
  width:100%;min-height:147px;padding:11px 11px 12px;border-radius:14px;text-align:left;
  border-color:rgba(211,169,64,.34);background:
    radial-gradient(circle at 88% 8%,rgba(213,168,75,.09),transparent 31%),
    linear-gradient(150deg,#11321f,#09140e 72%);
  box-shadow:inset 0 1px rgba(255,255,255,.015);
}
.blackjack-item .lab-path-card.training-card{background:radial-gradient(circle at 88% 8%,rgba(213,168,75,.08),transparent 31%),linear-gradient(150deg,#251c11,#0d0b08 72%)}
.lab-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.lab-card-no{color:#8d7c52;font-family:var(--serif);font-size:9px;font-weight:900;letter-spacing:.12em}
.lab-card-status{padding:2px 5px;border:1px solid rgba(98,190,132,.28);border-radius:999px;color:#74ca91;background:rgba(37,111,64,.12);font-size:5.3px;font-weight:900;letter-spacing:.08em}
.lab-card-status.new{border-color:rgba(213,168,75,.25);color:#b8a064;background:rgba(213,168,75,.06)}
.lab-path-card.training-card .tc-icon{margin-top:6px;font-size:24px;line-height:1;color:#e7c662}
.lab-path-card.training-card h3{margin:6px 19px 2px 0;color:#efd278;font-size:12px;line-height:1.12;letter-spacing:.015em}
.lab-path-card.training-card>small{display:block;min-height:22px;color:#9b9a94;font-size:7.3px;line-height:1.4}
.lab-card-stats{margin-top:8px;padding-top:7px;border-top:1px solid rgba(213,168,75,.11);display:flex;align-items:center;justify-content:space-between;gap:6px}
.lab-card-stats b{overflow:hidden;color:#d7bb70;font-size:7px;letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap}
.lab-card-stats span{color:#716f68;font-size:5.7px;font-weight:800;white-space:nowrap}
.lab-path-card.training-card>.chev{right:9px;bottom:9px;font-size:15px}
.lab-review-link{
  width:100%;padding:6px 8px;display:grid;grid-template-columns:14px auto 1fr;gap:4px;align-items:center;text-align:left;
  border:1px solid rgba(213,168,75,.15);border-radius:9px;background:rgba(213,168,75,.025);color:#9a916f;
}
.lab-review-link span{color:#c4a554;font-size:8px}
.lab-review-link b{color:#bba35f;font-size:5.7px;letter-spacing:.08em;white-space:nowrap}
.lab-review-link small{overflow:hidden;color:#77756f;font-size:5.6px;text-overflow:ellipsis;white-space:nowrap}
.lab-final-challenge{
  margin-top:10px;padding:15px;position:relative;overflow:hidden;
  border-color:rgba(237,196,79,.72);background:
    radial-gradient(circle at 83% 10%,rgba(237,196,79,.22),transparent 28%),
    radial-gradient(circle at 15% 88%,rgba(24,95,58,.25),transparent 34%),
    linear-gradient(145deg,#153724,#0a140e 70%);
}
.lab-final-challenge::after{content:"FINAL";position:absolute;right:-5px;top:33px;color:rgba(224,183,69,.035);font-family:var(--serif);font-size:64px;font-weight:900;letter-spacing:.02em;transform:rotate(-8deg);pointer-events:none}
.lab-final-head{display:flex;gap:10px;align-items:center;position:relative;z-index:1}
.lab-final-head>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(232,191,78,.42);border-radius:13px;background:rgba(218,174,64,.08);font-size:23px}
.lab-final-head small{display:block;color:#ba9d51;font-size:6.5px;font-weight:900;letter-spacing:.13em}
.lab-final-head h2{margin:2px 0 0;color:#f4d77c;font-family:var(--serif);font-size:19px;letter-spacing:.04em}
.lab-final-challenge>p{position:relative;z-index:1;margin:9px 0;color:#a9a79f;font-size:8px;line-height:1.55}
.lab-final-standard{position:relative;z-index:1;margin:8px 0;padding:8px 9px;display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;border:1px solid rgba(213,168,75,.16);border-radius:10px;background:rgba(0,0,0,.17)}
.lab-final-standard span{color:#91876a;font-size:6px;font-weight:900;letter-spacing:.12em}
.lab-final-standard b{color:#e7c967;font-family:var(--serif);font-size:16px}
.lab-final-standard i{justify-self:end;color:#c9b06d;font-size:6.4px;font-style:normal;font-weight:900;letter-spacing:.07em}
.lab-final-performance{position:relative;z-index:1;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}
.lab-final-performance b{color:#e6c665;font-size:8px;letter-spacing:.06em}
.lab-final-performance span{color:#77756e;font-size:6px;font-weight:900}
.lab-final-challenge>.btn{position:relative;z-index:1;width:100%;padding:11px 12px;font-size:9px;letter-spacing:.08em}
.lab-review-link.final-review{position:relative;z-index:1;margin-top:5px;padding:7px 9px;background:rgba(0,0,0,.10)}
.blackjack-lab-section{margin-top:20px}
.blackjack-grid .lab-path-card.training-card{min-height:142px}
.lab-coming-title{margin-top:18px!important}
.lab-coming-title small{color:#77756e;font-size:6px;letter-spacing:.09em}
.lab-coming-list{grid-template-columns:1fr 1fr;gap:8px}
.lab-coming-list .coming-item{min-height:48px;padding:11px 12px;border-color:rgba(213,168,75,.16);opacity:.72}
@media(max-width:380px){
  .lab-next-step{padding:13px 12px;grid-template-columns:1fr auto}
  .lab-next-copy h2{font-size:17px}
  .lab-next-start{min-width:78px;padding-left:9px;padding-right:9px}
  .lab-game-head h2{font-size:17px}
  .lab-game-progress{min-width:80px}
  .lab-path-card.training-card{min-height:142px;padding:10px 9px 11px}
  .lab-path-card.training-card h3{font-size:11px}
  .lab-path-card.training-card>small{font-size:6.8px}
  .lab-card-stats b{font-size:6.4px}
  .lab-card-stats span{font-size:5.2px}
}
@media(max-width:345px){
  .lab-v1113-grid{grid-template-columns:1fr}
  .lab-path-card.training-card{min-height:128px}
  .lab-coming-list{grid-template-columns:1fr}
}

/* =========================================================
   v1.11.4 — MY REBUILD / DEALER PROFILE
   ========================================================= */
.my-v1114-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  margin:2px 2px 9px;padding:2px 2px 0;
}
.my-v1114-head h1{margin:1px 0 0;font-family:var(--serif);font-size:34px;line-height:1;color:var(--gold2);letter-spacing:.08em}
.my-v1114-head p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.my-head-level{min-width:62px;text-align:center;padding:7px 10px;border:1px solid rgba(213,168,75,.35);border-radius:13px;background:linear-gradient(180deg,rgba(29,40,33,.9),rgba(8,13,10,.94))}
.my-head-level small{display:block;color:#bda86e;font-size:7px;font-weight:900;letter-spacing:.16em}
.my-head-level strong{display:block;margin-top:1px;font-family:var(--serif);font-size:23px;line-height:1;color:var(--gold2)}
.my-tabbar{
  position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;
  margin:0 -2px 10px;padding:5px;border:1px solid rgba(213,168,75,.24);border-radius:14px;
  background:rgba(7,11,9,.95);backdrop-filter:blur(12px);box-shadow:0 7px 22px rgba(0,0,0,.3)
}
.my-tab{min-width:0;height:44px;border:0;border-radius:10px;background:transparent;color:#8f8c83;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 2px}
.my-tab span{font-size:12px;line-height:1}.my-tab b{font-family:var(--serif);font-size:8px;letter-spacing:.05em;white-space:nowrap}
.my-tab.active{color:#241a07;background:linear-gradient(180deg,#f0cf76,#b7812d);box-shadow:0 4px 14px rgba(213,168,75,.18)}
.my-tab-content{animation:myTabIn .18s ease both}@keyframes myTabIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

/* OVERVIEW */
.my-level-hero{position:relative;display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;min-height:106px;padding:13px 14px;overflow:hidden;background:radial-gradient(circle at 88% 20%,rgba(213,168,75,.12),transparent 32%),linear-gradient(145deg,#10291e,#0a120e 62%,#151207)}
.my-level-hero::after{content:"♠";position:absolute;right:-5px;bottom:-46px;font-size:132px;color:rgba(242,210,126,.035);font-family:var(--serif)}
.my-level-mark{width:68px;height:68px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid #d5a84b;background:radial-gradient(circle,#243d2f 0%,#0a120e 70%);box-shadow:inset 0 0 0 4px rgba(213,168,75,.07),0 0 24px rgba(213,168,75,.1)}
.my-level-mark span{font-size:6px;color:#ccb36f;letter-spacing:.16em;font-weight:900}.my-level-mark strong{font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold2)}
.my-level-main{min-width:0;position:relative;z-index:2}.my-level-main h2{margin:2px 0 5px;font-family:var(--serif);font-size:26px;color:#fff}.my-level-main h2 small{font-size:9px;color:#d2b86d;letter-spacing:.12em}.my-level-main p{margin:5px 0 0;color:#aba79b;font-size:8px}.my-level-main p b{color:#f0d17c}
.my-xp-track,.my-collection-track,.my-game-progress-track{height:5px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.my-xp-track i,.my-collection-track i,.my-game-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a67327,#f0d16f)}
.my-level-crown{position:absolute;right:14px;top:10px;color:rgba(242,210,126,.22);font-size:22px;z-index:1}
.my-overview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}
.my-overview-kpis>div{min-width:0;text-align:center;padding:9px 2px 8px;border:1px solid rgba(213,168,75,.18);border-radius:11px;background:linear-gradient(180deg,rgba(18,27,22,.94),rgba(8,13,10,.97))}
.my-overview-kpis small{display:block;color:#9f9b90;font-size:6px;letter-spacing:.07em}.my-overview-kpis strong{display:block;margin-top:3px;font-family:var(--serif);font-size:17px;color:#f5e5b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-overview-kpis em{font-size:8px;color:#a49b82;font-style:normal}
.my-section-heading{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:14px 2px 6px}.my-section-heading>div span{display:block;color:#e3c671;font-family:var(--serif);font-size:11px;letter-spacing:.08em;font-weight:800}.my-section-heading>div small{display:block;margin-top:1px;color:#76736c;font-size:6px;letter-spacing:.13em}.my-section-heading button{border:0;background:transparent;color:#bda45f;font-size:7px;font-weight:900;padding:5px 0}
.my-game-stack{display:grid;gap:7px}.my-game-card{width:100%;padding:11px 12px;text-align:left;color:inherit;overflow:hidden}.my-game-card.holdem{border-color:rgba(117,182,147,.38);background:linear-gradient(145deg,rgba(13,55,39,.76),rgba(7,15,11,.97) 70%)}.my-game-card.blackjack{background:linear-gradient(145deg,rgba(49,37,17,.5),rgba(9,13,10,.97) 70%)}
.my-game-title{display:grid;grid-template-columns:29px 1fr auto;gap:7px;align-items:center}.my-game-title>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(213,168,75,.36);color:var(--gold2);font-size:16px;background:rgba(0,0,0,.22)}.my-game-title small{display:block;color:#8b897f;font-size:6px;letter-spacing:.12em}.my-game-title h3{margin:1px 0 0;color:#f0d27e;font-family:var(--serif);font-size:14px;letter-spacing:.04em}.my-game-title>b{color:#d6b85f;font-size:19px}
.my-game-kpis{display:grid;grid-template-columns:.75fr .9fr 1.35fr;gap:5px;margin:9px 0 7px}.my-game-kpis>div{min-width:0;padding:6px 5px;border-radius:8px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.05)}.my-game-kpis strong{display:block;color:#f4e7c1;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-game-kpis small{display:block;margin-top:2px;color:#817e75;font-size:5.5px;letter-spacing:.05em}.my-game-card em{display:block;margin-top:4px;color:#89857c;font-size:6px;font-style:normal;letter-spacing:.07em}
.my-activity-panel{padding:4px 11px}.my-activity-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.my-activity-row:last-child{border-bottom:0}.my-activity-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(213,168,75,.08);border:1px solid rgba(213,168,75,.2);color:#e1c26b;font-size:11px}.my-activity-row div{min-width:0}.my-activity-row div b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-activity-row div small{display:block;margin-top:1px;color:#77756d;font-size:6.5px}.my-activity-row>strong{color:#f0d27e;font-family:var(--serif);font-size:10px;white-space:nowrap}
.my-empty-state{padding:16px 8px;text-align:center}.my-empty-state>span{display:block;color:#d4b358;font-size:24px}.my-empty-state>b{display:block;margin-top:3px;font-family:var(--serif);color:#efd27a}.my-empty-state>small{display:block;margin:4px 0 10px;color:#8d8a81;font-size:8px}.my-empty-state .btn{padding:8px 15px;font-size:8px}
.my-collection-teaser{width:100%;display:grid;grid-template-columns:38px 1fr 16px;gap:9px;align-items:center;margin-top:8px;padding:10px 12px;text-align:left;color:inherit}.my-collection-emblem{font-size:24px}.my-collection-teaser h3{margin:2px 0 5px;color:#f0d27e;font-family:var(--serif);font-size:12px}.my-collection-teaser small{display:block;margin-top:4px;color:#77736a;font-size:6px}.my-collection-teaser>b{color:#e0bd5e;font-size:20px}

/* STATS */
.my-stats-hero,.my-collection-hero,.my-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;margin-bottom:12px;background:radial-gradient(circle at 90% 15%,rgba(213,168,75,.12),transparent 33%),linear-gradient(145deg,#12251c,#0a100d)}
.my-stats-hero h2,.my-collection-hero h2,.my-settings-hero h2{margin:2px 0 2px;font-family:var(--serif);font-size:24px;color:#f0d17a}.my-stats-hero p,.my-collection-hero p,.my-settings-hero p{margin:0;color:#88857d;font-size:8px}.my-stats-overall{text-align:center;min-width:72px;padding:7px 9px;border-left:1px solid rgba(213,168,75,.22)}.my-stats-overall small{display:block;color:#908b7e;font-size:6px}.my-stats-overall strong{display:block;margin-top:2px;font-family:var(--serif);font-size:22px;color:#f3d57e}
.my-stats-gamehead{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:15px 2px 7px;padding-bottom:6px;border-bottom:1px solid rgba(213,168,75,.24)}.my-stats-gamehead>div:first-child{display:flex;align-items:center;gap:8px}.my-stats-gamehead>div:first-child>span{font-size:21px;color:#d8b85c}.my-stats-gamehead small{display:block;color:#77736a;font-size:6px;letter-spacing:.1em}.my-stats-gamehead h2{margin:1px 0 0;font-family:var(--serif);font-size:15px;color:#e9ca72}.my-stats-gamehead>div:last-child{text-align:right}.my-stats-gamehead>div:last-child b{display:block;color:#f2deb0;font-size:11px}.my-stats-gamehead>div:last-child small{font-size:6px}.my-stats-gamehead.holdem{border-color:rgba(94,167,126,.32)}
.my-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.my-skill-card{min-width:0;padding:10px;border-radius:13px;border:1px solid rgba(213,168,75,.2);background:linear-gradient(145deg,#111b16,#090e0b);overflow:hidden}.my-skill-card.holdem{border-color:rgba(89,159,119,.25)}.my-skill-card.untried{opacity:.72;filter:saturate(.7)}.my-skill-top{display:grid;grid-template-columns:24px 1fr auto;align-items:center}.my-skill-no{color:#a58d4d;font-size:7px;font-weight:900}.my-skill-icon{color:#d7b85e;font-size:13px}.my-skill-state{padding:2px 4px;border:1px solid rgba(116,220,66,.22);border-radius:99px;color:#7ec86a;font-size:5px}.my-skill-card.untried .my-skill-state{color:#88837a;border-color:rgba(255,255,255,.1)}.my-skill-card h3{margin:6px 0 1px;color:#f0d27a;font-family:var(--serif);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-skill-card p{height:21px;margin:0;color:#7e7b73;font-size:6.5px;line-height:1.5}.my-skill-score{display:flex;align-items:baseline;gap:4px;margin:6px 0}.my-skill-score strong{font-family:var(--serif);font-size:20px;color:#fff}.my-skill-score span{font-size:5.5px;color:#868178;letter-spacing:.08em}.my-skill-meta{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:3px}.my-skill-meta>span{min-width:0;padding-top:5px;border-top:1px solid rgba(255,255,255,.05)}.my-skill-meta small{display:block;color:#69675f;font-size:5px}.my-skill-meta b{display:block;margin-top:1px;color:#bfb7a5;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.my-breakdown-card{margin-top:8px;padding:11px 12px}.my-breakdown-card.holdem{border-color:rgba(90,158,119,.33)}.my-breakdown-title{display:flex;align-items:flex-end;justify-content:space-between;gap:9px}.my-breakdown-title h3{margin:2px 0 0;font-family:var(--serif);font-size:12px;color:#f0d17a}.my-breakdown-title>strong{color:#e5ce8c;font-family:var(--serif);font-size:11px;white-space:nowrap}.my-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.my-breakdown-grid>div{padding:8px;border-radius:9px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05)}.my-breakdown-grid small{display:block;color:#827f76;font-size:5.5px}.my-breakdown-grid strong{display:block;margin-top:2px;color:#f3e4bc;font-family:var(--serif);font-size:15px}.my-breakdown-grid span{display:block;color:#69665f;font-size:5px}.my-critical-line{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:7px 8px;border-radius:8px;background:rgba(116,23,23,.2);border:1px solid rgba(255,69,69,.16)}.my-critical-line span{color:#c99991;font-size:6.5px}.my-critical-line b{color:#ff8478;font-size:13px}.my-breakdown-card.compact{padding-bottom:10px}.my-detail-two{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.my-detail-two>div{padding:8px;border-radius:9px;background:rgba(0,0,0,.18)}.my-detail-two b{display:block;margin-bottom:4px;color:#d9bb68;font-size:7px}.my-detail-two span{display:block;padding:2px 0;color:#9d998e;font-size:6px}
.my-payout-bars{margin-top:8px}.my-payout-bar{display:grid;grid-template-columns:92px 1fr 33px;gap:6px;align-items:center;margin:6px 0}.my-payout-bar>span{color:#a6a196;font-size:6.5px}.my-payout-bar>div{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.my-payout-bar i{display:block;height:100%;background:linear-gradient(90deg,#a8792c,#e7c766)}.my-payout-bar>b{color:#e9d69e;font-size:7px;text-align:right}.my-analysis-note{margin:7px 0 0;color:#67655f;font-size:6px;line-height:1.5}

/* COLLECTION */
.my-collection-hero{display:grid;grid-template-columns:40px 1fr auto}.my-big-trophy{font-size:28px}.my-collection-total{text-align:right}.my-collection-total strong{font-family:var(--serif);font-size:25px;color:#f0d27b}.my-collection-total span{font-size:9px;color:#9d9787}.my-collection-total small{display:block;color:#7f7b72;font-size:5.5px}.my-v1114-collection{margin-top:8px}.my-v1114-collection:first-of-type{border-color:rgba(91,163,121,.32)}

/* SETTINGS */
.my-settings-hero>span{font-size:31px;color:#c6a953}.my-settings-heading{margin:14px 3px 6px;color:#bda45f;font-family:var(--serif);font-size:9px;letter-spacing:.12em}.my-v1114-protect{margin:0}.my-v1114-settings{margin-top:0}

@media (max-width:365px){
  .my-tab b{font-size:7px}.my-tab{gap:2px}.my-v1114-head p{font-size:9px}.my-game-kpis{grid-template-columns:.72fr .9fr 1.38fr}.my-game-kpis strong{font-size:9px}.my-skill-card{padding:9px 8px}.my-skill-card h3{font-size:9px}.my-skill-score strong{font-size:18px}.my-payout-bar{grid-template-columns:82px 1fr 30px}
}

/* v1.12.0 · XP SYSTEM v2 */
.xp-v2-result-card{margin-top:12px;padding:14px 14px 13px;overflow:hidden;position:relative}
.xp-v2-result-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0%,rgba(218,177,79,.12),transparent 42%);pointer-events:none}
.xp-v2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;position:relative}
.xp-v2-head>div{display:flex;flex-direction:column;gap:2px}
.xp-v2-head small{font-size:9px;letter-spacing:.13em;color:var(--muted)}
.xp-v2-head strong{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1;color:var(--gold-2,var(--gold));font-weight:800}
.xp-v2-head b{font-size:15px;color:#fff;letter-spacing:.04em}
.xp-v2-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:5px;margin-top:11px;position:relative}
.xp-v2-breakdown span{display:flex;min-width:0;flex-direction:column;gap:2px;border:1px solid rgba(211,174,86,.26);border-radius:8px;padding:7px 6px;background:rgba(0,0,0,.2)}
.xp-v2-breakdown small{font-size:7px;letter-spacing:.09em;color:var(--muted);white-space:nowrap}
.xp-v2-breakdown b{font-size:11px;color:#f3d681;white-space:nowrap}
.xp-v2-progress{margin-top:10px;position:relative}
.xp-v2-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:var(--muted);letter-spacing:.04em}
.xp-v2-progress>div:first-child b{color:#e8d08c;font-weight:700}
.xp-v2-track{height:6px!important;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(211,174,86,.2)}
.xp-v2-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f6926,#e3bf65,#f6dfa0);box-shadow:0 0 12px rgba(227,191,101,.32)}
@media(max-width:380px){
  .xp-v2-result-card{padding:11px 10px}
  .xp-v2-head strong{font-size:21px}
  .xp-v2-breakdown{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:4px}
  .xp-v2-breakdown span{padding:6px 5px}
}

/* v1.12.1 · BADGE COLLECTION */
.general-achievement-panel{border-color:rgba(213,168,75,.34)!important}
.holdem-achievement-panel{border-color:rgba(91,163,121,.38)!important}
.blackjack-achievement-panel{border-color:rgba(181,145,67,.30)!important}
.general-achievement-panel .achievement-master-emblem{color:#f1d276}
.holdem-achievement-panel .achievement-master-emblem{color:#7fc793;border-color:rgba(91,163,121,.55)}
.blackjack-achievement-panel .achievement-master-emblem{color:#e5bd63}

/* v1.12.2 · DEALER RANK */
.dealer-rank-card{--rank-accent:#d7ba6a;--rank-soft:rgba(215,186,106,.13);position:relative;overflow:hidden}
.dealer-rank-card.rank-rookie,.dealer-profile-rank.rank-rookie,.level-up-modal.rank-rookie,.my-head-level.rank-rookie{--rank-accent:#c7c2b4;--rank-soft:rgba(199,194,180,.12)}
.dealer-rank-card.rank-junior,.dealer-profile-rank.rank-junior,.level-up-modal.rank-junior,.my-head-level.rank-junior{--rank-accent:#d6a15c;--rank-soft:rgba(214,161,92,.13)}
.dealer-rank-card.rank-dealer,.dealer-profile-rank.rank-dealer,.level-up-modal.rank-dealer,.my-head-level.rank-dealer{--rank-accent:#85c795;--rank-soft:rgba(133,199,149,.12)}
.dealer-rank-card.rank-advanced,.dealer-profile-rank.rank-advanced,.level-up-modal.rank-advanced,.my-head-level.rank-advanced{--rank-accent:#82b9d8;--rank-soft:rgba(130,185,216,.12)}
.dealer-rank-card.rank-elite,.dealer-profile-rank.rank-elite,.level-up-modal.rank-elite,.my-head-level.rank-elite{--rank-accent:#bd91db;--rank-soft:rgba(189,145,219,.13)}
.dealer-rank-card.rank-master,.dealer-profile-rank.rank-master,.level-up-modal.rank-master,.my-head-level.rank-master{--rank-accent:#f0cf69;--rank-soft:rgba(240,207,105,.16)}
.dealer-rank-card{border-color:color-mix(in srgb,var(--rank-accent) 48%,transparent);background:radial-gradient(circle at 10% 50%,var(--rank-soft),transparent 32%),linear-gradient(145deg,#111c16,#080d0a 72%)}
.dealer-rank-emblem{color:var(--rank-accent)!important;border-color:color-mix(in srgb,var(--rank-accent) 42%,transparent)!important;box-shadow:0 0 18px var(--rank-soft)}
.dealer-rank-card .home-level-copy b{color:var(--rank-accent);font-size:14px;letter-spacing:.045em}
.dealer-rank-card .home-level-copy span{display:block;margin-top:2px}
.dealer-rank-card .home-level-copy em{display:block;margin-top:5px;color:#8d887d;font-size:6.5px;font-style:normal;font-weight:800;letter-spacing:.04em}
.home-rank-track{height:4px;margin-top:6px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.07)}
.home-rank-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--rank-accent) 62%,#71541c),var(--rank-accent));box-shadow:0 0 8px var(--rank-soft)}
.dealer-profile-rank{--rank-accent:#d7ba6a;--rank-soft:rgba(215,186,106,.13);border-color:color-mix(in srgb,var(--rank-accent) 40%,transparent)!important;background:radial-gradient(circle at 88% 20%,var(--rank-soft),transparent 33%),linear-gradient(145deg,#10291e,#0a120e 62%,#151207)!important}
.dealer-profile-rank .my-level-mark{border-color:var(--rank-accent);box-shadow:inset 0 0 0 4px var(--rank-soft),0 0 24px var(--rank-soft)}
.dealer-profile-rank .my-level-main h2{color:var(--rank-accent);font-size:20px;letter-spacing:.035em}
.dealer-profile-rank .my-level-crown{color:color-mix(in srgb,var(--rank-accent) 62%,transparent)}
.my-rank-xp-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 6px}
.my-rank-xp-line b{color:#f3e4bb;font-family:var(--serif);font-size:12px}.my-rank-xp-line span{color:#8f8a7f;font-size:6.5px;white-space:nowrap}
.dealer-rank-path{margin-top:8px;padding:11px 12px;overflow:hidden}
.dealer-rank-path-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.dealer-rank-path-head h3{margin:2px 0 0;color:#efd17b;font-family:var(--serif);font-size:12px}.dealer-rank-path-head>strong{color:#dbc06f;font-size:9px;white-space:nowrap}
.dealer-rank-path-track{height:5px;margin:9px 0 8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.dealer-rank-path-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c622a,#e6c563);box-shadow:0 0 10px rgba(230,197,99,.22)}
.dealer-rank-ladder{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.dealer-rank-step{min-width:0;padding:5px 2px 4px;text-align:center;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(0,0,0,.14);opacity:.42}
.dealer-rank-step.reached{opacity:.78;border-color:rgba(213,168,75,.16)}.dealer-rank-step.current{opacity:1;border-color:rgba(238,202,105,.54);background:rgba(213,168,75,.09);box-shadow:inset 0 0 0 1px rgba(213,168,75,.06)}
.dealer-rank-step span{display:block;color:#b9b19e;font-size:10px;line-height:1}.dealer-rank-step.reached span,.dealer-rank-step.current span{color:#e9ca72}.dealer-rank-step b{display:block;margin-top:3px;color:#9a968b;font-size:5.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dealer-rank-step.current b{color:#f0d27b}.dealer-rank-step small{display:block;margin-top:1px;color:#65635e;font-size:4.8px;white-space:nowrap}
.my-head-level{--rank-accent:#d7ba6a}.my-head-level small{color:var(--rank-accent)}.my-head-level strong{color:var(--rank-accent)}
.xp-v2-rank{text-align:right;align-items:flex-end!important}.xp-v2-rank b{color:#f0d17a!important;font-size:11px!important;max-width:150px;text-align:right}.xp-v2-rank em{color:#8e8a80;font-size:7px;font-style:normal;font-weight:800;letter-spacing:.05em}
.xp-v2-next-rank{display:block;margin-top:5px;color:#817d74;font-size:6.5px;letter-spacing:.04em;text-align:right}
.rank-up-modal{--rank-accent:#f0cf69;--rank-soft:rgba(240,207,105,.18);border-color:color-mix(in srgb,var(--rank-accent) 72%,transparent)!important;background:radial-gradient(circle at 50% 8%,var(--rank-soft),transparent 42%),linear-gradient(180deg,#16231a 0%,#070c09 100%)!important;box-shadow:0 24px 74px rgba(0,0,0,.7),0 0 54px var(--rank-soft)!important}
.rank-up-modal .level-up-crown{color:#171007;background:radial-gradient(circle at 38% 30%,#fff6c6,var(--rank-accent) 55%,#7d5e1e 100%);box-shadow:0 0 0 7px var(--rank-soft),0 0 42px var(--rank-soft)}
.rank-up-modal h2{font-size:30px!important}.rank-up-title{margin:2px auto 7px;color:var(--rank-accent);font:900 22px var(--serif);letter-spacing:.06em;text-shadow:0 0 18px var(--rank-soft)}
.rank-up-modal .level-up-route{color:var(--rank-accent);border-color:color-mix(in srgb,var(--rank-accent) 32%,transparent);background:var(--rank-soft)}
@media(max-width:380px){
  .dealer-rank-card .home-level-copy b{font-size:12px}.dealer-rank-card .home-level-copy em{font-size:6px}.dealer-rank-ladder{gap:2px}.dealer-rank-step{padding-left:1px;padding-right:1px}.dealer-rank-step b{font-size:5px}.dealer-profile-rank .my-level-main h2{font-size:18px}.my-rank-xp-line span{font-size:6px}.xp-v2-rank b{font-size:10px!important;max-width:126px}
}

/* =========================================================
   v1.12.3 — CONNECTED PROGRESSION JOURNEY
   RESULT → XP / RANK / BADGE → NEXT TRAINING → HOME / LAB / MY
   ========================================================= */
.result-progression-bridge{
  margin-top:9px;padding:12px;overflow:hidden;position:relative;
  border-color:rgba(219,180,79,.38);background:
    radial-gradient(circle at 92% 0%,rgba(213,168,75,.12),transparent 34%),
    linear-gradient(145deg,#10261a,#09110d 70%);
}
.result-progression-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(213,168,75,.12)}
.result-progression-head h3{margin:2px 0 0;color:#ecd079;font-family:var(--serif);font-size:13px;line-height:1.2}
.result-progression-head>button{padding:4px 0;border:0;background:none;color:#c7aa5c;font-size:6.5px;font-weight:900;letter-spacing:.07em;white-space:nowrap}
.progression-mini-kicker{color:#927f50;font-size:6px;font-weight:900;letter-spacing:.14em}
.progression-new-badges{display:grid;gap:5px;margin-top:8px}
.progression-earned-badge{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;text-align:left;padding:8px 9px;border:1px solid rgba(213,168,75,.22);border-radius:11px;background:rgba(0,0,0,.16);color:#ddd}
.progression-earned-badge>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(231,194,92,.36);background:rgba(213,168,75,.08);color:#edce72;font:900 13px var(--serif)}
.progression-earned-badge b{display:block;color:#f0d27a;font:900 9px var(--serif);letter-spacing:.03em}.progression-earned-badge small{display:block;margin-top:2px;color:#858077;font-size:5.8px;letter-spacing:.06em}.progression-earned-badge em{padding:3px 6px;border-radius:999px;background:#b4862f;color:#0a0b09;font-size:5.6px;font-style:normal;font-weight:1000;letter-spacing:.08em}
.progression-earned-badge.platinum,.progression-earned-badge.diamond{border-color:rgba(236,211,132,.42);box-shadow:inset 0 0 20px rgba(236,211,132,.035)}
.progression-next-badge{margin-top:8px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(213,168,75,.15);border-radius:10px;background:rgba(0,0,0,.12)}
.progression-next-badge b{display:block;margin-top:2px;color:#d8bd70;font:900 9px var(--serif)}.progression-next-badge small{display:block;margin-top:2px;color:#79766e;font-size:5.8px;line-height:1.35}.progression-next-badge>strong{flex:0 0 auto;color:#ead079;font-size:7px;text-align:right;white-space:nowrap}
.progression-next-line{margin-top:6px;padding:6px 8px;display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;border-radius:8px;background:rgba(213,168,75,.035)}
.progression-next-line span{color:#8d7d55;font-size:5.4px;font-weight:900;letter-spacing:.1em}.progression-next-line b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9ad62;font-size:7px}.progression-next-line em{color:#827c6d;font-size:5.7px;font-style:normal;white-space:nowrap}
.progression-next-training{margin-top:8px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(91,163,121,.22);border-radius:11px;background:linear-gradient(135deg,rgba(26,92,56,.12),rgba(0,0,0,.12))}
.progression-next-training small{display:block;margin-top:2px;color:#6d8876;font-size:5.6px;font-weight:900;letter-spacing:.08em}.progression-next-training b{display:block;margin-top:2px;color:#e8ca72;font:900 11px var(--serif)}.progression-next-training p{margin:2px 0 0;color:#89867e;font-size:6px;line-height:1.3}.progression-next-training .btn{min-width:78px;padding:9px 10px;font-size:7px;white-space:nowrap}

.home-next-badge-card{width:100%;margin-top:8px;padding:10px 12px;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;text-align:left;background:radial-gradient(circle at 8% 50%,rgba(211,168,75,.12),transparent 28%),linear-gradient(145deg,#17170f,#0b100c)}
.home-next-badge-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(229,194,99,.38);background:rgba(213,168,75,.07);color:#eacb70;font:900 12px var(--serif)}
.home-next-badge-card small{display:block;color:#8f7c4e;font-size:5.8px;font-weight:900;letter-spacing:.13em}.home-next-badge-card b{display:block;margin-top:2px;color:#e4c66e;font:900 9px var(--serif);letter-spacing:.025em}.home-next-badge-card span{display:block;margin-top:2px;color:#7d796f;font-size:6px}.home-next-badge-card em{color:#bda257;font-size:6px;font-style:normal;font-weight:900;white-space:nowrap}.home-next-badge-card.complete{border-color:rgba(236,203,103,.45)}

.lab-card-status.mastered{border-color:rgba(234,203,105,.48);color:#f0d478;background:rgba(213,168,75,.10);box-shadow:0 0 9px rgba(213,168,75,.07)}
.lab-training-item.is-mastered .lab-path-card.training-card{border-color:rgba(223,185,84,.48);box-shadow:inset 0 0 0 1px rgba(223,185,84,.05),0 0 16px rgba(213,168,75,.035)}
.lab-master-badge{margin-top:6px;padding:5px 6px;display:flex;align-items:center;gap:5px;border-radius:7px;background:rgba(213,168,75,.055);color:#aa9458;font-size:5.5px;font-weight:900;letter-spacing:.045em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lab-master-badge span{flex:0 0 auto;color:#e8c968;font-size:7px}

.my-collection-teaser small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:380px){
  .result-progression-bridge{padding:10px}.result-progression-head h3{font-size:12px}.result-progression-head>button{font-size:6px}.progression-earned-badge{grid-template-columns:30px 1fr auto;padding:7px}.progression-earned-badge>span{width:28px;height:28px;font-size:11px}.progression-next-training{gap:7px;padding:8px}.progression-next-training .btn{min-width:68px;padding:8px 7px;font-size:6.5px}.home-next-badge-card{padding:9px 10px;grid-template-columns:30px 1fr auto;gap:7px}.home-next-badge-icon{width:29px;height:29px}.home-next-badge-card b{font-size:8px}.home-next-badge-card em{font-size:5.5px}.lab-master-badge{font-size:5px}
}
.lab-final-mastered{position:relative;z-index:1;margin:7px 0 0;padding:6px 8px;display:flex;align-items:center;gap:6px;border:1px solid rgba(234,203,105,.30);border-radius:9px;background:rgba(213,168,75,.07)}
.lab-final-mastered span{color:#efd06f;font-size:9px}.lab-final-mastered b{color:#efd477;font-size:6.5px;letter-spacing:.08em}.lab-final-mastered small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#96845a;font-size:5.7px}

/* v1.13.0 EXAM RESULT REVEAL */
body.exam-result-reveal-active{overflow:hidden!important;touch-action:manipulation}
.exam-reveal-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;overflow:hidden;background:#070907;color:#f5eedb;opacity:0;transition:opacity .22s ease;font-family:var(--sans);isolation:isolate}
.exam-reveal-overlay.is-live{opacity:1}
.exam-reveal-overlay.is-closing{opacity:0}
.exam-reveal-overlay::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 50% 32%,rgba(198,158,65,.19),transparent 44%),linear-gradient(180deg,#0b0d0b 0%,#050605 100%)}
.exam-reveal-overlay.game-holdem::before{background:radial-gradient(circle at 50% 30%,rgba(18,115,74,.30),transparent 46%),radial-gradient(circle at 50% 64%,rgba(214,176,73,.11),transparent 46%),linear-gradient(180deg,#07130e 0%,#030806 100%)}
.exam-reveal-overlay.game-blackjack::before{background:radial-gradient(circle at 50% 30%,rgba(145,34,34,.27),transparent 46%),radial-gradient(circle at 50% 66%,rgba(214,176,73,.12),transparent 48%),linear-gradient(180deg,#140707 0%,#080303 100%)}
.exam-reveal-overlay.tier-fail::before{filter:saturate(.55)}
.exam-reveal-glow{position:absolute;left:50%;top:27%;width:min(92vw,480px);height:min(92vw,480px);transform:translate(-50%,-50%) scale(.7);border-radius:50%;background:radial-gradient(circle,rgba(236,196,91,.18),rgba(236,196,91,.04) 42%,transparent 68%);opacity:0;transition:opacity .8s ease,transform 1.1s cubic-bezier(.2,.8,.2,1);z-index:-1}
.stage-verdict .exam-reveal-glow{opacity:1;transform:translate(-50%,-50%) scale(1)}
.exam-reveal-inner{width:min(92vw,430px);max-height:100dvh;padding:22px 16px calc(18px + env(safe-area-inset-bottom));display:grid;justify-items:center;align-content:center;text-align:center;box-sizing:border-box}
.exam-reveal-game{font-family:var(--serif);font-size:11px;letter-spacing:.22em;color:#d9b858;margin-bottom:5px;opacity:0;transform:translateY(8px);transition:.45s ease}
.exam-reveal-complete{font-family:var(--serif);font-size:clamp(27px,8.5vw,42px);font-weight:800;letter-spacing:.04em;line-height:1;color:#f5e7b7;text-shadow:0 0 24px rgba(222,183,82,.18);opacity:0;transform:scale(.94);transition:.5s cubic-bezier(.2,.8,.2,1)}
.is-live .exam-reveal-game,.is-live .exam-reveal-complete{opacity:1;transform:none}
.exam-reveal-divider{display:flex;align-items:center;gap:8px;width:min(74vw,300px);margin:10px 0 8px;color:#b8943d;opacity:.75}.exam-reveal-divider i{height:1px;flex:1;background:linear-gradient(90deg,transparent,#8d712e)}.exam-reveal-divider i:last-child{background:linear-gradient(90deg,#8d712e,transparent)}.exam-reveal-divider span{font-size:8px}
.exam-reveal-score-wrap{opacity:0;transform:translateY(9px);transition:.38s ease}.stage-score .exam-reveal-score-wrap{opacity:1;transform:none}
.exam-reveal-score-wrap>small{display:block;font-size:8px;letter-spacing:.18em;color:rgba(245,238,219,.52)}
.exam-reveal-score{display:flex;align-items:flex-end;justify-content:center;line-height:.9;margin-top:2px}.exam-reveal-score strong{font-family:var(--serif);font-size:clamp(58px,18vw,86px);font-weight:800;color:#f0cf72;text-shadow:0 0 28px rgba(227,183,67,.20)}.exam-reveal-score em{font-style:normal;font-family:var(--serif);font-size:16px;color:#b99a4b;margin:0 0 8px 3px}
.exam-reveal-critical{display:inline-flex;gap:6px;align-items:center;margin-top:7px;padding:5px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;font-size:8px;letter-spacing:.06em}.exam-reveal-critical.ok{color:#9edcaf;border-color:rgba(82,189,110,.28)}.exam-reveal-critical.ng{color:#f1a0a0;border-color:rgba(210,77,77,.35)}
.exam-reveal-verdict{margin-top:10px;opacity:0;transform:scale(.72);transition:.48s cubic-bezier(.22,1.2,.36,1)}.stage-verdict .exam-reveal-verdict{opacity:1;transform:scale(1)}
.exam-reveal-verdict small{font-size:8px;letter-spacing:.18em;color:rgba(245,238,219,.54)}.exam-reveal-verdict h1{margin:2px 0 3px;font-family:var(--serif);font-size:clamp(38px,12vw,62px);line-height:.95;letter-spacing:.03em;color:#ecd071;text-shadow:0 0 30px rgba(229,186,72,.28)}.exam-reveal-verdict p{margin:0;font-size:9px;letter-spacing:.06em;color:rgba(245,238,219,.70)}
.tier-fail .exam-reveal-verdict h1{font-size:clamp(31px,9.5vw,48px);color:#dba0a0;text-shadow:0 0 24px rgba(185,68,68,.18)}
.tier-perfect .exam-reveal-verdict h1{color:#fff0aa;text-shadow:0 0 15px rgba(255,223,116,.65),0 0 40px rgba(225,177,49,.34)}
.exam-reveal-characters{width:100%;margin-top:13px;display:grid;grid-template-columns:104px 1fr;gap:9px;align-items:center;opacity:0;transform:translateY(14px);transition:.48s ease}.stage-characters .exam-reveal-characters{opacity:1;transform:none}
.exam-reveal-pair{width:104px;height:74px;border-radius:13px;border:1px solid rgba(218,180,76,.30);background:url('./assets/hero-pair.jpg') center/cover no-repeat;box-shadow:inset 0 0 20px rgba(0,0,0,.28),0 8px 24px rgba(0,0,0,.24)}
.exam-reveal-dialogues{display:grid;gap:5px;text-align:left}.exam-reveal-dialogues>div{position:relative;padding:7px 8px 7px 9px;border:1px solid rgba(218,180,76,.18);border-radius:9px;background:rgba(7,9,7,.72);backdrop-filter:blur(8px)}.exam-reveal-dialogues b{display:block;font-family:var(--serif);font-size:7px;letter-spacing:.12em;color:#d9b858;margin-bottom:2px}.exam-reveal-dialogues span{display:block;font-size:8px;line-height:1.45;color:#f0eadb}
.exam-reveal-continue{margin-top:12px;min-width:190px;height:40px;border:1px solid rgba(232,196,94,.48);border-radius:999px;background:linear-gradient(180deg,#b8892e,#745013);box-shadow:0 7px 24px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.20);color:#fff7dc;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:0;transform:translateY(8px);pointer-events:none;transition:.35s ease}.stage-ready .exam-reveal-continue{opacity:1;transform:none;pointer-events:auto}
.exam-reveal-skip{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:2;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.28);color:rgba(255,255,255,.62);font-size:8px;letter-spacing:.12em}
.exam-reveal-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s ease}.tier-s.stage-verdict .exam-reveal-particles,.tier-perfect.stage-verdict .exam-reveal-particles{opacity:1}.exam-reveal-particles i{position:absolute;left:calc(var(--x) * 1%);top:-8%;width:5px;height:9px;border-radius:1px;background:#dcb64e;animation:examRevealFall 2.8s calc((var(--i) % 7) * .11s) linear infinite}.exam-reveal-particles i:nth-child(3n){background:#f5e5a3;transform:rotate(45deg)}.exam-reveal-particles i:nth-child(4n){background:#ad7f28;width:4px;height:4px;border-radius:50%}.game-holdem .exam-reveal-particles i:nth-child(5n){background:#5bbd82}.game-blackjack .exam-reveal-particles i:nth-child(5n){background:#b74343}
@keyframes examRevealFall{0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}12%{opacity:1}100%{transform:translate3d(var(--drift),112vh,0) rotate(540deg);opacity:.2}}
@media(max-height:720px){.exam-reveal-inner{padding-top:12px;padding-bottom:12px}.exam-reveal-score strong{font-size:54px}.exam-reveal-characters{margin-top:8px}.exam-reveal-pair{height:64px}.exam-reveal-dialogues span{font-size:7px}.exam-reveal-continue{margin-top:8px;height:36px}}
@media(max-width:360px){.exam-reveal-characters{grid-template-columns:88px 1fr}.exam-reveal-pair{width:88px;height:68px}.exam-reveal-inner{padding-left:11px;padding-right:11px}}
@media(prefers-reduced-motion:reduce){.exam-reveal-overlay *{animation:none!important;transition:none!important}.exam-reveal-particles{display:none!important}}

/* ================================================================
   v1.13.1 — EXAM PASS CARD / PASS RECORDS
   ================================================================ */
.exam-pass-card{
  position:relative;overflow:hidden;box-sizing:border-box;margin:10px 0;padding:14px 14px 11px;
  border:1px solid rgba(230,194,92,.55);border-radius:16px;
  background:linear-gradient(145deg,rgba(13,24,18,.98),rgba(4,8,6,.99) 64%,rgba(31,22,6,.96));
  box-shadow:0 12px 34px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.025);
  color:#f4ead0;isolation:isolate
}
.exam-pass-card.blackjack{background:linear-gradient(145deg,rgba(43,12,12,.98),rgba(9,5,5,.99) 64%,rgba(35,24,6,.96));border-color:rgba(221,173,69,.58)}
.exam-pass-card::before,.exam-pass-card::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.exam-pass-card::before{width:180px;height:180px;right:-74px;top:-92px;border-radius:50%;border:1px solid rgba(226,191,87,.16);box-shadow:0 0 0 14px rgba(226,191,87,.025),0 0 0 29px rgba(226,191,87,.018)}
.exam-pass-card::after{inset:5px;border:1px solid rgba(232,203,118,.09);border-radius:12px}
.exam-pass-card-shine{position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 76% 18%,rgba(242,202,93,.14),transparent 29%),linear-gradient(105deg,transparent 31%,rgba(255,239,180,.035) 49%,transparent 63%)}
.exam-pass-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:7px;border-bottom:1px solid rgba(224,189,88,.20);font-family:var(--serif);letter-spacing:.13em}
.exam-pass-card-head span{font-size:9px;color:#e5c46f}.exam-pass-card-head b{font-size:6px;color:#9d8952}
.exam-pass-card-game{margin-top:10px;padding-right:105px;text-align:left}.exam-pass-card-game small{display:block;color:#8e876f;font-size:6px;letter-spacing:.14em}.exam-pass-card-game h3{margin:2px 0 0;font-family:var(--serif);font-size:18px;line-height:1;color:#f0d680;letter-spacing:.04em}
.exam-pass-card-seal{position:absolute;right:15px;top:46px;width:76px;height:76px;display:grid;place-content:center;text-align:center;border:2px solid #d6af4c;border-radius:50%;box-shadow:0 0 0 4px rgba(214,175,76,.075),inset 0 0 18px rgba(225,188,81,.10);transform:rotate(-5deg)}
.exam-pass-card-seal::before{content:"";position:absolute;inset:5px;border:1px dashed rgba(232,199,103,.42);border-radius:50%}.exam-pass-card-seal span{font-family:var(--serif);font-weight:900;font-size:16px;color:#f0d679;letter-spacing:.08em;line-height:1}.exam-pass-card-seal em{margin-top:4px;color:#fff0b5;font-size:8px;font-style:normal;font-weight:800;letter-spacing:.12em}
.exam-pass-card-score{margin-top:10px;text-align:left}.exam-pass-card-score small{display:block;font-size:6px;color:#817b68;letter-spacing:.16em}.exam-pass-card-score strong{font-family:var(--serif);font-size:37px;line-height:.95;color:#fff0b4}.exam-pass-card-score strong em{font-size:11px;font-style:normal;color:#b99d55;margin-left:3px}
.exam-pass-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:11px}.exam-pass-card-grid>div{min-width:0;padding:6px 5px;border:1px solid rgba(226,191,87,.13);border-radius:8px;background:rgba(0,0,0,.20);text-align:left}.exam-pass-card-grid small{display:block;color:#766f5c;font-size:5px;letter-spacing:.08em}.exam-pass-card-grid b{display:block;margin-top:2px;color:#e8d7a8;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exam-pass-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:10px;padding-top:7px;border-top:1px solid rgba(224,189,88,.12);text-align:left}.exam-pass-card-foot span{font-family:var(--serif);font-size:6px;color:#b59a50;letter-spacing:.08em}.exam-pass-card-foot small{max-width:190px;text-align:right;color:#67645b;font-size:4.7px;line-height:1.35}
.my-exam-record-heading{margin-top:15px}.my-exam-record-stack{display:grid;gap:7px}.my-exam-record{position:relative;width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:10px 11px;text-align:left;color:inherit;overflow:hidden}.my-exam-record.holdem{border-color:rgba(91,177,127,.34);background:linear-gradient(145deg,rgba(12,55,38,.70),rgba(6,14,10,.98) 72%)}.my-exam-record.blackjack{background:linear-gradient(145deg,rgba(57,20,18,.54),rgba(11,8,6,.98) 72%)}
.my-exam-record-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(221,184,78,.30);border-radius:50%;font-family:var(--serif);font-size:16px;color:#e5c86f;background:rgba(0,0,0,.22)}.my-exam-record-main{min-width:0}.my-exam-record-main>small,.my-exam-record.locked>div:nth-child(2)>small{display:block;color:#8c866f;font-size:5.5px;letter-spacing:.10em}.my-exam-record h3{margin:1px 0 5px;font-family:var(--serif);font-size:12px;color:#e9d187}.my-exam-record-kpis{display:grid;grid-template-columns:1.1fr .55fr 1fr;gap:4px}.my-exam-record-kpis span{min-width:0}.my-exam-record-kpis b{display:block;color:#eee1bd;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-exam-record-kpis small{display:block;margin-top:1px;color:#6f6c62;font-size:4.5px;letter-spacing:.05em}.my-exam-record>em{color:#bd9e4a;font-size:6px;font-style:normal;white-space:nowrap}.my-exam-record.locked{opacity:.76}.my-exam-record.locked p{margin:2px 0 0;color:#77736a;font-size:6px}.my-exam-record.locked button{padding:5px 7px;border:1px solid rgba(203,168,76,.22);border-radius:999px;background:transparent;color:#a68c4d;font-size:5px}
.exam-pass-modal{z-index:1400}.exam-pass-modal-box{position:relative;width:min(94vw,440px);max-height:min(92dvh,760px);overflow:auto;padding:14px;background:linear-gradient(180deg,#10120f,#070807);border-color:rgba(220,182,77,.42)}.exam-pass-modal-box>.kicker{text-align:center;margin:2px 0 5px}.exam-pass-modal-box .exam-pass-card{margin:7px 0}.exam-pass-record-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 0 10px}.exam-pass-record-meta>span{padding:7px 4px;border:1px solid rgba(218,180,76,.13);border-radius:8px;background:rgba(0,0,0,.18);text-align:center}.exam-pass-record-meta small{display:block;color:#716c5e;font-size:5px}.exam-pass-record-meta b{display:block;margin-top:2px;color:#e7d7aa;font-size:7px}.exam-pass-modal-box>.btn{width:100%;margin-top:2px}
@media(max-width:360px){.exam-pass-card{padding-left:11px;padding-right:11px}.exam-pass-card-game{padding-right:91px}.exam-pass-card-seal{right:12px;width:68px;height:68px}.exam-pass-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-exam-record{grid-template-columns:34px 1fr}.my-exam-record>em{grid-column:2;text-align:right}.my-exam-record-kpis{grid-template-columns:1fr .5fr .9fr}}
.exam-pass-card-seal em{display:block}


/* ================================================================
   v1.13.2 — EXAM PROGRESSION CEREMONY
   ================================================================ */
.exam-progression-overlay{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;overflow:hidden;background:#060806;color:#f4ecd6;opacity:0;transition:opacity .2s ease;isolation:isolate}
.exam-progression-overlay.is-live{opacity:1}.exam-progression-overlay.is-closing{opacity:0}
.exam-progression-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 22%,rgba(205,166,62,.18),transparent 43%),linear-gradient(180deg,#0b0d0b,#050605)}
.exam-progression-overlay.game-holdem .exam-progression-bg{background:radial-gradient(circle at 50% 21%,rgba(25,130,83,.23),transparent 43%),radial-gradient(circle at 50% 65%,rgba(207,166,60,.09),transparent 45%),linear-gradient(180deg,#07130e,#030806)}
.exam-progression-overlay.game-blackjack .exam-progression-bg{background:radial-gradient(circle at 50% 21%,rgba(151,40,39,.20),transparent 43%),radial-gradient(circle at 50% 65%,rgba(207,166,60,.09),transparent 45%),linear-gradient(180deg,#140707,#070303)}
.exam-progression-shell{width:min(92vw,430px);max-height:100dvh;padding:22px 14px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center}
.exam-progression-content{align-self:center;text-align:center;opacity:0;transform:translateY(10px) scale(.985);transition:opacity .28s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.exam-progression-content.is-live{opacity:1;transform:none}
.exam-progression-skip{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.28);color:rgba(255,255,255,.60);font-size:8px;letter-spacing:.10em;z-index:2}
.exam-progression-step{width:92px;margin:0 auto 10px;display:flex;align-items:center;gap:6px;color:#8b7a4b;font-size:7px}.exam-progression-step i{height:1px;flex:1;background:linear-gradient(90deg,#6f5926,#c49d42)}.exam-progression-step span{color:#e5c567;font-weight:800}.exam-progression-step b{font-weight:600;color:#706851}
.exam-progression-kicker{font-family:var(--serif);font-size:8px;letter-spacing:.18em;color:#caaa53}.exam-progression-content>h2{margin:4px 0 4px;font-family:var(--serif);font-size:clamp(27px,8vw,38px);line-height:1;color:#f1d77f;letter-spacing:.03em}.exam-progression-lead,.exam-progression-final-note{margin:5px auto 9px;max-width:330px;color:#918b7c;font-size:8px;line-height:1.55}
.exam-progression-pass-wrap{margin:9px auto 0;max-width:400px}.exam-progression-pass-wrap .exam-pass-card{margin:0;text-align:left;box-shadow:0 16px 42px rgba(0,0,0,.34)}
.exam-progression-xp{margin:13px 0 8px}.exam-progression-xp small{display:block;color:#847c67;font-size:7px;letter-spacing:.15em}.exam-progression-xp strong{display:block;margin-top:2px;font-family:var(--serif);font-size:clamp(40px,13vw,58px);line-height:1;color:#f6dc82;text-shadow:0 0 26px rgba(225,183,66,.21)}
.exam-progression-xp-breakdown{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:8px auto 11px}.exam-progression-xp-breakdown span{min-width:60px;padding:6px 7px;border:1px solid rgba(218,180,76,.15);border-radius:8px;background:rgba(0,0,0,.18)}.exam-progression-xp-breakdown small{display:block;color:#736d5d;font-size:5px}.exam-progression-xp-breakdown b{display:block;margin-top:2px;color:#dcc478;font-size:7px}
.exam-progression-level{display:flex;align-items:end;justify-content:space-between;max-width:330px;margin:0 auto 6px;text-align:left}.exam-progression-level small{display:block;color:#9f8d5b;font-size:6px;letter-spacing:.08em}.exam-progression-level b{display:block;color:#eee0ba;font-family:var(--serif);font-size:12px}.exam-progression-level>strong{color:#d6bd74;font-size:8px}.exam-progression-track{max-width:330px;height:6px;margin:0 auto;border-radius:999px;background:#171811;overflow:hidden;border:1px solid rgba(219,180,72,.12)}.exam-progression-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8e681e,#e2bf59);transition:width .8s cubic-bezier(.2,.8,.2,1)}.exam-progression-track i.fill{width:var(--target)}.exam-progression-next-level{max-width:330px;margin:5px auto 0;text-align:right;color:#746e60;font-size:6px}.exam-progression-next-level b{color:#b7a365}
.exam-progression-badge{position:relative;margin:13px auto 0;max-width:310px;padding:19px 18px 17px;border:1px solid rgba(221,183,75,.34);border-radius:16px;background:linear-gradient(145deg,rgba(27,24,14,.93),rgba(7,8,6,.98));box-shadow:0 15px 40px rgba(0,0,0,.28)}.exam-progression-badge.platinum{border-color:rgba(184,206,221,.42);background:linear-gradient(145deg,rgba(21,27,31,.95),rgba(6,8,9,.99))}.exam-progression-badge.diamond{border-color:rgba(122,206,222,.46);background:linear-gradient(145deg,rgba(12,30,34,.95),rgba(5,8,9,.99))}.exam-progression-badge-icon{width:72px;height:72px;margin:0 auto 7px;display:grid;place-items:center;border:1px solid rgba(231,194,85,.30);border-radius:50%;background:rgba(0,0,0,.24);font-size:38px;box-shadow:0 0 0 5px rgba(221,183,75,.04)}.exam-progression-badge-rarity{font-size:6px;letter-spacing:.18em;color:#a58a45}.exam-progression-badge h3{margin:4px 0 3px;font-family:var(--serif);font-size:19px;color:#f1d985}.exam-progression-badge p{margin:0 auto 8px;color:#a6a090;font-size:8px;line-height:1.5}.exam-progression-badge>small{color:#706b5e;font-size:6px;letter-spacing:.07em}
.exam-progression-promotion{margin:14px auto 0;max-width:310px;padding:18px;border:1px solid rgba(224,186,78,.30);border-radius:16px;background:rgba(0,0,0,.21);box-shadow:0 14px 38px rgba(0,0,0,.25)}.exam-progression-rank-icon{font-size:42px;line-height:1}.exam-progression-promotion strong{display:block;margin-top:6px;font-family:var(--serif);font-size:24px;color:#f1d77e}.exam-progression-promotion span{display:block;margin-top:4px;color:#9b927c;font-size:8px}.exam-progression-promotion small{display:block;margin-top:10px;color:#c7a950;font-size:7px;font-weight:700}
.exam-progression-next-card{margin:14px auto 0;max-width:330px;padding:15px;border:1px solid rgba(219,181,75,.25);border-radius:14px;background:rgba(0,0,0,.21);text-align:left}.exam-progression-next-card small{display:block;color:#8e7e53;font-size:6px;letter-spacing:.12em}.exam-progression-next-card h3{margin:3px 0;font-family:var(--serif);font-size:18px;color:#eed47f}.exam-progression-next-card p{margin:0;color:#928d80;font-size:8px;line-height:1.5}
.exam-progression-start-next{width:100%;margin-top:10px;height:34px;border:1px solid rgba(226,188,80,.34);border-radius:999px;background:rgba(180,132,33,.12);color:#e8cd7e;font-size:8px;font-weight:800;letter-spacing:.08em}
.exam-progression-actions{display:flex;justify-content:center;padding-top:10px}.exam-progression-next{min-width:190px;height:42px;border:1px solid rgba(232,196,94,.48);border-radius:999px;background:linear-gradient(180deg,#b8892e,#745013);box-shadow:0 7px 24px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.20);color:#fff7dc;font-size:10px;font-weight:800;letter-spacing:.08em}
@media(max-height:720px){.exam-progression-shell{padding-top:12px;padding-bottom:10px}.exam-progression-content>h2{font-size:26px}.exam-progression-pass-wrap .exam-pass-card{transform:scale(.92);transform-origin:center}.exam-progression-xp strong{font-size:40px}.exam-progression-badge{padding-top:13px;padding-bottom:13px}.exam-progression-badge-icon{width:58px;height:58px;font-size:30px}.exam-progression-actions{padding-top:5px}.exam-progression-next{height:37px}}
@media(max-width:360px){.exam-progression-shell{width:95vw;padding-left:10px;padding-right:10px}.exam-progression-pass-wrap .exam-pass-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-progression-xp-breakdown span{min-width:52px;padding-left:5px;padding-right:5px}}
@media(prefers-reduced-motion:reduce){.exam-progression-overlay *{animation:none!important;transition:none!important}}

/* v1.13.3 — EXAM FAIL RECOVERY */
.exam-fail-recovery{margin-top:10px;padding:13px;border-color:rgba(198,73,62,.30);background:linear-gradient(145deg,rgba(31,12,11,.82),rgba(8,9,7,.98) 62%,rgba(40,30,10,.70))}
.exam-fail-recovery.game-holdem{border-color:rgba(55,154,111,.30);background:linear-gradient(145deg,rgba(9,28,20,.90),rgba(6,9,7,.98) 62%,rgba(35,27,9,.68))}
.exam-fail-recovery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.exam-fail-recovery-head h3{margin:2px 0 0;font-family:var(--serif);font-size:16px;color:#ecd37f}.exam-fail-recovery-head>span{flex:none;padding:5px 7px;border:1px solid rgba(209,91,75,.28);border-radius:999px;background:rgba(103,26,21,.18);color:#e69a8d;font-size:6px;font-weight:800;letter-spacing:.06em}
.exam-fail-reasons{display:grid;gap:4px;margin-top:9px}.exam-fail-reasons b,.exam-fail-reasons strong{display:block;padding:6px 8px;border-radius:8px;text-align:left;font-size:7px;line-height:1.35}.exam-fail-reasons b{border:1px solid rgba(215,181,80,.13);background:rgba(0,0,0,.18);color:#c9b475}.exam-fail-reasons strong{border:1px solid rgba(205,72,62,.25);background:rgba(107,23,19,.18);color:#ef9386}
.exam-fail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.exam-fail-metric{min-width:0;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:6px;padding:7px;border:1px solid rgba(221,182,76,.12);border-radius:9px;background:rgba(0,0,0,.19);text-align:left}.exam-fail-metric.critical{border-color:rgba(207,74,63,.26);background:rgba(98,22,18,.12)}.exam-fail-metric>span{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:rgba(203,165,65,.08);color:#dfc46f;font-size:12px;font-weight:900}.exam-fail-metric small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#817a68;font-size:5.5px;letter-spacing:.04em}.exam-fail-metric b{display:block;margin-top:1px;color:#e9d59a;font-size:9px}.exam-fail-metric em{display:block;margin-top:1px;color:#837e70;font-size:5.5px;font-style:normal;line-height:1.35}
.exam-fail-primary{margin-top:8px;padding:8px 9px;border:1px solid rgba(220,179,69,.20);border-radius:10px;background:rgba(166,120,31,.07);text-align:left}.exam-fail-primary>small{display:block;color:#b99a4e;font-size:5.5px;letter-spacing:.13em}.exam-fail-primary>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;align-items:center;margin-top:4px}.exam-fail-primary>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#17150d;color:#e4c66f;font-weight:900}.exam-fail-primary b{display:block;color:#f0daa0;font-size:9px}.exam-fail-primary p{margin:2px 0 0;color:#928b7b;font-size:6.5px;line-height:1.45}
.exam-fail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.exam-fail-actions .btn{min-width:0;height:32px;padding:0 5px;font-size:6.5px;white-space:nowrap}.exam-fail-actions .exam-fail-retry{border-color:rgba(208,95,78,.26);color:#dda39a}
.exam-progression-fail-reasons{display:grid;gap:4px;max-width:340px;margin:8px auto}.exam-progression-fail-reasons b,.exam-progression-fail-reasons strong{display:block;padding:6px 8px;border-radius:8px;font-size:7px;line-height:1.35;text-align:left}.exam-progression-fail-reasons b{border:1px solid rgba(218,182,78,.14);background:rgba(0,0,0,.19);color:#cbb579}.exam-progression-fail-reasons strong{border:1px solid rgba(205,74,63,.25);background:rgba(104,22,18,.17);color:#ed9487}
.exam-progression-fail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:340px;margin:7px auto}.exam-progression-fail-metrics .exam-fail-metric{padding:6px}.exam-progression-review-target{max-width:340px;margin:7px auto 0;padding:8px;border:1px solid rgba(222,183,77,.22);border-radius:10px;background:rgba(158,115,31,.08);text-align:left}.exam-progression-review-target>small{display:block;color:#ae9149;font-size:5.5px;letter-spacing:.13em}.exam-progression-review-target>div{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;margin-top:4px}.exam-progression-review-target>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#17150e;color:#e3c369;font-weight:900}.exam-progression-review-target b{display:block;color:#efda9b;font-size:9px}.exam-progression-review-target p{margin:2px 0 0;color:#918b7d;font-size:6.5px;line-height:1.4}
.exam-progression-review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:340px;margin:8px auto 0}.exam-progression-review-actions button{height:31px;padding:0 5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.22);color:#a9a292;font-size:6.5px;font-weight:800;white-space:nowrap}.exam-progression-review-actions button.primary{border-color:rgba(225,187,79,.37);background:rgba(174,128,34,.13);color:#e7cd80}
@media(max-width:360px){.exam-fail-actions,.exam-progression-review-actions{grid-template-columns:1fr 1fr}.exam-fail-actions .exam-fail-retry,.exam-progression-review-actions [data-ceremony-retry-exam]{grid-column:1/-1}.exam-fail-metrics,.exam-progression-fail-metrics{gap:4px}}
@media(max-height:720px){.exam-progression-fail-reasons{margin-top:5px;margin-bottom:5px}.exam-progression-fail-metrics{margin-top:5px}.exam-progression-review-target{margin-top:5px;padding-top:6px;padding-bottom:6px}.exam-progression-review-actions{margin-top:5px}.exam-progression-review-actions button{height:28px}}
body.exam-progression-active{overflow:hidden!important;touch-action:manipulation}
.exam-progression-shell{row-gap:6px}


/* v1.13.4 — EXAM FINAL UNIFICATION */
.exam-standard-unified{position:relative;overflow:hidden}
.exam-standard-unified.holdem{border-color:rgba(64,158,111,.26);background:linear-gradient(145deg,rgba(8,27,19,.72),rgba(7,10,8,.98))}
.exam-standard-unified.blackjack{border-color:rgba(174,73,65,.22);background:linear-gradient(145deg,rgba(31,11,10,.64),rgba(8,9,7,.98))}
.exam-standard-head{display:flex;align-items:end;justify-content:space-between;gap:8px}
.exam-standard-head>b{color:rgba(235,215,157,.72);font-size:7px;letter-spacing:.08em}
.exam-pass-condition{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:8px 9px;border:1px solid rgba(222,184,76,.15);border-radius:9px;background:rgba(0,0,0,.18)}
.exam-pass-condition small{color:#827861;font-size:6px;letter-spacing:.12em}
.exam-pass-condition strong{color:#e6cd82;font-size:8px;text-align:right}
.exam-standard-note{margin:6px 0 0;color:#817c70;font-size:7px;line-height:1.45}
.exam-review-intro{margin:4px 0 6px;color:#817b70;font-size:7px;line-height:1.45}
.exam-final-actions{margin-top:12px!important}
.exam-final-actions .btn{min-width:0}
.dealer-exam-result-hero .exam-earned-marks{justify-content:center}
.dealer-exam-result-hero .exam-result-count{margin-top:4px}
.exam-review-hands em{display:block;grid-column:1/-1;color:#b29a57;font-size:6px;font-style:normal;letter-spacing:.04em}
@media(max-width:360px){.exam-pass-condition{align-items:flex-start;flex-direction:column}.exam-pass-condition strong{text-align:left}.exam-final-actions{gap:5px}.exam-final-actions .btn{padding-left:8px;padding-right:8px;font-size:8px}}

/* v1.14.0 — FIRST LAUNCH / BEGINNER ONBOARDING */
body.first-launch-active{overflow:hidden!important;touch-action:manipulation}
.first-launch-backdrop{z-index:1200;background:radial-gradient(circle at 50% 18%,rgba(177,132,38,.18),rgba(0,0,0,.88) 54%,rgba(0,0,0,.96));padding:10px}
.first-launch-modal{position:relative;width:min(94vw,390px);max-height:calc(100dvh - 20px);overflow:auto;padding:17px 16px 14px;border:1px solid rgba(222,184,75,.42);border-radius:20px;background:linear-gradient(160deg,rgba(18,20,15,.985),rgba(5,7,6,.995) 60%,rgba(35,26,8,.96));box-shadow:0 24px 70px rgba(0,0,0,.65),inset 0 1px rgba(255,255,255,.05);text-align:center;scrollbar-width:none}
.first-launch-modal::-webkit-scrollbar{display:none}
.first-launch-modal:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,rgba(255,225,139,.045) 44%,transparent 68%)}
.first-launch-progress{position:relative;z-index:1;display:flex;justify-content:center;gap:6px;margin:0 auto 10px}
.first-launch-progress i{display:block;width:23px;height:3px;border-radius:999px;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.first-launch-progress i.on{background:linear-gradient(90deg,#916c24,#e1bf5e);box-shadow:0 0 12px rgba(220,180,70,.22)}
.first-launch-skip{position:absolute;z-index:3;top:13px;right:13px;border:0;background:transparent;color:#807966;font-size:7px;font-weight:800;letter-spacing:.14em;padding:5px;cursor:pointer}
.first-launch-kicker{position:relative;z-index:1;color:#b89a50;font-size:6.5px;font-weight:900;letter-spacing:.22em}
.first-launch-modal h2{position:relative;z-index:1;margin:5px 0 6px;color:#f1dda0;font-family:var(--serif);font-size:24px;line-height:1.05;letter-spacing:.02em}
.first-launch-lead,.first-launch-copy{position:relative;z-index:1;margin:0 auto;color:#a69f8f;font-size:8px;line-height:1.65}
.first-launch-lead b{color:#e5c66e;letter-spacing:.04em}
.first-launch-hero{position:relative;z-index:1;height:176px;margin:3px -5px 7px;border-radius:15px;background:
  linear-gradient(180deg,rgba(7,10,8,.06),rgba(7,10,8,.18) 68%,rgba(7,10,8,.80)),
  url('./assets/hero-pair.jpg') center 20%/cover no-repeat;
  border:1px solid rgba(221,181,73,.16);box-shadow:inset 0 -25px 35px rgba(0,0,0,.42)}
.first-launch-flow{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:5px;margin:12px 0 11px;padding:9px;border:1px solid rgba(218,180,73,.14);border-radius:13px;background:rgba(0,0,0,.21)}
.first-launch-flow span{min-width:0}.first-launch-flow b{display:block;color:#e7cb79;font-size:7px;letter-spacing:.08em}.first-launch-flow small{display:block;margin-top:2px;color:#777365;font-size:5.5px}.first-launch-flow em{color:#6c603e;font-size:12px;font-style:normal}
.first-launch-main{position:relative;z-index:1;width:100%;height:43px;margin-top:3px;border-radius:999px;font-size:9px;letter-spacing:.09em}
.first-launch-main:disabled,.first-launch-home:disabled{opacity:.34;filter:saturate(.4);cursor:not-allowed}
.first-launch-back,.first-launch-home{position:relative;z-index:1;width:100%;margin-top:6px;height:31px;border-color:rgba(255,255,255,.08);background:rgba(0,0,0,.14);color:#8e8879;font-size:7px}
.first-launch-goals{position:relative;z-index:1;display:grid;gap:7px;margin-top:12px}
.first-launch-goal{display:grid;grid-template-columns:40px minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:58px;padding:8px 10px;border:1px solid rgba(220,181,72,.16);border-radius:13px;background:linear-gradient(135deg,rgba(24,24,18,.86),rgba(4,6,5,.92));color:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.first-launch-goal>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(196,155,54,.08);color:#dbbb62;font-family:var(--serif);font-size:18px;font-weight:900}
.first-launch-goal b{display:block;color:#e9d490;font-size:10px;letter-spacing:.03em}.first-launch-goal small{display:block;margin-top:3px;color:#827d70;font-size:6.5px;line-height:1.35}.first-launch-goal em{color:#7e6a36;font-size:16px;font-style:normal}
.first-launch-goal.holdem{border-color:rgba(53,157,111,.24);background:linear-gradient(135deg,rgba(9,38,27,.72),rgba(4,7,5,.95))}.first-launch-goal.holdem>span{background:rgba(44,150,103,.12);color:#80c7a7}
.first-launch-goal.blackjack{border-color:rgba(177,76,65,.23);background:linear-gradient(135deg,rgba(43,12,10,.64),rgba(7,6,5,.95))}.first-launch-goal.blackjack>span{background:rgba(164,62,54,.12);color:#df8b7e}
.first-launch-goal.basics{border-color:rgba(204,164,62,.24)}
.first-launch-goal.free{border-color:rgba(110,98,72,.21)}
.first-launch-ready-icon{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;margin:1px auto 6px;border:1px solid rgba(221,181,72,.25);border-radius:50%;background:radial-gradient(circle,rgba(210,170,62,.18),rgba(0,0,0,.12));color:#e4c66f;font-family:var(--serif);font-size:22px;box-shadow:0 0 24px rgba(191,143,39,.12)}
.step-ready.holdem .first-launch-ready-icon{border-color:rgba(72,167,122,.32);color:#83c9aa;background:radial-gradient(circle,rgba(53,157,111,.17),rgba(0,0,0,.13))}
.step-ready.blackjack .first-launch-ready-icon{border-color:rgba(184,77,66,.30);color:#e18c80;background:radial-gradient(circle,rgba(169,61,52,.15),rgba(0,0,0,.13))}
.first-launch-path-preview{position:relative;z-index:1;display:grid;gap:0;margin:10px 0 9px;padding:8px 10px;border:1px solid rgba(221,182,75,.14);border-radius:12px;background:rgba(0,0,0,.20)}
.first-launch-path-preview>div{position:relative;display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;gap:6px;min-height:28px;text-align:left}
.first-launch-path-preview span{color:#a98b45;font-size:6px;font-weight:900;letter-spacing:.09em}.first-launch-path-preview b{min-width:0;color:#ddd0a9;font-size:8px}.first-launch-path-preview em{position:absolute;left:28px;bottom:-6px;color:#5b5035;font-size:8px;font-style:normal}
.first-launch-privacy{position:relative;z-index:1;margin-top:8px;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.18);text-align:left}
.first-launch-privacy>div:first-child b{display:block;color:#d9ca9e;font-size:7px}.first-launch-privacy>div:first-child small{display:block;margin-top:2px;color:#777366;font-size:5.5px;line-height:1.45}
.first-launch-privacy-choice{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.first-launch-privacy-choice button{height:29px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.025);color:#777265;font-size:7px;font-weight:900}.first-launch-privacy-choice button.selected{border-color:rgba(218,180,72,.40);background:rgba(178,132,35,.14);color:#e3ca7c;box-shadow:0 0 14px rgba(196,147,40,.08)}
.first-launch-privacy>a{display:inline-block;margin-top:6px;color:#877b5c;font-size:5.5px;text-decoration:none}
.first-launch-consent-note{position:relative;z-index:1;margin-top:5px;color:#9b8350;font-size:5.5px}
@media(max-width:360px){.first-launch-modal{width:95vw;padding-left:12px;padding-right:12px}.first-launch-hero{height:160px}.first-launch-modal h2{font-size:22px}.first-launch-goal{min-height:54px}.first-launch-flow{gap:3px;padding-left:6px;padding-right:6px}}
@media(max-height:760px){.first-launch-modal{padding-top:12px;padding-bottom:10px}.first-launch-progress{margin-bottom:6px}.first-launch-hero{height:145px;margin-bottom:5px}.first-launch-modal h2{font-size:21px;margin-top:3px}.first-launch-flow{margin-top:8px;margin-bottom:7px;padding-top:6px;padding-bottom:6px}.first-launch-goals{gap:5px;margin-top:8px}.first-launch-goal{min-height:49px;padding-top:5px;padding-bottom:5px}.first-launch-goal>span{width:34px;height:34px}.first-launch-path-preview{margin-top:7px;margin-bottom:6px;padding-top:5px;padding-bottom:5px}.first-launch-path-preview>div{min-height:24px}.first-launch-privacy{margin-top:5px;padding:7px}.first-launch-main{height:38px}.first-launch-back,.first-launch-home{height:28px;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.first-launch-modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v1.15.0 — FIRST MISSION / START PATH */
.first-mission-card{position:relative;overflow:hidden;margin-top:12px;padding:15px;background:linear-gradient(145deg,rgba(20,28,23,.98),rgba(6,10,8,.99) 62%,rgba(45,32,8,.78))}
.first-mission-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 12%,rgba(245,215,125,.035) 44%,transparent 70%)}
.first-mission-card.holdem{border-color:rgba(68,167,120,.38);background:linear-gradient(145deg,rgba(8,35,24,.94),rgba(5,9,7,.99) 62%,rgba(30,29,10,.76))}
.first-mission-card.blackjack{border-color:rgba(183,76,65,.35);background:linear-gradient(145deg,rgba(42,12,10,.82),rgba(6,8,7,.99) 62%,rgba(35,27,9,.72))}
.first-mission-card.basics{border-color:rgba(218,179,70,.38)}
.first-mission-card.free{border-color:rgba(151,132,86,.28);background:linear-gradient(145deg,rgba(22,22,18,.94),rgba(6,8,7,.99))}
.first-mission-head{position:relative;z-index:1;display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:9px}
.first-mission-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(222,183,73,.24);border-radius:13px;background:rgba(203,160,48,.09);color:#e2c46c;font-family:var(--serif);font-size:20px;font-weight:900}
.first-mission-card.holdem .first-mission-icon{border-color:rgba(76,174,126,.28);background:rgba(45,145,97,.11);color:#82c8a8}
.first-mission-card.blackjack .first-mission-icon{border-color:rgba(189,80,68,.27);background:rgba(166,63,54,.11);color:#df8b7f}
.first-mission-head small{display:block;color:#a68c4d;font-size:6px;font-weight:900;letter-spacing:.15em}
.first-mission-head h2{margin:3px 0 0;color:#f0dda0;font-family:var(--serif);font-size:16px;line-height:1.05}
.first-mission-head>em{padding:5px 7px;border:1px solid rgba(224,185,76,.18);border-radius:999px;background:rgba(0,0,0,.18);color:#a88c48;font-size:5.5px;font-style:normal;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.first-mission-card>p{position:relative;z-index:1;margin:10px 1px 0;color:#958f81;font-size:7px;line-height:1.55}
.first-mission-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}
.first-mission-steps>div{position:relative;min-width:0;padding:8px 7px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.18);text-align:left}
.first-mission-steps>div.active{border-color:rgba(222,183,73,.33);background:rgba(177,131,34,.10);box-shadow:inset 0 0 18px rgba(214,168,59,.04)}
.first-mission-card.holdem .first-mission-steps>div.active{border-color:rgba(68,167,120,.32);background:rgba(37,132,88,.09)}
.first-mission-card.blackjack .first-mission-steps>div.active{border-color:rgba(183,76,65,.30);background:rgba(148,48,42,.08)}
.first-mission-steps>div.done{border-color:rgba(90,171,91,.24);background:rgba(51,134,61,.07)}
.first-mission-steps span{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:rgba(213,168,75,.09);color:#c5a756;font-size:7px;font-weight:900}
.first-mission-steps .done span{background:rgba(82,164,83,.13);color:#8bd28a}
.first-mission-steps small{display:block;margin-top:6px;color:#736d60;font-size:5px;font-weight:900;letter-spacing:.10em}
.first-mission-steps b{display:block;margin-top:2px;min-height:20px;color:#cfc19a;font-size:6.5px;line-height:1.35}
.first-mission-steps i{position:absolute;right:-5px;top:50%;z-index:2;transform:translateY(-50%);color:#685b39;font-size:10px;font-style:normal}
.first-mission-main{position:relative;z-index:1;width:100%;height:38px;margin-top:10px;border-radius:999px;font-size:7.5px;letter-spacing:.07em}
.first-mission-free-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.first-mission-free-actions .btn{height:36px;font-size:7px}
.first-mission-result{position:relative;overflow:hidden;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;margin-top:12px;padding:14px;border-color:rgba(220,181,72,.44);background:linear-gradient(145deg,rgba(46,34,9,.88),rgba(7,11,8,.98) 60%,rgba(15,50,33,.74))}
.first-mission-result:after{content:"✓";position:absolute;right:-8px;top:-35px;color:rgba(230,195,96,.055);font-family:var(--serif);font-size:126px;font-weight:900;pointer-events:none}
.first-mission-result.holdem{border-color:rgba(66,166,118,.40);background:linear-gradient(145deg,rgba(8,42,28,.90),rgba(6,10,8,.99) 62%,rgba(44,34,9,.72))}
.first-mission-result.blackjack{border-color:rgba(185,78,67,.38);background:linear-gradient(145deg,rgba(47,13,11,.82),rgba(7,9,7,.99) 62%,rgba(42,31,8,.72))}
.first-mission-result-icon{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(226,187,77,.30);border-radius:50%;background:radial-gradient(circle,rgba(211,171,62,.17),rgba(0,0,0,.12));color:#e5c96f;font-family:var(--serif);font-size:21px;font-weight:900}
.first-mission-result h2{margin:3px 0 0;color:#f1dda0;font-family:var(--serif);font-size:17px}
.first-mission-result p{margin:5px 0 0;color:#989184;font-size:7px;line-height:1.5}
.first-mission-result .btn{grid-column:1/-1;height:36px;margin-top:1px;font-size:7px}
.first-mission-complete-modal{text-align:center;border-color:rgba(221,181,72,.38);background:linear-gradient(150deg,rgba(29,25,12,.98),rgba(7,9,7,.995))}
.first-mission-complete-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 8px;border:1px solid rgba(223,184,75,.35);border-radius:50%;background:rgba(178,133,35,.12);color:#e4c971;font-size:22px;font-weight:900}
.first-mission-complete-modal h2{margin:5px 0;color:#f0dda0;font-family:var(--serif);font-size:21px}
.first-mission-complete-modal p{margin:0 auto 10px;max-width:300px;color:#9a9385;font-size:8px;line-height:1.6}
@media(max-width:360px){.first-mission-card{padding:12px}.first-mission-head{grid-template-columns:38px minmax(0,1fr) auto;gap:7px}.first-mission-icon{width:38px;height:38px}.first-mission-head h2{font-size:14px}.first-mission-steps{gap:4px}.first-mission-steps>div{padding:7px 5px}.first-mission-steps b{font-size:6px}.first-mission-result{grid-template-columns:42px minmax(0,1fr);padding:12px}.first-mission-result-icon{width:42px;height:42px}}

/* =========================================================
   v1.16.0 — CONTEXT HELP
   ========================================================= */
.context-help-btn{position:relative;isolation:isolate}
.context-help-btn::after{content:"HELP";position:absolute;right:2px;bottom:-8px;padding:1px 4px;border-radius:999px;background:#0a100d;border:1px solid rgba(213,168,75,.28);color:#bba66e;font-size:5px;font-weight:900;letter-spacing:.08em}
.context-help-backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}
.context-help-modal{width:min(100%,440px);max-height:min(86dvh,720px);padding:16px;background:radial-gradient(circle at 100% 0,rgba(213,168,75,.09),transparent 34%),linear-gradient(180deg,#0e1712,#070c09);border-color:rgba(213,168,75,.48)}
.context-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(213,168,75,.15);padding-bottom:10px}
.context-help-head h2{margin:3px 0 0!important;font-size:23px;line-height:1.1}
.context-help-question{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;border:1px solid rgba(213,168,75,.42);background:rgba(0,0,0,.3);color:var(--gold2);font:900 21px var(--serif);box-shadow:inset 0 0 18px rgba(213,168,75,.05)}
.context-help-lead{margin:10px 0 11px!important;color:#e7dfcf!important;font-size:11px!important;line-height:1.65!important}
.context-help-now{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:8px 0 10px;padding:9px 11px;border:1px solid rgba(99,196,107,.26);border-radius:12px;background:rgba(49,112,61,.1)}
.context-help-now>div{display:flex;align-items:baseline;gap:7px}.context-help-now small{color:#7ebf88;font-size:6px;font-weight:1000;letter-spacing:.12em}.context-help-now b{color:#dff1df;font:900 11px var(--serif);letter-spacing:.06em}.context-help-now em{align-self:center;color:#aebaae;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.05em}.context-help-now p{grid-column:1/-1;margin:0!important;color:#aeb9ad!important;font-size:8px!important;line-height:1.5!important}
.context-help-section{margin-top:8px;padding:10px;border:1px solid rgba(213,168,75,.16);border-radius:13px;background:rgba(255,255,255,.018)}
.context-help-section-title{margin-bottom:7px;color:#cfb666;font-size:6px;font-weight:1000;letter-spacing:.14em}
.context-help-point{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:start;padding:6px 0;border-top:1px solid rgba(255,255,255,.045)}
.context-help-point:first-of-type{border-top:0;padding-top:0}.context-help-point:last-child{padding-bottom:0}
.context-help-point>span{color:#ead286;font:900 8px var(--serif);line-height:1.35;letter-spacing:.02em}.context-help-point p,.context-help-section>p{margin:0!important;color:#c4c0b5!important;font-size:8px!important;line-height:1.55!important}
.context-help-judge{border-color:rgba(100,157,210,.2);background:rgba(50,93,129,.06)}.context-help-judge .context-help-section-title{color:#8eb7d8}
.context-help-dealer{border-color:rgba(213,168,75,.25);background:linear-gradient(90deg,rgba(213,168,75,.07),rgba(213,168,75,.018))}.context-help-dealer .context-help-section-title{color:#e5c66b}.context-help-dealer>p{color:#e3dac4!important}
.context-help-timer-note{margin-top:8px;padding:7px 9px;border-radius:9px;background:rgba(174,75,58,.12);border:1px solid rgba(210,104,82,.22);color:#d6a49a;font-size:7px;line-height:1.45}
.context-help-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:7px;margin-top:11px}.context-help-actions .btn{margin:0;min-height:39px;font-size:8px}
.training-top .rule-link[data-action="rules"]{min-width:38px;border-radius:11px;border:1px solid rgba(213,168,75,.3);color:var(--gold2)}
@media(max-width:360px){.context-help-modal{padding:13px}.context-help-head h2{font-size:20px}.context-help-point{grid-template-columns:68px 1fr}.context-help-actions{grid-template-columns:1fr}}
.context-training-help{display:grid;place-items:center;flex:0 0 34px;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:1px solid rgba(213,168,75,.34)!important;border-radius:10px!important;background:rgba(4,10,7,.66)!important;color:var(--gold2)!important;font:900 16px var(--serif)!important;line-height:1!important}
.training-top .context-training-help:hover,.training-top .context-training-help:focus-visible{border-color:rgba(235,204,119,.65)!important;background:rgba(213,168,75,.08)!important}

/* ================================================================
   v1.17.0 — SMART HINT / FIRST-TIME CHARACTER GUIDE
   ================================================================ */
body.smart-hint-active{overflow-x:hidden}
#smartHintRoot{position:relative}
.smart-hint-layer{position:fixed;inset:0;z-index:1080;display:flex;align-items:flex-end;justify-content:center;padding:0 12px calc(76px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(2,5,3,.24) 100%)}
.smart-hint-card{width:min(100%,430px);display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:stretch;padding:9px;border:1px solid rgba(219,181,76,.48);border-radius:16px;background:linear-gradient(145deg,rgba(11,18,14,.97),rgba(5,8,6,.985));box-shadow:0 18px 48px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.025);pointer-events:auto;animation:smartHintIn .38s cubic-bezier(.2,.85,.25,1);backdrop-filter:blur(14px)}
.smart-hint-card.casinon{background:linear-gradient(145deg,rgba(18,14,20,.98),rgba(6,7,7,.99));border-color:rgba(220,174,92,.48)}
.smart-hint-character{min-height:108px;border:1px solid rgba(225,192,99,.28);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.18)),url('./assets/hero-pair.jpg') center/cover no-repeat;box-shadow:inset 0 0 20px rgba(0,0,0,.22)}
.smart-hint-body{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:3px 2px 2px}
.smart-hint-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.smart-hint-meta span{font-family:var(--serif);font-size:6.5px;letter-spacing:.14em;color:#dfbd61}.smart-hint-meta em{font-style:normal;font-size:5.8px;font-weight:800;letter-spacing:.12em;color:#7fa98d}
.smart-hint-card.casinon .smart-hint-meta em{color:#c3a0ca}
.smart-hint-body>strong{font-family:var(--serif);font-size:11px;line-height:1.35;color:#f2e3b7;letter-spacing:.02em}.smart-hint-body>p{margin:5px 0 8px;font-size:7.7px;line-height:1.62;color:rgba(245,239,224,.76)}
.smart-hint-actions{display:flex;gap:6px;justify-content:flex-end}.smart-hint-actions button{height:29px;border-radius:999px;padding:0 11px;font-size:6.5px;font-weight:900;letter-spacing:.06em}.smart-hint-help{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:#c8c1ae}.smart-hint-ok{border:1px solid rgba(225,190,91,.52);background:linear-gradient(180deg,#a77b27,#6f4c14);color:#fff5d6;box-shadow:inset 0 1px rgba(255,255,255,.16)}
@keyframes smartHintIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:360px){.smart-hint-layer{padding-left:8px;padding-right:8px}.smart-hint-card{grid-template-columns:78px 1fr;gap:8px;padding:8px}.smart-hint-character{min-height:100px}.smart-hint-body>strong{font-size:10px}.smart-hint-body>p{font-size:7.1px}.smart-hint-actions button{padding:0 8px}}
@media(min-width:700px){.smart-hint-layer{padding-bottom:24px}.smart-hint-card{grid-template-columns:104px 1fr}.smart-hint-character{min-height:118px}}
@media(prefers-reduced-motion:reduce){.smart-hint-card{animation:none!important}}


/* ======================================================================
   v1.17.1 — BEGINNER STATE AUDIT / FIRST EXPERIENCE FINAL UNIFICATION
   ====================================================================== */
.lab-card-status.new{
  white-space:nowrap;
  font-size:4.55px;
  letter-spacing:.035em;
  padding-left:4px;
  padding-right:4px;
}
.my-skill-state{
  white-space:nowrap;
}
.my-skill-card.untried .my-skill-state{
  font-size:4.25px;
  letter-spacing:.015em;
  padding-left:3px;
  padding-right:3px;
}
.my-stats-empty{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  margin-top:9px;
  padding:13px 14px;
  border-color:rgba(213,168,75,.34);
  background:linear-gradient(135deg,rgba(76,58,18,.18),rgba(8,14,11,.94));
}
.my-stats-empty small{
  display:block;
  color:#a79361;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.14em;
}
.my-stats-empty b{
  display:block;
  margin-top:2px;
  color:#efd27a;
  font:900 15px var(--serif);
}
.my-stats-empty p{
  margin:3px 0 0;
  color:#8f8a7f;
  font-size:7.5px;
  line-height:1.45;
}
.my-stats-empty .btn{
  white-space:nowrap;
  min-height:36px;
  padding:0 10px;
  font-size:8px;
}
@media(max-width:380px){
  .my-stats-empty{grid-template-columns:1fr;gap:8px}
  .my-stats-empty .btn{width:100%}
}


/* ======================================================================
   v1.17.2 — PWA INSTALL PATH / ADD TO HOME
   ====================================================================== */
.pwa-install-card{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;margin:12px 0;padding:14px;border-color:rgba(214,175,67,.48);background:radial-gradient(circle at 0 0,rgba(193,146,38,.18),transparent 42%),linear-gradient(135deg,rgba(17,25,20,.97),rgba(6,10,8,.98))}
.pwa-install-icon,.pwa-settings-mark,.pwa-modal-mark{display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(229,195,99,.5);background:linear-gradient(145deg,#c79c39,#6c4b16);color:#fff4cb;box-shadow:inset 0 1px rgba(255,255,255,.18),0 8px 22px rgba(0,0,0,.25);font:900 14px var(--serif);letter-spacing:.04em}
.pwa-install-icon{width:58px;height:58px;border-radius:15px}.pwa-install-copy{min-width:0}.pwa-install-copy h2{margin:2px 0 3px;color:#f3dc91;font:900 15px var(--serif)}.pwa-install-copy p{margin:0;color:#aaa391;font-size:7.5px;line-height:1.5}.pwa-install-benefits{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.pwa-install-benefits span{padding:4px 6px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.025);color:#8fa493;font-size:5.8px;font-weight:900;letter-spacing:.1em}.pwa-install-actions{display:flex;flex-direction:column;gap:5px;align-items:stretch;min-width:108px}.pwa-install-actions .btn{min-height:36px;padding:0 10px;font-size:7px;white-space:nowrap}.pwa-install-later{border:0;background:transparent;color:#77756c;font-size:6.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.pwa-settings-card{padding:14px;margin-bottom:12px;border-color:rgba(214,175,67,.34);background:linear-gradient(135deg,rgba(40,31,13,.2),rgba(8,13,10,.96))}.pwa-settings-head{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center}.pwa-settings-mark{width:48px;height:48px;border-radius:13px;font-size:12px}.pwa-settings-head small{display:block;color:#b99843;font-size:6px;font-weight:900;letter-spacing:.14em}.pwa-settings-head b{display:block;margin-top:2px;color:#eee1bd;font:900 12px var(--serif)}.pwa-settings-head p{margin:3px 0 0;color:#8e8a7e;font-size:7px;line-height:1.48}.pwa-settings-card>.btn{width:100%;margin-top:11px}.pwa-settings-note{margin-top:7px;color:#736f65;font-size:6.4px;line-height:1.5;text-align:center}.pwa-settings-card.installed{border-color:rgba(91,163,112,.38);background:linear-gradient(135deg,rgba(31,74,43,.18),rgba(7,13,9,.97))}.pwa-installed-line{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;margin-top:11px;padding:9px;border:1px solid rgba(92,163,112,.22);border-radius:9px;background:rgba(66,132,84,.08)}.pwa-installed-line>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(75,151,96,.18);color:#8bd39e;font-size:11px}.pwa-installed-line b{color:#8bd39e;font-size:7px;letter-spacing:.08em}.pwa-installed-line small{color:#7f8d81;font-size:6.2px}
.pwa-install-modal{max-width:410px;text-align:center}.pwa-modal-mark{width:62px;height:62px;border-radius:17px;margin:0 auto 10px;font-size:15px}.pwa-install-modal h2{margin:5px 0 6px;color:#f0d887;font-family:var(--serif)}.pwa-modal-lead{margin:0 auto 12px;color:#9b9689;font-size:8px;line-height:1.55}.pwa-guide-steps{display:grid;gap:7px;text-align:left}.pwa-guide-steps>div{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}.pwa-guide-steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(216,178,70,.35);color:#d9b752;font:900 7px var(--serif)}.pwa-guide-steps b{color:#d9d1bb;font-size:8px;line-height:1.45}.pwa-guide-note{margin:9px 0 12px;padding:8px;border-radius:8px;background:rgba(176,138,42,.07);color:#8f846a;font-size:6.7px;line-height:1.55}.pwa-install-modal>.btn{width:100%}
@media(max-width:430px){.pwa-install-card{grid-template-columns:50px 1fr;gap:10px}.pwa-install-icon{width:50px;height:50px;border-radius:13px;font-size:12px}.pwa-install-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center}.pwa-install-actions .btn{min-height:38px}.pwa-install-later{padding:0 8px}.pwa-install-copy h2{font-size:13px}}
@media(max-width:350px){.pwa-install-card{grid-template-columns:1fr}.pwa-install-icon{display:none}.pwa-install-actions{grid-column:auto}.pwa-settings-head{grid-template-columns:42px 1fr}.pwa-settings-mark{width:42px;height:42px}}

/* v1.17.5 · PWA hardened stability + audio range fix */
.pwa-health-card{margin-top:14px;padding:18px}.pwa-health-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.pwa-health-head h3{margin:2px 0 0}.pwa-health-main{font-size:11px;font-weight:900;letter-spacing:.12em;border:1px solid rgba(202,169,91,.45);border-radius:999px;padding:7px 10px}.pwa-health-main.ok{color:#d8bd72}.pwa-health-main.offline{color:#d7d7d7;border-color:rgba(255,255,255,.2)}.pwa-health-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px}.pwa-health-grid>div{min-width:0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px}.pwa-health-grid small{display:block;font-size:9px;letter-spacing:.08em;opacity:.55}.pwa-health-grid b{display:block;margin-top:4px;font-size:12px}.pwa-health-grid span{display:block;margin-top:4px;font-size:10px;line-height:1.45;opacity:.68}.pwa-health-note{margin:12px 0 0;font-size:10px;line-height:1.7;opacity:.62}@media(max-width:560px){.pwa-health-grid{grid-template-columns:1fr}.pwa-health-grid>div{display:grid;grid-template-columns:92px 85px 1fr;align-items:center;gap:7px}.pwa-health-grid small,.pwa-health-grid b,.pwa-health-grid span{margin:0}}


.pwa-health-card.needs-sync{border-color:rgba(202,169,91,.7)}
.pwa-health-warning{margin-top:10px;padding:10px 12px;border:1px solid rgba(202,169,91,.28);border-radius:10px;background:rgba(202,169,91,.07);font-size:10px;line-height:1.65;color:#e6d29a}
.pwa-health-refresh{margin-top:10px;border:0;background:transparent;color:#d7bd74;font-size:10px;font-weight:900;letter-spacing:.06em;padding:5px 0;cursor:pointer}
.pwa-health-refresh:active{opacity:.7}


/* v1.18.0 — MONETIZATION FOUNDATION
   Safe slots only. No ad is rendered unless a provider or preview is enabled. */
.monetization-slot{
  margin:28px 0 18px;
  padding:12px;
  border:1px solid rgba(231,201,113,.28);
  border-radius:14px;
  background:rgba(7,10,9,.82);
  overflow:hidden;
}
.monetization-label{
  margin-bottom:8px;
  font-size:8px;
  letter-spacing:.18em;
  color:var(--muted);
  text-align:center;
}
.monetization-ad-host{min-height:90px;display:flex;align-items:center;justify-content:center}
.monetization-sponsor a{display:block;padding:14px;text-decoration:none;color:inherit;border-radius:10px;background:rgba(255,255,255,.025)}
.monetization-sponsor a small,.monetization-sponsor a span{display:block;color:var(--muted);font-size:10px;line-height:1.55}
.monetization-sponsor a b{display:block;margin:5px 0;color:var(--gold2);font-family:var(--serif);font-size:18px}
.monetization-sponsor a em{display:block;margin-top:10px;color:var(--gold2);font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em}
.monetization-preview{border-style:dashed;background:repeating-linear-gradient(135deg,rgba(231,201,113,.035),rgba(231,201,113,.035) 10px,rgba(255,255,255,.015) 10px,rgba(255,255,255,.015) 20px)}
.monetization-preview-body{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.monetization-preview-body b{color:var(--gold2);font-family:var(--serif);font-size:15px}
.monetization-preview-body span{font-size:11px;color:#ddd5c5}
.monetization-preview-body small{font-size:9px;color:var(--muted)}
@media (max-width:600px){.monetization-slot{margin:24px 0 16px}.monetization-ad-host{min-height:80px}}


/* v1.18.1 — Revenue activation / operations layer */
.monetization-sponsor-image{display:block;width:100%;max-height:160px;object-fit:cover;border-radius:8px;margin:0 0 10px}
.monetization-admin-status{padding:8px 14px}
.monetization-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.06)}
.monetization-admin-row:last-of-type{border-bottom:0}
.monetization-admin-row span{min-width:0}.monetization-admin-row b,.monetization-admin-row small{display:block}
.monetization-admin-row b{font-size:12px}.monetization-admin-row small{margin-top:2px;color:var(--muted);font-size:9px}
.monetization-admin-row strong{color:var(--gold2);font-size:11px;white-space:nowrap}.monetization-admin-row strong.ok{color:#76d89b}.monetization-admin-row strong.off{color:var(--muted)}
.monetization-admin-note{padding:10px 2px 4px;color:var(--muted);font-size:9px;line-height:1.5}.monetization-admin-note code{color:var(--gold2)}

/* v1.18.26 BLACKJACK LIVE DEALER EXAM — physical card placement / collection-order exam */
.blackjack-live-exam-intro{max-width:620px}
.blackjack-live-exam-intro>p{line-height:1.75;color:#d8d0bf}
.blackjack-live-exam-intro ul{margin:14px 0 18px;padding-left:20px;color:#c8c0af;font-size:12px;line-height:1.7}
body.blackjack-live-dealer-exam-active{overflow-x:hidden}
body.blackjack-live-dealer-exam-active #bottomNav{display:none!important}
.blackjack-live-exam-screen{padding-bottom:12px}
.bj-live-top{border-bottom:1px solid rgba(213,168,75,.22)}
.bj-live-progress{margin:0 8px 5px}
.bj-live-status{display:grid;grid-template-columns:.7fr .72fr 1.25fr;gap:4px;margin:5px 8px 6px}
.bj-live-status span{min-width:0;padding:6px 5px;border:1px solid rgba(213,168,75,.18);border-radius:9px;background:#09120d;text-align:center}
.bj-live-status small{display:block;color:#8e9b91;font-size:6.5px;letter-spacing:.11em}
.bj-live-status b{display:block;margin-top:2px;color:#efe2bc;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* The felt is viewed from the dealer side: player-side print is intentionally upside-down. */
.bj-live-table.dealer-view{position:relative;height:clamp(318px,47vw,430px);margin:0 8px 7px;overflow:hidden;border:10px solid #222a29;border-bottom-width:13px;border-radius:49% 49% 18px 18px / 39% 39% 16px 16px;background-color:#645957;background-image:linear-gradient(150deg,rgba(255,255,255,.075) 0 24%,transparent 24% 100%),linear-gradient(30deg,rgba(25,32,32,.18) 0 27%,transparent 27% 100%),linear-gradient(210deg,rgba(255,255,255,.045) 0 29%,transparent 29% 100%),linear-gradient(330deg,rgba(31,39,39,.13) 0 26%,transparent 26% 100%);background-size:190px 145px,205px 156px,232px 174px,250px 188px;background-position:0 0,56px 23px,121px -9px,-34px 86px;box-shadow:inset 0 0 0 3px rgba(221,210,190,.13),inset 0 -26px 46px rgba(0,0,0,.14),0 10px 28px rgba(0,0,0,.38)}
.bj-live-table.dealer-view:before{content:"";position:absolute;inset:6px 8px 8px;border:2px solid rgba(220,212,193,.09);border-radius:49% 49% 11px 11px/39% 39% 11px 11px;pointer-events:none;z-index:1}
.bj-live-table.dealer-view:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-23px;height:42px;border-radius:50%;background:linear-gradient(180deg,#4b514f,#1b211f 46%,#0f1413);box-shadow:inset 0 5px 8px rgba(255,255,255,.05),0 -2px 8px rgba(0,0,0,.42);z-index:18;pointer-events:none}

.bj-live-felt-print{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.bj-live-felt-print .insurance-arc{fill:none;stroke:rgba(244,241,229,.9);stroke-width:10;stroke-linecap:round}
.bj-live-felt-print text{fill:rgba(247,244,232,.92);font-family:Georgia,'Times New Roman',serif;font-weight:800;letter-spacing:2px;paint-order:stroke;stroke:rgba(46,42,42,.16);stroke-width:1px}
.bj-live-felt-print .insurance-copy{font-size:25px;letter-spacing:4px}
.bj-live-felt-print .main-rule{font-size:23px;letter-spacing:2px}
.bj-live-felt-print .sub-rule{font-size:15px;letter-spacing:1.4px;font-weight:700;font-style:italic}
.bj-live-felt-print .wager-emblems rect{fill:rgba(255,255,255,.055);stroke:rgba(249,247,236,.92);stroke-width:8}
.bj-live-felt-print .wager-emblems rect+rect{fill:none;stroke-width:5}

/* Legacy seat block; v1.18.30 overrides below use physical spots 1 / 3 / 5 of the five-spot felt. */
.bj-live-player-grid{position:absolute;inset:0;z-index:6;pointer-events:none}
.bj-live-seat{position:absolute;width:25%;height:170px;min-width:0;transform:translateX(-50%);border:1px solid transparent;border-radius:28px;pointer-events:auto;transition:border-color .18s,box-shadow .18s,background .18s,opacity .18s}
.bj-live-seat:nth-child(1){left:27%;top:21%}
.bj-live-seat:nth-child(2){left:50.5%;top:14.5%}
.bj-live-seat:nth-child(3){left:74%;top:21%}
.bj-live-seat.active{border-color:rgba(250,220,125,.58);background:radial-gradient(ellipse at 50% 56%,rgba(250,214,104,.105),transparent 68%);box-shadow:0 0 0 2px rgba(244,203,91,.08),0 0 22px rgba(237,191,74,.14)}
.bj-live-seat.resolved{opacity:.54}
.bj-live-hand{height:100%;min-width:0}
.bj-live-hand.compact{height:100%}
.bj-live-hand.resolved{opacity:.55}
.bj-live-hand.cards-collected .bj-live-cards{opacity:0;visibility:hidden;pointer-events:none}
.bj-live-hand-body{position:relative;display:grid;grid-template-rows:48px 100px;align-items:start;justify-items:center;height:100%;padding-top:0}
.bj-live-cards{grid-row:2;position:relative;width:138px;height:108px;overflow:visible}
.bj-live-card-stack{position:relative;width:138px;height:108px;margin:0 auto}
.bj-live-card-stack.empty{visibility:hidden}
.bj-live-card-pos{position:absolute;left:calc(55px - var(--card-i) * 30px);top:calc(var(--card-i) * 16px);z-index:calc(4 + var(--card-i));transform-origin:center center}
.bj-live-card-pos .play-card{width:40px;height:58px;padding:4px;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.34)}
.bj-live-card-pos .play-card .rank{font-size:14px}
.bj-live-card-pos .play-card .suit{font-size:17px;margin-top:5px}
.bj-live-card-pos.double-card{left:calc(49px - var(--card-i) * 30px);top:calc(var(--card-i) * 16px + 8px);transform:rotate(90deg);z-index:14}
.bj-live-card-stack.hole-stack .bj-live-card-pos:first-child{left:55px;top:0;z-index:8}
.bj-live-card-stack.hole-stack .bj-live-card-pos.hole-under{left:25px;top:16px;z-index:3}
.bj-live-card-back{display:grid!important;place-items:center;background:repeating-linear-gradient(45deg,#161e35,#161e35 4px,#2b3859 4px,#2b3859 8px)!important;color:#e1c777!important;border-color:#e4d39b!important}
.bj-live-card-back span{font:800 10px var(--serif);letter-spacing:.08em}

/* Chips sit on the physical wagering mark; cards remain closer to the dealer. */
.bj-live-bet-zone{grid-row:1;position:relative;width:62px;height:44px;margin:0 auto;transform:translateY(-9px)}
.bj-live-bet-circle{position:absolute;left:50%;top:0;width:44px;height:44px;transform:translateX(-50%);display:grid;place-items:center;border-radius:50%;background:transparent}
.bj-live-bet-zone .exam-bet-chip-cluster{padding-top:0;transform:scale(.66)}
.bj-live-bet-zone .exam-bet-chip-cluster .table-chip{width:31px!important;height:31px!important}
.bj-live-double-bet{position:absolute;left:68%;top:1px;width:40px;z-index:3}
.bj-live-double-bet .exam-bet-chip-cluster{padding-top:0;transform:scale(.56)}
.bj-live-ins-bet{position:absolute;left:82%;top:24px;width:38px;z-index:4}
.bj-live-ins-bet .exam-bet-chip-cluster{padding-top:0;transform:scale(.5)}
.bj-live-bet-zone.resolved{opacity:.28}

/* Split stays inside one physical seat; it never increases table height. */
.bj-live-seat.split{width:24%;height:164px}
.bj-live-seat.split[data-seat="p1"]{left:25.8%}
.bj-live-seat.split[data-seat="p3"]{left:75.2%}
.bj-live-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:100%;padding:0 1px}
.bj-live-seat.split .bj-live-hand{height:100%;min-width:0}
.bj-live-seat.split .bj-live-hand-body{grid-template-rows:40px 82px;padding-top:0}
.bj-live-seat.split .bj-live-cards,.bj-live-seat.split .bj-live-card-stack{width:58px;height:70px}
.bj-live-seat.split .bj-live-card-pos{left:calc(25px - var(--card-i) * 18px);top:calc(var(--card-i) * 8px)}
.bj-live-seat.split .bj-live-card-pos .play-card{width:23px;height:35px;padding:2px}
.bj-live-seat.split .bj-live-card-pos .play-card .rank{font-size:8px}
.bj-live-seat.split .bj-live-card-pos .play-card .suit{font-size:10px;margin-top:2px}
.bj-live-seat.split .bj-live-bet-zone{width:42px;height:38px;transform:translateY(-12px)}
.bj-live-seat.split .bj-live-bet-circle{width:34px;height:34px}
.bj-live-seat.split .bj-live-bet-zone .exam-bet-chip-cluster{transform:scale(.45);padding-top:0}
.bj-live-seat.split .bj-live-double-bet{left:63%;top:4px}

/* Dealer working area: cards only, matching a real felt. */
.bj-live-dealer-zone{position:absolute;left:50%;bottom:24px;width:214px;height:82px;transform:translateX(-50%);z-index:10}
.bj-live-dealer-cards{width:210px;height:78px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.bj-live-dealer-cards .bj-live-card-stack{width:210px;height:94px}
.bj-live-dealer-cards .bj-live-card-pos{left:calc(84px - var(--card-i) * 46px);top:8px}
.bj-live-dealer-cards .bj-live-card-pos .play-card{width:42px;height:61px}
.bj-live-dealer-cards .bj-live-card-stack.hole-stack .bj-live-card-pos:first-child{left:84px;top:8px}
.bj-live-dealer-cards .bj-live-card-stack.hole-stack .bj-live-card-pos.hole-under{left:38px;top:8px}
.bj-live-card-stack.dealer-row .bj-live-card-pos{top:8px}
.bj-live-card-stack.dealer-row .bj-live-card-pos.hole-under{top:8px}

/* Physical equipment contains no instructional labels. */
.bj-live-tray{position:absolute;left:50%;bottom:6px;width:238px;height:39px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:4px;padding:0 9px;border:3px solid #3c392f;border-radius:5px;background:linear-gradient(180deg,#454036 0,#201e1a 32%,#11110f 100%);box-shadow:inset 0 3px 3px rgba(255,255,255,.07),0 3px 8px rgba(0,0,0,.55);z-index:20}
.bj-live-tray i{display:block;flex:1;height:24px;border-radius:2px;background:repeating-linear-gradient(90deg,#b12e31 0 4px,#e8d4a2 4px 7px,#1d1d1b 7px 10px,#436f47 10px 14px,#e2c666 14px 18px,#744f92 18px 22px);opacity:.9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.bj-live-shoe,.bj-live-discard{position:absolute;bottom:16px;z-index:21;width:74px;height:48px;border:1px solid rgba(235,231,217,.35);border-radius:5px;background:linear-gradient(150deg,rgba(255,255,255,.26),rgba(177,187,184,.1) 42%,rgba(8,12,12,.38));box-shadow:0 4px 9px rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.08)}
.bj-live-shoe{left:15px;transform:skewY(-5deg)}
.bj-live-discard{right:15px;transform:skewY(4deg)}
.bj-live-shoe i{position:absolute;left:18px;top:12px;width:36px;height:27px;background:linear-gradient(165deg,#f4f1df 0 65%,#2a2b29 66%);clip-path:polygon(0 0,100% 15%,83% 100%,0 84%);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.bj-live-discard i{position:absolute;left:20px;top:10px;width:32px;height:29px;border:3px solid rgba(238,239,230,.5);border-top-width:1px;border-radius:2px;background:repeating-linear-gradient(0deg,rgba(238,232,210,.5) 0 2px,rgba(48,48,45,.35) 2px 4px)}

/* Dealer controls live outside the felt. */
.bj-live-console{position:sticky;bottom:6px;z-index:30;margin:0 8px;padding:9px 10px;background:linear-gradient(180deg,rgba(13,18,14,.98),rgba(5,10,7,.99));box-shadow:0 -7px 18px rgba(0,0,0,.26),0 8px 22px rgba(0,0,0,.35)}
.bj-live-console h3{margin:3px 0 7px;color:#f4ead1;font-size:12px;line-height:1.28}
.bj-live-player-call{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin:-1px 0 7px;padding:6px 8px;border:1px solid rgba(194,124,255,.46);border-radius:9px;background:radial-gradient(circle at 15% 50%,rgba(149,77,204,.22),transparent 60%),#0d1110}
.bj-live-player-call small{color:#d7aeef;font-size:6px;font-weight:900;letter-spacing:.08em}
.bj-live-player-call strong{color:#fff;font-size:13px;letter-spacing:.05em}
.bj-live-player-call span{color:#8b8790;font-size:5.5px;font-weight:900;letter-spacing:.08em}
.bj-live-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.bj-live-choice-grid.many{grid-template-columns:repeat(2,1fr)}
.bj-live-choice-grid.three{grid-template-columns:repeat(3,1fr)}
.bj-live-choice-grid button{min-height:43px;padding:7px 5px;border:1px solid rgba(213,168,75,.3);border-radius:9px;background:#0b1710;color:#eee2c4;font-size:8px;font-weight:900;letter-spacing:.035em;cursor:pointer}
.bj-live-choice-grid button:active{transform:scale(.98)}
.bj-live-choice-grid button.selected{border-color:#e0b957;background:linear-gradient(180deg,#755a20,#3e2f12);color:#fff3cf;box-shadow:0 0 0 2px rgba(224,185,87,.13)}
.bj-live-console.needs-selection .bj-live-choice-grid button{animation:tfChoiceGlow 1.05s ease-in-out infinite}
.bj-live-console.needs-selection .bj-live-choice-grid button:nth-child(2){animation-delay:.12s}
.bj-live-console.needs-selection .bj-live-choice-grid button:nth-child(3){animation-delay:.24s}
.bj-live-console.needs-selection .bj-live-choice-grid button:nth-child(4){animation-delay:.36s}
.bj-live-console.has-selection .bj-live-choice-grid button:not(.selected){opacity:.55}
.bj-live-payout-tray{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;min-height:53px;margin:7px 0;padding:7px 9px;border:1px solid rgba(213,168,75,.27);border-radius:10px;background:#08150e}
.bj-live-payout-tray>span{color:#9aa79e;font-size:7px}
.bj-live-payout-tray>strong{color:#f0d47d;font:800 18px var(--serif)}
.bj-live-payout-tray>div{display:flex;justify-content:flex-end;gap:4px;overflow-x:auto}
.bj-live-chip-bank{margin-top:5px}
.bj-live-confirm{margin-top:7px;width:100%}
.bj-live-confirm.ready{animation:tfConfirmPulse 1s ease-in-out infinite}

.bj-live-category-result,.bj-live-review{margin:10px 8px}
.bj-live-category-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.bj-live-category-row:last-child{border-bottom:0}
.bj-live-category-row span{font-size:10px;color:#d6cfbf}.bj-live-category-row b{font-size:11px}.bj-live-category-row em{min-width:42px;text-align:right;font-style:normal;font-size:10px;font-weight:900}
.bj-live-category-row.pass em{color:#7ad099}.bj-live-category-row.fail em{color:#f18181}
.bj-live-review>p{color:#9ba69e;font-size:10px}
.bj-live-review-row{margin-top:7px;padding:9px;border:1px solid rgba(213,168,75,.17);border-radius:10px;background:#09130d}
.bj-live-review-row.critical{border-color:rgba(226,89,89,.55);background:#1c0d0d}
.bj-live-review-row>span{color:#e6b45e;font-size:8px;font-weight:900}.bj-live-review-row.critical>span{color:#ff8b8b}
.bj-live-review-row>b{float:right;color:#aab5ad;font-size:8px}.bj-live-review-row>p{clear:both;margin:5px 0;color:#ddd4c3;font-size:10px}.bj-live-review-row>small,.bj-live-review-row>strong{display:block;margin-top:3px;font-size:9px}.bj-live-review-row>small{color:#c89b9b}.bj-live-review-row>strong{color:#90d4a6}

@media(max-width:520px){
  .bj-live-table.dealer-view{height:326px;margin-left:4px;margin-right:4px;border-width:8px;border-bottom-width:11px}
  .bj-live-seat{width:26%;height:143px}.bj-live-seat:nth-child(1){left:28%;top:20%}.bj-live-seat:nth-child(2){left:50.5%;top:15.5%}.bj-live-seat:nth-child(3){left:73%;top:20%}
  .bj-live-hand-body{grid-template-rows:42px 82px}
  .bj-live-cards,.bj-live-card-stack{width:112px;height:90px}
  .bj-live-card-pos{left:calc(44px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px)}
  .bj-live-card-pos .play-card{width:34px;height:50px;padding:3px}.bj-live-card-pos .play-card .rank{font-size:12px}.bj-live-card-pos .play-card .suit{font-size:15px;margin-top:4px}
  .bj-live-card-pos.double-card{left:calc(40px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px + 7px)}
  .bj-live-bet-zone{height:38px;transform:translateY(-8px)}.bj-live-bet-circle{width:36px;height:36px}.bj-live-bet-zone .exam-bet-chip-cluster{transform:scale(.55)}
  .bj-live-seat.split{width:27%;height:140px}.bj-live-seat.split .bj-live-hand-body{grid-template-rows:36px 72px}
.bj-live-seat.split[data-seat="p1"]{left:26.4%}
.bj-live-seat.split[data-seat="p3"]{left:74.6%}
  .bj-live-seat.split .bj-live-cards,.bj-live-seat.split .bj-live-card-stack{width:52px;height:64px}.bj-live-seat.split .bj-live-card-pos{left:calc(20px - var(--card-i) * 15px);top:calc(var(--card-i) * 8px)}.bj-live-seat.split .bj-live-card-pos .play-card{width:21px;height:32px}.bj-live-seat.split .bj-live-card-pos .play-card .rank{font-size:8px}.bj-live-seat.split .bj-live-card-pos .play-card .suit{font-size:9px}
  .bj-live-dealer-zone{bottom:22px;transform:translateX(-50%) scale(.92)}
  .bj-live-tray{bottom:3px;width:190px;height:34px}.bj-live-shoe,.bj-live-discard{bottom:11px;width:59px;height:40px}.bj-live-shoe{left:7px}.bj-live-discard{right:7px}
  .bj-live-felt-print .insurance-copy{font-size:22px}.bj-live-felt-print .main-rule{font-size:20px}.bj-live-felt-print .sub-rule{font-size:13px}
  .bj-live-console{margin-left:4px;margin-right:4px;padding:8px}
  .bj-live-choice-grid{grid-template-columns:1fr 1fr}.bj-live-choice-grid.three{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:370px){
  .bj-live-status{gap:2px;margin-left:4px;margin-right:4px}.bj-live-status span{padding:5px 2px}.bj-live-status b{font-size:7px}
  .bj-live-table.dealer-view{height:304px;border-width:7px;border-bottom-width:10px}
  .bj-live-seat{width:27%;height:136px}.bj-live-hand-body{grid-template-rows:38px 70px}
  .bj-live-cards,.bj-live-card-stack{width:100px;height:82px}.bj-live-card-pos{left:calc(36px - var(--card-i) * 19px);top:calc(var(--card-i) * 11px)}.bj-live-card-pos .play-card{width:29px;height:43px}.bj-live-card-pos .play-card .rank{font-size:11px}.bj-live-card-pos .play-card .suit{font-size:14px}
  .bj-live-seat.split{width:30%;height:134px}.bj-live-seat.split .bj-live-cards,.bj-live-seat.split .bj-live-card-stack{width:48px}.bj-live-seat.split .bj-live-card-pos{left:calc(16px - var(--card-i) * 13px);top:calc(var(--card-i) * 7px)}
.bj-live-seat.split[data-seat="p1"]{left:26.8%}
.bj-live-seat.split[data-seat="p3"]{left:74.2%}
  .bj-live-dealer-zone{bottom:19px;transform:translateX(-50%) scale(.88)}
  .bj-live-tray{width:170px}.bj-live-shoe,.bj-live-discard{width:52px;height:36px}.bj-live-shoe i{left:12px}.bj-live-discard i{left:15px}
  .bj-live-felt-print .insurance-copy{font-size:20px}.bj-live-felt-print .main-rule{font-size:18px}.bj-live-felt-print .sub-rule{font-size:12px}
  .bj-live-console h3{font-size:11px}.bj-live-player-call strong{font-size:11px}.bj-live-choice-grid.three{grid-template-columns:repeat(3,1fr)}
}


/* v1.18.30 — physical table geometry: use the full five-spot felt instead of shrinking split hands. */
.bj-live-table.dealer-view{height:clamp(390px,58vw,520px)}
.bj-live-player-grid{position:absolute;inset:0;z-index:7;pointer-events:none}
.bj-live-seat,.bj-live-seat.split{position:absolute;inset:0;width:auto;height:auto;transform:none;border:0;border-radius:0;pointer-events:none;background:none;box-shadow:none;opacity:1}
.bj-live-seat:nth-child(1),.bj-live-seat:nth-child(2),.bj-live-seat:nth-child(3){left:0;top:0}
.bj-live-seat.active{border:0;background:none;box-shadow:none}
.bj-live-seat.resolved{opacity:1}
.bj-live-main-bet-zone{position:absolute;left:var(--spot-x);top:var(--spot-y);width:64px;height:48px;transform:translate(-50%,-50%);z-index:8;display:grid;place-items:center}
.bj-live-main-bet-zone.resolved{opacity:.34}
.bj-live-main-bet-zone .exam-bet-chip-cluster{padding:0;transform:scale(.72);transform-origin:center}
.bj-live-main-bet-zone .table-chip{width:31px!important;height:31px!important}
.bj-live-main-bet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.bj-live-double-bet{position:absolute;left:65%;top:50%;width:40px;transform:translate(-50%,-50%);z-index:3}
.bj-live-double-bet .exam-bet-chip-cluster{padding:0;transform:scale(.62)}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet{position:absolute;top:50%;width:34px;transform:translate(-50%,-50%);z-index:3}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.original{left:40%}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.added{left:62%}
.bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{padding:0;transform:scale(.57);transform-origin:center}
.bj-live-player-cards{position:absolute;left:var(--hand-x);top:var(--hand-y);width:120px;height:100px;transform:translateX(-50%);overflow:visible;z-index:7}
.bj-live-player-cards.cards-collected,.bj-live-split-hand.cards-collected{opacity:0;visibility:hidden;pointer-events:none}
.bj-live-card-stack{position:relative;width:120px;height:100px;margin:0;overflow:visible}
.bj-live-card-pos{position:absolute;left:calc(42px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px);z-index:calc(4 + var(--card-i));transform-origin:center center}
.bj-live-card-pos .play-card{width:36px;height:52px;padding:3px;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.34)}
.bj-live-card-pos .play-card .rank{font-size:13px}
.bj-live-card-pos .play-card .suit{font-size:16px;margin-top:4px}
.bj-live-card-pos.double-card{left:calc(38px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px + 7px);transform:rotate(90deg);z-index:14}
.bj-live-split-hand{position:absolute;width:120px;height:100px;transform:translateX(-50%);overflow:visible;z-index:8}
.bj-live-split-hand.hand-a{left:var(--split-a-x);top:var(--split-a-y)}
.bj-live-split-hand.hand-b{left:var(--split-b-x);top:var(--split-b-y)}
.bj-live-split-hand.resolved{opacity:.58}
.bj-live-split-hand .bj-live-card-stack,.bj-live-split-hand .bj-live-card-pos .play-card{--split-card-size:1}
.bj-live-insurance-layer{position:absolute;inset:0;z-index:9;pointer-events:none}
.bj-live-insurance-bet{position:absolute;left:var(--insurance-x);top:var(--insurance-y);width:44px;height:38px;transform:translate(-50%,-50%);display:grid;place-items:center}
.bj-live-insurance-bet .exam-bet-chip-cluster{padding:0;transform:scale(.62);transform-origin:center}
.bj-live-insurance-bet .table-chip{width:31px!important;height:31px!important}
.bj-live-insurance-bet.seat-p1 .exam-bet-chip-cluster,
.bj-live-insurance-bet.seat-p2 .exam-bet-chip-cluster,
.bj-live-insurance-bet.seat-p3 .exam-bet-chip-cluster{transform:scale(.66);transform-origin:center}
/* Dealer up card is anchored immediately above the chip tray; subsequent cards extend straight left. */
.bj-live-dealer-zone{left:50%;bottom:24px;width:214px;height:82px;transform:translateX(-50%);z-index:10}
.bj-live-dealer-cards,.bj-live-dealer-cards .bj-live-card-stack{width:214px;height:82px}
.bj-live-dealer-cards .bj-live-card-pos{left:calc(86px - var(--card-i) * 46px);top:8px}
.bj-live-dealer-cards .bj-live-card-stack.hole-stack .bj-live-card-pos:first-child{left:86px;top:8px}
.bj-live-dealer-cards .bj-live-card-stack.hole-stack .bj-live-card-pos.hole-under{left:40px;top:8px}
.bj-live-card-stack.dealer-row .bj-live-card-pos{top:8px}
.bj-live-card-stack.dealer-row .bj-live-card-pos.hole-under{top:8px}
@media(max-width:520px){
  .bj-live-table.dealer-view{height:380px}
  .bj-live-main-bet-zone{width:58px;height:44px}
  .bj-live-main-bet-zone .exam-bet-chip-cluster{transform:scale(.66)}
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.54)}
  .bj-live-player-cards,.bj-live-split-hand{width:112px;height:96px}
  .bj-live-card-stack{width:112px;height:96px}
  .bj-live-card-pos{left:calc(38px - var(--card-i) * 23px);top:calc(var(--card-i) * 13px)}
  .bj-live-card-pos .play-card{width:34px;height:49px;padding:3px}
  .bj-live-card-pos .play-card .rank{font-size:12px}.bj-live-card-pos .play-card .suit{font-size:15px;margin-top:4px}
  .bj-live-card-pos.double-card{left:calc(34px - var(--card-i) * 23px);top:calc(var(--card-i) * 13px + 6px)}
  .bj-live-insurance-bet .exam-bet-chip-cluster{transform:scale(.56)}
  .bj-live-dealer-zone{bottom:22px;transform:translateX(-50%) scale(.92)}
}
@media(max-width:370px){
  .bj-live-table.dealer-view{height:358px}
  .bj-live-main-bet-zone .exam-bet-chip-cluster{transform:scale(.62)}
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.50)}
  .bj-live-player-cards,.bj-live-split-hand{width:106px;height:92px}
  .bj-live-card-stack{width:106px;height:92px}
  .bj-live-card-pos{left:calc(36px - var(--card-i) * 22px);top:calc(var(--card-i) * 12px)}
  .bj-live-card-pos .play-card{width:33px;height:48px;padding:3px}
  .bj-live-card-pos.double-card{left:calc(32px - var(--card-i) * 22px);top:calc(var(--card-i) * 12px + 6px)}
  .bj-live-dealer-zone{bottom:19px;transform:translateX(-50%) scale(.88)}
}

/* Left-edge PLAYER 1 keeps the first card centered on its betting spot, then fans later cards more vertically to stay on felt. */
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(1){left:42px;top:0}
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(2){left:22px;top:14px}
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(3){left:10px;top:28px}
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(4){left:4px;top:42px}
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(n+5){left:0;top:calc((var(--card-i) - 1) * 14px)}
@media(max-width:520px){
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(1){left:38px;top:0}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(2){left:19px;top:13px}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(3){left:8px;top:26px}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(4){left:3px;top:39px}
}
@media(max-width:370px){
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(1){left:36px;top:0}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(2){left:18px;top:12px}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(3){left:7px;top:24px}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(4){left:2px;top:36px}
}
/* Split hands keep exactly the same readable card scale as normal hands. */
.bj-live-seat.split .bj-live-card-stack{width:120px;height:100px}
.bj-live-seat.split .bj-live-card-pos{left:calc(42px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px)}
.bj-live-seat.split .bj-live-card-pos .play-card{width:36px;height:52px;padding:3px}
.bj-live-seat.split .bj-live-card-pos .play-card .rank{font-size:13px}
.bj-live-seat.split .bj-live-card-pos .play-card .suit{font-size:16px;margin-top:4px}
.bj-live-seat.split .bj-live-card-pos.double-card{left:calc(38px - var(--card-i) * 24px);top:calc(var(--card-i) * 14px + 7px)}
@media(max-width:520px){
  .bj-live-seat.split .bj-live-card-stack{width:112px;height:96px}
  .bj-live-seat.split .bj-live-card-pos{left:calc(38px - var(--card-i) * 23px);top:calc(var(--card-i) * 13px)}
  .bj-live-seat.split .bj-live-card-pos .play-card{width:34px;height:49px;padding:3px}
  .bj-live-seat.split .bj-live-card-pos .play-card .rank{font-size:12px}
  .bj-live-seat.split .bj-live-card-pos .play-card .suit{font-size:15px;margin-top:4px}
}
@media(max-width:370px){
  .bj-live-seat.split .bj-live-card-stack{width:106px;height:92px}
  .bj-live-seat.split .bj-live-card-pos{left:calc(36px - var(--card-i) * 22px);top:calc(var(--card-i) * 12px)}
  .bj-live-seat.split .bj-live-card-pos .play-card{width:33px;height:48px;padding:3px}
  .bj-live-seat.split .bj-live-card-pos .play-card .rank{font-size:11px}
  .bj-live-seat.split .bj-live-card-pos .play-card .suit{font-size:14px;margin-top:4px}
}


/* v1.18.31 — split clearance + no-scroll settlement.
   Full-size split hands use vertical/diagonal dead space rather than invading neighbouring lanes. */
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(1){left:42px;top:0}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(2){left:25px;top:14px}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(3){left:15px;top:28px}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(4){left:9px;top:42px}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(n+5){left:5px;top:calc((var(--card-i) - 1) * 14px)}

/* SETTLEMENT must remain operable without page scrolling. */
.blackjack-live-exam-screen.settlement-phase{padding-bottom:clamp(190px,30vh,250px)}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement{
  position:fixed;
  left:50%;
  bottom:max(6px,env(safe-area-inset-bottom));
  width:min(760px,calc(100vw - 12px));
  max-height:min(270px,42vh);
  margin:0;
  transform:translateX(-50%);
  overflow-y:auto;
  overscroll-behavior:contain;
  z-index:120;
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement h3{margin:1px 0 5px;font-size:10px}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement .bj-live-choice-grid button{min-height:34px;padding:5px 4px}
.blackjack-live-exam-screen.settlement-phase .bj-live-payout-tray{min-height:40px;margin:5px 0;padding:5px 7px}
.blackjack-live-exam-screen.settlement-phase .bj-live-payout-tray>strong{font-size:15px}
.blackjack-live-exam-screen.settlement-phase .bj-live-chip-bank{display:flex;gap:4px;margin-top:3px;overflow-x:auto;overflow-y:hidden}
.blackjack-live-exam-screen.settlement-phase .bj-live-chip-bank .casino-chip{flex:0 0 43px;width:43px;max-width:43px;border-width:4px}
.blackjack-live-exam-screen.settlement-phase .bj-live-chip-bank .casino-chip span{font-size:8px}
.blackjack-live-exam-screen.settlement-phase .chip-actions{margin-top:4px;gap:4px}
.blackjack-live-exam-screen.settlement-phase .chip-actions .btn{min-height:34px;padding:5px 4px}
@media(max-width:520px){
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(1){left:38px;top:0}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(2){left:23px;top:13px}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(3){left:14px;top:26px}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(4){left:8px;top:39px}
  .blackjack-live-exam-screen.settlement-phase{padding-bottom:210px}
  .blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement{max-height:245px;width:calc(100vw - 8px)}
}
@media(max-width:370px){
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(1){left:36px;top:0}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(2){left:22px;top:12px}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(3){left:13px;top:24px}
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(4){left:7px;top:36px}
  .blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement{max-height:230px}
}


/* v1.18.32 — AUTHENTIC SPLIT MODEL
   One player spot becomes two independent hands + two equal wagers.
   Card size is unchanged on split. Original = Dealer-left, second split hand = Dealer-right. */
.bj-live-main-bet-zone.split-bets{width:74px;height:58px}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet{position:absolute;width:36px;z-index:4;transform:translate(-50%,-50%)}
/* TCI-style separation inside the original betting area: original ~11 o'clock, new split wager ~5 o'clock. */
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.original{left:31%;top:34%}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.added{left:69%;top:66%}
.bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{padding:0;transform:scale(.64);transform-origin:center}

.bj-live-split-hand{width:84px;height:104px;transform:translateX(-50%);overflow:visible;z-index:9}
.bj-live-split-hand.hand-a{left:var(--split-a-x);top:var(--split-a-y)}
.bj-live-split-hand.hand-b{left:var(--split-b-x);top:var(--split-b-y)}
.bj-live-split-hand .bj-live-card-stack{position:relative;width:84px;height:104px;margin:0;overflow:visible}
/* Same physical card dimensions as a normal hand. Only the fan direction changes to keep both hands readable. */
.bj-live-split-hand .bj-live-card-pos{left:24px;top:calc(var(--card-i) * 14px)}
.bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(24px - var(--card-i) * 12px)}
.bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(24px + var(--card-i) * 12px)}
.bj-live-split-hand .bj-live-card-pos .play-card{width:36px;height:52px;padding:3px;border-radius:5px}
.bj-live-split-hand .bj-live-card-pos .play-card .rank{font-size:13px}
.bj-live-split-hand .bj-live-card-pos .play-card .suit{font-size:16px;margin-top:4px}
.bj-live-split-hand.resolved{opacity:.58}

@media(max-width:520px){
  .bj-live-main-bet-zone.split-bets{width:68px;height:54px}
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.59)}
  .bj-live-split-hand{width:80px;height:98px}
  .bj-live-split-hand .bj-live-card-stack{width:80px;height:98px}
  .bj-live-split-hand .bj-live-card-pos{left:23px;top:calc(var(--card-i) * 13px)}
  .bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(23px - var(--card-i) * 10px)}
  .bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(23px + var(--card-i) * 10px)}
  .bj-live-split-hand .bj-live-card-pos .play-card{width:34px;height:49px;padding:3px}
  .bj-live-split-hand .bj-live-card-pos .play-card .rank{font-size:12px}
  .bj-live-split-hand .bj-live-card-pos .play-card .suit{font-size:15px;margin-top:4px}
}
@media(max-width:370px){
  .bj-live-main-bet-zone.split-bets{width:64px;height:50px}
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.55)}
  .bj-live-split-hand{width:78px;height:96px}
  .bj-live-split-hand .bj-live-card-stack{width:78px;height:96px}
  .bj-live-split-hand .bj-live-card-pos{left:22px;top:calc(var(--card-i) * 12px)}
  .bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(22px - var(--card-i) * 10px)}
  .bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(22px + var(--card-i) * 10px)}
  .bj-live-split-hand .bj-live-card-pos .play-card{width:33px;height:48px;padding:3px}
}


/* v1.18.32 final geometry review — compact authentic fan, same size for normal and split hands. */
.bj-live-table.dealer-view{height:clamp(430px,60vw,540px)}
.bj-live-player-cards{width:84px;height:104px;transform:translateX(-50%)}
.bj-live-player-cards .bj-live-card-stack{width:84px;height:104px}
.bj-live-player-cards .bj-live-card-pos{left:24px;top:calc(var(--card-i) * 14px)}
.bj-live-player-cards .bj-live-card-pos:nth-child(n){left:calc(24px - var(--card-i) * 12px)}
.bj-live-player-cards .bj-live-card-pos.double-card{left:calc(20px - var(--card-i) * 12px);top:calc(var(--card-i) * 14px + 7px)}
/* Old left-edge emergency fan is intentionally neutralized; spot 1 now fits with the normal card size. */
.bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(n){left:calc(24px - var(--card-i) * 12px);top:calc(var(--card-i) * 14px)}

.bj-live-split-hand{width:84px;height:104px}
.bj-live-split-hand .bj-live-card-stack{width:84px;height:104px}
.bj-live-split-hand .bj-live-card-pos{left:24px;top:calc(var(--card-i) * 14px)}
.bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(24px - var(--card-i) * 12px)}
.bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(24px + var(--card-i) * 12px)}

@media(max-width:520px){
  .bj-live-table.dealer-view{height:410px}
  .bj-live-player-cards,.bj-live-split-hand{width:76px;height:98px}
  .bj-live-player-cards .bj-live-card-stack,.bj-live-split-hand .bj-live-card-stack{width:76px;height:98px}
  .bj-live-player-cards .bj-live-card-pos,.bj-live-split-hand .bj-live-card-pos{left:21px;top:calc(var(--card-i) * 13px)}
  .bj-live-player-cards .bj-live-card-pos:nth-child(n),.bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(21px - var(--card-i) * 11px)}
  .bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(21px + var(--card-i) * 11px)}
  .bj-live-player-cards .bj-live-card-pos.double-card{left:calc(17px - var(--card-i) * 11px);top:calc(var(--card-i) * 13px + 6px)}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(n){left:calc(21px - var(--card-i) * 11px);top:calc(var(--card-i) * 13px)}
}
@media(max-width:370px){
  .bj-live-table.dealer-view{height:390px}
  .bj-live-player-cards,.bj-live-split-hand{width:74px;height:96px}
  .bj-live-player-cards .bj-live-card-stack,.bj-live-split-hand .bj-live-card-stack{width:74px;height:96px}
  .bj-live-player-cards .bj-live-card-pos,.bj-live-split-hand .bj-live-card-pos{left:20px;top:calc(var(--card-i) * 12px)}
  .bj-live-player-cards .bj-live-card-pos:nth-child(n),.bj-live-split-hand.fan-left .bj-live-card-pos{left:calc(20px - var(--card-i) * 10px)}
  .bj-live-split-hand.fan-right .bj-live-card-pos{left:calc(20px + var(--card-i) * 10px)}
  .bj-live-player-cards.edge-left .bj-live-card-pos:nth-child(n){left:calc(20px - var(--card-i) * 10px);top:calc(var(--card-i) * 12px)}
}

/* Edge split hands: real dealers tighten the fan near the rail rather than shrinking the cards. */
.bj-live-split-hand.fan-vertical .bj-live-card-pos{left:calc(24px - var(--card-i) * 4px);top:calc(var(--card-i) * 14px)}
@media(max-width:520px){.bj-live-split-hand.fan-vertical .bj-live-card-pos{left:calc(21px - var(--card-i) * 3px);top:calc(var(--card-i) * 13px)}}
@media(max-width:370px){.bj-live-split-hand.fan-vertical .bj-live-card-pos{left:calc(20px - var(--card-i) * 3px);top:calc(var(--card-i) * 12px)}}

/* Neutralize v1.18.31's P1 emergency fan; v1.18.32 uses explicit outward split fans. */
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-vertical .bj-live-card-pos:nth-child(n){left:calc(24px - var(--card-i) * 4px);top:calc(var(--card-i) * 14px)}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-right .bj-live-card-pos:nth-child(n){left:calc(24px + var(--card-i) * 12px);top:calc(var(--card-i) * 14px)}
@media(max-width:520px){
 .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-vertical .bj-live-card-pos:nth-child(n){left:calc(21px - var(--card-i) * 3px);top:calc(var(--card-i) * 13px)}
 .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-right .bj-live-card-pos:nth-child(n){left:calc(21px + var(--card-i) * 11px);top:calc(var(--card-i) * 13px)}
}
@media(max-width:370px){
 .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-vertical .bj-live-card-pos:nth-child(n){left:calc(20px - var(--card-i) * 3px);top:calc(var(--card-i) * 12px)}
 .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.fan-right .bj-live-card-pos:nth-child(n){left:calc(20px + var(--card-i) * 10px);top:calc(var(--card-i) * 12px)}
}
/* v1.18.32: erase all legacy per-seat split offsets so split-hand percentages resolve against the full felt. */
.bj-live-seat.split[data-seat="p1"],
.bj-live-seat.split[data-seat="p2"],
.bj-live-seat.split[data-seat="p3"]{
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:auto!important;height:auto!important;transform:none!important;
}
/* Split wagers remain on the original betting area, but are visibly separated as two independent equal bets. */
.bj-live-main-bet-zone.split-bets{width:84px;height:58px}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.original{left:25%;top:36%}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.added{left:75%;top:64%}
.bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.60)}
@media(max-width:520px){
 .bj-live-main-bet-zone.split-bets{width:80px;height:54px}
 .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.57)}
}
@media(max-width:370px){
 .bj-live-main-bet-zone.split-bets{width:76px;height:50px}
 .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.54)}
}

/* v1.18.33 — align split hands with their corresponding split wagers; keep P1-B readable at narrow widths. */
@media(max-width:370px){
 .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.hand-b.fan-right .bj-live-card-pos:nth-child(n){left:calc(20px + var(--card-i) * 5px);top:calc(var(--card-i) * 12px)}
}


/* v1.18.34 — SPLIT alignment lock.
   First cards stay on one horizontal baseline. Every later card is down-left.
   Each split wager is anchored directly above the first card of its own hand. */
.bj-live-seat.split .bj-live-split-hand .bj-live-card-pos:nth-child(n){
  left:calc(24px - var(--card-i) * 10px)!important;
  top:calc(var(--card-i) * 14px)!important;
}
.bj-live-main-bet-zone.split-bets{
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  pointer-events:none;
}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet{
  top:var(--spot-y)!important;
  transform:translate(-50%,-50%)!important;
}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.original{left:var(--split-a-x)!important}
.bj-live-main-bet-zone.split-bets .bj-live-split-bet.added{left:var(--split-b-x)!important}
@media(max-width:520px){
  .bj-live-seat.split .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(21px - var(--card-i) * 8px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
}
@media(max-width:370px){
  .bj-live-seat.split .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(20.5px - var(--card-i) * 4px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
}
/* Narrow-phone edge clearance: keep P1/P3 split first cards level while moving the whole pair down together. */
@media(max-width:370px){
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.hand-a,
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.hand-b,
  .bj-live-seat.split[data-seat="p3"] .bj-live-split-hand.hand-a,
  .bj-live-seat.split[data-seat="p3"] .bj-live-split-hand.hand-b{top:52.15%!important}
}


/* v1.18.36 — LIVE wager containment + compact Late Surrender settlement. */
/* Keep up to four physical wager chips centred over the betting spot, including edge PLAYER 3. */
.bj-live-table .exam-bet-chip-cluster .table-chip{margin-left:-19px!important}
.bj-live-table .exam-bet-chip-cluster .table-chip:first-child{margin-left:0!important}
.bj-live-main-bet-zone .exam-bet-chip-cluster{max-width:68px!important}

/* Late Surrender must be fully operable without scrolling the page or the fixed console. */
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement{
  max-height:none!important;
  overflow:visible!important;
  padding:6px 7px!important;
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement h3{display:none}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .kicker{margin-bottom:4px;font-size:7px}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-choice-grid.many{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:3px
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-choice-grid button{
  min-height:30px!important;padding:4px 2px!important;font-size:6.5px!important
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-payout-tray{
  grid-template-columns:auto auto 1fr;min-height:34px;margin:3px 0;padding:3px 5px
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-payout-tray>strong{font-size:13px}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-chip-bank{
  gap:3px;margin-top:2px;overflow-x:visible;justify-content:center
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-chip-bank .casino-chip{
  flex:0 0 36px;width:36px;max-width:36px;height:36px;border-width:3px
}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-chip-bank .casino-chip span{font-size:7px}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .chip-actions{margin-top:3px;gap:3px}
.blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .chip-actions .btn{
  min-height:30px;padding:3px 4px;font-size:8px
}
@media(max-width:370px){
  .blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement{width:calc(100vw - 6px)!important;padding:5px!important}
  .blackjack-live-exam-screen.settlement-phase .bj-live-console.settlement.surrender-settlement .bj-live-chip-bank .casino-chip{flex-basis:33px;width:33px;max-width:33px;height:33px}
}


/* v1.18.37 — DOUBLE wager separation + PLAYER 2 SPLIT vertical clearance. */
/* DOUBLE keeps MAIN BET untouched on the betting spot. The equal added wager is
   moved straight upward into unused felt space, so a 3–4 chip original stack is
   never covered and remains countable. */
.bj-live-main-bet-zone .bj-live-double-bet{
  left:50%!important;
  top:calc(50% - 40px)!important;
  width:68px!important;
  height:34px!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
}
.bj-live-main-bet-zone .bj-live-double-bet .exam-bet-chip-cluster{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
  max-width:68px!important;
}
@media(max-width:520px){.bj-live-main-bet-zone .bj-live-double-bet{top:calc(50% - 37px)!important}}
@media(max-width:370px){.bj-live-main-bet-zone .bj-live-double-bet{top:calc(50% - 35px)!important}}

/* PLAYER 2 SPLIT: both first cards stay on one horizontal baseline. Card 2+
   remains down-left, but the fan is intentionally much more vertical so HAND A
   cannot enter PLAYER 1's lane. Card size is unchanged. */
.bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
  left:calc(24px - var(--card-i) * 4px)!important;
  top:calc(var(--card-i) * 20px)!important;
}
@media(max-width:520px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(21px - var(--card-i) * 4px)!important;
    top:calc(var(--card-i) * 18px)!important;
  }
}
@media(max-width:370px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(20.5px - var(--card-i) * 3px)!important;
    top:calc(var(--card-i) * 17px)!important;
  }
}


/* v1.18.38 — worst-case SPLIT lane separation.
   PLAYER 2 owns the upper-centre felt. Edge split hands live on a lower lane.
   This deliberately uses the table vertically, so P2 cards can never descend
   into PLAYER 1-B / PLAYER 3-A wager bands on iPhone widths. */
.bj-live-seat.split[data-seat="p2"] .bj-live-split-hand.hand-a,
.bj-live-seat.split[data-seat="p2"] .bj-live-split-hand.hand-b{top:12.5%!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .bj-live-split-bet{top:2.5%!important}
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.hand-a,
.bj-live-seat.split[data-seat="p1"] .bj-live-split-hand.hand-b,
.bj-live-seat.split[data-seat="p3"] .bj-live-split-hand.hand-a,
.bj-live-seat.split[data-seat="p3"] .bj-live-split-hand.hand-b{top:52%!important}

/* Four-chip split wagers stay countable without crossing into the neighbouring
   split wager. The wager centre remains exactly aligned with card 1. */
.bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.55)!important;transform-origin:center!important}
.bj-live-main-bet-zone.split-bets .table-chip{margin-left:-25px!important}
.bj-live-main-bet-zone.split-bets .table-chip:first-child{margin-left:0!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.58)!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .table-chip{margin-left:-23px!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .table-chip:first-child{margin-left:0!important}

/* P2 fans downward with very little horizontal drift; P1/P3 use the same
   down-left rule but narrow phones also reduce horizontal drift. */
.bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
  left:calc(24px - var(--card-i) * 4px)!important;
  top:calc(var(--card-i) * 16px)!important;
}
@media(max-width:520px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(21px - var(--card-i) * 3px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(n),
  .bj-live-seat.split[data-seat="p3"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(21px - var(--card-i) * 4px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
}
@media(max-width:370px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(20.5px - var(--card-i) * 2.5px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
  .bj-live-seat.split[data-seat="p1"] .bj-live-split-hand .bj-live-card-pos:nth-child(n),
  .bj-live-seat.split[data-seat="p3"] .bj-live-split-hand .bj-live-card-pos:nth-child(n){
    left:calc(20.5px - var(--card-i) * 3px)!important;
    top:calc(var(--card-i) * 14px)!important;
  }
}

/* Stress-test / future DAS geometry: the DOUBLE wager is a second, independent
   stack between the original split wager and card 1. It never covers the
   original stack. */
.bj-live-split-double-bet{
  position:absolute;width:54px;height:26px;transform:translate(-50%,-50%);
  display:grid;place-items:center;z-index:12;pointer-events:none;
}
.bj-live-split-double-bet.hand-a{left:var(--split-a-x);top:49.5%}
.bj-live-split-double-bet.hand-b{left:var(--split-b-x);top:49.5%}
.bj-live-split-double-bet .exam-bet-chip-cluster{
  padding:0;max-width:54px!important;transform:scale(.50)!important;transform-origin:center!important;
}
.bj-live-split-double-bet .table-chip{margin-left:-25px!important}
.bj-live-split-double-bet .table-chip:first-child{margin-left:0!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-split-double-bet.hand-a,
.bj-live-seat.split[data-seat="p2"] .bj-live-split-double-bet.hand-b{top:10.5%}
/* Narrow top lane has only the gap between the P2 original split wager and card 1;
   slightly compact a hypothetical split-DOUBLE stack so all three objects remain distinct. */
.bj-live-seat.split[data-seat="p2"] .bj-live-split-double-bet .exam-bet-chip-cluster{transform:scale(.42)!important}


/* v1.18.40 — P2 split wager readability + clearer right-lane P3 insurance. */
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .bj-live-split-bet.original{left:var(--split-a-x)!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .bj-live-split-bet.added{left:var(--split-b-x)!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .bj-live-split-bet{top:2.5%!important;width:42px!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{max-width:76px!important;transform:scale(.60)!important}
.bj-live-insurance-bet.seat-p3{z-index:14}
@media(max-width:430px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .bj-live-split-bet{width:44px!important}
  .bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.62)!important}
  .bj-live-insurance-bet.seat-p3{transform:translate(-50%,-50%) translateX(6px)!important}
}
@media(max-width:390px){
  .bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.60)!important}
  .bj-live-insurance-bet.seat-p3{transform:translate(-50%,-50%) translateX(8px)!important}
}


/* v1.18.42 — readable SPLIT wagers + two-chip INSURANCE ceiling.
   SPLIT wagers stay visually countable for all three seats; collision avoidance
   comes from lane geometry, not aggressive chip shrinking. */
.bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{
  max-width:76px!important;
  transform:scale(.66)!important;
  transform-origin:center!important;
}
.bj-live-main-bet-zone.split-bets .table-chip{margin-left:-23px!important}
.bj-live-main-bet-zone.split-bets .table-chip:first-child{margin-left:0!important}
.bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{
  transform:scale(.68)!important;
}
/* INSURANCE is generated with at most two chips, so it can stay readable without
   crossing into the owning player's card lane. */
.bj-live-insurance-bet .exam-bet-chip-cluster{
  max-width:54px!important;
  transform:scale(.66)!important;
  transform-origin:center!important;
}
.bj-live-insurance-bet .table-chip{margin-left:-18px!important}
.bj-live-insurance-bet .table-chip:first-child{margin-left:0!important}
@media(max-width:430px){
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.64)!important}
  .bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.66)!important}
  .bj-live-insurance-bet .exam-bet-chip-cluster{transform:scale(.64)!important}
}
@media(max-width:370px){
  .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.62)!important}
  .bj-live-seat.split[data-seat="p2"] .bj-live-main-bet-zone.split-bets .exam-bet-chip-cluster{transform:scale(.64)!important}
  .bj-live-insurance-bet .exam-bet-chip-cluster{transform:scale(.62)!important}
}


/* v1.18.44 — PLAYER 3 INSURANCE user-confirmed visual target.
   Position is owned by table geometry; legacy translateX nudges are neutralized. */
.bj-live-insurance-bet.seat-p3{transform:translate(-50%,-50%)!important;z-index:14}
@media(max-width:430px){.bj-live-insurance-bet.seat-p3{transform:translate(-50%,-50%)!important}}
@media(max-width:390px){.bj-live-insurance-bet.seat-p3{transform:translate(-50%,-50%)!important}}


/* v1.18.45 — LAB card normalization + BLACKJACK final exam full-width row. */
/* Keep the four regular Blackjack modes on one consistent card frame. */
.blackjack-grid .lab-path-card.training-card{
  height:142px!important;
  min-height:142px!important;
  box-sizing:border-box;
}
/* MASTERED is already visible in the top status pill; suppress the extra badge here
   so a completed SETTLEMENT card cannot grow taller than its neighbours. */
.blackjack-grid .lab-master-badge{display:none!important}
.blackjack-grid .lab-card-stats{margin-top:auto}

/* Match the Texas Hold'em FINAL CHALLENGE treatment: one full-width horizontal row. */
.blackjack-final-challenge{
  margin-top:10px;
  background:
    radial-gradient(circle at 83% 10%,rgba(237,196,79,.19),transparent 28%),
    radial-gradient(circle at 15% 88%,rgba(117,66,18,.20),transparent 34%),
    linear-gradient(145deg,#2d2112,#100c08 70%);
}
.blackjack-final-challenge::after{content:"FINAL"}
@media(max-width:380px){
  .blackjack-grid .lab-path-card.training-card{height:142px!important;min-height:142px!important}
}
@media(max-width:345px){
  .blackjack-grid .lab-path-card.training-card{height:128px!important;min-height:128px!important}
}

/* v1.20 — BLACKJACK START PATH progression parity / NEXT STEP sync. */
.progression-complete-card{margin-top:8px;padding:11px 12px;display:grid;grid-template-columns:1fr 34px;gap:10px;align-items:center;border:1px solid rgba(219,181,75,.32);border-radius:11px;background:linear-gradient(135deg,rgba(121,85,16,.16),rgba(0,0,0,.13))}
.progression-complete-card .progression-mini-kicker{color:#a88e48}.progression-complete-card b{display:block;margin-top:2px;color:#f1d77f;font:900 11px var(--serif)}.progression-complete-card p{margin:3px 0 0;color:#918c80;font-size:6px;line-height:1.4}.progression-complete-card>strong{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(230,194,91,.46);border-radius:50%;color:#f2d978;font:900 17px var(--serif);box-shadow:inset 0 0 16px rgba(211,172,55,.08)}
.exam-progression-complete-card{text-align:center;border-color:rgba(219,181,75,.38);background:linear-gradient(145deg,rgba(116,81,18,.2),rgba(0,0,0,.22))}.exam-progression-complete-card h3{color:#f3d97e}.exam-progression-complete-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.exam-progression-complete-summary span{padding:8px;border:1px solid rgba(219,181,75,.2);border-radius:9px;background:rgba(0,0,0,.18);text-align:center}.exam-progression-complete-summary small{display:block;color:#8c805f;font-size:5.5px;letter-spacing:.12em}.exam-progression-complete-summary b{display:block;margin-top:2px;color:#f0d47a;font:900 14px var(--serif)}
@media(max-width:430px){.progression-complete-card{padding:9px 10px;grid-template-columns:1fr 30px;gap:8px}.progression-complete-card>strong{width:28px;height:28px;font-size:15px}.exam-progression-complete-summary{gap:6px}}


/* v1.23 · MULTILINGUAL BLACKJACK LAB — visual geometry unchanged.
   Dense LIVE TABLE/card geometry is intentionally untouched. */
.result-save-warning{margin-top:12px;padding:14px;border-color:rgba(224,114,90,.55);background:linear-gradient(145deg,rgba(73,24,18,.34),rgba(11,13,11,.98));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.result-save-warning small{color:#e09580;font-size:9px;font-weight:900;letter-spacing:.13em}.result-save-warning h3{margin:3px 0 4px;color:#ffd7cb;font-family:var(--serif);font-size:16px}.result-save-warning p{margin:0;color:#bca49d;font-size:10px;line-height:1.6}.result-save-warning .btn{white-space:nowrap}
.progression-complete-card p{font-size:9px;line-height:1.5}.exam-progression-complete-summary small{font-size:8px}
@media(max-width:560px){
  .course-card p,.setting-row small,.my-trainer-title small{font-size:11px}
  .home-update-new{font-size:9px}.home-update-summary-row small{font-size:9px}.home-update-summary-row strong{font-size:12px}.home-update-summary-row>b{font-size:9px}.home-update-compact[open] .home-update-summary-row>b::after{font-size:9px}
  .my-stats-hero p,.my-collection-hero p,.my-settings-hero p{font-size:10px}.my-stats-overall small{font-size:9px}.my-stats-gamehead small,.my-stats-gamehead>div:last-child small{font-size:9px}
  .my-game-kpis small{font-size:9px}.my-game-card em{font-size:9px}.my-activity-row div b{font-size:10px}.my-activity-row div small{font-size:9px}
  .my-skill-no{font-size:9px}.my-skill-state{font-size:8.5px}.my-skill-card h3{font-size:11px}.my-skill-card p{height:auto;min-height:24px;font-size:10px}.my-skill-score span{font-size:9px}.my-skill-meta small{font-size:9px}.my-skill-meta b{font-size:9px}
  .my-breakdown-grid small{font-size:9px}.my-breakdown-grid span{font-size:9px}.my-detail-two b{font-size:9px}.my-detail-two span{font-size:9px}.my-payout-bar>span{font-size:9px}.my-payout-bar>b{font-size:9px}.my-analysis-note{font-size:10px;line-height:1.5}
  .my-collection-total small,.my-collection-teaser small{font-size:9px}.my-empty-state>small{font-size:9px}
  .pwa-settings-head small{font-size:9px}.pwa-settings-head p{font-size:10px}.pwa-settings-note{font-size:9px}.pwa-installed-line b{font-size:9px}.pwa-installed-line small{font-size:9px}
  .pwa-health-grid small{font-size:10px}.pwa-health-grid b{font-size:13px}.pwa-health-grid span{font-size:11px}.pwa-health-note,.pwa-health-warning,.pwa-health-refresh{font-size:11px}
  .result-progression-head>button{font-size:9px}.progression-mini-kicker{font-size:8px}
  .progression-earned-badge small{font-size:8.5px}.progression-earned-badge em{font-size:8px}.progression-next-badge small{font-size:8.5px}.progression-next-badge>strong{font-size:9px}
  .progression-next-line span,.progression-next-line em{font-size:8px}.progression-next-line b{font-size:9px}.progression-next-training small{font-size:8px}.progression-next-training p{font-size:9px;line-height:1.45}.progression-next-training .btn{font-size:9px}
  .home-next-badge-card small{font-size:8.5px}.home-next-badge-card b{font-size:10px}.home-next-badge-card span,.home-next-badge-card em{font-size:9px}
  .lab-master-badge{font-size:8.5px}.lab-final-mastered b{font-size:8.5px}.lab-final-mastered small{font-size:8px}
  .result-save-warning{grid-template-columns:1fr}.result-save-warning p{font-size:11px}.result-save-warning .btn{width:100%}
}

/* =========================================================
   v1.24 — MULTILINGUAL MY
   - Remove redundant QUESTION kicker in app.js.
   - Keep the BUST guidance fully visible on narrow phones.
   ========================================================= */
body.hand-total-active .hand-prompt{
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:4px!important;
  padding-right:4px!important;
  line-height:1.22!important;
  overflow:visible!important;
}
body.hand-total-active .hand-prompt small{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin-top:3px!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:430px){
  body.hand-total-active .hand-question-compact{
    overflow:visible!important;
    padding-top:2px!important;
  }
  body.hand-total-active .hand-prompt{
    margin-top:6px!important;
  }
  body.hand-total-active .hand-prompt small{
    font-size:12px!important;
    min-height:1.35em!important;
  }
}
@media(max-width:430px) and (max-height:760px){
  body.hand-total-active .hand-prompt{
    margin-top:4px!important;
  }
  body.hand-total-active .hand-prompt small{
    font-size:11px!important;
  }
}


/* =========================================================
   v1.25 — MULTILINGUAL FIRST LAUNCH & SYSTEM
   Phase 4-3: translation-only; no layout changes.
   ========================================================= */


/* v1.26 — public language selector */
.language-setting-row{gap:10px;align-items:center}
.language-setting-row>span:first-child{min-width:0;flex:1}
.settings-language-control,.first-launch-language{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid rgba(221,182,75,.16);border-radius:999px;background:rgba(0,0,0,.18)}
.settings-language-control{width:138px;flex:0 0 138px}
.settings-language-control button,.first-launch-language button{min-width:0;height:28px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:#807a69;font-size:8px;font-weight:900;letter-spacing:.02em;cursor:pointer;white-space:nowrap}
.settings-language-control button.selected,.first-launch-language button.selected{background:linear-gradient(180deg,rgba(218,180,72,.22),rgba(128,91,22,.14));color:#efd98f;box-shadow:inset 0 0 0 1px rgba(224,187,79,.34),0 0 12px rgba(196,147,40,.08)}
.first-launch-language-wrap{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:7px;margin:-2px auto 8px}
.first-launch-language-wrap>small{color:#8b826f;font-size:7px;font-weight:900;letter-spacing:.12em}
.first-launch-language{width:146px}
.first-launch-language button{height:29px;font-size:9px}
@media(max-width:390px){.language-setting-row{align-items:flex-start;flex-direction:column}.settings-language-control{width:100%;flex-basis:auto}.settings-language-control button{height:32px;font-size:9px}.first-launch-language-wrap{margin-bottom:7px}}


/* =========================================================
   v1.26.1 — HOME HERO LOCALIZED COPY HOTFIX
   Existing character artwork stays as the background; the baked Japanese
   center copy is fully covered by locale-aware HTML text.
   ========================================================= */
.home-hero-v1111{isolation:isolate}
.home-hero-v1111 .home-hero-localized{
  position:absolute;z-index:3;left:50%;top:51%;transform:translate(-50%,-50%);
  width:min(48%,320px);min-height:92px;box-sizing:border-box;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  padding:13px 14px 12px;border:1px solid rgba(229,195,99,.46);border-radius:16px;
  background:linear-gradient(180deg,#07100c,#050a08);
  box-shadow:0 10px 28px rgba(0,0,0,.42),inset 0 0 22px rgba(228,192,91,.035);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;overflow:hidden;
}
.home-hero-v1111 .home-hero-localized::before,
.home-hero-v1111 .home-hero-localized::after{
  content:"";display:block;width:72%;height:1px;flex:0 0 1px;
  background:linear-gradient(90deg,transparent,rgba(235,205,126,.62),transparent)
}
.home-hero-v1111 .home-hero-localized-copy{
  color:#f4e8c2;font-family:var(--serif);font-size:clamp(15px,3.7vw,20px);font-weight:800;
  line-height:1.36;letter-spacing:.025em;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.85)
}
.home-hero-v1111 .home-hero-localized-sub{
  color:var(--gold2);font:800 8px/1.2 var(--sans);letter-spacing:.14em;white-space:nowrap
}
@media(max-width:430px){
  .home-hero-v1111 .home-hero-localized{top:51%;width:min(49%,205px);min-height:88px;padding:11px 10px 10px;border-radius:14px}
  .home-hero-v1111 .home-hero-localized-copy{font-size:clamp(14px,4vw,17px);line-height:1.32}
  .home-hero-v1111 .home-hero-localized-sub{font-size:7px;letter-spacing:.11em}
}
@media(max-width:360px){
  .home-hero-v1111 .home-hero-localized{width:52%;min-height:84px;padding-left:8px;padding-right:8px}
  .home-hero-v1111 .home-hero-localized-copy{font-size:13px}
}


/* v1.27 — EXAM RESULT SHARE */
.exam-share-actions{display:flex;justify-content:center;margin:10px 0 12px}
.exam-share-actions .exam-share-btn{width:min(100%,440px);display:flex;align-items:center;justify-content:center;gap:8px;border-color:rgba(231,193,83,.62);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.exam-share-actions .exam-share-btn>span{font-size:15px;line-height:1;color:#f5dd92}
.exam-pass-modal-box .exam-share-actions{margin:8px 0}.exam-pass-modal-box .exam-share-actions .exam-share-btn{width:100%}
.exam-share-fallback{z-index:1550}.exam-share-fallback-box{position:relative;width:min(94vw,480px);max-height:min(94dvh,860px);overflow:auto;padding:15px;background:linear-gradient(180deg,#10120f,#070807);border-color:rgba(220,182,77,.44)}
.exam-share-fallback-box>h2{margin:4px 0 5px;font-family:var(--serif);font-size:24px;color:#f2d981;text-align:center}.exam-share-fallback-box>p{margin:0 auto 10px;max-width:390px;color:#9d9889;font-size:8px;line-height:1.65;text-align:center}
.exam-share-preview{display:block;width:100%;height:auto;max-height:56dvh;object-fit:contain;border:1px solid rgba(220,182,77,.30);border-radius:12px;background:#080807;box-shadow:0 14px 36px rgba(0,0,0,.34)}
.exam-share-fallback-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 7px}.exam-share-fallback-actions .btn{display:flex;align-items:center;justify-content:center;text-decoration:none}
.exam-share-fallback-box>.btn{width:100%}
@media(max-width:360px){.exam-share-fallback-actions{grid-template-columns:1fr}.exam-share-actions{margin-top:8px}}

/* v1.27.1 — BLACKJACK LIVE EXAM DEALER ACTION CLARITY */
.bj-live-dealer-state{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;margin:3px 0 6px;padding:6px 8px;border:1px solid rgba(213,168,75,.24);border-radius:9px;background:#08110c}
.bj-live-dealer-state small{color:#8f9b92;font-size:6.5px;font-weight:800;letter-spacing:.13em;white-space:nowrap}
.bj-live-dealer-state strong{min-width:58px;padding:3px 7px;border-radius:999px;text-align:center;font-size:8px;letter-spacing:.08em}
.bj-live-dealer-state span{min-width:0;color:#c9d0c9;font-size:7.5px;line-height:1.35}
.bj-live-dealer-state.closed strong{border:1px solid rgba(231,180,74,.55);background:rgba(92,63,14,.5);color:#f1ca70}
.bj-live-dealer-state.open strong{border:1px solid rgba(98,190,130,.45);background:rgba(18,78,43,.48);color:#aee4bf}
.bj-live-dealer-transition{margin:0 0 6px;padding:6px 8px;border-left:2px solid rgba(213,168,75,.6);background:rgba(213,168,75,.07);color:#b9c2bb;font-size:7px;line-height:1.4}
.bj-live-choice-grid.dealer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bj-live-choice-grid.dealer-action-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.bj-live-dealer-choice.open-hole{border-color:rgba(226,184,84,.68);background:linear-gradient(180deg,#6d531d,#34280f);color:#fff0c8}
.bj-live-dealer-choice.dealer-hit,.bj-live-dealer-choice.dealer-stand{background:linear-gradient(180deg,#102019,#09130e)}
@media (max-width:430px){
  .bj-live-dealer-state{grid-template-columns:auto auto;gap:4px 6px;padding:5px 6px}
  .bj-live-dealer-state span{grid-column:1/-1;font-size:7px}
  .bj-live-dealer-transition{font-size:6.7px;padding:5px 6px}
  .bj-live-choice-grid.dealer-action-grid button{min-height:44px;font-size:7.5px}
}


/* v1.27.2 — PWA UPDATE DOWNGRADE GUARD */


/* v1.29 — CHARACTER GROWTH FOUNDATION */
body.character-onboarding-active{overflow:hidden!important}
.character-portrait{position:relative;display:grid;place-items:center;flex:0 0 auto;width:58px;height:68px;overflow:hidden;border:1px solid rgba(224,187,79,.28);border-radius:14px;background:radial-gradient(circle at 45% 30%,rgba(226,193,98,.16),transparent 36%),linear-gradient(155deg,#1b211a,#090d0a 64%,#1b1408);box-shadow:inset 0 0 18px rgba(0,0,0,.22),0 8px 20px rgba(0,0,0,.18);font-family:var(--serif);font-weight:900;color:#e3c873}
.character-portrait::before,.character-portrait::after{content:none!important}
.character-portrait.ocean{border-color:rgba(90,155,194,.30);background:radial-gradient(circle at 44% 28%,rgba(86,155,192,.18),transparent 38%),linear-gradient(155deg,#12232c,#090d0d 64%,#121407)}
.character-portrait.kasinon{border-color:rgba(194,93,90,.30);background:radial-gradient(circle at 44% 28%,rgba(187,79,77,.18),transparent 38%),linear-gradient(155deg,#291617,#0d0a0b 64%,#171107)}
.character-portrait img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;user-select:none}
.character-portrait.large{width:84px;height:98px;border-radius:17px}
.character-portrait.mini{width:48px;height:58px;border-radius:12px;border-color:color-mix(in srgb,var(--rank-accent,#d7ba6a) 35%,transparent);background:rgba(0,0,0,.18);box-shadow:inset 0 0 14px rgba(0,0,0,.22)}
.my-character-card{position:relative;width:100%;display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:8px;padding:10px 12px;overflow:hidden;text-align:left;color:inherit;cursor:pointer;background:radial-gradient(circle at 12% 20%,rgba(207,166,66,.12),transparent 30%),linear-gradient(145deg,#111b15,#0a0f0c 65%,#171207)}
.my-character-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 22%,rgba(255,226,144,.035) 48%,transparent 72%)}
.my-character-card.kasinon{background:radial-gradient(circle at 12% 20%,rgba(175,70,68,.11),transparent 30%),linear-gradient(145deg,#1c1011,#0b0c0b 65%,#171207)}
.my-character-card .character-portrait{position:relative;z-index:1}
.my-character-copy{position:relative;z-index:1;min-width:0}
.my-character-copy .kicker{color:#ac914d;font-size:6px;letter-spacing:.15em}
.my-character-copy h3{margin:3px 0 2px;color:#ead28b;font-family:var(--serif);font-size:18px;line-height:1}
.my-character-copy p{margin:0;color:#898375;font-size:6.5px;letter-spacing:.08em}
.my-character-level{display:flex;align-items:center;gap:6px;margin-top:7px}
.my-character-level span,.my-character-level b{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid rgba(221,182,75,.15);border-radius:999px;background:rgba(0,0,0,.19);font-size:6px;letter-spacing:.06em}
.my-character-level span{color:#d8bd6d}.my-character-level b{min-width:0;color:#9b9586;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-character-card>em{position:relative;z-index:1;color:#b89b51;font-size:6.5px;font-weight:900;font-style:normal;letter-spacing:.08em;white-space:nowrap}
.my-character-card.unselected{grid-template-columns:58px minmax(0,1fr) auto;min-height:78px}
.my-character-empty{display:grid;place-items:center;width:52px;height:52px;border:1px dashed rgba(221,182,75,.28);border-radius:50%;color:#b49445;font-size:20px}
.my-character-card.unselected h3{margin:2px 0;color:#e2ce91;font-size:12px}.my-character-card.unselected p{margin:0;color:#817b6f;font-size:6.5px}

.character-backdrop{z-index:1260;background:radial-gradient(circle at 50% 18%,rgba(181,136,39,.18),rgba(0,0,0,.90) 54%,rgba(0,0,0,.97));padding:10px}
.character-modal{position:relative;width:min(94vw,410px);max-height:calc(100dvh - 20px);overflow:auto;padding:18px 16px 14px;border:1px solid rgba(224,187,79,.42);border-radius:21px;background:linear-gradient(155deg,rgba(18,20,15,.99),rgba(5,7,6,.995) 60%,rgba(34,25,8,.97));box-shadow:0 24px 75px rgba(0,0,0,.7),inset 0 1px rgba(255,255,255,.05);text-align:center;scrollbar-width:none}
.character-modal::-webkit-scrollbar{display:none}
.character-modal-kicker{color:#b99b51;font-size:6.5px;font-weight:900;letter-spacing:.20em}
.character-modal h2{margin:5px 0 6px;color:#f0d995;font-family:var(--serif);font-size:24px;line-height:1.05}
.character-modal>p{max-width:330px;margin:0 auto 12px;color:#918b7d;font-size:7px;line-height:1.55}
.character-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0 4px}
.character-choice-card{position:relative;display:grid;grid-template-rows:auto auto;justify-items:center;gap:7px;min-width:0;padding:9px 8px 10px;border:1px solid rgba(221,182,75,.17);border-radius:16px;background:linear-gradient(160deg,rgba(24,26,19,.94),rgba(5,7,6,.98));color:inherit;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.character-choice-card.ocean{border-color:rgba(88,145,181,.20)}.character-choice-card.kasinon{border-color:rgba(184,79,76,.20)}
.character-choice-card.selected{border-color:rgba(229,193,91,.66);background:linear-gradient(160deg,rgba(53,43,16,.62),rgba(7,8,6,.98));box-shadow:inset 0 0 0 1px rgba(229,193,91,.18),0 0 24px rgba(194,146,40,.10)}
.character-choice-card .character-portrait.large{width:100%;height:122px}
.character-choice-text{min-width:0;text-align:center}.character-choice-text small{display:block;color:#817967;font-size:5.5px;letter-spacing:.13em}.character-choice-text b{display:block;margin-top:2px;color:#e9d187;font-family:var(--serif);font-size:15px;line-height:1}.character-choice-text em{display:block;margin-top:4px;color:#8e8778;font-size:5.5px;font-style:normal;letter-spacing:.07em}
.character-choice-card>i{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.45);color:#b89b50;font-size:9px;font-style:normal}.character-choice-card.selected>i{background:#a47d28;color:#fff1ba}
.character-modal-close{width:100%;height:34px;margin-top:9px;color:#8e887a;border-color:rgba(255,255,255,.08);background:rgba(0,0,0,.16)}
.first-launch-modal.step-character .character-choice-grid{margin-top:10px;margin-bottom:8px}
.first-launch-modal.step-character .character-choice-card .character-portrait.large{height:112px}
.first-launch-ready-character{position:relative;z-index:1;display:inline-grid;grid-template-columns:42px auto;align-items:center;gap:8px;margin:0 auto 6px;padding:4px 11px 4px 5px;border:1px solid rgba(220,181,73,.18);border-radius:999px;background:rgba(0,0,0,.18);text-align:left}
.first-launch-ready-character .character-portrait{width:38px;height:38px;border-radius:50%}
.first-launch-ready-character small{display:block;color:#8e846d;font-size:5px;letter-spacing:.12em}.first-launch-ready-character b{display:block;color:#e4ca7b;font-size:8px}
@media(max-width:360px){
  .my-character-card{grid-template-columns:74px minmax(0,1fr) auto;gap:8px;padding-left:9px;padding-right:9px}.my-character-card .character-portrait.large{width:74px;height:90px}.my-character-level b{max-width:95px}
  .character-modal{padding-left:12px;padding-right:12px}.character-choice-grid{gap:6px}.character-choice-card{padding-left:6px;padding-right:6px}.character-choice-card .character-portrait.large{height:108px}
}
@media(max-height:760px){
  .character-modal{padding-top:13px;padding-bottom:10px}.character-modal h2{font-size:21px}.character-modal>p{margin-bottom:7px}.character-choice-grid{margin-top:7px}.character-choice-card .character-portrait.large{height:100px}.first-launch-modal.step-character .character-choice-card .character-portrait.large{height:92px}
}
@media(prefers-reduced-motion:reduce){.character-modal *,.my-character-card *{transition:none!important;animation:none!important}}

/* v1.30 — Pixel Character */
.home-level-card .character-portrait.mini{margin-left:auto;align-self:center}
.home-level-card .home-level-arrow{margin-left:0}
@media(max-width:430px){
  .home-level-card .character-portrait.mini{width:42px;height:52px}
}


/* v1.31 — Character Outfit & Title foundation */
.character-portrait.outfit-junior{border-color:rgba(189,199,206,.48)}.character-portrait.outfit-dealer{border-color:rgba(222,190,95,.52)}.character-portrait.outfit-advanced{border-color:rgba(103,166,147,.52);box-shadow:inset 0 0 18px rgba(41,125,103,.16),0 8px 20px rgba(0,0,0,.18)}.character-portrait.outfit-elite{border-color:rgba(167,117,218,.58);box-shadow:inset 0 0 18px rgba(110,65,164,.18),0 0 20px rgba(119,77,178,.12)}.character-portrait.outfit-master{border-color:rgba(239,201,86,.76);box-shadow:inset 0 0 22px rgba(232,184,54,.22),0 0 24px rgba(213,163,45,.16)}
.my-character-equipped{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0 2px}.my-character-equipped span,.my-character-equipped b{display:inline-flex;align-items:center;min-height:17px;padding:2px 6px;border:1px solid rgba(214,178,80,.20);border-radius:999px;background:rgba(0,0,0,.18);font-size:5.5px;line-height:1.15}.my-character-equipped span{color:#9e967f}.my-character-equipped b{color:#d9bd6b;font-weight:800}
.character-customize-modal{width:min(95vw,430px)}.character-customize-summary{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;margin:8px 0 10px;padding:8px 10px;border:1px solid rgba(216,180,79,.17);border-radius:15px;background:rgba(0,0,0,.19);text-align:left}.character-customize-summary .character-portrait.large{width:68px;height:78px}.character-customize-summary b{display:block;color:#ead48f;font-family:var(--serif);font-size:14px}.character-customize-summary span,.character-customize-summary em{display:block;margin-top:3px;color:#918b7e;font-size:6px;font-style:normal}.character-customize-summary em{color:#c3a85d}
.character-customize-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:4px 0 8px;padding:4px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(0,0,0,.22)}.character-customize-tabs button{min-height:31px;border:0;border-radius:9px;background:transparent;color:#817b6e;font-size:6px;font-weight:900;letter-spacing:.08em}.character-customize-tabs button.active{background:linear-gradient(180deg,#b38b30,#8c681f);color:#fff3c1;box-shadow:0 4px 12px rgba(0,0,0,.20)}.character-customize-copy{min-height:22px!important;margin:0 auto 8px!important}
.character-outfit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.character-outfit-card{position:relative;display:grid;justify-items:center;gap:4px;min-width:0;padding:7px 4px 8px;border:1px solid rgba(215,177,75,.14);border-radius:13px;background:linear-gradient(155deg,rgba(27,29,21,.92),rgba(5,7,6,.98));color:inherit}.character-outfit-card .character-portrait{width:64px;height:72px}.character-outfit-card span{min-width:0;text-align:center}.character-outfit-card b{display:block;color:#c8b370;font-size:6px;line-height:1.15}.character-outfit-card small{display:block;margin-top:2px;color:#716d63;font-size:5px;line-height:1.1}.character-outfit-card>i{position:absolute;right:5px;top:5px;font-size:7px;font-style:normal;color:#8d7b4d}.character-outfit-card.active{border-color:rgba(226,189,84,.70);box-shadow:inset 0 0 0 1px rgba(226,189,84,.13),0 0 16px rgba(190,141,39,.10)}.character-outfit-card.locked{filter:saturate(.25);opacity:.52}.character-outfit-card.locked .character-portrait img{filter:grayscale(1) brightness(.55)}
.character-title-list{display:grid;gap:5px;max-height:43vh;overflow:auto;padding-right:2px;scrollbar-width:none}.character-title-list::-webkit-scrollbar{display:none}.character-title-card{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:8px;width:100%;min-height:49px;padding:6px 7px;border:1px solid rgba(216,180,79,.14);border-radius:12px;background:linear-gradient(155deg,rgba(25,27,20,.92),rgba(5,7,6,.98));color:inherit;text-align:left}.character-title-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(225,190,91,.25);border-radius:10px;background:rgba(202,159,52,.08);color:#dfc16b;font-size:12px;font-weight:900}.character-title-card b{display:block;color:#d8c17b;font-size:7px}.character-title-card small{display:block;margin-top:2px;color:#787367;font-size:5.5px;line-height:1.25}.character-title-card>i{font-size:8px;font-style:normal;color:#937c42;text-align:center}.character-title-card.active{border-color:rgba(226,189,84,.66);background:linear-gradient(155deg,rgba(51,42,16,.62),rgba(7,8,6,.98))}.character-title-card.locked{opacity:.48}.home-character-mini{display:grid;justify-items:center;gap:2px;margin-left:auto}.home-character-mini .character-portrait.mini{margin-left:0}.home-character-mini small{max-width:68px;color:#a58b4a;font-size:4.5px;font-weight:800;line-height:1.05;text-align:center}@media(max-width:430px){.character-outfit-grid{gap:5px}.character-outfit-card{padding-left:3px;padding-right:3px}.character-outfit-card .character-portrait{width:58px;height:67px}.character-title-list{max-height:40vh}}


/* =========================================================
   v1.31.2 — TYPOGRAPHY READABILITY HOTFIX
   Raise user-facing microcopy without touching dense live-table
   geometry. Character customization receives the strongest pass.
   ========================================================= */

/* Core navigation and ordinary screen copy */
.bottom-nav .nav-item{font-size:11.5px;line-height:1.15}
.kicker{font-size:12px}
.subtle{font-size:14px;line-height:1.55}
.course-card p,.training-card>small,.coming-item small{font-size:11px;line-height:1.45}
.setting-row small{font-size:11px;line-height:1.5}
.tip-inline,.answer-sub{font-size:12px;line-height:1.45}

/* HOME / LAB */
.lab-hero-v1113 .subtle{font-size:12px;line-height:1.55}
.lab-next-copy>.kicker{font-size:10px}.lab-next-copy>small{font-size:10px}.lab-next-copy p{font-size:11px;line-height:1.5}.lab-next-start{font-size:11px}
.lab-daily-copy .kicker{font-size:9px}.lab-daily-copy strong{font-size:11px}.lab-daily-copy small{font-size:9.5px}.lab-daily-compact>.btn{font-size:10px}
.lab-game-head small{font-size:9px!important}.lab-game-progress span{font-size:8.5px}.lab-game-progress em{font-size:8.5px}
.lab-path-heading span{font-size:10px}.lab-path-heading small{font-size:8.5px}
.lab-card-no{font-size:10px}.lab-card-status{font-size:8px;padding:3px 6px}
.lab-path-card.training-card h3{font-size:13px}.lab-path-card.training-card>small{font-size:10px;line-height:1.45;min-height:29px}
.lab-card-stats b{font-size:9px}.lab-card-stats span{font-size:8px}
.lab-review-link span{font-size:10px}.lab-review-link b{font-size:8px}.lab-review-link small{font-size:8px}
.lab-final-head small{font-size:9px}.lab-final-challenge>p{font-size:10.5px;line-height:1.55}.lab-final-standard span{font-size:8.5px}.lab-final-standard i{font-size:8.5px}.lab-final-performance b{font-size:10px}.lab-final-performance span{font-size:8.5px}.lab-final-challenge>.btn{font-size:11px}
.lab-coming-title small{font-size:9px}
.lab-master-badge{font-size:9px}.lab-final-mastered b{font-size:9px}.lab-final-mastered small{font-size:8.5px}

/* MY / record screens */
.my-game-title small{font-size:9px}.my-breakdown-title h3{font-size:13px}.my-breakdown-title>strong{font-size:11px}
.my-breakdown-grid small{font-size:10px}.my-breakdown-grid span{font-size:9px}.my-critical-line span{font-size:9px}.my-detail-two b{font-size:10px}.my-detail-two span{font-size:9.5px}
.my-character-copy .kicker{font-size:9px}.my-character-copy p{font-size:10px;line-height:1.4}.my-character-level span,.my-character-level b{font-size:9px;min-height:24px}.my-character-card>em{font-size:9px}.my-character-card.unselected p{font-size:10px}
.my-character-equipped span,.my-character-equipped b{font-size:9px;min-height:22px;padding:3px 7px}

/* Character onboarding / customization */
.character-modal-kicker{font-size:9.5px;letter-spacing:.14em}
.character-modal>p{max-width:350px;font-size:11px;line-height:1.55}
.character-choice-text small{font-size:9px;letter-spacing:.08em}.character-choice-text b{font-size:16px;line-height:1.15}.character-choice-text em{font-size:9px;line-height:1.35}
.first-launch-ready-character small{font-size:8.5px}.first-launch-ready-character b{font-size:10.5px}
.character-customize-summary span,.character-customize-summary em{font-size:10px;line-height:1.35}
.character-customize-tabs button{min-height:40px;font-size:11px;letter-spacing:.04em}
.character-customize-copy{font-size:11px!important;line-height:1.45!important;min-height:30px!important}
.character-outfit-card b{font-size:11px;line-height:1.3}.character-outfit-card small{font-size:9px;line-height:1.3}.character-outfit-card>i{font-size:10px}
.character-title-card{grid-template-columns:38px minmax(0,1fr) 24px;min-height:62px;padding:8px 9px}.character-title-icon{width:36px;height:36px;font-size:14px}.character-title-card b{font-size:11px;line-height:1.25}.character-title-card small{font-size:9.5px;line-height:1.4}.character-title-card>i{font-size:10px}
.home-character-mini small{max-width:86px;font-size:8.5px;line-height:1.2}

/* Context help / smart hints / progression */
.context-help-section-title{font-size:9px;line-height:1.35}.context-help-dealer>p{font-size:11px!important;line-height:1.55}
.smart-hint-body>strong{font-size:12px}.smart-hint-body>p{font-size:10.5px;line-height:1.5}.smart-hint-actions button{font-size:10px}
.progression-complete-card p{font-size:10px}.exam-progression-complete-summary small{font-size:9px}
.result-progression-head>button{font-size:10px}.progression-mini-kicker{font-size:9px}
.progression-earned-badge small,.progression-next-badge small{font-size:9.5px}.progression-earned-badge em{font-size:9px}.progression-next-badge>strong{font-size:10px}
.progression-next-line span,.progression-next-line em{font-size:9px}.progression-next-line b{font-size:10px}.progression-next-training small{font-size:9px}.progression-next-training p{font-size:10px}.progression-next-training .btn{font-size:10px}
.home-next-badge-card small{font-size:9.5px}.home-next-badge-card b{font-size:11px}.home-next-badge-card span,.home-next-badge-card em{font-size:9.5px}

/* PWA / settings / health */
.pwa-settings-head small,.pwa-settings-note,.pwa-installed-line b,.pwa-installed-line small{font-size:10px}.pwa-settings-head p{font-size:11px;line-height:1.5}
.pwa-health-grid small{font-size:10.5px}.pwa-health-grid span{font-size:11px}.pwa-health-note,.pwa-health-warning,.pwa-health-refresh{font-size:11px;line-height:1.5}

@media(max-width:430px){
  /* Two columns give Japanese outfit names enough breathing room. */
  .character-outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .character-outfit-card{padding:8px 5px 9px}
  .character-outfit-card .character-portrait{width:72px;height:82px}
  .character-title-list{max-height:42vh}
  .character-modal{padding-left:13px;padding-right:13px}
  .character-modal>p{font-size:11px}
  .lab-path-card.training-card>small{font-size:9.5px}
}

@media(max-width:360px){
  .character-customize-tabs button{font-size:10px}
  .character-outfit-card b{font-size:10px}.character-outfit-card small{font-size:8.5px}
  .character-title-card b{font-size:10.5px}.character-title-card small{font-size:9px}
  .bottom-nav .nav-item{font-size:11px}
}


/* v1.31.4 — Phase 7-4 Character Unlock Ceremony */
body.character-unlock-active{overflow:hidden}
.character-unlock-backdrop{overflow:auto;padding:20px;background:radial-gradient(circle at 50% 32%,rgba(225,190,91,.18),rgba(7,10,17,.94) 42%,rgba(2,4,8,.985) 100%);z-index:10040}
.character-unlock-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 39%,rgba(247,211,107,.18),transparent 28%);animation:characterUnlockGlow 1.8s ease-in-out infinite alternate}
.character-unlock-sparkles{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.character-unlock-sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(255,225,139,.9);box-shadow:0 0 10px rgba(255,220,120,.75);animation:characterUnlockSparkle 1.7s ease-in-out calc(var(--i) * -70ms) infinite}
.character-unlock-modal{position:relative;overflow:hidden;width:min(520px,100%);margin:auto;padding:28px 24px 22px;text-align:center;border:1px solid rgba(235,201,101,.62);background:linear-gradient(180deg,rgba(24,28,38,.985),rgba(9,12,19,.99));box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 55px rgba(209,169,60,.13)}
.character-unlock-modal:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,rgba(255,221,118,.92),transparent)}
.character-unlock-kicker{font-size:11px;letter-spacing:.2em;font-weight:800;color:#d5b85f;text-transform:uppercase}
.character-unlock-type{margin-top:8px;font-size:14px;font-weight:900;letter-spacing:.12em;color:#fff;text-transform:uppercase}
.character-unlock-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:238px;margin:12px auto 0}
.character-unlock-visual .character-portrait.large{width:190px;height:210px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.35)) drop-shadow(0 0 20px rgba(229,188,70,.14))}
.character-unlock-visual .character-portrait.large img{image-rendering:pixelated;transform:scale(1.08);transform-origin:50% 72%}
.character-unlock-visual.title .character-portrait.large{opacity:.4;transform:translateX(72px) scale(.82)}
.character-unlock-title-medal{position:absolute;z-index:3;left:50%;top:50%;width:120px;height:120px;display:grid;place-items:center;transform:translate(-74%,-50%);border-radius:50%;border:1px solid rgba(235,201,101,.72);background:radial-gradient(circle at 35% 25%,rgba(255,231,157,.22),rgba(91,64,15,.45) 55%,rgba(10,12,18,.98));box-shadow:0 0 0 8px rgba(222,183,74,.06),0 18px 40px rgba(0,0,0,.38),0 0 40px rgba(224,182,64,.2)}
.character-unlock-title-medal span{font-size:46px;font-weight:900;color:#f1d77f;text-shadow:0 3px 12px rgba(0,0,0,.45)}
.character-unlock-reward-icon{width:38px;height:38px;margin:-4px auto 8px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(218,181,74,.42);background:rgba(218,181,74,.09);font-size:14px;color:#e8ca72}
.character-unlock-modal h2{margin:0;font-size:clamp(25px,7vw,34px);line-height:1.08;letter-spacing:.01em}
.character-unlock-reason{margin:10px auto 0;max-width:390px;font-size:14px;line-height:1.65;color:var(--muted)}
.character-unlock-owner{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)}
.character-unlock-owner small{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.character-unlock-owner b{font-size:13px;letter-spacing:.08em;color:#e7c96f}
.character-unlock-remaining{margin-top:12px;font-size:11px;font-weight:800;color:#d9bd66;letter-spacing:.04em}
.character-unlock-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}
.character-unlock-actions .btn{min-height:48px}
@keyframes characterUnlockGlow{from{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1.03)}}
@keyframes characterUnlockSparkle{0%,100%{opacity:.15;transform:scale(.55)}50%{opacity:1;transform:scale(1.4)}}
@media(max-width:430px){
  .character-unlock-backdrop{padding:12px}
  .character-unlock-modal{padding:24px 16px 18px}
  .character-unlock-visual{min-height:205px}
  .character-unlock-visual .character-portrait.large{width:164px;height:184px}
  .character-unlock-title-medal{width:104px;height:104px;transform:translate(-72%,-50%)}
  .character-unlock-title-medal span{font-size:40px}
  .character-unlock-actions{grid-template-columns:1fr}
  .character-unlock-actions .btn{width:100%}
}


/* v1.31.5 — Three-game / Baccarat foundation hooks (retained in v2).
   These selectors are dormant until Baccarat UI is shipped. */
.home-game-card.baccarat,
.lab-game-head.baccarat,
.my-skill-card.baccarat,
.baccarat-achievement-panel{
  --game-foundation-ready:1;
}

/* v2.0.1 — V2-2 BACCARAT LAB 01 / CARD VALUE & TOTAL */
.baccarat-lab-section{margin-top:28px}
.baccarat-section-title{border-color:rgba(218,181,74,.32);background:linear-gradient(135deg,rgba(34,88,67,.5),rgba(9,21,23,.92))}
.baccarat-section-title .lab-game-suit{color:#f0d47b;text-shadow:0 0 20px rgba(226,191,87,.28)}
.baccarat-lab-status{display:flex;align-items:center;gap:18px;margin:12px 0 14px;padding:13px 16px;border-color:rgba(103,184,148,.24);background:rgba(18,55,45,.42)}
.baccarat-lab-status span{flex:0 0 auto;font-size:11px;font-weight:900;letter-spacing:.12em;color:#e7cc78}
.baccarat-lab-status p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.baccarat-grid .baccarat-item .training-card{border-color:rgba(90,177,137,.24);background:linear-gradient(155deg,rgba(20,61,48,.72),rgba(13,18,24,.96) 58%)}
.baccarat-grid .baccarat-item .tc-icon{color:#f0d47b}
.baccarat-grid .baccarat-item .lab-card-no{border-color:rgba(90,177,137,.34)}
.baccarat-grid .baccarat-item.planned{opacity:.72}
.baccarat-planned-card{cursor:default!important;filter:saturate(.72)}
.baccarat-planned-card .lab-card-status.locked{color:#9aa9a3;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.baccarat-planned-card .chev{font-size:13px;opacity:.62}

body.baccarat-card-value-active{--baccarat-table:#123d32;--baccarat-table-deep:#0b2722;--baccarat-gold:#e5c765;--baccarat-line:rgba(229,199,101,.28)}
.baccarat-training-screen{max-width:760px;margin:0 auto;padding-bottom:22px}
.baccarat-top{border-bottom-color:rgba(229,199,101,.16)}
.baccarat-top .training-title strong{color:#f0d77d;letter-spacing:.11em}
.baccarat-top .training-title span{color:#a9bdb5}
.baccarat-metrics{margin:10px 0}
.baccarat-metrics .metric{background:linear-gradient(180deg,rgba(23,65,53,.54),rgba(12,28,27,.68));border-color:rgba(100,177,144,.2)}
.baccarat-value-table{position:relative;overflow:hidden;padding:20px 18px 17px;border-color:rgba(229,199,101,.26);background:radial-gradient(circle at 50% 42%,rgba(37,100,77,.58),rgba(13,48,40,.94) 58%,rgba(9,27,25,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),0 16px 38px rgba(0,0,0,.2)}
.baccarat-value-table:before{content:"";position:absolute;inset:9px;border:1px solid rgba(229,199,101,.13);border-radius:18px;pointer-events:none}
.baccarat-lab-kicker{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.baccarat-lab-kicker span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#e7cb71}
.baccarat-lab-kicker em{font-size:10px;font-style:normal;font-weight:850;letter-spacing:.08em;color:#b9cbc4}
.baccarat-question-copy{position:relative;z-index:1;text-align:center;margin:4px auto 16px}
.baccarat-question-copy small{display:block;font-size:12px;font-weight:800;color:#cad9d4}
.baccarat-question-copy h1{margin:5px 0 0;font-size:clamp(20px,5vw,29px);line-height:1.2;color:#fff}
.baccarat-card-stage{position:relative;z-index:1;min-height:205px;display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,18px);padding:14px 4px 10px}
.baccarat-card-stage.single .baccarat-card-wrap{transform:scale(1.1)}
.baccarat-card-wrap{animation:baccaratCardDeal .34s cubic-bezier(.2,.75,.3,1) both;animation-delay:calc(var(--deal-index) * 70ms)}
.baccarat-card-stage .play-card,.baccarat-feedback-cards .play-card{width:110px;height:154px;border-radius:10px;box-shadow:0 12px 25px rgba(0,0,0,.34)}
.baccarat-card-stage .play-card .rank,.baccarat-feedback-cards .play-card .rank{font-size:31px}
.baccarat-card-stage .play-card .suit,.baccarat-feedback-cards .play-card .suit{font-size:35px}
.baccarat-rule-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:7px}
.baccarat-rule-strip span{padding:7px 5px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(4,18,17,.34);text-align:center;font-size:10px;font-weight:850;color:#c8d6d1;letter-spacing:.015em}
.baccarat-answer-panel{margin-top:12px;padding:14px;border:1px solid rgba(229,199,101,.16);border-radius:15px;background:rgba(11,20,23,.8)}
.baccarat-answer-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.baccarat-answer-title span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#e5c765}
.baccarat-answer-title small{font-size:10px;color:var(--muted)}
.baccarat-number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.baccarat-number-grid button{min-height:56px;border:1px solid rgba(229,199,101,.22);border-radius:12px;background:linear-gradient(180deg,rgba(33,60,53,.92),rgba(18,34,32,.96));color:#fff;font-size:24px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.035);touch-action:manipulation}
.baccarat-number-grid button:hover{border-color:rgba(229,199,101,.55);transform:translateY(-1px)}
.baccarat-number-grid button:active{transform:translateY(1px);background:rgba(43,84,68,.92)}

.baccarat-feedback-card{padding:18px;border-color:rgba(229,199,101,.24);background:linear-gradient(160deg,rgba(17,48,40,.93),rgba(11,18,23,.98))}
.baccarat-feedback-card.correct{box-shadow:inset 0 0 0 1px rgba(86,192,137,.14)}
.baccarat-feedback-card.incorrect{box-shadow:inset 0 0 0 1px rgba(220,100,96,.14)}
.baccarat-feedback-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0 13px;text-align:left}
.baccarat-feedback-banner>span{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-size:24px;font-weight:900;background:rgba(255,255,255,.06)}
.baccarat-feedback-card.correct .baccarat-feedback-banner>span{color:var(--success);border:1px solid rgba(77,190,132,.38)}
.baccarat-feedback-card.incorrect .baccarat-feedback-banner>span{color:#ef9792;border:1px solid rgba(224,100,94,.34)}
.baccarat-feedback-banner small{font-size:10px;letter-spacing:.1em;color:#b7c8c2}
.baccarat-feedback-banner h1{margin:1px 0 0;font-size:25px}
.baccarat-feedback-cards{min-height:135px;display:flex;justify-content:center;align-items:center;gap:9px;padding:8px 0 13px}
.baccarat-feedback-cards .play-card{width:82px;height:115px}
.baccarat-feedback-cards .play-card .rank{font-size:24px}.baccarat-feedback-cards .play-card .suit{font-size:27px}
.baccarat-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:5px 0 12px}
.baccarat-answer-compare>div{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(7,21,20,.42);text-align:center}
.baccarat-answer-compare small{display:block;font-size:9px;letter-spacing:.09em;color:var(--muted)}
.baccarat-answer-compare strong{display:block;margin-top:4px;font-size:30px;color:#fff}
.baccarat-answer-compare>div:last-child strong{color:#efd778}
.baccarat-explanation{padding:14px;border:1px solid rgba(229,199,101,.16);border-radius:12px;background:rgba(5,18,17,.42)}
.baccarat-explanation .kicker{margin-bottom:9px;color:#e4ca73}
.baccarat-explanation p{margin:10px 0 6px;font-size:13px;line-height:1.65;color:#d4dfdb}
.baccarat-explanation>small{font-size:10px;color:#94aaa2}
.baccarat-math-line{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.baccarat-math-line span{display:flex;align-items:baseline;gap:4px;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.05)}
.baccarat-math-line b{font-size:16px;color:#fff}.baccarat-math-line em{font-style:normal;color:#8da29a}.baccarat-math-line strong{font-size:19px;color:#efd778}.baccarat-math-line>i{font-style:normal;color:#9bb0a7}
.baccarat-feedback-card>.btn{width:100%;margin-top:12px}

.baccarat-result-best{font-size:10px;font-weight:850;color:#d9c06e;letter-spacing:.04em}
.baccarat-result-hero{text-align:center;padding:23px 18px;border-color:rgba(229,199,101,.3);background:radial-gradient(circle at 50% 0,rgba(53,109,84,.55),rgba(12,31,28,.96) 66%)}
.baccarat-result-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:#e3c86f}
.baccarat-result-rank{margin:6px 0 -5px;font-size:64px;line-height:1;font-weight:950;color:#f0d779;text-shadow:0 9px 25px rgba(0,0,0,.35)}
.baccarat-result-score{display:flex;justify-content:center;align-items:baseline;gap:5px;margin-top:7px}.baccarat-result-score strong{font-size:36px}.baccarat-result-score span{font-size:18px;color:#b8c8c2}.baccarat-result-score small{margin-left:7px;font-size:10px;color:#9eb2aa;letter-spacing:.08em}
.baccarat-result-xp{display:inline-block;margin-top:10px;padding:7px 12px;border-radius:999px;background:rgba(229,199,101,.08);border:1px solid rgba(229,199,101,.2);font-size:12px;font-weight:900;color:#e5ca70}
.baccarat-result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.baccarat-result-metrics>div{padding:12px;text-align:center}.baccarat-result-metrics small{display:block;font-size:9px;color:var(--muted)}.baccarat-result-metrics strong{display:block;margin-top:4px;font-size:20px}
.baccarat-result-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.baccarat-result-breakdown>div{padding:13px 8px;text-align:center}.baccarat-result-breakdown small{display:block;min-height:24px;font-size:9px;color:#a9bbb4}.baccarat-result-breakdown strong{display:block;font-size:22px;color:#efd778}.baccarat-result-breakdown span{font-size:10px;color:var(--muted)}
.baccarat-result-review{margin-top:12px;padding:16px}.baccarat-result-review h3{margin:4px 0 11px}.baccarat-review-row{display:flex;gap:11px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.065)}.baccarat-review-row>span{width:31px;font-size:10px;font-weight:900;color:#d8be69}.baccarat-review-row div{min-width:0}.baccarat-review-row b{display:block;font-size:13px}.baccarat-review-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
@keyframes baccaratCardDeal{from{opacity:0;transform:translateY(-18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){
  .baccarat-lab-status{display:block}.baccarat-lab-status span{display:block;margin-bottom:5px}
  .baccarat-card-stage{min-height:176px;gap:7px;padding-inline:0}
  .baccarat-card-stage .play-card{width:88px;height:124px}.baccarat-card-stage .play-card .rank{font-size:25px}.baccarat-card-stage .play-card .suit{font-size:29px}
  .baccarat-card-stage.single .baccarat-card-wrap{transform:scale(1.05)}
  .baccarat-rule-strip{grid-template-columns:1fr}.baccarat-rule-strip span{padding:5px}
  .baccarat-number-grid{gap:6px}.baccarat-number-grid button{min-height:51px;font-size:21px;border-radius:10px}
  .baccarat-feedback-cards .play-card{width:68px;height:96px}.baccarat-feedback-cards .play-card .rank{font-size:20px}.baccarat-feedback-cards .play-card .suit{font-size:22px}
  .baccarat-result-breakdown{grid-template-columns:1fr}.baccarat-result-breakdown small{min-height:0}
}
@media(max-width:365px){
  .baccarat-card-stage .play-card{width:78px;height:110px}.baccarat-number-grid button{min-height:47px}
}


/* ======================================================================
   v2.0.2 — BACCARAT YELLOW THEME / ANSWER GUIDANCE / LAB CARD FOOTER FIX
   ====================================================================== */
/* Game identity: Hold'em = red, Blackjack = green, Baccarat = yellow/gold. */
.baccarat-section-title{
  border-color:rgba(239,199,72,.48);
  background:
    radial-gradient(circle at 12% 18%,rgba(255,215,79,.18),transparent 34%),
    linear-gradient(135deg,rgba(111,80,13,.82),rgba(31,24,9,.97));
}
.baccarat-section-title .lab-game-suit{
  border-color:rgba(244,205,78,.56);
  background:linear-gradient(145deg,#775710,#241b08);
  color:#ffe184;
  text-shadow:0 0 20px rgba(255,215,72,.36);
}
.baccarat-lab-status{
  border-color:rgba(236,195,68,.35);
  background:linear-gradient(135deg,rgba(106,78,17,.48),rgba(35,27,11,.72));
}
.baccarat-lab-status span{color:#f5d56f}
.baccarat-grid .baccarat-item .training-card{
  border-color:rgba(235,193,65,.38);
  background:
    radial-gradient(circle at 88% 8%,rgba(255,214,72,.14),transparent 32%),
    linear-gradient(155deg,rgba(104,76,15,.86),rgba(28,22,12,.98) 62%);
}
.baccarat-grid .baccarat-item .tc-icon{color:#ffe07a}
.baccarat-grid .baccarat-item .lab-card-no{color:#d5b34f;border-color:rgba(235,193,65,.42)}
.baccarat-grid .baccarat-item .lab-card-stats{border-top-color:rgba(239,199,72,.18)}
.baccarat-grid .baccarat-item .lab-card-stats b{color:#ebca67}
.baccarat-grid .baccarat-item .chev{color:#f2d36d}

body.baccarat-card-value-active{
  --baccarat-table:#765814;
  --baccarat-table-deep:#2d240d;
  --baccarat-gold:#f0cc56;
  --baccarat-line:rgba(240,204,86,.34);
}
.baccarat-top{border-bottom-color:rgba(240,204,86,.24)}
.baccarat-top .training-title strong{color:#ffe27d;text-shadow:0 0 18px rgba(246,203,67,.18)}
.baccarat-top .training-title span{color:#c8b985}
.baccarat-metrics .metric{
  background:linear-gradient(180deg,rgba(98,73,17,.58),rgba(37,29,12,.82));
  border-color:rgba(235,194,66,.28);
}
.baccarat-value-table{
  border-color:rgba(240,204,86,.42);
  background:
    radial-gradient(circle at 50% 42%,rgba(166,124,25,.74),rgba(89,67,18,.92) 48%,rgba(39,30,12,.99) 76%),
    linear-gradient(180deg,#795a12,#2d230c);
  box-shadow:inset 0 0 0 1px rgba(255,238,160,.035),0 16px 38px rgba(0,0,0,.24);
}
.baccarat-value-table:before{border-color:rgba(255,220,93,.24)}
.baccarat-lab-kicker span{color:#ffe27b}
.baccarat-lab-kicker em{color:#d1c18d}
.baccarat-question-copy small{color:#e1d5ad}
.baccarat-rule-strip span{
  border-color:rgba(255,223,111,.13);
  background:rgba(36,27,9,.52);
  color:#ded2aa;
}

/* Make the answer target unmistakable, matching the visual guidance used by other LAB modes. */
.baccarat-answer-panel{
  position:relative;
  border-color:rgba(255,213,70,.58);
  background:linear-gradient(180deg,rgba(76,57,14,.94),rgba(29,23,12,.98));
  box-shadow:
    0 0 0 1px rgba(255,218,82,.12),
    0 0 24px rgba(242,193,44,.22),
    inset 0 0 22px rgba(255,213,68,.045);
  animation:baccaratAnswerPulse 1.75s ease-in-out infinite;
}
.baccarat-answer-title span{
  color:#ffe477;
  text-shadow:0 0 12px rgba(255,215,74,.32);
}
.baccarat-answer-title small{color:#dccb93}
.baccarat-number-grid button{
  border-color:rgba(255,214,71,.42);
  background:linear-gradient(180deg,rgba(121,88,17,.97),rgba(54,41,15,.98));
  box-shadow:inset 0 1px rgba(255,242,178,.06),0 0 0 1px rgba(255,216,78,.025);
}
.baccarat-number-grid button:hover{
  border-color:rgba(255,227,120,.86);
  background:linear-gradient(180deg,rgba(154,111,20,.98),rgba(70,52,16,.98));
  box-shadow:0 0 16px rgba(248,203,55,.22),inset 0 1px rgba(255,245,196,.08);
}
.baccarat-number-grid button:active{
  background:linear-gradient(180deg,rgba(177,129,25,.98),rgba(83,61,17,.98));
}
@keyframes baccaratAnswerPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,218,82,.12),0 0 18px rgba(242,193,44,.16),inset 0 0 22px rgba(255,213,68,.04)}
  50%{box-shadow:0 0 0 2px rgba(255,222,94,.23),0 0 32px rgba(249,201,48,.34),inset 0 0 28px rgba(255,218,75,.075)}
}
@media(prefers-reduced-motion:reduce){.baccarat-answer-panel{animation:none}}

/* Keep the yellow/gold identity through feedback and result screens as well. */
.baccarat-feedback-card{
  border-color:rgba(240,204,86,.36);
  background:linear-gradient(160deg,rgba(93,70,17,.94),rgba(29,23,13,.99));
}
.baccarat-answer-compare>div{
  border-color:rgba(242,207,91,.16);
  background:rgba(47,36,12,.58);
}
.baccarat-explanation{
  border-color:rgba(240,204,86,.25);
  background:rgba(47,36,12,.58);
}
.baccarat-math-line span{background:rgba(255,226,120,.07)}
.baccarat-result-hero{
  border-color:rgba(240,204,86,.42);
  background:radial-gradient(circle at 50% 0,rgba(156,116,23,.7),rgba(48,37,14,.98) 66%);
}
.baccarat-result-review{
  border-color:rgba(240,204,86,.24);
  background:linear-gradient(160deg,rgba(72,54,16,.62),rgba(24,20,13,.95));
}

/* All LAB practical cards: reserve a dedicated right-side lane for the arrow.
   This prevents session/attempt counts from colliding with the chevron on narrow screens. */
.lab-path-card.training-card .lab-card-stats{
  min-width:0;
  padding-right:25px;
}
.lab-path-card.training-card .lab-card-stats b{
  flex:1 1 auto;
  min-width:0;
}
.lab-path-card.training-card .lab-card-stats span{
  flex:0 0 auto;
  margin-right:1px;
}
.lab-path-card.training-card>.chev{
  right:9px;
  bottom:9px;
  width:14px;
  text-align:center;
}
@media(max-width:390px){
  .lab-path-card.training-card .lab-card-stats{padding-right:28px;gap:4px}
}

/* ======================================================================
   v2.0.3 — GAME COLOR IDENTITY / INDIVIDUAL BACCARAT ANSWER GLOW
   Hold'em = red, Blackjack = green, Baccarat = yellow/gold.
   ====================================================================== */

/* BACCARAT: the panel itself no longer pulses. Each answer button is the target. */
.baccarat-answer-panel{
  border-color:rgba(240,204,86,.24);
  background:linear-gradient(180deg,rgba(70,53,14,.82),rgba(29,23,12,.96));
  box-shadow:inset 0 0 18px rgba(255,213,68,.035);
  animation:none!important;
}
.baccarat-number-grid button{
  border-color:rgba(89,218,255,.72);
  background:linear-gradient(180deg,rgba(72,82,66,.96),rgba(41,40,25,.98));
  color:#f7fbff;
  text-shadow:0 0 9px rgba(98,225,255,.78);
  box-shadow:
    0 0 0 1px rgba(78,215,255,.13),
    0 0 12px rgba(45,198,255,.24),
    inset 0 1px rgba(224,249,255,.07);
  animation:baccaratNumberButtonGlow 1.65s ease-in-out infinite;
}
.baccarat-number-grid button:hover,
.baccarat-number-grid button:focus-visible{
  border-color:rgba(143,238,255,.98);
  background:linear-gradient(180deg,rgba(67,104,91,.99),rgba(38,54,41,.99));
  color:#fff;
  text-shadow:0 0 12px rgba(128,239,255,.95);
  box-shadow:
    0 0 0 2px rgba(111,231,255,.18),
    0 0 21px rgba(54,211,255,.46),
    inset 0 1px rgba(234,252,255,.1);
}
.baccarat-number-grid button:active{
  background:linear-gradient(180deg,rgba(54,116,102,.99),rgba(33,67,56,.99));
  box-shadow:0 0 17px rgba(62,220,255,.46),inset 0 2px 8px rgba(0,0,0,.22);
}
@keyframes baccaratNumberButtonGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(78,215,255,.11),0 0 9px rgba(45,198,255,.18),inset 0 1px rgba(224,249,255,.06)}
  50%{box-shadow:0 0 0 1px rgba(100,229,255,.22),0 0 17px rgba(50,211,255,.38),inset 0 1px rgba(236,252,255,.09)}
}
@media(prefers-reduced-motion:reduce){
  .baccarat-number-grid button{animation:none!important;box-shadow:0 0 0 1px rgba(91,225,255,.18),0 0 13px rgba(45,198,255,.3),inset 0 1px rgba(224,249,255,.07)}
}

/* TEXAS HOLD'EM practical cards: red identity. */
.holdem-lab-section .lab-path-card.training-card{
  border-color:rgba(224,82,82,.46);
  background:
    radial-gradient(circle at 88% 8%,rgba(230,72,72,.16),transparent 31%),
    linear-gradient(150deg,#4b1719,#190a0b 72%);
  box-shadow:inset 0 1px rgba(255,255,255,.018),0 0 0 1px rgba(199,54,54,.025);
}
.holdem-lab-section .lab-path-card.training-card .lab-card-no{color:#e69797}
.holdem-lab-section .lab-path-card.training-card .tc-icon{color:#ff9a9a}
.holdem-lab-section .lab-path-card.training-card h3{color:#ffd0d0}
.holdem-lab-section .lab-path-card.training-card .lab-card-stats{border-top-color:rgba(232,89,89,.18)}
.holdem-lab-section .lab-path-card.training-card .lab-card-stats b{color:#eaa0a0}
.holdem-lab-section .lab-path-card.training-card>.chev{color:#ff9a9a}
.holdem-lab-section .lab-final-challenge{
  border-color:rgba(226,84,84,.62);
  background:
    radial-gradient(circle at 83% 10%,rgba(228,73,73,.19),transparent 28%),
    radial-gradient(circle at 15% 88%,rgba(116,28,31,.28),transparent 34%),
    linear-gradient(145deg,#4b181b,#17090b 70%);
}
.holdem-lab-section .lab-final-head>span{border-color:rgba(232,103,103,.46);background:rgba(224,76,76,.09)}

/* BLACKJACK practical cards: green identity. */
.blackjack-lab-section .lab-path-card.training-card{
  border-color:rgba(75,191,119,.46);
  background:
    radial-gradient(circle at 88% 8%,rgba(70,190,116,.15),transparent 31%),
    linear-gradient(150deg,#123d25,#08170f 72%);
  box-shadow:inset 0 1px rgba(255,255,255,.018),0 0 0 1px rgba(59,163,98,.025);
}
.blackjack-lab-section .lab-path-card.training-card .lab-card-no{color:#83cf9f}
.blackjack-lab-section .lab-path-card.training-card .tc-icon{color:#8be0aa}
.blackjack-lab-section .lab-path-card.training-card h3{color:#c8f2d7}
.blackjack-lab-section .lab-path-card.training-card .lab-card-stats{border-top-color:rgba(79,190,121,.18)}
.blackjack-lab-section .lab-path-card.training-card .lab-card-stats b{color:#89cea2}
.blackjack-lab-section .lab-path-card.training-card>.chev{color:#8bdcab}
.blackjack-lab-section .blackjack-final-challenge{
  border-color:rgba(73,192,118,.62);
  background:
    radial-gradient(circle at 83% 10%,rgba(71,191,116,.18),transparent 28%),
    radial-gradient(circle at 15% 88%,rgba(24,95,58,.31),transparent 34%),
    linear-gradient(145deg,#123d25,#07160e 70%);
}
.blackjack-lab-section .blackjack-final-challenge .lab-final-head>span{border-color:rgba(94,211,139,.43);background:rgba(71,191,116,.09)}

/* Baccarat remains the v2.0.2 yellow/gold identity. */

/* ======================================================================
   v2.0.4 — BACCARAT LAB HEADER STRUCTURE ALIGNMENT
   ====================================================================== */
/* Keep Baccarat identity on the suit / cards, but match the section header
   container itself to Hold'em and Blackjack. */
.lab-game-head.baccarat-section-title{
  margin:0 0 9px;
  padding:0 2px 8px;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:10px;
  border:0;
  border-bottom:1px solid rgba(213,168,75,.18);
  background:transparent;
  box-shadow:none;
}


/* ======================================================================
   v2.0.5 — BACCARAT ANSWER GLOW STATE FIX
   Prevent touch/sticky-hover or focus state from making one untouched
   number look selected. Every answer remains equally illuminated.
   ====================================================================== */
.baccarat-number-grid button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  animation:none!important;
  border-color:rgba(89,218,255,.72);
  background:linear-gradient(180deg,rgba(72,82,66,.96),rgba(41,40,25,.98));
  color:#f7fbff;
  text-shadow:0 0 9px rgba(98,225,255,.78);
  box-shadow:
    0 0 0 1px rgba(78,215,255,.16),
    0 0 13px rgba(45,198,255,.29),
    inset 0 1px rgba(224,249,255,.07);
}
/* Neutralize sticky hover on touch / coarse-pointer browsers. */
.baccarat-number-grid button:hover{
  border-color:rgba(89,218,255,.72);
  background:linear-gradient(180deg,rgba(72,82,66,.96),rgba(41,40,25,.98));
  color:#f7fbff;
  text-shadow:0 0 9px rgba(98,225,255,.78);
  box-shadow:
    0 0 0 1px rgba(78,215,255,.16),
    0 0 13px rgba(45,198,255,.29),
    inset 0 1px rgba(224,249,255,.07);
  transform:none;
}
/* Mouse users still receive a subtle hover cue, without a selected-state glow. */
@media(hover:hover) and (pointer:fine){
  .baccarat-number-grid button:hover{
    border-color:rgba(137,236,255,.9);
    color:#fff;
    transform:translateY(-1px);
    box-shadow:
      0 0 0 1px rgba(103,228,255,.18),
      0 0 14px rgba(54,211,255,.31),
      inset 0 1px rgba(234,252,255,.09);
  }
}
/* Keyboard focus is explicit accessibility focus, not a filled/selected state. */
.baccarat-number-grid button:focus-visible{
  outline:2px solid rgba(238,252,255,.92);
  outline-offset:2px;
  border-color:rgba(89,218,255,.72);
  background:linear-gradient(180deg,rgba(72,82,66,.96),rgba(41,40,25,.98));
  box-shadow:
    0 0 0 1px rgba(78,215,255,.16),
    0 0 13px rgba(45,198,255,.29),
    inset 0 1px rgba(224,249,255,.07);
}
.baccarat-number-grid button:active{
  transform:translateY(1px);
  background:linear-gradient(180deg,rgba(54,116,102,.99),rgba(33,67,56,.99));
  box-shadow:0 0 12px rgba(62,220,255,.34),inset 0 2px 8px rgba(0,0,0,.22);
}

/* ======================================================================
   v2.0.6 — BACCARAT LAB 02 / INITIAL DEAL & CALLING
   Five-round procedure trainer. Cyan marks answer targets; gold remains
   Baccarat's game identity. No target animation is used on touch devices.
   ====================================================================== */
body.baccarat-initial-deal-active{
  --baccarat-table:#765814;
  --baccarat-table-deep:#2d240d;
  --baccarat-gold:#f0cc56;
  --baccarat-line:rgba(240,204,86,.34);
}
.baccarat-procedure-screen{max-width:820px}
.baccarat-procedure-table{
  position:relative;
  overflow:hidden;
  padding:19px 18px 17px;
  border-color:rgba(240,204,86,.42);
  background:
    radial-gradient(circle at 50% 30%,rgba(157,117,24,.7),rgba(78,59,17,.94) 47%,rgba(35,28,13,.99) 79%),
    linear-gradient(180deg,#795a12,#2d230c);
  box-shadow:inset 0 0 0 1px rgba(255,238,160,.035),0 16px 38px rgba(0,0,0,.24);
}
.baccarat-procedure-table:before{
  content:"";position:absolute;inset:9px;border:1px solid rgba(255,220,93,.22);border-radius:18px;pointer-events:none
}
.baccarat-procedure-instruction{position:relative;z-index:2;text-align:center;margin:3px auto 10px;min-height:66px}
.baccarat-procedure-instruction>small{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:#ffe17a}
.baccarat-procedure-instruction h1{margin:5px 0 0;font-size:clamp(18px,4.6vw,26px);line-height:1.22;color:#fff}
.baccarat-procedure-instruction p{display:inline-flex;align-items:center;gap:7px;margin:9px 0 0;padding:7px 10px;border:1px solid rgba(239,105,98,.35);border-radius:10px;background:rgba(85,22,21,.48);font-size:11px;line-height:1.45;color:#ffd2ce}
.baccarat-procedure-instruction p b{color:#ff8e87;font-size:14px}
.baccarat-procedure-shoe{position:relative;z-index:2;width:104px;margin:0 auto 11px;padding:7px 9px;border:1px solid rgba(255,225,117,.22);border-radius:9px;background:linear-gradient(160deg,rgba(26,25,23,.92),rgba(10,10,10,.98));box-shadow:0 7px 16px rgba(0,0,0,.2);text-align:center}
.baccarat-procedure-shoe span{display:block;font-size:9px;font-weight:950;letter-spacing:.16em;color:#e8c967}
.baccarat-procedure-shoe i{display:block;margin-top:2px;font-size:8px;font-style:normal;color:#aaa28a}
.baccarat-procedure-hands{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.baccarat-procedure-hand{
  appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:220px;margin:0;padding:12px;
  border:1px solid rgba(255,225,125,.2);border-radius:15px;background:rgba(39,31,14,.58);color:inherit;text-align:initial;
  box-shadow:inset 0 1px rgba(255,255,255,.025);transition:border-color .13s ease,box-shadow .13s ease,transform .13s ease,background .13s ease
}
button.baccarat-procedure-hand{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.baccarat-procedure-hand.player{background:linear-gradient(160deg,rgba(68,52,16,.66),rgba(34,27,13,.78))}
.baccarat-procedure-hand.banker{background:linear-gradient(160deg,rgba(75,55,16,.66),rgba(34,27,13,.78))}
.baccarat-procedure-hand.is-answer-target{
  border-color:rgba(89,218,255,.78);
  box-shadow:0 0 0 1px rgba(78,215,255,.16),0 0 15px rgba(45,198,255,.28),inset 0 0 18px rgba(74,218,255,.035)
}
.baccarat-procedure-hand.is-error{
  border-color:rgba(255,110,101,.9)!important;
  box-shadow:0 0 0 1px rgba(255,99,92,.16),0 0 16px rgba(231,75,68,.31),inset 0 0 18px rgba(224,66,59,.05)!important
}
@media(hover:hover) and (pointer:fine){
  button.baccarat-procedure-hand.is-answer-target:hover{transform:translateY(-1px);border-color:rgba(139,238,255,.94);box-shadow:0 0 0 1px rgba(106,230,255,.2),0 0 17px rgba(54,211,255,.31),inset 0 0 18px rgba(74,218,255,.04)}
}
button.baccarat-procedure-hand.is-answer-target:active{transform:translateY(1px)}
button.baccarat-procedure-hand:focus-visible{outline:2px solid rgba(238,252,255,.94);outline-offset:2px}
.baccarat-procedure-hand-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.07)}
.baccarat-procedure-hand-head strong{font-size:14px;letter-spacing:.12em;color:#ffe076}
.baccarat-procedure-hand-head small{font-size:8px;letter-spacing:.08em;color:#b7ae93}
.baccarat-procedure-hand-head span{padding:4px 7px;border:1px solid rgba(240,204,86,.27);border-radius:999px;background:rgba(240,204,86,.08);font-size:10px;font-weight:950;color:#ffe27d}
.baccarat-procedure-cards{display:flex;align-items:center;justify-content:center;gap:8px;min-height:150px;padding-top:11px}
.baccarat-procedure-card-slot,.baccarat-procedure-card-back,.baccarat-procedure-open-card .play-card{width:82px;height:116px;border-radius:9px}
.baccarat-procedure-card-slot{display:grid;place-items:center;border:1px dashed rgba(255,225,125,.18);background:rgba(18,17,12,.21)}
.baccarat-procedure-card-slot span{font-size:21px;font-weight:500;color:rgba(255,229,151,.18)}
.baccarat-procedure-card-back{position:relative;display:grid;place-items:center;overflow:hidden;border:4px solid #f5efe1;background:linear-gradient(135deg,#202e47,#101827);box-shadow:0 9px 19px rgba(0,0,0,.28)}
.baccarat-procedure-card-back:before{content:"";position:absolute;inset:4px;border:1px solid rgba(216,226,244,.65);background:repeating-linear-gradient(45deg,rgba(174,198,231,.18) 0 4px,transparent 4px 8px)}
.baccarat-procedure-card-back i{position:absolute;width:48px;height:48px;border:1px solid rgba(230,238,249,.24);transform:rotate(45deg)}
.baccarat-procedure-card-back span{position:relative;z-index:1;font:800 14px/1 Georgia,serif;letter-spacing:.08em;color:rgba(245,248,252,.8);text-shadow:0 2px 4px rgba(0,0,0,.45)}
.baccarat-procedure-open-card .play-card{box-shadow:0 9px 19px rgba(0,0,0,.28)}
.baccarat-procedure-open-card .play-card .rank{font-size:25px}
.baccarat-procedure-open-card .play-card .suit{font-size:28px}
.baccarat-procedure-call{margin-top:12px}
.baccarat-procedure-call .baccarat-number-grid button.is-error{border-color:rgba(255,110,101,.92)!important;color:#ffe4e2!important;text-shadow:0 0 8px rgba(255,123,115,.6)!important;box-shadow:0 0 0 1px rgba(255,99,92,.18),0 0 14px rgba(231,75,68,.3),inset 0 1px rgba(255,238,236,.06)!important}
.baccarat-procedure-round-complete{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:12px;padding:13px 14px;border-color:rgba(240,204,86,.28);background:linear-gradient(145deg,rgba(76,57,16,.7),rgba(29,24,14,.96))}
.baccarat-procedure-round-complete>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(89,204,133,.42);border-radius:50%;background:rgba(55,159,98,.1);font-size:20px;color:#80d6a2}
.baccarat-procedure-round-complete small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#cdbb82}
.baccarat-procedure-round-complete h3{margin:2px 0 2px;font-size:16px;color:#ffe17b}
.baccarat-procedure-round-complete p{margin:0;font-size:10px;line-height:1.45;color:#ada690}
.baccarat-procedure-round-complete .btn{white-space:nowrap}
.baccarat-procedure-result .baccarat-result-review .baccarat-review-row b{text-transform:uppercase}

@media(max-width:560px){
  .baccarat-procedure-table{padding:16px 11px 13px}
  .baccarat-procedure-hands{gap:7px}
  .baccarat-procedure-hand{min-height:191px;padding:9px 7px;border-radius:12px}
  .baccarat-procedure-hand-head strong{font-size:12px}.baccarat-procedure-hand-head span{font-size:8px;padding:3px 5px}
  .baccarat-procedure-cards{gap:5px;min-height:127px;padding-top:8px}
  .baccarat-procedure-card-slot,.baccarat-procedure-card-back,.baccarat-procedure-open-card .play-card{width:64px;height:91px;border-radius:7px}
  .baccarat-procedure-open-card .play-card .rank{font-size:20px}.baccarat-procedure-open-card .play-card .suit{font-size:22px}
  .baccarat-procedure-card-back{border-width:3px}.baccarat-procedure-card-back i{width:37px;height:37px}.baccarat-procedure-card-back span{font-size:11px}
  .baccarat-procedure-round-complete{grid-template-columns:auto 1fr}.baccarat-procedure-round-complete .btn{grid-column:1/-1;width:100%}
}
@media(max-width:370px){
  .baccarat-procedure-hand{min-height:173px;padding:8px 5px}
  .baccarat-procedure-card-slot,.baccarat-procedure-card-back,.baccarat-procedure-open-card .play-card{width:57px;height:82px}
  .baccarat-procedure-cards{min-height:113px;gap:4px}
  .baccarat-procedure-hand-head small{font-size:7px}
}


/* ======================================================================
   v2.0.7 — BACCARAT LAB 02 REAL TABLE + GAME GUIDE / ROADMAP POLISH
   ====================================================================== */
.tc-icon svg.lab-mini-icon{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.tc-icon svg.lab-mini-icon text{fill:currentColor;stroke:none;font:900 12px/1 var(--sans)}
.game-guide-grid.game-guide-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-guide-card.baccarat{background:radial-gradient(circle at 50% 10%,rgba(223,181,53,.25),transparent 42%),linear-gradient(180deg,#1b1810,#090a08);border-color:rgba(232,197,83,.48)}
.game-guide-card.baccarat .guide-suit{color:#f0cf5e}
.game-rule-modal.baccarat-guide-detail{border-color:rgba(232,197,83,.42)}
.game-rule-modal.blackjack-guide-detail{border-color:rgba(66,157,93,.38)}
.game-rule-modal.holdem-guide-detail{border-color:rgba(183,64,60,.4)}
@media(max-width:620px){.game-guide-grid.game-guide-grid-3{grid-template-columns:1fr 1fr}.game-guide-card.baccarat{grid-column:1/-1;min-height:96px}}
@media(max-width:350px){.game-guide-grid.game-guide-grid-3{grid-template-columns:1fr}.game-guide-card.baccarat{grid-column:auto}}

/* LAB02: instruction sits outside the felt; the felt itself is a mini-baccarat
   working layout. No visible deal-order answer strip is rendered. */
.baccarat-procedure-screen>.baccarat-procedure-instruction{margin:5px auto 10px;padding:10px 12px;border:1px solid rgba(240,204,86,.18);border-radius:13px;background:linear-gradient(180deg,rgba(40,34,17,.72),rgba(19,18,13,.88))}
.baccarat-real-table-wrap{padding:13px 13px 15px;background:#16130c;border-color:rgba(240,204,86,.38)}
.baccarat-real-table{
  position:relative;min-height:470px;overflow:hidden;padding:58px 18px 42px;
  border:4px solid #201b0f;border-radius:23px 23px 44% 44% / 23px 23px 18% 18%;
  background:
    radial-gradient(ellipse at 50% 13%,rgba(255,225,118,.12),transparent 28%),
    radial-gradient(ellipse at 50% 72%,rgba(154,113,25,.18),transparent 55%),
    linear-gradient(180deg,#755715 0%,#5f4712 48%,#49370f 100%);
  box-shadow:inset 0 0 0 2px rgba(255,225,117,.16),inset 0 -25px 45px rgba(17,13,5,.25),0 14px 34px rgba(0,0,0,.3)
}
.baccarat-real-table:before{content:"";position:absolute;inset:8px 10px 11px;border:1px solid rgba(255,228,129,.24);border-radius:17px 17px 43% 43% / 17px 17px 17% 17%;pointer-events:none}
.baccarat-dealer-rail{position:absolute;z-index:4;top:10px;left:18px;right:18px;display:grid;grid-template-columns:96px 1fr 96px;align-items:center;gap:10px}
.baccarat-dealer-mark{text-align:center;color:#ddc36d}.baccarat-dealer-mark span{display:block;font-size:7px;letter-spacing:.2em;color:#a99662}.baccarat-dealer-mark strong{display:block;margin-top:2px;font:900 10px/1.1 var(--serif);letter-spacing:.08em}
.baccarat-table-device{padding:6px 7px;border:1px solid rgba(255,226,122,.24);border-radius:8px;background:linear-gradient(160deg,rgba(31,30,28,.96),rgba(11,11,10,.99));box-shadow:0 6px 12px rgba(0,0,0,.28);text-align:center}
.baccarat-table-device b{display:block;font-size:8px;letter-spacing:.12em;color:#e6c964}.baccarat-table-device small{display:block;margin-top:2px;font-size:6.5px;color:#8f8878}
.baccarat-card-work-row{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;gap:10px;max-width:650px;margin:10px auto 12px}
.baccarat-center-diamond{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:rgba(255,227,116,.72);text-align:center}.baccarat-center-diamond span{font-size:32px;line-height:1}.baccarat-center-diamond small{font-size:6px;line-height:1.25;letter-spacing:.09em;color:rgba(255,241,184,.58)}
.baccarat-real-table .baccarat-procedure-hand{min-height:188px;padding:9px 8px;border:2px solid rgba(255,235,163,.28);border-radius:12px;background:rgba(33,27,12,.4)}
.baccarat-real-table .baccarat-procedure-hand.player{border-color:rgba(94,177,255,.55);background:linear-gradient(160deg,rgba(24,68,100,.38),rgba(28,25,12,.56))}
.baccarat-real-table .baccarat-procedure-hand.banker{border-color:rgba(242,99,92,.58);background:linear-gradient(160deg,rgba(104,35,31,.38),rgba(28,25,12,.56))}
.baccarat-real-table .baccarat-procedure-hand-head{border-bottom:1px solid rgba(255,255,255,.1)}
.baccarat-real-table .baccarat-procedure-hand.player .baccarat-procedure-hand-head strong{color:#9bd4ff}
.baccarat-real-table .baccarat-procedure-hand.banker .baccarat-procedure-hand-head strong{color:#ffaaa3}
.baccarat-real-table .baccarat-procedure-cards{min-height:118px;padding-top:7px;gap:6px}
.baccarat-real-table .baccarat-procedure-card-slot,.baccarat-real-table .baccarat-procedure-card-back,.baccarat-real-table .baccarat-procedure-open-card .play-card{width:64px;height:91px}
.baccarat-real-table .baccarat-procedure-hand.is-answer-target{border-color:rgba(89,218,255,.9);box-shadow:0 0 0 1px rgba(78,215,255,.18),0 0 16px rgba(45,198,255,.3),inset 0 0 16px rgba(74,218,255,.04)}
.baccarat-bet-band{position:relative;z-index:2;display:grid;grid-template-columns:1fr .48fr 1fr;gap:8px;max-width:590px;margin:3px auto 12px}
.baccarat-main-bet{min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid currentColor;border-radius:8px;background:rgba(18,17,9,.18);text-align:center}.baccarat-main-bet small{font-size:6px;letter-spacing:.14em;opacity:.68}.baccarat-main-bet strong{font:900 13px/1.1 var(--serif);letter-spacing:.07em}.baccarat-main-bet.player{color:#91d0ff}.baccarat-main-bet.tie{color:#8fe5a8}.baccarat-main-bet.banker{color:#ffaaa3}
.baccarat-seat-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:640px;margin:0 auto}
.baccarat-seat-pod{padding:5px 3px 6px;border:1px solid rgba(255,226,128,.2);border-radius:9px;background:rgba(27,22,9,.32);text-align:center}.baccarat-seat-pod small{display:block;margin-bottom:4px;font-size:5.5px;letter-spacing:.08em;color:#b7a86f}.baccarat-seat-pod>div{display:flex;justify-content:center;gap:3px}.baccarat-seat-pod i{width:16px;height:16px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:6px;font-style:normal;font-weight:900;background:rgba(0,0,0,.12)}.baccarat-seat-pod i.p{color:#8fcfff}.baccarat-seat-pod i.t{color:#8ae2a5}.baccarat-seat-pod i.b{color:#ffa39c}
.baccarat-player-rail{position:absolute;z-index:1;left:12%;right:12%;bottom:8px;height:24px;border-top:2px solid rgba(255,224,121,.26);border-radius:50% 50% 0 0;text-align:center}.baccarat-player-rail span{position:relative;top:4px;padding:0 8px;background:#4b380f;font-size:5.5px;letter-spacing:.18em;color:#ac9b61}
@media(max-width:620px){
  .baccarat-real-table{min-height:418px;padding:54px 8px 36px;border-width:3px}
  .baccarat-dealer-rail{left:9px;right:9px;grid-template-columns:74px 1fr 74px;gap:5px}.baccarat-table-device{padding:5px 4px}.baccarat-dealer-mark strong{font-size:8px}
  .baccarat-card-work-row{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:5px;margin-top:7px}.baccarat-center-diamond span{font-size:22px}.baccarat-center-diamond small{display:none}
  .baccarat-real-table .baccarat-procedure-hand{min-height:161px;padding:7px 5px}.baccarat-real-table .baccarat-procedure-cards{min-height:101px;gap:4px}.baccarat-real-table .baccarat-procedure-card-slot,.baccarat-real-table .baccarat-procedure-card-back,.baccarat-real-table .baccarat-procedure-open-card .play-card{width:50px;height:72px}
  .baccarat-bet-band{gap:4px;margin-top:0}.baccarat-main-bet{min-height:39px;border-width:1px}.baccarat-main-bet strong{font-size:10px}
  .baccarat-seat-row{gap:3px}.baccarat-seat-pod{padding:4px 1px}.baccarat-seat-pod small{font-size:4.8px}.baccarat-seat-pod i{width:13px;height:13px;font-size:5px}
}
@media(max-width:370px){
  .baccarat-real-table{min-height:386px;padding-top:51px}.baccarat-dealer-rail{grid-template-columns:67px 1fr 67px}.baccarat-card-work-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}
  .baccarat-real-table .baccarat-procedure-hand{min-height:147px}.baccarat-real-table .baccarat-procedure-card-slot,.baccarat-real-table .baccarat-procedure-card-back,.baccarat-real-table .baccarat-procedure-open-card .play-card{width:44px;height:64px}.baccarat-real-table .baccarat-procedure-cards{min-height:91px}
  .baccarat-main-bet strong{font-size:9px}.baccarat-seat-pod small{display:none}
}


/* v2.0.9 — BACCARAT MASTER TABLE IMPLEMENTATION */

.baccarat-master-layout{position:relative;min-height:560px;border:1px solid rgba(255,223,130,.22);border-radius:22px;overflow:hidden;background:
  radial-gradient(circle at 50% 15%,rgba(255,230,155,.10),transparent 26%),
  radial-gradient(circle at 50% 110%,rgba(255,183,54,.08),transparent 28%),
  linear-gradient(180deg,#0d0c0b 0%,#0a0908 58%,#080807 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), inset 0 -40px 90px rgba(0,0,0,.4);
}
.baccarat-master-layout::before{content:"";position:absolute;inset:18px; border-radius:18px; border:1px solid rgba(255,255,255,.045); pointer-events:none}
.baccarat-master-layout::after{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:linear-gradient(180deg,rgba(255,180,54,0),rgba(255,180,54,.06) 40%,rgba(0,0,0,.25) 100%);pointer-events:none}
.baccarat-master-fan{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:min(94%,860px);height:230px;display:flex;justify-content:space-between;align-items:flex-start;z-index:1}
.baccarat-master-seat{position:relative;width:18.6%;display:flex;flex-direction:column;gap:0;border-radius:12px;transform-origin:center bottom;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
.baccarat-master-seat-1{transform:translateY(36px) rotate(-13deg)}
.baccarat-master-seat-2{transform:translateY(16px) rotate(-7deg)}
.baccarat-master-seat-3{transform:translateY(2px) rotate(0deg)}
.baccarat-master-seat-4{transform:translateY(16px) rotate(7deg)}
.baccarat-master-seat-5{transform:translateY(36px) rotate(13deg)}
.baccarat-master-seat-number{position:absolute;top:-36px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.8px solid rgba(244,201,97,.62);background:radial-gradient(circle at 35% 30%,rgba(68,55,26,.76),rgba(14,12,10,.98));color:#f8dfa0;font:900 25px/1 var(--serif);box-shadow:0 0 0 4px rgba(194,145,45,.08)}
.baccarat-master-seat-number::before,.baccarat-master-seat-number::after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,223,138,.18)}
.baccarat-master-band{height:42px;display:flex;align-items:center;justify-content:center;border:1.6px solid rgba(238,190,89,.62);background:linear-gradient(180deg,rgba(25,23,21,.98),rgba(14,13,12,.98));font:900 13px/1 var(--serif);letter-spacing:.08em;text-shadow:0 0 10px rgba(0,0,0,.3)}
.baccarat-master-band:first-of-type{border-top-left-radius:12px;border-top-right-radius:12px}
.baccarat-master-band:last-of-type{border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.baccarat-master-band.player{color:#4f8dff}
.baccarat-master-band.banker{color:#ef5252}
.baccarat-master-band.tie{color:#95be58;background:linear-gradient(180deg,rgba(49,63,35,.88),rgba(30,38,24,.96))}
.baccarat-master-title{position:absolute;left:50%;top:265px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2;text-align:center}
.baccarat-master-title strong{font:900 clamp(18px,2.2vw,28px)/1 var(--serif);letter-spacing:.26em;color:#f0dab0;text-shadow:0 0 12px rgba(0,0,0,.36)}
.baccarat-master-title span{font:700 clamp(10px,1.15vw,14px)/1 var(--serif);letter-spacing:.22em;color:#daaf49}
.baccarat-master-title::before,.baccarat-master-title::after{content:"";position:absolute;top:14px;width:92px;height:1px;background:linear-gradient(90deg,transparent,rgba(235,192,88,.9),transparent)}
.baccarat-master-title::before{right:calc(100% + 18px)}
.baccarat-master-title::after{left:calc(100% + 18px)}
.baccarat-master-device{position:absolute;bottom:92px;z-index:2;min-width:138px;padding:12px 14px;border-radius:18px;border:1px solid rgba(246,201,95,.38);background:linear-gradient(180deg,rgba(28,26,24,.98),rgba(10,9,8,.98));box-shadow:0 14px 22px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.04);text-align:center}
.baccarat-master-device b{display:block;font:900 18px/1 var(--serif);letter-spacing:.14em;color:#edd08f}
.baccarat-master-device small{display:block;margin-top:6px;font-size:10px;letter-spacing:.14em;color:rgba(245,226,178,.72)}
.baccarat-master-device.shoe{left:28px;transform:rotate(-10deg)}
.baccarat-master-device.rack{right:28px;transform:rotate(10deg)}
.baccarat-master-work{position:absolute;bottom:74px;z-index:2;width:min(28%,240px)}
.baccarat-master-work.player{left:30%}
.baccarat-master-work.banker{right:30%}
.baccarat-master-layout .baccarat-procedure-hand{min-height:172px;padding:10px 10px 8px;border-radius:18px;background:linear-gradient(180deg,rgba(13,13,14,.9),rgba(7,7,8,.95));backdrop-filter:blur(1px)}
.baccarat-master-layout .baccarat-procedure-hand.player{border:2px solid rgba(88,154,255,.66);box-shadow:0 0 0 1px rgba(67,115,255,.08), inset 0 0 18px rgba(34,78,188,.10)}
.baccarat-master-layout .baccarat-procedure-hand.banker{border:2px solid rgba(244,98,98,.70);box-shadow:0 0 0 1px rgba(255,92,92,.08), inset 0 0 18px rgba(194,45,45,.10)}
.baccarat-master-layout .baccarat-procedure-hand.is-answer-target{border-color:rgba(95,222,255,.96);box-shadow:0 0 0 1px rgba(95,222,255,.18),0 0 18px rgba(52,206,255,.32), inset 0 0 16px rgba(52,206,255,.06)}
.baccarat-master-layout .baccarat-procedure-hand.is-error{border-color:rgba(255,106,106,.96)!important;box-shadow:0 0 0 1px rgba(255,96,96,.22),0 0 18px rgba(255,96,96,.26)}
.baccarat-master-layout .baccarat-procedure-hand-head{border-bottom:1px solid rgba(255,255,255,.12)}
.baccarat-master-layout .baccarat-procedure-hand.player .baccarat-procedure-hand-head strong{color:#69a6ff}
.baccarat-master-layout .baccarat-procedure-hand.banker .baccarat-procedure-hand-head strong{color:#ff7777}
.baccarat-master-layout .baccarat-procedure-cards{min-height:108px;padding-top:8px;gap:7px}
.baccarat-master-layout .baccarat-procedure-card-slot,.baccarat-master-layout .baccarat-procedure-card-back,.baccarat-master-layout .baccarat-procedure-open-card .play-card{width:60px;height:86px}
.baccarat-master-rail{position:absolute;left:12px;right:12px;bottom:10px;height:54px;border-radius:26px 26px 14px 14px;background:linear-gradient(180deg,rgba(42,35,28,.45),rgba(6,5,5,.92));border:1px solid rgba(244,195,82,.16);box-shadow:inset 0 6px 20px rgba(255,183,61,.08), inset 0 -8px 18px rgba(0,0,0,.42);display:flex;align-items:flex-start;justify-content:center;padding-top:12px;z-index:2}
.baccarat-master-rail::after{content:"";position:absolute;left:18px;right:18px;bottom:7px;height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(244,170,58,.15),rgba(255,211,120,.95),rgba(244,170,58,.15));box-shadow:0 0 12px rgba(255,198,72,.22)}
.baccarat-master-rail span{font:900 11px/1 var(--serif);letter-spacing:.28em;color:#ddb255}
@media (max-width: 860px){
  .baccarat-master-layout{min-height:520px}
  .baccarat-master-fan{width:min(96%,720px);height:212px;top:20px}
  .baccarat-master-seat-number{width:42px;height:42px;font-size:22px;top:-32px}
  .baccarat-master-band{height:38px;font-size:11px}
  .baccarat-master-title{top:248px}
  .baccarat-master-title::before,.baccarat-master-title::after{width:60px}
  .baccarat-master-work{width:min(30%,218px)}
  .baccarat-master-work.player{left:27.5%}
  .baccarat-master-work.banker{right:27.5%}
  .baccarat-master-layout .baccarat-procedure-card-slot,.baccarat-master-layout .baccarat-procedure-card-back,.baccarat-master-layout .baccarat-procedure-open-card .play-card{width:54px;height:78px}
  .baccarat-master-device{min-width:118px;padding:10px 12px;bottom:88px}
  .baccarat-master-device b{font-size:16px}
}
@media (max-width: 640px){
  .baccarat-master-layout{min-height:468px}
  .baccarat-master-fan{width:98%;height:178px;top:14px}
  .baccarat-master-seat{width:19%}
  .baccarat-master-seat-1{transform:translateY(26px) rotate(-10deg)}
  .baccarat-master-seat-2{transform:translateY(12px) rotate(-5deg)}
  .baccarat-master-seat-3{transform:translateY(0) rotate(0deg)}
  .baccarat-master-seat-4{transform:translateY(12px) rotate(5deg)}
  .baccarat-master-seat-5{transform:translateY(26px) rotate(10deg)}
  .baccarat-master-seat-number{width:34px;height:34px;font-size:17px;top:-26px}
  .baccarat-master-band{height:31px;font-size:9px;letter-spacing:.04em}
  .baccarat-master-title{top:208px;gap:4px}
  .baccarat-master-title strong{font-size:16px;letter-spacing:.18em}
  .baccarat-master-title span{font-size:9px;letter-spacing:.14em}
  .baccarat-master-title::before,.baccarat-master-title::after{display:none}
  .baccarat-master-device{min-width:88px;padding:8px 8px;border-radius:14px;bottom:72px}
  .baccarat-master-device b{font-size:12px;letter-spacing:.08em}
  .baccarat-master-device small{font-size:7px;letter-spacing:.08em}
  .baccarat-master-device.shoe{left:10px}
  .baccarat-master-device.rack{right:10px}
  .baccarat-master-work{bottom:62px;width:34%}
  .baccarat-master-work.player{left:17%}
  .baccarat-master-work.banker{right:17%}
  .baccarat-master-layout .baccarat-procedure-hand{min-height:138px;padding:6px 6px 5px;border-radius:12px}
  .baccarat-master-layout .baccarat-procedure-card-slot,.baccarat-master-layout .baccarat-procedure-card-back,.baccarat-master-layout .baccarat-procedure-open-card .play-card{width:40px;height:58px}
  .baccarat-master-layout .baccarat-procedure-cards{min-height:76px;gap:4px}
  .baccarat-master-rail{height:48px;padding-top:10px}
  .baccarat-master-rail span{font-size:9px;letter-spacing:.18em}
}


/* v2.0.10 — BACCARAT LAYOUT REFINEMENT */

.baccarat-layout-table{position:relative;min-height:518px;border-radius:22px;overflow:hidden;border:1px solid rgba(237,196,96,.18);background:
  radial-gradient(circle at 50% 8%,rgba(255,220,140,.06),transparent 22%),
  linear-gradient(180deg,rgba(11,11,12,.985),rgba(6,6,7,.985));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), inset 0 -24px 90px rgba(0,0,0,.42);
}
.baccarat-layout-table::before{content:"";position:absolute;inset:16px;border-radius:18px;border:1px solid rgba(255,255,255,.04);pointer-events:none}
.baccarat-layout-fan{position:absolute;left:50%;top:34px;transform:translateX(-50%);width:min(95%,860px);height:182px;display:flex;justify-content:space-between;align-items:flex-start;z-index:1}
.baccarat-layout-seat{position:relative;width:18.8%;transform-origin:center bottom;display:flex;flex-direction:column;gap:0;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22))}
.baccarat-layout-seat-1{transform:translateY(24px) rotate(-12deg)}
.baccarat-layout-seat-2{transform:translateY(10px) rotate(-6deg)}
.baccarat-layout-seat-3{transform:translateY(0) rotate(0deg)}
.baccarat-layout-seat-4{transform:translateY(10px) rotate(6deg)}
.baccarat-layout-seat-5{transform:translateY(24px) rotate(12deg)}
.baccarat-layout-seat-number{position:absolute;top:-32px;left:50%;transform:translateX(-50%);min-width:36px;height:36px;padding:0 10px;border-radius:999px;border:1.5px solid rgba(236,193,93,.56);background:rgba(13,13,14,.96);display:flex;align-items:center;justify-content:center;color:#f0d08a;font:900 20px/1 var(--serif);box-shadow:0 0 0 4px rgba(190,145,52,.06)}
.baccarat-layout-band{height:46px;border:1.65px solid rgba(237,193,92,.66);display:flex;align-items:center;justify-content:center;font:900 13px/1 var(--serif);letter-spacing:.08em;background:rgba(9,9,10,.86);text-shadow:0 0 8px rgba(0,0,0,.35)}
.baccarat-layout-band.player{clip-path:polygon(6% 0,94% 0,100% 100%,0 100%);color:#528cff}
.baccarat-layout-band.banker{clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);margin-top:-1px;color:#eb5959}
.baccarat-layout-tie-payout{position:absolute;left:13%;right:13%;top:216px;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;color:#e8d6aa;font:800 clamp(11px,1.2vw,15px)/1 var(--serif);letter-spacing:.16em;text-align:center}
.baccarat-layout-tie-payout::before,.baccarat-layout-tie-payout::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(240,196,92,.9),transparent)}
.baccarat-layout-tie-payout span{white-space:nowrap}
.baccarat-layout-divider{position:absolute;left:50%;top:254px;bottom:108px;width:1px;background:linear-gradient(180deg,rgba(240,196,92,.28),rgba(240,196,92,.72),rgba(240,196,92,.2));z-index:1}
.baccarat-layout-work{position:absolute;bottom:72px;z-index:2;width:min(29%,244px)}
.baccarat-layout-work.player{left:29.5%}
.baccarat-layout-work.banker{right:29.5%}
.baccarat-layout-table .baccarat-procedure-hand{min-height:170px;padding:8px 8px 7px;border-radius:16px;background:rgba(11,11,12,.52);backdrop-filter:blur(.5px)}
.baccarat-layout-table .baccarat-procedure-hand.player{border:1.8px solid rgba(84,148,255,.72);box-shadow:inset 0 0 16px rgba(33,77,180,.08)}
.baccarat-layout-table .baccarat-procedure-hand.banker{border:1.8px solid rgba(238,89,89,.75);box-shadow:inset 0 0 16px rgba(184,45,45,.08)}
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target{border-color:rgba(97,226,255,.96);box-shadow:0 0 0 1px rgba(97,226,255,.14),0 0 18px rgba(52,206,255,.24),inset 0 0 14px rgba(52,206,255,.04)}
.baccarat-layout-table .baccarat-procedure-hand.is-error{border-color:rgba(255,104,104,.96)!important;box-shadow:0 0 0 1px rgba(255,96,96,.16),0 0 16px rgba(255,96,96,.18)}
.baccarat-layout-table .baccarat-procedure-hand-head{border-bottom:1px solid rgba(255,255,255,.12)}
.baccarat-layout-table .baccarat-procedure-hand.player .baccarat-procedure-hand-head strong{color:#6aa6ff}
.baccarat-layout-table .baccarat-procedure-hand.banker .baccarat-procedure-hand-head strong{color:#ff7d7d}
.baccarat-layout-table .baccarat-procedure-cards{min-height:106px;padding-top:7px;gap:6px}
.baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:58px;height:84px}
.baccarat-layout-rail{position:absolute;left:0;right:0;bottom:0;height:66px;border-top:1px solid rgba(241,193,90,.14);background:linear-gradient(180deg,rgba(28,24,20,.1),rgba(4,4,5,.96));box-shadow:inset 0 8px 18px rgba(255,189,74,.06)}
.baccarat-layout-rail::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,rgba(242,175,66,.1),rgba(255,212,126,.95),rgba(242,175,66,.1));box-shadow:0 0 10px rgba(255,199,77,.18)}
@media (max-width: 860px){
  .baccarat-layout-table{min-height:500px}
  .baccarat-layout-fan{width:min(97%,740px);height:170px}
  .baccarat-layout-band{height:42px;font-size:11px}
  .baccarat-layout-seat-number{height:32px;min-width:32px;font-size:17px}
  .baccarat-layout-tie-payout{top:206px;left:10%;right:10%;font-size:12px;gap:8px}
  .baccarat-layout-work{width:min(31%,224px)}
  .baccarat-layout-work.player{left:27.5%}
  .baccarat-layout-work.banker{right:27.5%}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:52px;height:76px}
}
@media (max-width: 640px){
  .baccarat-layout-table{min-height:450px}
  .baccarat-layout-fan{width:98%;height:152px;top:24px}
  .baccarat-layout-seat{width:19.3%}
  .baccarat-layout-seat-1{transform:translateY(18px) rotate(-9deg)}
  .baccarat-layout-seat-2{transform:translateY(8px) rotate(-4.5deg)}
  .baccarat-layout-seat-3{transform:translateY(0) rotate(0deg)}
  .baccarat-layout-seat-4{transform:translateY(8px) rotate(4.5deg)}
  .baccarat-layout-seat-5{transform:translateY(18px) rotate(9deg)}
  .baccarat-layout-seat-number{top:-24px;min-width:24px;height:24px;padding:0 6px;font-size:12px}
  .baccarat-layout-band{height:32px;font-size:8.5px;letter-spacing:.05em}
  .baccarat-layout-tie-payout{top:179px;left:7%;right:7%;font-size:9px;gap:6px;letter-spacing:.11em}
  .baccarat-layout-divider{top:210px;bottom:96px}
  .baccarat-layout-work{bottom:60px;width:35%}
  .baccarat-layout-work.player{left:16%}
  .baccarat-layout-work.banker{right:16%}
  .baccarat-layout-table .baccarat-procedure-hand{min-height:136px;padding:5px 5px 4px;border-radius:12px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:40px;height:58px}
  .baccarat-layout-table .baccarat-procedure-cards{min-height:76px;gap:4px}
  .baccarat-layout-rail{height:54px}
}


/* v2.0.11 — BACCARAT LAYOUT FINAL POLISH */

.baccarat-layout-table{min-height:560px}
.baccarat-layout-fan{top:26px;height:210px;width:min(95%,860px)}
.baccarat-layout-tie-arc{position:absolute;left:5%;right:5%;top:28px;height:34px;border:1.7px solid rgba(233,193,96,.78);border-bottom:none;border-radius:140px 140px 0 0 / 100% 100% 0 0;background:linear-gradient(180deg,rgba(71,92,42,.96),rgba(50,66,32,.98));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08)}
.baccarat-layout-tie-arc span{font:900 16px/1 var(--serif);letter-spacing:.16em;color:#efe2b4;text-shadow:0 0 10px rgba(0,0,0,.35)}
.baccarat-layout-seat{padding-top:72px}
.baccarat-layout-seat::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:1.5px;height:56px;background:linear-gradient(180deg,rgba(244,202,98,.96),rgba(244,202,98,.12));z-index:0}
.baccarat-layout-seat-number{top:-20px;z-index:2}
.baccarat-layout-band{position:relative;z-index:1;height:50px;font-size:14px}
.baccarat-layout-band.player{clip-path:polygon(6% 0,94% 0,100% 100%,0 100%)}
.baccarat-layout-band.banker{clip-path:polygon(0 0,100% 0,94% 100%,6% 100%)}
.baccarat-layout-tie-payout{top:258px}
.baccarat-layout-work{bottom:64px;width:min(33%,292px)}
.baccarat-layout-work.player{left:25.5%}
.baccarat-layout-work.banker{right:25.5%}
.baccarat-layout-table .baccarat-procedure-hand{min-height:206px;padding:12px 12px 10px;border-radius:18px}
.baccarat-layout-table .baccarat-procedure-cards{min-height:128px;padding-top:10px;gap:9px}
.baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:72px;height:104px}
@media (max-width: 860px){
  .baccarat-layout-table{min-height:536px}
  .baccarat-layout-fan{height:194px}
  .baccarat-layout-tie-arc{left:4%;right:4%;top:28px;height:32px}
  .baccarat-layout-tie-arc span{font-size:14px}
  .baccarat-layout-seat{padding-top:68px}
  .baccarat-layout-seat::before{height:52px}
  .baccarat-layout-band{height:46px;font-size:12px}
  .baccarat-layout-tie-payout{top:238px}
  .baccarat-layout-work{width:min(34%,270px);bottom:62px}
  .baccarat-layout-work.player{left:24%}
  .baccarat-layout-work.banker{right:24%}
  .baccarat-layout-table .baccarat-procedure-hand{min-height:194px;padding:10px 10px 8px}
  .baccarat-layout-table .baccarat-procedure-cards{min-height:118px;gap:7px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:66px;height:96px}
}
@media (max-width: 640px){
  .baccarat-layout-table{min-height:482px}
  .baccarat-layout-fan{height:166px;top:22px}
  .baccarat-layout-tie-arc{left:3%;right:3%;top:24px;height:24px;border-width:1.3px}
  .baccarat-layout-tie-arc span{font-size:10px;letter-spacing:.1em}
  .baccarat-layout-seat{padding-top:52px}
  .baccarat-layout-seat::before{top:4px;height:42px}
  .baccarat-layout-seat-number{top:-18px;min-width:26px;height:26px;font-size:13px}
  .baccarat-layout-band{height:34px;font-size:8.5px;letter-spacing:.04em}
  .baccarat-layout-tie-payout{top:190px;left:7%;right:7%;font-size:9px;gap:6px}
  .baccarat-layout-divider{top:218px;bottom:96px}
  .baccarat-layout-work{bottom:58px;width:37%}
  .baccarat-layout-work.player{left:13%}
  .baccarat-layout-work.banker{right:13%}
  .baccarat-layout-table .baccarat-procedure-hand{min-height:152px;padding:6px 6px 5px;border-radius:12px}
  .baccarat-layout-table .baccarat-procedure-cards{min-height:86px;gap:5px;padding-top:7px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:48px;height:69px}
}


/* v2.0.12 — TRUE FAN / ONE-SCREEN CALL / LARGE CARDS */

.baccarat-layout-fan{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:min(98%,900px);height:238px;z-index:1;pointer-events:none}
.baccarat-layout-fan-svg{width:100%;height:100%;overflow:visible}
.baccarat-layout-fan-svg .fan-fill{stroke:none}
.baccarat-layout-fan-svg .fan-fill.player{fill:rgba(36,82,152,.34)}
.baccarat-layout-fan-svg .fan-fill.banker{fill:rgba(144,46,46,.34)}
.baccarat-layout-fan-svg .fan-fill.tie{fill:rgba(70,101,48,.48)}
.baccarat-layout-fan-svg .fan-line,.baccarat-layout-fan-svg .fan-spoke{fill:none;stroke:rgba(238,195,94,.80);stroke-width:2.15;vector-effect:non-scaling-stroke}
.baccarat-layout-fan-svg .fan-line.outer,.baccarat-layout-fan-svg .fan-line.inner,.baccarat-layout-fan-svg .fan-spoke.edge{stroke-width:2.55}
.baccarat-layout-fan-svg .fan-seat-label circle{fill:rgba(10,10,11,.96);stroke:rgba(238,195,94,.72);stroke-width:2;vector-effect:non-scaling-stroke}
.baccarat-layout-fan-svg text{font-family:var(--serif);font-weight:900;dominant-baseline:middle}
.baccarat-layout-fan-svg .seat-no{fill:#f0d187;font-size:22px}
.baccarat-layout-fan-svg .player-label{fill:#74a8ff;font-size:17px;letter-spacing:1px}
.baccarat-layout-fan-svg .banker-label{fill:#ff7777;font-size:17px;letter-spacing:1px}
.baccarat-layout-fan-svg .tie-label{fill:#b7d889;font-size:16px;letter-spacing:1.5px}
.baccarat-layout-table{min-height:565px}
.baccarat-layout-tie-payout{top:253px}
.baccarat-layout-divider{top:286px;bottom:122px}
.baccarat-layout-work{bottom:72px;width:min(39%,330px)}
.baccarat-layout-work.player{left:9%}
.baccarat-layout-work.banker{right:9%}
.baccarat-layout-table .baccarat-procedure-hand{min-height:222px;padding:12px 12px 10px;border-radius:18px}
.baccarat-layout-table .baccarat-procedure-cards{min-height:148px;padding-top:10px;gap:10px}
.baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:86px;height:124px;border-radius:10px}
.baccarat-layout-table .baccarat-procedure-open-card .play-card .rank{font-size:30px}
.baccarat-layout-table .baccarat-procedure-open-card .play-card .suit{font-size:34px}
.baccarat-layout-call-dock{position:absolute;left:12px;right:12px;bottom:8px;z-index:8;padding:7px 8px 8px;border:1px solid rgba(88,211,243,.30);border-radius:13px;background:rgba(5,10,12,.96);box-shadow:0 -7px 18px rgba(0,0,0,.28)}
.baccarat-layout-call-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}
.baccarat-layout-call-head strong{font:900 11px/1 var(--serif);letter-spacing:.12em;color:#eefcff}
.baccarat-layout-call-head small{font-size:8px;letter-spacing:.08em;color:#96dce9}
.baccarat-layout-number-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.baccarat-layout-number-row button{min-width:0;height:38px;padding:0;border:1px solid rgba(85,214,242,.72);border-radius:9px;background:rgba(9,31,38,.92);color:#c9f7ff;font:900 18px/1 var(--serif);box-shadow:inset 0 0 10px rgba(51,189,219,.06);touch-action:manipulation}
.baccarat-layout-number-row button:active{transform:translateY(1px);background:rgba(17,56,66,.96)}
.baccarat-layout-number-row button.is-error{border-color:rgba(255,105,105,.96);color:#ffe2e2;box-shadow:0 0 12px rgba(255,82,82,.22)}
.baccarat-layout-table.is-call-step .baccarat-layout-rail{opacity:.18}
.baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:82px}
body.baccarat-initial-deal-active #bottomNav{display:none!important}
body.baccarat-initial-deal-active .screen.training-screen{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
@media(max-width:640px){
  body.baccarat-initial-deal-active{overflow:hidden!important}
  body.baccarat-initial-deal-active .app-shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden!important}
  body.baccarat-initial-deal-active #screen{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden!important;padding:max(6px,env(safe-area-inset-top)) 7px max(5px,env(safe-area-inset-bottom))!important;display:flex;flex-direction:column}
  body.baccarat-initial-deal-active .baccarat-procedure-screen{height:100%;min-height:0;display:flex;flex-direction:column}
  body.baccarat-initial-deal-active .training-top{flex:0 0 46px;min-height:46px;padding:0 0 5px}
  body.baccarat-initial-deal-active .training-title strong{font-size:20px}
  body.baccarat-initial-deal-active .training-title span{font-size:8px}
  body.baccarat-initial-deal-active .baccarat-metrics{flex:0 0 48px;margin:5px 0;gap:5px}
  body.baccarat-initial-deal-active .baccarat-metrics .metric{padding:5px 4px;border-radius:10px}
  body.baccarat-initial-deal-active .baccarat-metrics .metric label{font-size:7px}
  body.baccarat-initial-deal-active .baccarat-metrics .metric strong{font-size:16px;margin-top:1px}
  body.baccarat-initial-deal-active .baccarat-procedure-screen>.baccarat-procedure-instruction{flex:0 0 auto;min-height:0;margin:0 0 5px;padding:6px 8px;border-radius:10px}
  body.baccarat-initial-deal-active .baccarat-procedure-instruction>small{font-size:8px}
  body.baccarat-initial-deal-active .baccarat-procedure-instruction h1{margin-top:2px;font-size:15px;line-height:1.15}
  body.baccarat-initial-deal-active .baccarat-procedure-instruction p{margin:4px 0 0;padding:4px 6px;font-size:8px}
  body.baccarat-initial-deal-active .baccarat-layout-table-wrap{flex:1 1 auto;min-height:0;padding:6px!important;margin:0;overflow:hidden}
  body.baccarat-initial-deal-active .baccarat-layout-table{height:100%;min-height:0;border-radius:15px}
  .baccarat-layout-fan{top:4px;width:100%;height:35%}
  .baccarat-layout-fan-svg .seat-no{font-size:20px}
  .baccarat-layout-fan-svg .player-label,.baccarat-layout-fan-svg .banker-label{font-size:15px}
  .baccarat-layout-fan-svg .tie-label{font-size:14px}
  .baccarat-layout-tie-payout{top:36%;left:5%;right:5%;font-size:8px;letter-spacing:.08em}
  .baccarat-layout-divider{top:41%;bottom:104px}
  .baccarat-layout-work{bottom:54px;width:46%}
  .baccarat-layout-work.player{left:3%}
  .baccarat-layout-work.banker{right:3%}
  .baccarat-layout-table .baccarat-procedure-hand{min-height:0;height:205px;padding:6px 5px 5px;border-radius:12px}
  .baccarat-layout-table .baccarat-procedure-hand-head{padding-bottom:5px}
  .baccarat-layout-table .baccarat-procedure-hand-head strong{font-size:11px}
  .baccarat-layout-table .baccarat-procedure-hand-head small{font-size:6px}
  .baccarat-layout-table .baccarat-procedure-hand-head span{font-size:7px;padding:2px 4px}
  .baccarat-layout-table .baccarat-procedure-cards{min-height:0;height:162px;padding-top:7px;gap:5px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:68px;height:98px;border-radius:8px}
  .baccarat-layout-table .baccarat-procedure-open-card .play-card .rank{font-size:25px}
  .baccarat-layout-table .baccarat-procedure-open-card .play-card .suit{font-size:29px}
  .baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:80px}
  .baccarat-layout-call-dock{left:5px;right:5px;bottom:5px;padding:5px 5px 6px;border-radius:10px}
  .baccarat-layout-call-head{margin-bottom:4px;gap:7px}
  .baccarat-layout-call-head strong{font-size:9px}
  .baccarat-layout-call-head small{font-size:6.5px}
  .baccarat-layout-number-row{gap:2px}
  .baccarat-layout-number-row button{height:34px;border-radius:7px;font-size:16px}
}
@media(max-width:370px){
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:62px;height:90px}
  .baccarat-layout-table .baccarat-procedure-cards{height:150px}
  .baccarat-layout-number-row button{height:32px;font-size:15px}
}
@media(max-height:700px) and (max-width:640px){
  body.baccarat-initial-deal-active .training-top{flex-basis:40px;min-height:40px}
  body.baccarat-initial-deal-active .baccarat-metrics{flex-basis:42px;margin:3px 0}
  body.baccarat-initial-deal-active .baccarat-procedure-screen>.baccarat-procedure-instruction{padding:4px 6px;margin-bottom:3px}
  .baccarat-layout-work{bottom:48px}
  .baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:70px}
  .baccarat-layout-table .baccarat-procedure-hand{height:186px}
  .baccarat-layout-table .baccarat-procedure-cards{height:144px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:62px;height:90px}
  .baccarat-layout-number-row button{height:30px}
}


/* v2.0.13 — IPHONE FULL-BLEED / LUXURY FAN / BIG CARDS / BIG GLOW KEYS */
.baccarat-layout-table-wrap{overflow:hidden}
.baccarat-layout-table{position:relative;isolation:isolate;background:
  radial-gradient(ellipse at 50% -4%,rgba(228,189,95,.10),transparent 30%),
  radial-gradient(ellipse at 50% 52%,rgba(20,75,55,.10),transparent 52%),
  linear-gradient(180deg,#0a0b0b 0%,#070808 48%,#050606 100%)}
.baccarat-layout-table::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  repeating-linear-gradient(117deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px),
  radial-gradient(circle at 50% 100%,rgba(213,168,75,.065),transparent 28%)}
.baccarat-layout-table::after{content:"";position:absolute;inset:5px;z-index:0;border:1px solid rgba(242,210,126,.10);border-radius:14px;pointer-events:none}
.baccarat-layout-fan{position:absolute;left:-1.5%;top:2px;transform:none;width:103%;height:39%;z-index:1;pointer-events:none;filter:drop-shadow(0 12px 18px rgba(0,0,0,.24))}
.baccarat-layout-fan-svg{width:100%;height:100%;overflow:visible}
.baccarat-layout-fan-svg .fan-fill.player{fill:url(#fanPlayer)}
.baccarat-layout-fan-svg .fan-fill.banker{fill:url(#fanBanker)}
.baccarat-layout-fan-svg .fan-fill.tie{fill:url(#fanTie)}
.baccarat-layout-fan-svg .fan-line,.baccarat-layout-fan-svg .fan-spoke{fill:none;stroke:url(#fanGold);stroke-width:1.9;vector-effect:non-scaling-stroke;opacity:.92}
.baccarat-layout-fan-svg .fan-line.outer,.baccarat-layout-fan-svg .fan-line.inner,.baccarat-layout-fan-svg .fan-spoke.edge{stroke-width:2.7;opacity:1}
.baccarat-layout-fan-svg .fan-seat-label circle{fill:#090a0a;stroke:#e8c66f;stroke-width:2.1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.38))}
.baccarat-layout-fan-svg text{font-family:var(--serif);font-weight:900;dominant-baseline:middle}
.baccarat-layout-fan-svg .seat-no{fill:#f7df9c;font-size:24px}
.baccarat-layout-fan-svg .band-title{letter-spacing:3px;font-size:21px}
.baccarat-layout-fan-svg .player-label{fill:#72aaff}
.baccarat-layout-fan-svg .banker-label{fill:#ff7c7c}
.baccarat-layout-fan-svg .tie-label{fill:#bad990}
.baccarat-layout-tie-payout{top:39.3%;left:4%;right:4%;font-size:10px;letter-spacing:.13em;color:#e7cf91;z-index:3}
.baccarat-layout-tie-payout::before,.baccarat-layout-tie-payout::after{background:linear-gradient(90deg,transparent,rgba(238,196,95,.82),transparent)}
.baccarat-layout-divider{top:43%;bottom:118px;background:linear-gradient(180deg,rgba(238,195,94,0),rgba(238,195,94,.52) 18%,rgba(238,195,94,.52) 82%,rgba(238,195,94,0));opacity:.6}
.baccarat-layout-work{bottom:60px;width:49.2%;z-index:4}
.baccarat-layout-work.player{left:.4%}
.baccarat-layout-work.banker{right:.4%}
.baccarat-layout-table .baccarat-procedure-hand{min-height:0;height:232px;padding:5px 4px 4px;border-radius:14px;background:linear-gradient(180deg,rgba(10,12,13,.68),rgba(5,7,8,.46));overflow:visible!important}
.baccarat-layout-table .baccarat-procedure-hand.player{border:1.5px solid rgba(86,151,255,.46);box-shadow:inset 0 0 20px rgba(42,101,194,.08)}
.baccarat-layout-table .baccarat-procedure-hand.banker{border:1.5px solid rgba(240,96,96,.46);box-shadow:inset 0 0 20px rgba(190,54,54,.08)}
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target{border-color:rgba(91,222,255,.94);box-shadow:0 0 0 1px rgba(91,222,255,.20),0 0 22px rgba(52,206,255,.32),inset 0 0 18px rgba(52,206,255,.07)}
.baccarat-layout-table .baccarat-procedure-hand-head{padding:3px 3px 6px;border-bottom:1px solid rgba(255,255,255,.10)}
.baccarat-layout-table .baccarat-procedure-hand-head strong{font-size:13px;letter-spacing:.08em}
.baccarat-layout-table .baccarat-procedure-hand-head small{font-size:7px}
.baccarat-layout-table .baccarat-procedure-cards{height:190px;min-height:0;padding-top:8px;gap:7px;overflow:visible}
.baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:84px;height:120px;border-radius:10px;flex:0 0 auto}
.baccarat-layout-table .baccarat-procedure-open-card .play-card .rank{font-size:31px}
.baccarat-layout-table .baccarat-procedure-open-card .play-card .suit{font-size:36px}
.baccarat-layout-call-dock{left:6px;right:6px;bottom:5px;padding:7px 7px 8px;border:1px solid rgba(80,221,250,.56);border-radius:14px;background:linear-gradient(180deg,rgba(4,17,21,.985),rgba(3,10,12,.99));box-shadow:0 0 0 1px rgba(55,208,241,.08),0 -8px 22px rgba(0,0,0,.35),0 0 22px rgba(47,204,238,.09);z-index:10}
.baccarat-layout-call-head{margin-bottom:6px;gap:8px}
.baccarat-layout-call-head strong{font-size:11px;color:#ecfbff}
.baccarat-layout-call-head small{font-size:8px;color:#7adbed}
.baccarat-layout-number-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.baccarat-layout-number-row button{height:46px;border:1.5px solid rgba(87,223,251,.96);border-radius:12px;background:radial-gradient(circle at 50% 32%,rgba(34,116,134,.38),rgba(7,29,35,.98) 70%);color:#ddfbff;font:900 22px/1 var(--serif);text-shadow:0 0 8px rgba(120,237,255,.7);box-shadow:0 0 0 1px rgba(76,218,248,.13),0 0 12px rgba(58,207,238,.38),inset 0 0 14px rgba(70,211,240,.10);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.baccarat-layout-number-row button:active{transform:scale(.96);background:radial-gradient(circle at 50% 30%,rgba(76,193,217,.50),rgba(8,39,47,.98) 72%);box-shadow:0 0 0 1px rgba(97,233,255,.20),0 0 18px rgba(58,216,249,.62),inset 0 0 16px rgba(85,220,249,.16)}
.baccarat-layout-number-row button.is-error{border-color:#ff7373;color:#ffe5e5;text-shadow:0 0 8px rgba(255,130,130,.65);box-shadow:0 0 0 1px rgba(255,98,98,.15),0 0 14px rgba(255,78,78,.42)}
.baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:117px}
.baccarat-layout-table.is-call-step .baccarat-procedure-hand{height:214px}
.baccarat-layout-table.is-call-step .baccarat-procedure-cards{height:170px}
.baccarat-layout-rail{height:50px;opacity:.55}

@media(max-width:640px){
  body.baccarat-initial-deal-active #screen{padding:max(3px,env(safe-area-inset-top)) 2px max(3px,env(safe-area-inset-bottom))!important}
  body.baccarat-initial-deal-active .baccarat-procedure-screen{max-width:none!important;width:100%!important}
  body.baccarat-initial-deal-active .training-top{flex-basis:40px;min-height:40px;padding:0 3px 3px}
  body.baccarat-initial-deal-active .training-title strong{font-size:18px}
  body.baccarat-initial-deal-active .baccarat-metrics{flex-basis:43px;margin:3px 2px;gap:4px}
  body.baccarat-initial-deal-active .baccarat-procedure-screen>.baccarat-procedure-instruction{margin:0 2px 3px;padding:5px 7px}
  body.baccarat-initial-deal-active .baccarat-procedure-instruction h1{font-size:14px}
  body.baccarat-initial-deal-active .baccarat-layout-table-wrap{margin:0!important;padding:2px!important;border-radius:12px!important}
  body.baccarat-initial-deal-active .baccarat-layout-table{border-radius:10px;height:100%;min-height:0}
  .baccarat-layout-fan{left:-2%;top:0;width:104%;height:31%}
  .baccarat-layout-fan-svg .seat-no{font-size:25px}
  .baccarat-layout-fan-svg .band-title{font-size:19px;letter-spacing:2px}
  .baccarat-layout-tie-payout{top:31.5%;left:2%;right:2%;font-size:9px;letter-spacing:.09em}
  .baccarat-layout-divider{top:35.5%;bottom:116px}
  .baccarat-layout-work{bottom:49px;width:49.5%}
  .baccarat-layout-work.player{left:.15%}
  .baccarat-layout-work.banker{right:.15%}
  .baccarat-layout-table .baccarat-procedure-hand{height:238px;padding:4px 3px 3px;border-radius:11px}
  .baccarat-layout-table .baccarat-procedure-hand-head{padding:2px 2px 4px}
  .baccarat-layout-table .baccarat-procedure-hand-head strong{font-size:12px}
  .baccarat-layout-table .baccarat-procedure-hand-head small{font-size:6.5px}
  .baccarat-layout-table .baccarat-procedure-cards{height:202px;padding-top:7px;gap:5px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:clamp(78px,21vw,86px);height:clamp(112px,30.4vw,124px);border-radius:9px}
  .baccarat-layout-table .baccarat-procedure-open-card .play-card .rank{font-size:30px}
  .baccarat-layout-table .baccarat-procedure-open-card .play-card .suit{font-size:35px}
  .baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:128px}
  .baccarat-layout-table.is-call-step .baccarat-procedure-hand{height:205px}
  .baccarat-layout-table.is-call-step .baccarat-procedure-cards{height:169px}
  .baccarat-layout-call-dock{left:3px;right:3px;bottom:3px;padding:6px 5px 7px;border-radius:12px}
  .baccarat-layout-call-head{margin-bottom:5px}
  .baccarat-layout-call-head strong{font-size:10px}
  .baccarat-layout-call-head small{font-size:7.5px}
  .baccarat-layout-number-row{gap:5px}
  .baccarat-layout-number-row button{height:44px;border-radius:10px;font-size:21px}
}
@media(max-width:375px){
  .baccarat-layout-fan{height:30%}
  .baccarat-layout-tie-payout{top:30.5%}
  .baccarat-layout-divider{top:34.5%}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:77px;height:111px}
  .baccarat-layout-number-row button{height:42px;font-size:20px}
}
@media(max-height:760px) and (max-width:640px){
  body.baccarat-initial-deal-active .training-top{flex-basis:36px;min-height:36px}
  body.baccarat-initial-deal-active .baccarat-metrics{flex-basis:38px}
  body.baccarat-initial-deal-active .baccarat-procedure-screen>.baccarat-procedure-instruction{padding:3px 6px}
  body.baccarat-initial-deal-active .baccarat-procedure-instruction h1{font-size:13px}
  .baccarat-layout-fan{height:29%}
  .baccarat-layout-tie-payout{top:29.5%}
  .baccarat-layout-divider{top:33.5%}
  .baccarat-layout-table .baccarat-procedure-hand{height:205px}
  .baccarat-layout-table .baccarat-procedure-cards{height:170px}
  .baccarat-layout-table.is-call-step .baccarat-layout-work{bottom:120px}
  .baccarat-layout-table.is-call-step .baccarat-procedure-hand{height:180px}
  .baccarat-layout-table.is-call-step .baccarat-procedure-cards{height:145px}
  .baccarat-layout-number-row button{height:40px}
}


/* v2.0.14 — BACCARAT FAN LABEL POLISH */

.baccarat-layout-fan{left:-1%;width:102%;height:39.5%;top:1px}
.baccarat-layout-fan-svg .fan-seat-label circle{fill:#090a0a;stroke:#e8c66f;stroke-width:2.1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.38))}
.baccarat-layout-fan-svg .fan-seat-label .seat-guide{stroke:url(#fanGold);stroke-width:2.2;vector-effect:non-scaling-stroke;opacity:.98}
.baccarat-layout-fan-svg .seat-no{fill:#f7df9c;font-size:24px}
.baccarat-layout-fan-svg .band-title{letter-spacing:1.4px;font-size:16px}
.baccarat-layout-fan-svg .player-label{fill:#72aaff}
.baccarat-layout-fan-svg .banker-label{fill:#ff7c7c}
.baccarat-layout-fan-svg .tie-label{fill:#bad990}
.baccarat-layout-tie-payout{top:41.5%;left:7%;right:7%}
.baccarat-layout-work{bottom:12.5%;width:min(35%,310px)}
.baccarat-layout-work.player{left:23.5%}
.baccarat-layout-work.banker{right:23.5%}
.baccarat-layout-table .baccarat-procedure-hand{min-height:212px}
.baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:86px;height:124px}
.baccarat-procedure-card-back span{display:none}
@media (max-width: 860px){
  .baccarat-layout-fan{left:-1.5%;width:103%;height:38.5%}
  .baccarat-layout-fan-svg .band-title{font-size:15px;letter-spacing:1px}
  .baccarat-layout-fan-svg .seat-no{font-size:22px}
  .baccarat-layout-tie-payout{top:41%}
  .baccarat-layout-work{width:min(36%,286px);left:auto;right:auto;bottom:11.5%}
  .baccarat-layout-work.player{left:22%}
  .baccarat-layout-work.banker{right:22%}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:80px;height:116px}
}
@media (max-width: 640px){
  .baccarat-layout-fan{left:-2%;width:104%;height:31.5%;top:1px}
  .baccarat-layout-fan-svg .band-title{font-size:11px;letter-spacing:.4px}
  .baccarat-layout-fan-svg .seat-no{font-size:19px}
  .baccarat-layout-fan-svg .fan-seat-label circle{stroke-width:1.7}
  .baccarat-layout-fan-svg .fan-seat-label .seat-guide{stroke-width:1.8}
  .baccarat-layout-tie-payout{top:40.5%;left:5%;right:5%;font-size:9.5px;gap:6px}
  .baccarat-layout-work{bottom:12%;width:44%}
  .baccarat-layout-work.player{left:5.5%}
  .baccarat-layout-work.banker{right:5.5%}
  .baccarat-layout-table .baccarat-procedure-hand{min-height:176px;padding:6px 6px 5px}
  .baccarat-layout-table .baccarat-procedure-cards{gap:4px}
  .baccarat-layout-table .baccarat-procedure-card-slot,.baccarat-layout-table .baccarat-procedure-card-back,.baccarat-layout-table .baccarat-procedure-open-card .play-card{width:68px;height:98px}
}


/* v2.0.15 — BACCARAT FAN ALIGNMENT */
.baccarat-layout-fan-svg .band-title{font-size:22px!important;letter-spacing:1px!important;dominant-baseline:middle}
@media(max-width:640px){.baccarat-layout-fan-svg .band-title{font-size:22px!important;letter-spacing:.7px!important}}


/* v2.0.16 — BACCARAT FAN FINAL */
.baccarat-layout-fan-svg .fan-seat-label .seat-guide{display:none!important}
.baccarat-layout-fan-svg .band-title{font-size:22px!important;letter-spacing:1px!important;dominant-baseline:middle}
@media(max-width:640px){
  .baccarat-layout-fan-svg .band-title{font-size:20px!important;letter-spacing:.45px!important}
}


/* v2.0.17 — BACCARAT ANSWER GLOW */

@keyframes baccaratAnswerPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(101,232,255,.22),0 0 20px rgba(58,210,245,.22),inset 0 0 18px rgba(70,214,242,.08)}
  50%{box-shadow:0 0 0 1px rgba(132,240,255,.34),0 0 30px rgba(75,225,255,.42),0 0 48px rgba(73,218,255,.18),inset 0 0 24px rgba(86,226,252,.14)}
}
@keyframes baccaratInputPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(92,226,255,.18),0 0 12px rgba(58,207,238,.30),inset 0 0 14px rgba(70,211,240,.10)}
  50%{box-shadow:0 0 0 1px rgba(119,236,255,.28),0 0 18px rgba(72,219,251,.55),0 0 28px rgba(72,219,251,.16),inset 0 0 18px rgba(92,230,255,.16)}
}
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target{
  border-color:rgba(104,232,255,.98)!important;
  box-shadow:0 0 0 1px rgba(104,232,255,.24),0 0 26px rgba(66,215,250,.42),0 0 42px rgba(66,215,250,.14),inset 0 0 24px rgba(82,225,252,.10)!important;
  animation:baccaratAnswerPulse 1.35s ease-in-out infinite;
}
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target .baccarat-procedure-hand-head strong,
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target .baccarat-procedure-hand-head small{
  text-shadow:0 0 10px rgba(122,239,255,.45);
}
.baccarat-layout-table .baccarat-procedure-hand.is-answer-target .baccarat-procedure-cards{
  filter:drop-shadow(0 0 10px rgba(76,220,250,.14));
}
.baccarat-layout-call-dock.is-answer-target{
  border-color:rgba(97,229,255,.92)!important;
  box-shadow:0 0 0 1px rgba(97,229,255,.14),0 -8px 22px rgba(0,0,0,.35),0 0 30px rgba(47,204,238,.18),inset 0 0 24px rgba(79,221,248,.06)!important;
  animation:baccaratAnswerPulse 1.45s ease-in-out infinite;
}
.baccarat-layout-call-head strong{ text-shadow:0 0 10px rgba(125,241,255,.35); }
.baccarat-layout-number-row button{
  animation:baccaratInputPulse 1.2s ease-in-out infinite;
}
.baccarat-layout-number-row button:hover,
.baccarat-layout-number-row button:focus-visible{
  border-color:rgba(141,242,255,.98);
  box-shadow:0 0 0 1px rgba(110,231,255,.24),0 0 18px rgba(76,224,253,.62),0 0 30px rgba(76,224,253,.18),inset 0 0 18px rgba(94,230,255,.18);
}
.baccarat-layout-number-row button.is-error{animation:none}
@media (prefers-reduced-motion: reduce){
  .baccarat-layout-table .baccarat-procedure-hand.is-answer-target,
  .baccarat-layout-call-dock.is-answer-target,
  .baccarat-layout-number-row button{animation:none!important}
}


/* v2.0.18 — BACCARAT LEARN FULL PATH */
.baccarat-heading{margin-top:19px}
.baccarat-heading strong{color:#f0d36d}
.baccarat-heading .learn-game-suit{color:#f5d35f;text-shadow:0 0 12px rgba(242,198,68,.28)}
.baccarat-heading small{color:#b9a86d}
.baccarat-learn-card{
  border-color:rgba(226,184,66,.48)!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(200,151,35,.18),transparent 34%),
    linear-gradient(180deg,#191713,#0c0d0b)!important;
}
.baccarat-learn-card .course-icon{
  border-color:rgba(231,190,70,.62)!important;
  background:linear-gradient(180deg,#5b4511,#241b07)!important;
  color:#f5db83!important;
  box-shadow:inset 0 0 14px rgba(242,196,74,.08),0 0 14px rgba(212,164,44,.06);
}
.learn-next-card.baccarat{border-color:rgba(229,185,60,.58);background:radial-gradient(circle at 94% 0%,rgba(208,158,34,.12),transparent 36%),linear-gradient(180deg,rgba(25,23,16,.96),rgba(10,11,9,.98))}
.learn-exam-focus{margin:9px 0;padding:11px 12px;border:1px solid rgba(236,191,68,.30);border-radius:10px;background:linear-gradient(145deg,rgba(54,42,12,.34),rgba(12,13,10,.82))}
.learn-exam-focus>.kicker{font-size:8px;letter-spacing:.16em;color:#efca62;font-weight:900}
.learn-exam-focus p{margin:6px 0 0;color:#f0e7cf;font-size:10.5px;line-height:1.5}
.learn-related-planned{border-style:dashed!important;background:linear-gradient(145deg,rgba(35,30,16,.60),rgba(10,11,9,.88))!important}
.learn-coming-pill{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(228,185,61,.40);border-radius:999px;background:rgba(72,55,14,.38);color:#e5c465;font-size:7px;font-weight:1000;letter-spacing:.10em;white-space:nowrap}
@media(max-width:420px){
  .baccarat-learn-card .course-icon{font-size:15px}
  .learn-related-planned{gap:7px}
  .learn-coming-pill{padding:4px 6px;font-size:6px}
}
.baccarat-learn-card h3{color:#f2ead4}
.baccarat-learn-card p{color:#b8b2a2}


/* v2.1.0 — BACCARAT LAB 03 THIRD CARD RULE */
.baccarat-third-screen{max-width:980px;margin:0 auto}
.baccarat-third-instruction{margin:8px 0 10px;padding:9px 12px;border:1px solid rgba(229,195,102,.18);border-radius:14px;background:linear-gradient(180deg,rgba(20,18,14,.72),rgba(8,9,9,.82));text-align:center}
.baccarat-third-instruction small{display:block;color:#c6a651;font-size:8px;font-weight:900;letter-spacing:.16em}
.baccarat-third-instruction h1{margin:3px 0 2px;font:900 21px/1.05 var(--serif);letter-spacing:.04em;color:#f0e4ca}
.baccarat-third-instruction p{margin:0;color:#a9a494;font-size:10px;font-weight:800;letter-spacing:.05em}
.baccarat-third-instruction em{display:block;margin-top:5px;color:#ff9c94;font-size:9px;font-style:normal}.baccarat-third-instruction em b{margin-right:5px}
.baccarat-third-table-wrap{padding:4px!important;overflow:hidden}
.baccarat-third-table{position:relative;height:570px;min-height:570px;overflow:hidden;border-radius:18px;border:1px solid rgba(237,196,96,.16);background:radial-gradient(circle at 50% 4%,rgba(255,220,140,.055),transparent 28%),linear-gradient(180deg,#0b0b0c,#060607 90%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 -50px 90px rgba(0,0,0,.38)}
.baccarat-third-table .baccarat-layout-fan{left:-1.5%;top:2px;width:103%;height:38%;transform:none}
.baccarat-third-table .baccarat-layout-fan-svg .band-title{font-size:20px!important;letter-spacing:.45px!important}
.baccarat-third-table .baccarat-layout-tie-payout{top:38%;left:6%;right:6%;font-size:9px}
.baccarat-third-work{position:absolute;top:43%;width:49%;z-index:4}.baccarat-third-work.player{left:.4%}.baccarat-third-work.banker{right:.4%}
.baccarat-third-hand{height:218px;padding:6px 5px 5px;border:1.5px solid rgba(255,255,255,.11);border-radius:15px;background:linear-gradient(180deg,rgba(10,12,13,.72),rgba(5,7,8,.50));transition:.18s ease}
.baccarat-third-hand.player{border-color:rgba(86,151,255,.42);box-shadow:inset 0 0 20px rgba(42,101,194,.07)}
.baccarat-third-hand.banker{border-color:rgba(240,96,96,.42);box-shadow:inset 0 0 20px rgba(190,54,54,.07)}
.baccarat-third-hand.is-answer-target{border-color:rgba(102,230,255,.98);box-shadow:0 0 0 1px rgba(102,230,255,.22),0 0 27px rgba(64,215,249,.40),0 0 42px rgba(64,215,249,.13),inset 0 0 24px rgba(82,225,252,.09);animation:baccaratAnswerPulse 1.35s ease-in-out infinite}
.baccarat-third-hand-head{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 6px;border-bottom:1px solid rgba(255,255,255,.10)}
.baccarat-third-hand-head strong{font:900 14px/1 var(--serif);letter-spacing:.08em}.baccarat-third-hand.player .baccarat-third-hand-head strong{color:#71a9ff}.baccarat-third-hand.banker .baccarat-third-hand-head strong{color:#ff7a7a}
.baccarat-third-hand-head span{font-size:8px;color:#aaa596;letter-spacing:.08em}.baccarat-third-hand-head span b{font:900 18px/1 var(--serif);color:#f1dc9e;margin-left:3px}
.baccarat-third-cards{height:174px;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 1px 0;overflow:visible}
.baccarat-third-card-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.baccarat-third-card-wrap>span{position:absolute;z-index:3;top:-7px;right:-4px;padding:3px 5px;border-radius:999px;border:1px solid rgba(244,204,103,.45);background:#17140d;color:#e8c761;font-size:7px;font-weight:900;letter-spacing:.08em}
.baccarat-third-card-wrap .play-card{width:78px;height:112px;border-radius:9px}.baccarat-third-card-wrap .play-card .rank{font-size:29px}.baccarat-third-card-wrap .play-card .suit{font-size:34px}
.baccarat-third-answer-dock,.baccarat-third-complete-dock{position:absolute;left:5px;right:5px;bottom:5px;z-index:10;padding:7px;border:1px solid rgba(89,221,250,.55);border-radius:14px;background:linear-gradient(180deg,rgba(4,17,21,.985),rgba(3,10,12,.99));box-shadow:0 0 0 1px rgba(55,208,241,.08),0 -8px 22px rgba(0,0,0,.35),0 0 24px rgba(47,204,238,.09)}
.baccarat-third-answer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.baccarat-third-answer-head strong{color:#eafcff;font:900 11px/1 var(--serif);letter-spacing:.08em}.baccarat-third-answer-head small{font-size:8px;color:#7adbed;letter-spacing:.08em}
.baccarat-third-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.baccarat-third-actions button{height:52px;border:1.7px solid rgba(92,226,255,.96);border-radius:13px;background:radial-gradient(circle at 50% 30%,rgba(34,116,134,.38),rgba(7,29,35,.98) 70%);color:#e3fcff;font:900 20px/1 var(--serif);letter-spacing:.12em;text-shadow:0 0 8px rgba(120,237,255,.62);box-shadow:0 0 0 1px rgba(76,218,248,.13),0 0 14px rgba(58,207,238,.35),inset 0 0 14px rgba(70,211,240,.10);animation:baccaratInputPulse 1.3s ease-in-out infinite;touch-action:manipulation}.baccarat-third-actions button:active{transform:scale(.98)}
.baccarat-third-complete-dock{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border-color:rgba(230,192,89,.38);background:linear-gradient(180deg,rgba(24,20,11,.98),rgba(9,9,7,.99));box-shadow:0 -8px 22px rgba(0,0,0,.34),0 0 18px rgba(220,174,67,.07)}
.baccarat-third-complete-dock div{display:flex;align-items:center;gap:8px;min-width:0}.baccarat-third-complete-dock small{font-size:7px;color:#a99b71}.baccarat-third-complete-dock strong{font:900 12px/1 var(--serif);color:#efe0b5}.baccarat-third-complete-dock span{padding:4px 7px;border-radius:999px;background:rgba(226,187,83,.12);color:#e4c363;font-size:8px;font-weight:900}.baccarat-third-complete-dock button{min-height:42px;padding:0 14px;border:1px solid rgba(228,190,88,.52);border-radius:11px;background:linear-gradient(180deg,#5b471c,#2d240f);color:#fff1c5;font-weight:900}
body.baccarat-third-card-active #bottomNav{display:none!important}
@media(max-width:640px){
 body.baccarat-third-card-active #screen{padding:max(3px,env(safe-area-inset-top)) 2px max(3px,env(safe-area-inset-bottom))!important;overflow:hidden}
 body.baccarat-third-card-active .baccarat-third-screen{height:calc(100dvh - max(6px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
 body.baccarat-third-card-active .training-top{flex:0 0 39px;min-height:39px;padding:0 3px 3px}.baccarat-third-screen .training-title strong{font-size:18px}.baccarat-third-screen .training-title span{font-size:7px}
 body.baccarat-third-card-active .baccarat-metrics{flex:0 0 42px;margin:3px 2px;gap:4px}.baccarat-third-screen .metric{padding:5px 4px}.baccarat-third-screen .metric label{font-size:6px}.baccarat-third-screen .metric strong{font-size:14px}
 .baccarat-third-instruction{flex:0 0 auto;margin:0 2px 3px;padding:5px 7px}.baccarat-third-instruction small{font-size:6.5px}.baccarat-third-instruction h1{font-size:14px}.baccarat-third-instruction p{font-size:8px}.baccarat-third-instruction em{font-size:7.5px;margin-top:3px}
 .baccarat-third-table-wrap{flex:1 1 auto;min-height:0;margin:0!important;padding:2px!important;border-radius:12px!important;overflow:hidden}
 .baccarat-third-table{height:100%;min-height:0;border-radius:10px}
 .baccarat-third-table .baccarat-layout-fan{left:-2%;top:0;width:104%;height:31%}.baccarat-third-table .baccarat-layout-fan-svg .band-title{font-size:19px!important}.baccarat-third-table .baccarat-layout-fan-svg .seat-no{font-size:22px}.baccarat-third-table .baccarat-layout-tie-payout{top:31%;left:3%;right:3%;font-size:8px}
 .baccarat-third-work{top:35%;width:49.5%}.baccarat-third-work.player{left:.15%}.baccarat-third-work.banker{right:.15%}
 .baccarat-third-hand{height:225px;padding:4px 3px 3px;border-radius:11px}.baccarat-third-hand-head{padding:2px 3px 4px}.baccarat-third-hand-head strong{font-size:12px}.baccarat-third-hand-head span{font-size:6.5px}.baccarat-third-hand-head span b{font-size:16px}
 .baccarat-third-cards{height:191px;gap:3px;padding-top:5px}.baccarat-third-card-wrap .play-card{width:clamp(58px,16.5vw,67px);height:clamp(84px,23.8vw,97px);border-radius:8px}.baccarat-third-card-wrap .play-card .rank{font-size:25px}.baccarat-third-card-wrap .play-card .suit{font-size:29px}.baccarat-third-card-wrap>span{top:-6px;right:-3px;font-size:6px;padding:2px 4px}
 .baccarat-third-answer-dock,.baccarat-third-complete-dock{left:3px;right:3px;bottom:3px;padding:6px 5px;border-radius:12px}.baccarat-third-answer-head{margin-bottom:5px}.baccarat-third-answer-head strong{font-size:10px}.baccarat-third-answer-head small{font-size:7px}.baccarat-third-actions{gap:6px}.baccarat-third-actions button{height:48px;border-radius:10px;font-size:19px}
 .baccarat-third-complete-dock strong{font-size:10px}.baccarat-third-complete-dock button{min-height:40px;padding:0 10px;font-size:9px}
}
@media(max-width:375px){.baccarat-third-card-wrap .play-card{width:56px;height:81px}.baccarat-third-actions button{height:45px}.baccarat-third-hand{height:210px}.baccarat-third-cards{height:177px}}
@media(max-height:760px) and (max-width:640px){body.baccarat-third-card-active .training-top{flex-basis:35px;min-height:35px}body.baccarat-third-card-active .baccarat-metrics{flex-basis:37px}.baccarat-third-instruction{padding:3px 6px}.baccarat-third-instruction h1{font-size:13px}.baccarat-third-table .baccarat-layout-fan{height:29%}.baccarat-third-table .baccarat-layout-tie-payout{top:29%}.baccarat-third-work{top:33%}.baccarat-third-hand{height:196px}.baccarat-third-cards{height:164px}.baccarat-third-actions button{height:43px}}

/* v2.1.0 QA — keep three-card hands inside each mobile work area */
@media(max-width:640px){
  .baccarat-third-cards{gap:2px;padding-left:0;padding-right:0}
  .baccarat-third-card-wrap .play-card{width:clamp(56px,15.5vw,64px);height:clamp(81px,22.3vw,93px)}
}
@media(max-width:375px){.baccarat-third-card-wrap .play-card{width:55px;height:80px}}


/* v2.1.1 — BACCARAT DEALER ORIENTATION + THIRD-CARD PLACEMENT */
/* Dealer viewpoint is fixed: BANKER on the left, PLAYER on the right. */
.baccarat-layout-work.player{left:auto!important;right:.4%!important}
.baccarat-layout-work.banker{right:auto!important;left:.4%!important}
.baccarat-third-work.player{left:auto!important;right:.4%!important}
.baccarat-third-work.banker{right:auto!important;left:.4%!important}

/* LAB03: the third card is physically landscape (90deg), beside the initial two. */
.baccarat-third-cards{display:flex;align-items:center;justify-content:center;gap:3px;overflow:visible}
.baccarat-third-card-wrap>span{display:none!important}
.baccarat-third-card-wrap.initial{flex:0 0 auto}
.baccarat-third-cards.has-third .baccarat-third-card-wrap.initial .play-card{width:58px;height:84px}
.baccarat-third-card-wrap.third{position:relative;flex:0 0 84px;width:84px;height:58px;display:grid;place-items:center;overflow:visible}
.baccarat-third-card-wrap.third .play-card{position:absolute;left:50%;top:50%;width:58px!important;height:84px!important;margin:0;transform-origin:center center;border-radius:8px}
.baccarat-third-card-wrap.third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}
.baccarat-third-card-wrap.third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}
.baccarat-third-card-wrap.third .play-card .rank{font-size:25px}
.baccarat-third-card-wrap.third .play-card .suit{font-size:29px}

/* Detailed THIRD CARD RULE reference inside ? HELP. */
.baccarat-third-help-rules{display:grid;gap:8px}
.baccarat-third-help-block,.baccarat-third-help-placement{padding:8px 9px;border:1px solid rgba(218,182,88,.18);border-radius:10px;background:rgba(255,255,255,.025)}
.baccarat-third-help-block>b,.baccarat-third-help-placement>b{display:block;margin-bottom:5px;color:#eed28a;font:900 10px/1 var(--serif);letter-spacing:.08em}
.baccarat-third-help-block p,.baccarat-third-help-placement p{margin:0;color:#c7c1b2;font-size:9px;line-height:1.55}
.baccarat-third-help-mini{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px}
.baccarat-third-help-mini span,.baccarat-third-help-mini strong{display:flex;align-items:center;justify-content:center;min-height:28px;border-radius:7px;font-size:10px}
.baccarat-third-help-mini span{background:rgba(255,255,255,.04);color:#d9d4c8}.baccarat-third-help-mini strong{border:1px solid rgba(89,221,250,.28);background:rgba(37,122,141,.13);color:#a9f2ff}
.baccarat-third-help-table{display:grid;gap:2px}
.baccarat-third-help-table>div{display:grid;grid-template-columns:minmax(82px,.75fr) 1.5fr;gap:5px;align-items:center;min-height:27px;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.027)}
.baccarat-third-help-table>div:first-child{background:rgba(210,170,68,.08);color:#b7aa87;font-size:7px;font-weight:900;letter-spacing:.04em}
.baccarat-third-help-table b{color:#f0d78f;font:900 11px/1 var(--serif)}
.baccarat-third-help-table em{color:#dbd7cc;font-size:9px;font-style:normal;font-weight:800}

@media(max-width:640px){
  .baccarat-layout-work.player{left:auto!important;right:.15%!important}
  .baccarat-layout-work.banker{right:auto!important;left:.15%!important}
  .baccarat-third-work.player{left:auto!important;right:.15%!important}
  .baccarat-third-work.banker{right:auto!important;left:.15%!important}
  .baccarat-third-cards.has-third{gap:2px}
  .baccarat-third-cards.has-third .baccarat-third-card-wrap.initial .play-card{width:54px;height:78px}
  .baccarat-third-card-wrap.third{flex-basis:78px;width:78px;height:54px}
  .baccarat-third-card-wrap.third .play-card{width:54px!important;height:78px!important}
  .baccarat-third-card-wrap.third .play-card .rank{font-size:23px}.baccarat-third-card-wrap.third .play-card .suit{font-size:27px}
  .baccarat-third-help-block,.baccarat-third-help-placement{padding:7px 8px}
  .baccarat-third-help-table>div{grid-template-columns:74px 1fr}
}
@media(max-width:375px){
  .baccarat-third-cards.has-third .baccarat-third-card-wrap.initial .play-card{width:52px;height:75px}
  .baccarat-third-card-wrap.third{flex-basis:75px;width:75px;height:52px}
  .baccarat-third-card-wrap.third .play-card{width:52px!important;height:75px!important}
}


/* v2.1.2 — BACCARAT THIRD CARD TOP-ALIGNED PLACEMENT */

.baccarat-third-cards{display:flex;align-items:center;justify-content:center;overflow:visible}
.baccarat-third-stack{position:relative;display:inline-flex;align-items:flex-end;justify-content:center}
.baccarat-third-initial{display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;z-index:1}
.baccarat-third-stack.has-third{padding-top:58px}
.baccarat-third-card-wrap.third{position:absolute;top:0;z-index:2;flex:0 0 84px;width:84px;height:58px;display:grid;place-items:center;overflow:visible}
.baccarat-third-card-wrap.third.banker{left:-2px}
.baccarat-third-card-wrap.third.player{right:-2px}
.baccarat-third-card-wrap.third .play-card{position:absolute;left:50%;top:50%;width:58px!important;height:84px!important;margin:0;transform-origin:center center;border-radius:8px}
.baccarat-third-card-wrap.third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}
.baccarat-third-card-wrap.third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}
@media(max-width:640px){
  .baccarat-third-stack.has-third{padding-top:54px}
  .baccarat-third-card-wrap.third{width:78px;height:54px;flex-basis:78px}
  .baccarat-third-card-wrap.third .play-card{width:54px!important;height:78px!important}
}
@media(max-width:375px){
  .baccarat-third-stack.has-third{padding-top:52px}
  .baccarat-third-card-wrap.third{width:75px;height:52px;flex-basis:75px}
  .baccarat-third-card-wrap.third .play-card{width:52px!important;height:75px!important}
}


/* v2.1.3 — BACCARAT THIRD CARD LIVE DEALING ALIGNMENT */

.baccarat-third-cards{display:flex;align-items:flex-end;justify-content:center;gap:3px;overflow:visible;padding-top:0}
.baccarat-third-initial{display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;z-index:1}
.baccarat-third-stack{display:contents}
.baccarat-third-card-wrap.third{position:relative!important;top:auto!important;left:auto!important;right:auto!important;align-self:flex-end;z-index:2;flex:0 0 84px;width:84px;height:58px;display:grid;place-items:center;overflow:visible;margin-bottom:0}
.baccarat-third-card-wrap.third.banker{margin-right:2px}
.baccarat-third-card-wrap.third.player{margin-left:2px}
.baccarat-third-card-wrap.third .play-card{position:absolute;left:50%;top:50%;width:58px!important;height:84px!important;margin:0;transform-origin:center center;border-radius:8px}
.baccarat-third-card-wrap.third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}
.baccarat-third-card-wrap.third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}
@media(max-width:640px){
  .baccarat-third-card-wrap.third{flex-basis:78px;width:78px;height:54px}
  .baccarat-third-card-wrap.third .play-card{width:54px!important;height:78px!important}
}
@media(max-width:375px){
  .baccarat-third-card-wrap.third{flex-basis:75px;width:75px;height:52px}
  .baccarat-third-card-wrap.third .play-card{width:52px!important;height:75px!important}
}


/* v2.1.4 — BACCARAT THIRD CARD HEIGHT ADJUSTMENT */

.baccarat-third-card-wrap.third{margin-bottom:26px!important}
.baccarat-third-card-wrap.third.banker{margin-right:2px!important}
.baccarat-third-card-wrap.third.player{margin-left:2px!important}
@media(max-width:640px){
  .baccarat-third-card-wrap.third{margin-bottom:24px!important}
}
@media(max-width:375px){
  .baccarat-third-card-wrap.third{margin-bottom:23px!important}
}


/* v2.1.5 — BACCARAT FORMAL HOME RELEASE / TOTAL INSPECTION CLEANUP */
@media(min-width:641px){
  .home-game-hub{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.home-game-card.baccarat{
  --game-foundation-ready:1;
  background:
    radial-gradient(circle at 10% 0%,rgba(32,137,99,.28),transparent 45%),
    radial-gradient(circle at 96% 100%,rgba(216,177,72,.10),transparent 40%),
    linear-gradient(180deg,#10251d,#08110e);
  border-color:rgba(103,184,148,.50);
}
.home-game-card.baccarat .home-game-suit{color:#f0d47b;border-color:rgba(103,184,148,.42)}
@media(max-width:640px) and (min-width:351px){
  .home-game-card.baccarat{grid-column:1 / -1;min-height:150px}
}
@media(max-width:350px){
  .home-game-card.baccarat{grid-column:auto}
}


/* v2.2.0 — BACCARAT LAB 04 CARD PLACEMENT & PROCEDURE */
.baccarat-placement-screen{max-width:980px;margin:0 auto}
.baccarat-placement-instruction{margin:7px 0 8px;padding:8px 11px;border:1px solid rgba(229,195,102,.18);border-radius:13px;background:linear-gradient(180deg,rgba(20,18,14,.76),rgba(8,9,9,.86));text-align:center}
.baccarat-placement-instruction small{display:block;color:#d1ad51;font-size:7.5px;font-weight:1000;letter-spacing:.15em}
.baccarat-placement-instruction h1{margin:3px 0 2px;font:900 19px/1.05 var(--serif);letter-spacing:.035em;color:#f0e4ca}
.baccarat-placement-instruction p{margin:0;color:#aaa493;font-size:9px;font-weight:800;letter-spacing:.035em}
.baccarat-placement-instruction em{display:block;margin-top:5px;color:#ff9d94;font-size:8.5px;font-style:normal}.baccarat-placement-instruction em b{margin-right:5px}
.baccarat-placement-table-wrap{padding:4px!important;overflow:hidden}
.baccarat-placement-table{position:relative;height:590px;min-height:590px;overflow:hidden;border-radius:18px;border:1px solid rgba(237,196,96,.17);background:radial-gradient(circle at 50% 4%,rgba(255,220,140,.055),transparent 28%),linear-gradient(180deg,#0b0b0c,#060607 90%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 -60px 100px rgba(0,0,0,.42)}
.baccarat-placement-table .baccarat-layout-fan{left:-1.5%;top:2px;width:103%;height:36%;transform:none}
.baccarat-placement-table .baccarat-layout-fan-svg .band-title{font-size:20px!important;letter-spacing:.45px!important}
.baccarat-placement-table .baccarat-layout-tie-payout{top:36%;left:5%;right:5%;font-size:8px}
.baccarat-placement-work{position:absolute;top:40%;width:49%;z-index:5}.baccarat-placement-work.banker{left:.4%}.baccarat-placement-work.player{right:.4%}
.baccarat-placement-hand{width:100%;height:224px;padding:5px 4px 4px;border:1.5px solid rgba(255,255,255,.11);border-radius:14px;background:linear-gradient(180deg,rgba(10,12,13,.73),rgba(5,7,8,.51));transition:transform .22s ease,border-color .18s ease,box-shadow .18s ease;color:inherit}
button.baccarat-placement-hand{appearance:none;text-align:initial;cursor:pointer}
.baccarat-placement-hand.banker{border-color:rgba(240,96,96,.43);box-shadow:inset 0 0 20px rgba(190,54,54,.07)}.baccarat-placement-hand.player{border-color:rgba(86,151,255,.43);box-shadow:inset 0 0 20px rgba(42,101,194,.07)}
.baccarat-placement-hand.is-interactive{box-shadow:inset 0 0 22px rgba(234,204,116,.06)}.baccarat-placement-hand.is-interactive:active{transform:scale(.985)}
.baccarat-placement-hand.is-error{border-color:rgba(255,102,102,.96)!important;box-shadow:0 0 18px rgba(255,72,72,.22),inset 0 0 16px rgba(255,60,60,.07)!important}
.baccarat-placement-hand.is-pushed{border-color:rgba(239,201,100,.78);box-shadow:0 12px 24px rgba(0,0,0,.28),0 0 22px rgba(224,181,74,.14)}
.baccarat-placement-hand.is-pushed .baccarat-placement-initial{transform:translateY(-20px);transition:transform .22s ease}
.baccarat-placement-hand-head{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 6px;border-bottom:1px solid rgba(255,255,255,.10)}
.baccarat-placement-hand-head strong{font:900 13px/1 var(--serif);letter-spacing:.08em}.baccarat-placement-hand.banker .baccarat-placement-hand-head strong{color:#ff7a7a}.baccarat-placement-hand.player .baccarat-placement-hand-head strong{color:#71a9ff}
.baccarat-placement-hand-head span{font-size:7px;color:#a8a394;font-weight:900;letter-spacing:.06em}.baccarat-placement-hand-head span b{font:900 17px/1 var(--serif);color:#f2d98d;margin-left:3px}
.baccarat-placement-cards{height:184px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-top:8px;overflow:visible}
.baccarat-placement-initial{display:flex;align-items:flex-end;justify-content:center;gap:4px;flex:0 0 auto}
.baccarat-placement-card.initial .play-card,.baccarat-placement-card-slot.vertical,.baccarat-placement-hand .baccarat-procedure-card-back{width:68px;height:98px;border-radius:8px}
.baccarat-placement-card.initial .play-card .rank{font-size:26px}.baccarat-placement-card.initial .play-card .suit{font-size:30px}
.baccarat-placement-hand .baccarat-procedure-card-back{flex:0 0 auto}
.baccarat-placement-card-slot{display:grid;place-items:center;border:1px dashed rgba(224,199,131,.22);background:rgba(255,255,255,.015);color:rgba(230,209,151,.38);flex:0 0 auto}
.baccarat-placement-card-slot.vertical span{font:900 18px/1 var(--serif)}
.baccarat-placement-third-card,.baccarat-placement-card-slot.horizontal{position:relative;flex:0 0 98px;width:98px;height:68px;align-self:flex-end;margin-bottom:26px;overflow:visible}
.baccarat-placement-card-slot.horizontal{border-radius:8px}.baccarat-placement-card-slot.horizontal span{font-size:7px;font-weight:1000;letter-spacing:.08em}
.baccarat-placement-third-card .play-card{position:absolute;left:50%;top:50%;width:68px!important;height:98px!important;margin:0;transform-origin:center center;border-radius:8px}.baccarat-placement-third-card.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}.baccarat-placement-third-card.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}
.baccarat-placement-third-card .play-card .rank{font-size:26px}.baccarat-placement-third-card .play-card .suit{font-size:30px}
.baccarat-placement-center{position:absolute;z-index:7;left:50%;top:70%;width:70px;height:52px;transform:translate(-50%,-50%);border:1px solid rgba(231,198,110,.13);border-radius:50%;background:rgba(7,8,8,.42);color:#aa9b71;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;transition:.18s ease}.baccarat-placement-center span{font:900 8px/1 var(--serif);letter-spacing:.12em}.baccarat-placement-center i{position:absolute;inset:7px;border:1px dashed rgba(231,198,110,.13);border-radius:50%}
.baccarat-placement-center.is-interactive{pointer-events:auto;cursor:pointer;opacity:1;visibility:visible;border-color:rgba(232,198,106,.55);color:#efcf77;background:rgba(62,49,17,.42)}.baccarat-placement-center.is-interactive:active{transform:translate(-50%,-50%) scale(.94)}.baccarat-placement-center.is-error{border-color:#ff7770;color:#ff918a;box-shadow:0 0 14px rgba(255,80,80,.20)}
.baccarat-placement-dock,.baccarat-placement-complete-dock{position:absolute;left:5px;right:5px;bottom:5px;z-index:12;border:1px solid rgba(224,187,88,.34);border-radius:13px;background:linear-gradient(180deg,rgba(17,15,10,.985),rgba(6,7,7,.99));box-shadow:0 -8px 24px rgba(0,0,0,.35)}
.baccarat-placement-dock{min-height:70px;padding:7px}.baccarat-placement-dock-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.baccarat-placement-dock-head strong,.baccarat-placement-dock>strong{font:900 10px/1 var(--serif);color:#f0d584;letter-spacing:.08em}.baccarat-placement-dock-head small,.baccarat-placement-dock>small,.baccarat-placement-dock div>small{font-size:7px;color:#a9a18e;font-weight:800;letter-spacing:.05em}
.baccarat-placement-number-row{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.baccarat-placement-number-row button{height:42px;border:1px solid rgba(105,218,242,.24);border-radius:8px;background:linear-gradient(180deg,rgba(23,50,56,.80),rgba(7,18,21,.94));color:#d8f7ff;font:900 17px/1 var(--serif)}
.baccarat-placement-call-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.baccarat-placement-call-grid button{min-height:34px;padding:5px 6px;border:1px solid rgba(225,190,91,.28);border-radius:8px;background:linear-gradient(180deg,rgba(55,44,17,.78),rgba(19,16,8,.94));color:#f2dfaa;font-size:8px;font-weight:1000;letter-spacing:.025em}.baccarat-placement-call-grid button:first-child{grid-column:1/-1}
.baccarat-placement-number-row button.is-error,.baccarat-placement-call-grid button.is-error{border-color:#ff7770;background:rgba(91,24,22,.78);color:#ffd0cc}
.baccarat-placement-dock.card-dock{display:flex;align-items:center;justify-content:center;gap:12px}.baccarat-placement-next-card{width:54px;height:60px;display:grid;place-items:center;overflow:visible}.baccarat-placement-next-card .baccarat-procedure-card-back{width:42px;height:60px;border-radius:6px}.baccarat-placement-next-card .play-card{width:42px;height:60px;border-radius:6px}.baccarat-placement-next-card .play-card .rank{font-size:19px}.baccarat-placement-next-card .play-card .suit{font-size:21px}.baccarat-placement-dock.card-dock div:last-child{display:grid;gap:4px}.baccarat-placement-dock.card-dock div:last-child strong{font:900 13px/1 var(--serif);color:#f0d584;letter-spacing:.08em}
.baccarat-placement-dock.procedure-dock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.baccarat-placement-complete-dock{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px}.baccarat-placement-complete-dock div{display:flex;align-items:center;gap:8px;min-width:0}.baccarat-placement-complete-dock small{font-size:7px;color:#a99b71}.baccarat-placement-complete-dock strong{font:900 11px/1 var(--serif);color:#efe0b5}.baccarat-placement-complete-dock span{padding:4px 7px;border-radius:999px;background:rgba(226,187,83,.12);color:#e4c363;font-size:8px;font-weight:900}.baccarat-placement-complete-dock button{min-height:40px;padding:0 12px;border:1px solid rgba(228,190,88,.52);border-radius:10px;background:linear-gradient(180deg,#5b471c,#2d240f);color:#fff1c5;font-weight:900;font-size:9px}
.baccarat-placement-breakdown{grid-template-columns:repeat(5,1fr)!important}.baccarat-placement-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.baccarat-placement-help-grid>div{padding:7px 8px;border:1px solid rgba(218,182,88,.18);border-radius:9px;background:rgba(255,255,255,.025)}.baccarat-placement-help-grid b{display:block;margin-bottom:4px;color:#eed28a;font:900 9px/1 var(--serif);letter-spacing:.06em}.baccarat-placement-help-grid p,.baccarat-placement-house-note{margin:0;color:#c7c1b2;font-size:8.5px;line-height:1.5}.baccarat-placement-house-note{margin-top:7px!important;color:#a89f89!important}
body.baccarat-placement-active #bottomNav{display:none!important}
@media(max-width:640px){
 body.baccarat-placement-active{overflow:hidden!important}
 body.baccarat-placement-active .app-shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden!important}
 body.baccarat-placement-active #screen{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) 2px max(3px,env(safe-area-inset-bottom))!important;display:flex;flex-direction:column}
 body.baccarat-placement-active .baccarat-placement-screen{height:100%;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
 body.baccarat-placement-active .training-top{flex:0 0 38px;min-height:38px;padding:0 3px 3px}.baccarat-placement-screen .training-title strong{font-size:17px}.baccarat-placement-screen .training-title span{font-size:6.5px}
 body.baccarat-placement-active .baccarat-metrics{flex:0 0 40px;margin:3px 2px;gap:4px}.baccarat-placement-screen .metric{padding:4px}.baccarat-placement-screen .metric label{font-size:6px}.baccarat-placement-screen .metric strong{font-size:13px}
 .baccarat-placement-instruction{flex:0 0 auto;margin:0 2px 3px;padding:4px 7px}.baccarat-placement-instruction small{font-size:6px}.baccarat-placement-instruction h1{font-size:13px}.baccarat-placement-instruction p{font-size:7.5px}.baccarat-placement-instruction em{font-size:7px;margin-top:3px}
 .baccarat-placement-table-wrap{flex:1 1 auto;min-height:0;margin:0!important;padding:2px!important;border-radius:11px!important;overflow:hidden}.baccarat-placement-table{height:100%;min-height:0;border-radius:9px}
 .baccarat-placement-table .baccarat-layout-fan{left:-2%;top:0;width:104%;height:28%}.baccarat-placement-table .baccarat-layout-fan-svg .band-title{font-size:18px!important}.baccarat-placement-table .baccarat-layout-fan-svg .seat-no{font-size:21px}.baccarat-placement-table .baccarat-layout-tie-payout{top:28%;left:3%;right:3%;font-size:7px}
 .baccarat-placement-work{top:32%;width:49.5%}.baccarat-placement-work.banker{left:.15%}.baccarat-placement-work.player{right:.15%}
 .baccarat-placement-hand{height:216px;padding:3px 2px 2px;border-radius:10px}.baccarat-placement-hand-head{padding:2px 3px 4px}.baccarat-placement-hand-head strong{font-size:11px}.baccarat-placement-hand-head span{font-size:6px}.baccarat-placement-hand-head span b{font-size:14px}
 .baccarat-placement-cards{height:184px;padding-top:6px;gap:2px}.baccarat-placement-initial{gap:2px}
 .baccarat-placement-card.initial .play-card,.baccarat-placement-card-slot.vertical,.baccarat-placement-hand .baccarat-procedure-card-back{width:clamp(51px,14.4vw,58px);height:clamp(74px,20.8vw,84px)}.baccarat-placement-card.initial .play-card .rank{font-size:22px}.baccarat-placement-card.initial .play-card .suit{font-size:25px}
 .baccarat-placement-third-card,.baccarat-placement-card-slot.horizontal{flex-basis:clamp(74px,20.8vw,84px);width:clamp(74px,20.8vw,84px);height:clamp(51px,14.4vw,58px);margin-bottom:23px}.baccarat-placement-third-card .play-card{width:clamp(51px,14.4vw,58px)!important;height:clamp(74px,20.8vw,84px)!important}.baccarat-placement-third-card .play-card .rank{font-size:22px}.baccarat-placement-third-card .play-card .suit{font-size:25px}
 .baccarat-placement-center{top:68%;width:54px;height:42px}.baccarat-placement-center span{font-size:6.5px}
 .baccarat-placement-dock,.baccarat-placement-complete-dock{left:3px;right:3px;bottom:3px;border-radius:10px}.baccarat-placement-dock{min-height:62px;padding:5px}.baccarat-placement-number-row{gap:2px}.baccarat-placement-number-row button{height:38px;border-radius:7px;font-size:15px}.baccarat-placement-call-grid{gap:3px}.baccarat-placement-call-grid button{min-height:30px;padding:4px;font-size:7px}.baccarat-placement-dock-head{margin-bottom:3px}.baccarat-placement-next-card{height:52px}.baccarat-placement-next-card .baccarat-procedure-card-back,.baccarat-placement-next-card .play-card{width:36px;height:52px}.baccarat-placement-complete-dock strong{font-size:9px}.baccarat-placement-complete-dock button{min-height:36px;padding:0 8px;font-size:8px}
 .baccarat-placement-breakdown{grid-template-columns:repeat(2,1fr)!important}.baccarat-placement-help-grid{grid-template-columns:1fr}
}
@media(max-width:375px){.baccarat-placement-hand{height:201px}.baccarat-placement-cards{height:169px}.baccarat-placement-third-card,.baccarat-placement-card-slot.horizontal{margin-bottom:22px}.baccarat-placement-number-row button{height:35px}}
@media(max-height:760px) and (max-width:640px){body.baccarat-placement-active .training-top{flex-basis:34px;min-height:34px}body.baccarat-placement-active .baccarat-metrics{flex-basis:35px}.baccarat-placement-instruction{padding:3px 6px}.baccarat-placement-instruction h1{font-size:12px}.baccarat-placement-table .baccarat-layout-fan{height:25%}.baccarat-placement-table .baccarat-layout-tie-payout{top:25%}.baccarat-placement-work{top:29%}.baccarat-placement-hand{height:188px}.baccarat-placement-cards{height:158px}.baccarat-placement-number-row button{height:32px}.baccarat-placement-call-grid button{min-height:27px}}


/* v2.3.0 — BACCARAT LAB 05 THIRD CARD CHALLENGE */
.baccarat-challenge-screen{max-width:980px;margin:0 auto}
.baccarat-challenge-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 4px}
.baccarat-challenge-hud>div{border:1px solid rgba(215,174,82,.34);border-radius:15px;background:linear-gradient(180deg,rgba(77,57,15,.42),rgba(16,14,10,.72));padding:7px 6px;text-align:center;box-shadow:inset 0 0 18px rgba(215,174,82,.05)}
.baccarat-challenge-hud small{display:block;color:#aa9e84;font-size:7px;letter-spacing:.14em}.baccarat-challenge-hud strong{display:block;color:#f4ebd4;font-family:Georgia,serif;font-size:17px;margin-top:2px}
.baccarat-challenge-stage-head{margin:4px 6px 6px;padding:7px 11px;border-left:2px solid #d8ac4f;position:relative;background:linear-gradient(90deg,rgba(216,172,79,.08),transparent)}
.baccarat-challenge-stage-head div{display:flex;align-items:baseline;gap:8px}.baccarat-challenge-stage-head span{font-size:7px;letter-spacing:.18em;color:#d8ac4f}.baccarat-challenge-stage-head strong{font-size:12px;letter-spacing:.11em;color:#eee1bf}.baccarat-challenge-stage-head em{position:absolute;right:10px;top:8px;font-style:normal;color:#9f9174;font-size:10px}.baccarat-challenge-stage-head p{margin:3px 0 0;color:#8f8674;font-size:8px}
.baccarat-challenge-table{position:relative;margin:0 4px;padding:10px 10px 12px;min-height:440px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgba(22,45,50,.42),rgba(5,8,9,.96) 62%),linear-gradient(180deg,#071111,#040606)}
.baccarat-challenge-table:before{content:"";position:absolute;inset:7px;border:1px solid rgba(214,174,83,.16);border-radius:18px;pointer-events:none}
.baccarat-challenge-question{text-align:center;position:relative;z-index:1;padding-top:1px}.baccarat-challenge-question small{color:#d9af57;font-size:7px;letter-spacing:.22em}.baccarat-challenge-question h1{margin:3px 0 1px;font-family:Georgia,serif;font-size:22px;color:#f5ead0;letter-spacing:.04em}.baccarat-challenge-question p{margin:2px 0;color:#8f9da0;font-size:7px;letter-spacing:.12em}
.baccarat-challenge-solo{margin:auto;display:grid;place-items:center;gap:10px}.baccarat-challenge-solo-head{text-align:center}.baccarat-challenge-solo-head small,.baccarat-challenge-banker-total>small{display:block;color:#8e9b9f;font-size:8px;letter-spacing:.18em}.baccarat-challenge-solo-head strong{display:block;color:#6fb5ff;font-size:18px;margin-top:3px}
.baccarat-challenge-hand-cards{display:flex;align-items:flex-end;justify-content:center;gap:4px;min-height:112px}.baccarat-challenge-initial{display:flex;align-items:flex-end;gap:4px}.baccarat-challenge-card .play-card,.baccarat-challenge-initial .play-card{width:70px;height:101px}.baccarat-challenge-card .rank,.baccarat-challenge-initial .rank{font-size:27px}.baccarat-challenge-card .suit,.baccarat-challenge-initial .suit{font-size:31px}
.baccarat-challenge-third{position:relative;width:101px;height:70px;flex:0 0 101px;margin-bottom:25px}.baccarat-challenge-third .play-card{position:absolute;left:50%;top:50%;width:70px!important;height:101px!important;transform-origin:center}.baccarat-challenge-third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}.baccarat-challenge-third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}
.baccarat-challenge-banker-core{margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;width:min(430px,100%)}.baccarat-challenge-banker-total{text-align:center}.baccarat-challenge-banker-total>strong{display:block;font-family:Georgia,serif;font-size:42px;color:#ff7c87;line-height:1;margin:4px 0 4px}.baccarat-challenge-banker-total .baccarat-challenge-hand-cards{min-height:92px}.baccarat-challenge-banker-total .play-card{width:58px;height:84px}.baccarat-challenge-banker-total .rank{font-size:23px}.baccarat-challenge-banker-total .suit{font-size:27px}
.baccarat-challenge-condition{text-align:center;border:1px solid rgba(76,133,197,.45);border-radius:16px;padding:10px;background:rgba(8,25,42,.6);min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.baccarat-challenge-condition small{font-size:7px;letter-spacing:.16em;color:#85baff}.baccarat-challenge-condition>.play-card{width:70px;height:101px;margin:6px}.baccarat-challenge-condition b{font-size:10px;color:#b6cae5;letter-spacing:.1em}.baccarat-challenge-condition.stand strong{font-family:Georgia,serif;font-size:28px;color:#a8cfff;letter-spacing:.1em;margin-top:8px}
.baccarat-challenge-live-table{margin:auto 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative}.baccarat-challenge-live-hand{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:8px 4px;background:rgba(2,5,7,.58);min-width:0}.baccarat-challenge-live-hand.banker{border-color:rgba(244,91,101,.34)}.baccarat-challenge-live-hand.player{border-color:rgba(65,145,255,.38)}.baccarat-challenge-live-hand.is-focus{box-shadow:0 0 0 1px rgba(218,175,82,.4),0 0 28px rgba(218,175,82,.1)}.baccarat-challenge-live-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.baccarat-challenge-live-head strong{font-family:Georgia,serif;font-size:13px}.baccarat-challenge-live-hand.banker strong{color:#ff7983}.baccarat-challenge-live-hand.player strong{color:#77afff}.baccarat-challenge-live-head span{font-size:7px;color:#918b7f;letter-spacing:.12em}.baccarat-challenge-live-table .play-card{width:50px;height:72px}.baccarat-challenge-live-table .rank{font-size:20px}.baccarat-challenge-live-table .suit{font-size:23px}.baccarat-challenge-live-table .baccarat-challenge-third{width:72px;height:50px;flex-basis:72px;margin-bottom:20px}.baccarat-challenge-live-table .baccarat-challenge-third .play-card{width:50px!important;height:72px!important}.baccarat-challenge-live-condition{position:absolute;left:50%;bottom:-21px;transform:translateX(-50%);font-size:7px;letter-spacing:.16em;padding:4px 10px;border-radius:999px;color:#d8c698;background:#15120b;border:1px solid rgba(216,172,79,.35);white-space:nowrap}
.baccarat-challenge-answer{display:grid;gap:7px;margin-top:auto;position:relative;z-index:2}.baccarat-challenge-answer.three{grid-template-columns:repeat(3,1fr)}.baccarat-challenge-answer.two{grid-template-columns:repeat(2,1fr)}.baccarat-challenge-answer button{height:58px;border-radius:16px;border:1px solid rgba(215,174,82,.55);background:linear-gradient(180deg,#32270f,#151005);color:#f6e5bc;font-family:Georgia,serif;font-weight:800;font-size:17px;letter-spacing:.08em;box-shadow:inset 0 0 18px rgba(255,213,105,.06)}.baccarat-challenge-answer button:active{transform:translateY(1px);filter:brightness(1.25)}.baccarat-challenge-answer button:disabled{opacity:.55}
.baccarat-challenge-flash{position:absolute;left:50%;bottom:82px;transform:translateX(-50%);width:min(92%,420px);border-radius:15px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;z-index:5;box-shadow:0 10px 28px rgba(0,0,0,.45);backdrop-filter:blur(10px)}.baccarat-challenge-flash.correct{background:rgba(18,78,58,.93);border:1px solid rgba(81,219,164,.55)}.baccarat-challenge-flash.incorrect{background:rgba(100,30,33,.94);border:1px solid rgba(255,105,111,.55)}.baccarat-challenge-flash strong{font-size:12px;color:#fff}.baccarat-challenge-flash span{font-size:8px;color:#e7e7e7}.baccarat-challenge-flash em{font-style:normal;font-size:9px;color:#d7d1c4}
.baccarat-challenge-result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.baccarat-challenge-result-metrics>div{text-align:center;padding:10px}.baccarat-challenge-result-metrics small{display:block;font-size:7px;color:#998e78}.baccarat-challenge-result-metrics strong{display:block;font-size:18px;color:#f1dfb6;margin-top:4px}.baccarat-challenge-result-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.baccarat-challenge-result-breakdown>div{text-align:center;padding:10px 6px}.baccarat-challenge-result-breakdown small{display:block;font-size:7px;color:#a79c87;min-height:18px}.baccarat-challenge-result-breakdown strong{display:block;font-size:20px;color:#efd79e}.baccarat-challenge-result-breakdown span{font-size:8px;color:#857e70}
@media(max-width:640px){
  body.baccarat-challenge-active{overflow:hidden}
  body.baccarat-challenge-active #screen{height:calc(100dvh - max(4px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:hidden;padding-bottom:0}
  body.baccarat-challenge-active .baccarat-challenge-screen{height:100%;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
  body.baccarat-challenge-active .training-top{flex:0 0 38px;min-height:38px;padding:0 3px 3px}.baccarat-challenge-screen .training-title strong{font-size:17px}.baccarat-challenge-screen .training-title span{font-size:6.5px}
  .baccarat-challenge-hud{flex:0 0 43px;margin:3px 2px;gap:3px}.baccarat-challenge-hud>div{padding:4px 2px;border-radius:12px}.baccarat-challenge-hud small{font-size:5.5px}.baccarat-challenge-hud strong{font-size:13px}
  .baccarat-challenge-stage-head{flex:0 0 48px;margin:1px 3px 3px;padding:5px 8px}.baccarat-challenge-stage-head strong{font-size:10px}.baccarat-challenge-stage-head p{font-size:6.5px}.baccarat-challenge-stage-head em{font-size:8px;top:6px}
  .baccarat-challenge-table{flex:1 1 auto;min-height:0;margin:0 3px 3px;padding:7px 7px 8px;border-radius:17px}.baccarat-challenge-question h1{font-size:18px}.baccarat-challenge-question small{font-size:6px}.baccarat-challenge-question p{font-size:6px}
  .baccarat-challenge-card .play-card,.baccarat-challenge-initial .play-card{width:62px;height:90px}.baccarat-challenge-card .rank,.baccarat-challenge-initial .rank{font-size:24px}.baccarat-challenge-card .suit,.baccarat-challenge-initial .suit{font-size:28px}
  .baccarat-challenge-hand-cards{min-height:96px}.baccarat-challenge-solo{gap:5px}.baccarat-challenge-solo-head strong{font-size:16px}
  .baccarat-challenge-banker-core{gap:7px}.baccarat-challenge-banker-total>strong{font-size:34px}.baccarat-challenge-banker-total .play-card{width:50px;height:72px}.baccarat-challenge-banker-total .rank{font-size:20px}.baccarat-challenge-banker-total .suit{font-size:23px}.baccarat-challenge-condition{min-height:126px;padding:5px}.baccarat-challenge-condition>.play-card{width:58px;height:84px;margin:4px}.baccarat-challenge-condition.stand strong{font-size:22px}
  .baccarat-challenge-live-hand{padding:5px 2px}.baccarat-challenge-live-table{gap:5px}.baccarat-challenge-live-table .play-card{width:43px;height:62px}.baccarat-challenge-live-table .rank{font-size:17px}.baccarat-challenge-live-table .suit{font-size:20px}.baccarat-challenge-live-table .baccarat-challenge-third{width:62px;height:43px;flex-basis:62px;margin-bottom:17px}.baccarat-challenge-live-table .baccarat-challenge-third .play-card{width:43px!important;height:62px!important}.baccarat-challenge-live-head strong{font-size:11px}.baccarat-challenge-live-head span{font-size:5.5px}
  .baccarat-challenge-answer{gap:4px}.baccarat-challenge-answer button{height:49px;border-radius:13px;font-size:14px}.baccarat-challenge-flash{bottom:64px;padding:7px 9px}.baccarat-challenge-flash strong{font-size:10px}.baccarat-challenge-flash span{font-size:6.5px}.baccarat-challenge-flash em{font-size:7px}
}
@media(max-width:375px){
  .baccarat-challenge-stage-head{flex-basis:45px}.baccarat-challenge-hud{flex-basis:40px}.baccarat-challenge-answer button{height:45px}.baccarat-challenge-card .play-card,.baccarat-challenge-initial .play-card{width:56px;height:81px}.baccarat-challenge-hand-cards{min-height:88px}.baccarat-challenge-question h1{font-size:16px}.baccarat-challenge-live-table .play-card{width:39px;height:56px}.baccarat-challenge-live-table .baccarat-challenge-third{width:56px;height:39px;flex-basis:56px;margin-bottom:15px}.baccarat-challenge-live-table .baccarat-challenge-third .play-card{width:39px!important;height:56px!important}
}
@media(max-height:700px) and (max-width:640px){
  .baccarat-challenge-stage-head{flex-basis:40px;padding-top:3px;padding-bottom:3px}.baccarat-challenge-stage-head p{display:none}.baccarat-challenge-hud{flex-basis:36px}.baccarat-challenge-hud>div{padding:2px}.baccarat-challenge-question h1{font-size:15px}.baccarat-challenge-condition{min-height:112px}.baccarat-challenge-answer button{height:44px}.baccarat-challenge-flash{bottom:58px}
}


/* v2.4.1 — BACCARAT LAB 06 UX / PROCEDURE FIX */
.baccarat-settlement-screen{max-width:980px;margin:0 auto}
.baccarat-settlement-instruction{margin:4px 6px 6px;padding:6px 10px;border-left:2px solid #d8ac4f;background:linear-gradient(90deg,rgba(216,172,79,.08),transparent);min-height:57px;position:relative}
.baccarat-settlement-instruction small{display:block;color:#d8ac4f;font-size:7px;letter-spacing:.18em}.baccarat-settlement-instruction h1{font-family:Georgia,serif;font-size:15px;color:#f3e6c4;margin:2px 0}.baccarat-settlement-instruction p{font-size:7px;color:#9f9787;margin:0;line-height:1.35}.baccarat-settlement-instruction em{position:absolute;right:8px;bottom:5px;left:8px;display:flex;gap:6px;align-items:center;padding:5px 7px;border-radius:9px;background:rgba(115,31,35,.88);border:1px solid rgba(255,105,111,.45);color:#ffe4e5;font-size:7px;font-style:normal}.baccarat-settlement-instruction.has-error{padding-bottom:33px}
.baccarat-settlement-table-wrap{padding:4px!important;overflow:hidden}.baccarat-settlement-table{position:relative;height:600px;min-height:600px;overflow:hidden;border-radius:18px;border:1px solid rgba(237,196,96,.17);background:radial-gradient(circle at 50% 3%,rgba(255,220,140,.055),transparent 28%),linear-gradient(180deg,#0b0b0c,#060607 90%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 -60px 100px rgba(0,0,0,.42)}
.baccarat-settlement-table .baccarat-layout-fan{left:-1.5%;top:2px;width:103%;height:36%;transform:none}.baccarat-settlement-table .baccarat-layout-fan-svg .band-title{font-size:20px!important;letter-spacing:.45px!important}.baccarat-settlement-table .baccarat-layout-tie-payout{top:36%;left:5%;right:5%;font-size:8px}
.baccarat-settlement-bets{position:absolute;left:-1.5%;top:2px;width:103%;height:36%;z-index:4;pointer-events:none}
.baccarat-settlement-bet{position:absolute;left:calc(var(--sx)*1%);top:calc(var(--sy)*1%);transform:translate(-50%,-50%);width:46px;height:46px;padding:0;border:0;background:transparent;color:#fff;pointer-events:auto;cursor:pointer;z-index:4;-webkit-tap-highlight-color:transparent}.baccarat-settlement-bet .baccarat-settlement-chip-mini{position:absolute;inset:0;display:grid;place-items:center;transform:scale(.72)}.baccarat-settlement-bet .table-chip-stack{width:42px;height:42px}.baccarat-settlement-bet .table-chip{width:34px;height:34px}.baccarat-settlement-bet small{position:absolute;left:50%;top:40px;transform:translateX(-50%);font-size:6px;font-weight:800;white-space:nowrap;padding:1px 4px;border-radius:999px;background:rgba(0,0,0,.88);border:1px solid rgba(255,255,255,.14)}.baccarat-settlement-bet em{position:absolute;left:50%;top:-10px;transform:translateX(-50%);font-style:normal;font-size:5.5px;font-weight:900;letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:2px 4px;background:#10100d;border:1px solid rgba(230,197,112,.6);color:#f2d98d}
.baccarat-settlement-bet.is-collected{opacity:.16;pointer-events:none}.baccarat-settlement-bet.is-paid{filter:drop-shadow(0 0 7px rgba(90,214,151,.55));pointer-events:none}.baccarat-settlement-bet.is-push em{color:#a9d0ff;border-color:rgba(88,149,225,.62)}.baccarat-settlement-bet.is-actionable{filter:drop-shadow(0 0 7px rgba(239,207,127,.62))}.baccarat-settlement-bet.is-actionable:before{content:'';position:absolute;inset:-3px;border-radius:50%;border:1px solid rgba(242,211,133,.56);animation:baccaratSettlementAnswerGlow 1.35s ease-in-out infinite;pointer-events:none}.baccarat-settlement-bet.is-selected,.baccarat-settlement-bet.is-check-selected{filter:drop-shadow(0 0 11px #f1c65f)}.baccarat-settlement-bet.is-selected:after,.baccarat-settlement-bet.is-check-selected:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid #f1c65f;animation:baccaratSettlementPulse 1s ease-in-out infinite}.baccarat-settlement-bet.is-check-selected{transform:translate(-50%,-54%) scale(1.04)}.baccarat-settlement-bet.is-error{animation:baccaratSettlementShake .25s ease 2;filter:drop-shadow(0 0 8px #ff686e)}
@keyframes baccaratSettlementPulse{50%{opacity:.25;transform:scale(1.1)}}@keyframes baccaratSettlementAnswerGlow{50%{opacity:.28;box-shadow:0 0 14px rgba(242,211,133,.55)}}@keyframes baccaratSettlementShake{25%{transform:translate(-56%,-50%)}75%{transform:translate(-44%,-50%)}}
.baccarat-settlement-work{position:absolute;top:41%;width:48.5%;height:31%;z-index:3}.baccarat-settlement-work.banker{left:1.2%}.baccarat-settlement-work.player{right:1.2%}
.baccarat-settlement-hand{height:100%;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(2,4,6,.65);overflow:visible}.baccarat-settlement-work.is-answer-target .baccarat-settlement-hand{box-shadow:0 0 14px rgba(215,174,82,.18);border-color:rgba(242,211,133,.42)}.baccarat-settlement-hand.banker{border-color:rgba(239,79,88,.36)}.baccarat-settlement-hand.player{border-color:rgba(62,139,244,.38)}.baccarat-settlement-hand-head{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.07)}.baccarat-settlement-hand-head strong{font-family:Georgia,serif;font-size:14px}.baccarat-settlement-hand.banker strong{color:#ff7780}.baccarat-settlement-hand.player strong{color:#78afff}.baccarat-settlement-hand-head span{font-size:6px;color:#938c7e;letter-spacing:.1em}
.baccarat-settlement-cards{height:calc(100% - 31px);display:flex;justify-content:center;align-items:flex-end;gap:3px;padding:5px 2px 8px;overflow:visible}.baccarat-settlement-initial{display:flex;align-items:flex-end;gap:3px}.baccarat-settlement-card{position:relative;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;overflow:visible;-webkit-tap-highlight-color:transparent}.baccarat-settlement-card.initial .play-card{width:58px;height:84px}.baccarat-settlement-card.initial .rank{font-size:23px}.baccarat-settlement-card.initial .suit{font-size:27px}.baccarat-settlement-card.third{width:84px;height:58px;flex:0 0 84px;margin-bottom:26px}.baccarat-settlement-card.third .play-card{position:absolute;left:50%;top:50%;width:58px!important;height:84px!important;transform-origin:center}.baccarat-settlement-card.third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}.baccarat-settlement-card.third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}.baccarat-settlement-card.is-actionable{filter:drop-shadow(0 0 7px rgba(239,207,127,.64))}.baccarat-settlement-card.is-actionable:after{content:'';position:absolute;inset:-4px;border:1px solid rgba(242,211,133,.58);border-radius:7px;animation:baccaratSettlementAnswerGlow 1.35s ease-in-out infinite;pointer-events:none}.baccarat-settlement-card.third.is-actionable:after{inset:-5px;border-radius:9px}.baccarat-settlement-card.is-collected{width:28px;height:40px;border:1px dashed rgba(215,174,82,.28);border-radius:5px;opacity:.35;color:#d8ac4f}.baccarat-settlement-card.third.is-collected{width:40px;height:28px;margin-bottom:26px}.baccarat-settlement-card.is-error{animation:baccaratSettlementCardShake .25s ease 2;filter:drop-shadow(0 0 8px #ff5b63)}@keyframes baccaratSettlementCardShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.baccarat-settlement-dock{position:absolute;left:2%;right:2%;bottom:2%;z-index:7;border:1px solid rgba(215,174,82,.36);border-radius:15px;background:linear-gradient(180deg,rgba(55,43,17,.93),rgba(14,12,8,.97));box-shadow:0 8px 24px rgba(0,0,0,.45);padding:9px}.baccarat-settlement-dock.is-answer-target{border-color:rgba(242,211,133,.78);box-shadow:0 0 0 1px rgba(242,211,133,.20),0 0 22px rgba(215,174,82,.24),0 8px 24px rgba(0,0,0,.45);animation:baccaratSettlementDockGlow 1.45s ease-in-out infinite}.baccarat-settlement-dock.simple{text-align:center}.baccarat-settlement-dock.simple strong{display:block;color:#edd69c;font-family:Georgia,serif;font-size:14px;letter-spacing:.08em}.baccarat-settlement-dock.simple small{display:block;color:#9a907d;font-size:7px;margin-top:3px}.baccarat-settlement-result-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.baccarat-settlement-dock.result{padding:7px}.baccarat-settlement-result-buttons button{height:48px;border-radius:12px;border:1px solid rgba(215,174,82,.45);background:#17130a;color:#efd99f;font-family:Georgia,serif;font-size:15px;font-weight:900}.baccarat-settlement-result-buttons button:first-child{color:#ff7d85;border-color:rgba(221,81,91,.45)}.baccarat-settlement-result-buttons button:nth-child(2){color:#83b8ff;border-color:rgba(74,142,228,.45)}.baccarat-settlement-result-buttons button:last-child{color:#b9d891;border-color:rgba(116,156,77,.45)}.baccarat-settlement-result-buttons button.is-error{background:#6b2529;color:#fff}@keyframes baccaratSettlementDockGlow{50%{box-shadow:0 0 0 1px rgba(242,211,133,.34),0 0 30px rgba(215,174,82,.36),0 8px 24px rgba(0,0,0,.45)}}
.baccarat-settlement-dock.special{padding:7px}.baccarat-settlement-special-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 5px 6px}.baccarat-settlement-special-status b{font-family:Georgia,serif;font-size:11px;color:#edd69c}.baccarat-settlement-special-status span{font-size:7px;color:#c5aa6e;letter-spacing:.08em}.baccarat-settlement-dock.special button{width:100%;min-height:48px;border-radius:12px;border:1px solid rgba(238,198,95,.55);background:linear-gradient(180deg,#493714,#1e1608);color:#f2dda7;display:flex;align-items:center;justify-content:space-between;padding:8px 14px}.baccarat-settlement-dock.special button:disabled{opacity:.52;filter:saturate(.55);cursor:not-allowed}.baccarat-settlement-dock.special.is-ready{border-color:rgba(242,211,133,.78);box-shadow:0 0 20px rgba(215,174,82,.25)}.baccarat-settlement-dock.special b{font-family:Georgia,serif;font-size:13px}.baccarat-settlement-dock.special span{font-size:8px;color:#c5aa6e}
.baccarat-settlement-dock.payout{padding:10px 10px 9px}.baccarat-settlement-payout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:6px}.baccarat-settlement-payout-head small{display:block;font-size:7px;color:#d8ac4f;letter-spacing:.12em}.baccarat-settlement-payout-head strong{display:block;font-size:9px;color:#e8dfcd;margin-top:2px}.baccarat-settlement-payout-total{text-align:right}.baccarat-settlement-payout-total span{display:block;font-size:7px;color:#968b75}.baccarat-settlement-payout-total b{font-family:Georgia,serif;font-size:21px;color:#f1dda8}.baccarat-settlement-chip-stage{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 3px}.baccarat-settlement-chip-stage .chip-stage-empty{font-size:8px;line-height:1.25}.baccarat-settlement-chip-stage .casino-chip.mini{width:38px;height:38px;min-width:38px}.baccarat-settlement-chip-bank{display:flex;justify-content:center;gap:8px;padding:4px 0}.baccarat-settlement-chip-bank .casino-chip{flex:0 0 54px;width:54px;max-width:54px;border-width:5px}.baccarat-settlement-chip-bank .casino-chip span{font-size:9px}.baccarat-settlement-chip-actions{display:grid;grid-template-columns:64px 1fr 1.35fr;gap:6px;margin-top:7px}.baccarat-settlement-chip-actions .btn{min-height:39px;padding:6px;font-size:9px}
.baccarat-settlement-complete{position:absolute;left:2%;right:2%;bottom:2%;z-index:7;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid rgba(215,174,82,.48);border-radius:15px;background:linear-gradient(180deg,#33270e,#100d07);padding:9px 10px}.baccarat-settlement-complete small{display:block;color:#9b8e72;font-size:6px}.baccarat-settlement-complete strong{display:block;color:#efe2c0;font-family:Georgia,serif;font-size:11px;margin:2px 0}.baccarat-settlement-complete span{font-size:8px;color:#d7b660;font-weight:900}.baccarat-settlement-complete button{height:45px;border-radius:12px;border:1px solid #d5aa4f;background:linear-gradient(180deg,#6a511c,#2d210b);color:#fff2c8;font-weight:900;padding:0 13px;white-space:nowrap}
.baccarat-settlement-breakdown{grid-template-columns:repeat(5,1fr)!important}.baccarat-settlement-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.baccarat-settlement-help-grid>div{border:1px solid rgba(215,174,82,.18);border-radius:9px;padding:7px;background:rgba(255,255,255,.02)}.baccarat-settlement-help-grid b{font-size:8px;color:#e4c677}.baccarat-settlement-help-grid p{font-size:7px;color:#b2aa9a;margin:3px 0 0;line-height:1.35}
@media(max-width:640px){
  body.baccarat-settlement-active{overflow:hidden}body.baccarat-settlement-active #screen{height:calc(100dvh - max(4px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:hidden;padding-bottom:0}body.baccarat-settlement-active .baccarat-settlement-screen{height:100%;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
  body.baccarat-settlement-active .training-top{flex:0 0 36px;min-height:36px;padding:0 3px 3px}.baccarat-settlement-screen .training-title strong{font-size:17px}.baccarat-settlement-screen .training-title span{font-size:6.3px}.baccarat-settlement-screen .baccarat-metrics{flex:0 0 38px;margin:2px 2px 3px;gap:3px}.baccarat-settlement-screen .baccarat-metrics .metric{padding:3px}.baccarat-settlement-screen .baccarat-metrics label{font-size:5.5px}.baccarat-settlement-screen .baccarat-metrics strong{font-size:13px}
  .baccarat-settlement-instruction{flex:0 0 auto;margin:0 3px 3px;padding:3px 7px;min-height:43px}.baccarat-settlement-instruction small{font-size:5.5px}.baccarat-settlement-instruction h1{font-size:11px;margin:1px 0}.baccarat-settlement-instruction p{font-size:5.8px}.baccarat-settlement-instruction.has-error{padding-bottom:27px}.baccarat-settlement-instruction em{font-size:5.5px;padding:3px 5px;bottom:3px}
  .baccarat-settlement-table-wrap{flex:1 1 auto;min-height:0;margin:0!important;padding:2px!important;border-radius:11px!important;overflow:hidden}.baccarat-settlement-table{height:100%;min-height:0;border-radius:9px}.baccarat-settlement-table .baccarat-layout-fan{left:-2%;top:0;width:104%;height:28%}.baccarat-settlement-table .baccarat-layout-fan-svg .band-title{font-size:18px!important}.baccarat-settlement-table .baccarat-layout-fan-svg .seat-no{font-size:21px}.baccarat-settlement-table .baccarat-layout-tie-payout{top:28%;left:3%;right:3%;font-size:7px}.baccarat-settlement-bets{left:-2%;top:0;width:104%;height:28%}
  .baccarat-settlement-bet{width:38px;height:38px}.baccarat-settlement-bet .baccarat-settlement-chip-mini{transform:scale(.58)}.baccarat-settlement-bet small{top:32px;font-size:5px}.baccarat-settlement-bet em{top:-8px;font-size:4.6px}
  .baccarat-settlement-work{top:32%;height:29%;width:49%}.baccarat-settlement-work.banker{left:.5%}.baccarat-settlement-work.player{right:.5%}.baccarat-settlement-hand{border-radius:10px}.baccarat-settlement-hand-head{height:25px;padding:0 5px}.baccarat-settlement-hand-head strong{font-size:11px}.baccarat-settlement-hand-head span{font-size:4.8px}.baccarat-settlement-cards{height:calc(100% - 25px);gap:2px;padding:3px 1px 5px}.baccarat-settlement-initial{gap:2px}.baccarat-settlement-card.initial .play-card{width:48px;height:69px}.baccarat-settlement-card.initial .rank{font-size:19px}.baccarat-settlement-card.initial .suit{font-size:22px}.baccarat-settlement-card.third{width:69px;height:48px;flex-basis:69px;margin-bottom:22px}.baccarat-settlement-card.third .play-card{width:48px!important;height:69px!important}.baccarat-settlement-card.third.is-collected{width:33px;height:23px;margin-bottom:22px}
  .baccarat-settlement-dock{left:1.5%;right:1.5%;bottom:1.2%;border-radius:11px;padding:6px}.baccarat-settlement-dock.simple strong{font-size:11px}.baccarat-settlement-dock.simple small{font-size:5.5px}.baccarat-settlement-result-buttons{gap:4px}.baccarat-settlement-result-buttons button{height:43px;border-radius:10px;font-size:12px}.baccarat-settlement-dock.special button{min-height:45px}.baccarat-settlement-dock.special b{font-size:10px}.baccarat-settlement-dock.special span{font-size:6px}.baccarat-settlement-dock.payout{padding:8px 8px 7px}.baccarat-settlement-payout-head strong{font-size:7.2px}.baccarat-settlement-payout-total b{font-size:17px}.baccarat-settlement-chip-stage{min-height:44px}.baccarat-settlement-chip-stage .casino-chip.mini{width:35px;height:35px;min-width:35px}.baccarat-settlement-chip-bank{gap:6px}.baccarat-settlement-chip-bank .casino-chip{flex-basis:48px;width:48px;max-width:48px}.baccarat-settlement-chip-bank .casino-chip span{font-size:8px}.baccarat-settlement-chip-actions{grid-template-columns:54px 1fr 1.3fr;gap:5px;margin-top:5px}.baccarat-settlement-chip-actions .btn{min-height:35px}.baccarat-settlement-complete{left:1.5%;right:1.5%;bottom:1.2%;padding:6px 8px}.baccarat-settlement-complete button{height:40px;font-size:8px}.baccarat-settlement-complete strong{font-size:9px}
}
@media(max-width:375px){.baccarat-settlement-card.initial .play-card{width:44px;height:64px}.baccarat-settlement-card.third{width:64px;height:44px;flex-basis:64px;margin-bottom:20px}.baccarat-settlement-card.third .play-card{width:44px!important;height:64px!important}.baccarat-settlement-work{top:31%;height:28%}.baccarat-settlement-chip-bank .casino-chip{flex-basis:44px;width:44px;max-width:44px}.baccarat-settlement-chip-bank .casino-chip span{font-size:7px}.baccarat-settlement-dock{bottom:.8%}}
@media(max-height:720px) and (max-width:640px){body.baccarat-settlement-active .training-top{flex-basis:33px;min-height:33px}.baccarat-settlement-screen .baccarat-metrics{flex-basis:34px}.baccarat-settlement-instruction{min-height:38px}.baccarat-settlement-instruction p{display:none}.baccarat-settlement-table .baccarat-layout-fan{height:25%}.baccarat-settlement-table .baccarat-layout-tie-payout{top:25%}.baccarat-settlement-bets{height:25%}.baccarat-settlement-work{top:29%;height:27%}.baccarat-settlement-card.initial .play-card{width:41px;height:59px}.baccarat-settlement-card.third{width:59px;height:41px;flex-basis:59px;margin-bottom:18px}.baccarat-settlement-card.third .play-card{width:41px!important;height:59px!important}.baccarat-settlement-result-buttons button{height:40px}.baccarat-settlement-dock.payout{padding:5px 7px}.baccarat-settlement-chip-stage{min-height:36px}.baccarat-settlement-chip-bank .casino-chip{flex-basis:40px;width:40px;max-width:40px}.baccarat-settlement-chip-actions{margin-top:3px}.baccarat-settlement-chip-actions .btn{min-height:31px}}

/* v2.5.0 — BACCARAT LAB 07 TABLE FLOW / CALLING / PROTECTION */
.baccarat-tableflow-screen{max-width:1040px;margin:0 auto}
.baccarat-tableflow-phasebar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:3px 6px 5px;padding:4px;border:1px solid rgba(215,174,82,.18);border-radius:10px;background:rgba(6,6,7,.88)}
.baccarat-tableflow-phasebar span{height:20px;display:grid;place-items:center;border-radius:7px;font-size:6px;font-weight:900;letter-spacing:.08em;color:#6f685b;border:1px solid rgba(255,255,255,.04);background:rgba(255,255,255,.02);transition:.18s ease}
.baccarat-tableflow-phasebar span.active{color:#f3dda4;border-color:rgba(237,196,96,.58);background:linear-gradient(180deg,rgba(128,91,24,.58),rgba(48,34,11,.72));box-shadow:0 0 13px rgba(218,172,72,.22)}
.baccarat-tableflow-instruction{margin:3px 6px 5px;padding:6px 10px;border-left:2px solid #d8ac4f;background:linear-gradient(90deg,rgba(216,172,79,.08),transparent);min-height:55px;position:relative}
.baccarat-tableflow-instruction small{display:block;color:#d8ac4f;font-size:7px;letter-spacing:.16em}.baccarat-tableflow-instruction h1{font-family:Georgia,serif;font-size:15px;color:#f3e6c4;margin:2px 0}.baccarat-tableflow-instruction p{font-size:7px;color:#9f9787;margin:0;line-height:1.35}.baccarat-tableflow-instruction em{position:absolute;right:8px;bottom:5px;left:8px;display:flex;gap:6px;align-items:center;padding:5px 7px;border-radius:9px;background:rgba(115,31,35,.9);border:1px solid rgba(255,105,111,.45);color:#ffe4e5;font-size:7px;font-style:normal}.baccarat-tableflow-instruction.has-error{padding-bottom:34px}
.baccarat-tableflow-wrap{padding:4px!important;overflow:hidden}.baccarat-tableflow-table{position:relative;height:650px;min-height:650px;overflow:hidden;border-radius:18px;border:1px solid rgba(237,196,96,.17);background:radial-gradient(circle at 50% 3%,rgba(255,220,140,.055),transparent 28%),linear-gradient(180deg,#0b0b0c,#060607 90%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 -80px 120px rgba(0,0,0,.48)}
.baccarat-tableflow-table .baccarat-layout-fan{left:-1.5%;top:2px;width:103%;height:34%;transform:none}.baccarat-tableflow-table .baccarat-layout-fan-svg .band-title{font-size:20px!important;letter-spacing:.45px!important}.baccarat-tableflow-table .baccarat-layout-tie-payout{top:34%;left:5%;right:5%;font-size:8px}
.baccarat-tableflow-bets{left:-1.5%;top:2px;width:103%;height:34%}.baccarat-tableflow-empty-bets{position:absolute;left:4%;right:4%;top:7%;height:23%;z-index:3;border:1px dashed rgba(215,174,82,.18);border-radius:50% 50% 16px 16px/70% 70% 16px 16px;display:grid;place-items:center;color:#635a49;font-size:7px;letter-spacing:.2em}
.baccarat-tableflow-rogue-bet{position:absolute;left:52%;top:47%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:2px solid #ef696f;background:radial-gradient(circle,#7d2529,#260c0e 72%);color:#fff;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(239,105,111,.10),0 0 24px rgba(239,105,111,.62);animation:baccaratTableFlowDanger 1s ease-in-out infinite}.baccarat-tableflow-rogue-bet.settlement{left:74%;top:54%}.baccarat-tableflow-rogue-bet span{font-size:20px;font-weight:900;line-height:1}.baccarat-tableflow-rogue-bet b{font-size:6px;letter-spacing:.1em;margin-top:3px}@keyframes baccaratTableFlowDanger{50%{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 0 0 9px rgba(239,105,111,.07),0 0 34px rgba(239,105,111,.74)}}
.baccarat-tableflow-work{position:absolute;top:38%;width:48.4%;height:30%;z-index:3}.baccarat-tableflow-work.banker{left:1.2%}.baccarat-tableflow-work.player{right:1.2%}
.baccarat-tableflow-hand{width:100%;height:100%;padding:0;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(2,4,6,.68);overflow:visible;color:#eee}.baccarat-tableflow-hand.banker{border-color:rgba(239,79,88,.36)}.baccarat-tableflow-hand.player{border-color:rgba(62,139,244,.38)}.baccarat-tableflow-hand.is-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.baccarat-tableflow-hand.is-answer-target{border-color:rgba(242,211,133,.67);box-shadow:0 0 0 1px rgba(242,211,133,.18),0 0 19px rgba(215,174,82,.27);animation:baccaratSettlementDockGlow 1.45s ease-in-out infinite}.baccarat-tableflow-hand.is-presented{box-shadow:0 0 22px rgba(230,197,112,.16)}.baccarat-tableflow-hand.is-presented .baccarat-tableflow-pair{transform:translateY(-20px);transition:transform .22s ease}.baccarat-tableflow-hand.is-presented .baccarat-tableflow-card.third{transform:none}
.baccarat-tableflow-hand-head{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.07)}.baccarat-tableflow-hand-head strong{font-family:Georgia,serif;font-size:14px}.baccarat-tableflow-hand.banker .baccarat-tableflow-hand-head strong{color:#ff7780}.baccarat-tableflow-hand.player .baccarat-tableflow-hand-head strong{color:#78afff}.baccarat-tableflow-hand-head small{font-size:6px;color:#938c7e;letter-spacing:.08em}
.baccarat-tableflow-cards{height:calc(100% - 31px);display:flex;justify-content:center;align-items:flex-end;gap:3px;padding:5px 2px 8px;overflow:visible}.baccarat-tableflow-pair{display:flex;align-items:flex-end;gap:3px}.baccarat-tableflow-card-slot{width:58px;height:84px;border:1px dashed rgba(215,174,82,.18);border-radius:6px;display:grid;place-items:center;color:#6e624b;font-size:18px}.baccarat-tableflow-card{position:relative;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:default;overflow:visible}.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:58px;height:84px}.baccarat-tableflow-card.third{width:84px;height:58px;flex:0 0 84px;margin-bottom:26px}.baccarat-tableflow-card.third .play-card{position:absolute;left:50%;top:50%;width:58px!important;height:84px!important;transform-origin:center}.baccarat-tableflow-card.third.player .play-card{transform:translate(-50%,-50%) rotate(90deg)}.baccarat-tableflow-card.third.banker .play-card{transform:translate(-50%,-50%) rotate(-90deg)}.baccarat-tableflow-card.is-actionable{cursor:pointer;filter:drop-shadow(0 0 7px rgba(239,207,127,.64))}.baccarat-tableflow-card.is-actionable:after{content:'';position:absolute;inset:-4px;border:1px solid rgba(242,211,133,.65);border-radius:7px;animation:baccaratSettlementAnswerGlow 1.35s ease-in-out infinite;pointer-events:none}.baccarat-tableflow-card.is-collected{width:28px;height:40px;border:1px dashed rgba(215,174,82,.28);border-radius:5px;opacity:.35;color:#d8ac4f}.baccarat-tableflow-card.third.is-collected{width:40px;height:28px;margin-bottom:26px}
.baccarat-tableflow-center{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:5;width:58px;height:38px;border-radius:999px;border:1px solid rgba(120,158,78,.28);background:rgba(33,55,24,.38);color:#a6c584;font-family:Georgia,serif;font-size:8px}.baccarat-tableflow-center.is-answer-target{cursor:pointer;border-color:rgba(242,211,133,.72);color:#f0daa1;box-shadow:0 0 18px rgba(215,174,82,.3);animation:baccaratSettlementDockGlow 1.45s ease-in-out infinite}
.baccarat-tableflow-dock{position:absolute;left:2%;right:2%;bottom:2%;z-index:9;border:1px solid rgba(215,174,82,.36);border-radius:15px;background:linear-gradient(180deg,rgba(55,43,17,.95),rgba(14,12,8,.98));box-shadow:0 8px 24px rgba(0,0,0,.45);padding:9px}.baccarat-tableflow-dock.is-answer-target{border-color:rgba(242,211,133,.76);box-shadow:0 0 0 1px rgba(242,211,133,.18),0 0 22px rgba(215,174,82,.24),0 8px 24px rgba(0,0,0,.45);animation:baccaratSettlementDockGlow 1.45s ease-in-out infinite}.baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button{width:100%;height:54px;border:1px solid rgba(225,187,89,.52);border-radius:12px;background:linear-gradient(180deg,#4a3713,#1c1509);color:#f2dda6;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:7px;color:#ad9967;letter-spacing:.14em}.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-family:Georgia,serif;font-size:16px;letter-spacing:.06em}.baccarat-tableflow-dock.direct{text-align:center}.baccarat-tableflow-dock.direct strong{display:block;font-family:Georgia,serif;font-size:14px;color:#edd69c}.baccarat-tableflow-dock.direct small{display:block;font-size:7px;color:#9b917e;margin-top:3px}
.baccarat-tableflow-dock.total>div:first-child,.baccarat-tableflow-dock.third>div:first-child,.baccarat-tableflow-dock.result>div:first-child,.baccarat-tableflow-dock.protection>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;padding:0 3px}.baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:7px;color:#ad9967;letter-spacing:.12em}.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-family:Georgia,serif;font-size:12px;color:#ead397}.baccarat-tableflow-number-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.baccarat-tableflow-number-grid button{height:40px;border-radius:9px;border:1px solid rgba(215,174,82,.42);background:#17130a;color:#f0dca7;font-family:Georgia,serif;font-size:16px;font-weight:900}.baccarat-tableflow-call-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.baccarat-tableflow-call-grid button{min-height:45px;padding:5px;border-radius:9px;border:1px solid rgba(215,174,82,.38);background:#17130a;color:#e6d4a7;font-size:7px;font-weight:900}.baccarat-tableflow-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.baccarat-tableflow-result-grid button{min-height:43px;padding:6px;border-radius:9px;border:1px solid rgba(215,174,82,.38);background:#17130a;color:#e6d4a7;font-size:8px;font-weight:900}.baccarat-tableflow-supervisor{width:100%;min-height:55px;border-radius:12px;border:1px solid rgba(239,105,111,.65);background:linear-gradient(180deg,#67252a,#280d10);color:#ffe7e8;display:flex;align-items:center;justify-content:space-between;padding:8px 15px;box-shadow:0 0 18px rgba(239,105,111,.20)}.baccarat-tableflow-supervisor span{font-size:8px;letter-spacing:.14em}.baccarat-tableflow-supervisor b{font-family:Georgia,serif;font-size:16px}
.baccarat-tableflow-transition{position:absolute;inset:auto 2% 2% 2%;z-index:10;border:1px solid rgba(215,174,82,.55);border-radius:15px;background:linear-gradient(180deg,#3d2f12,#110d06);padding:13px;text-align:center;box-shadow:0 0 28px rgba(215,174,82,.18)}.baccarat-tableflow-transition small{display:block;font-size:7px;color:#9d8d69;letter-spacing:.15em}.baccarat-tableflow-transition b{display:block;font-family:Georgia,serif;font-size:18px;color:#f0dda9;margin:3px}.baccarat-tableflow-transition span{font-size:8px;color:#d4b969;font-weight:900}.baccarat-tableflow-table.is-transitioning:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.12);pointer-events:none;z-index:8}
.baccarat-tableflow-screen.tier-live .baccarat-tableflow-instruction p,.baccarat-tableflow-screen.tier-protection .baccarat-tableflow-instruction p{opacity:.62}.baccarat-tableflow-screen.tier-protection .baccarat-tableflow-hand.is-answer-target,.baccarat-tableflow-screen.tier-protection .baccarat-settlement-bets.is-answer-target,.baccarat-tableflow-screen.tier-protection .baccarat-tableflow-dock.is-answer-target{animation-duration:1.9s;box-shadow:0 0 0 1px rgba(242,211,133,.12),0 0 14px rgba(215,174,82,.16)}
.baccarat-tableflow-breakdown{grid-template-columns:repeat(3,1fr)!important}.baccarat-tableflow-timeline,.baccarat-tableflow-readiness{margin-top:10px}.baccarat-tableflow-timeline .kicker,.baccarat-tableflow-readiness .kicker{font-size:7px;color:#d7b45f;letter-spacing:.15em}.baccarat-tableflow-timeline>div:not(.kicker){display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(255,255,255,.06)}.baccarat-tableflow-timeline>div:last-child{border-bottom:0}.baccarat-tableflow-timeline span{font-family:Georgia,serif;color:#e7d49f}.baccarat-tableflow-timeline b{font-size:9px;color:#ddd2bd}.baccarat-tableflow-timeline small{font-size:7px;color:#8e8677}.baccarat-tableflow-readiness h3{font-family:Georgia,serif;color:#efdba6;margin:5px 0}.baccarat-tableflow-readiness p{margin:0;color:#a69d8d;font-size:8px;line-height:1.5}
@media(max-width:640px){
  body.baccarat-tableflow-active{overflow:hidden}body.baccarat-tableflow-active #screen{height:calc(100dvh - max(4px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:hidden;padding-bottom:0}body.baccarat-tableflow-active .baccarat-tableflow-screen{height:100%;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
  body.baccarat-tableflow-active .training-top{flex:0 0 34px;min-height:34px;padding:0 3px 2px}.baccarat-tableflow-screen .training-title strong{font-size:16px}.baccarat-tableflow-screen .training-title span{font-size:6px}.baccarat-tableflow-screen .baccarat-metrics{flex:0 0 35px;margin:2px 2px;gap:3px}.baccarat-tableflow-screen .baccarat-metrics .metric{padding:2px}.baccarat-tableflow-screen .baccarat-metrics label{font-size:5px}.baccarat-tableflow-screen .baccarat-metrics strong{font-size:12px}
  .baccarat-tableflow-phasebar{flex:0 0 25px;margin:1px 3px 2px;padding:2px;gap:2px}.baccarat-tableflow-phasebar span{height:19px;font-size:4.8px}.baccarat-tableflow-instruction{flex:0 0 auto;margin:0 3px 2px;padding:3px 7px;min-height:37px}.baccarat-tableflow-instruction small{font-size:5px}.baccarat-tableflow-instruction h1{font-size:10px;margin:1px 0}.baccarat-tableflow-instruction p{font-size:5.3px}.baccarat-tableflow-instruction.has-error{padding-bottom:25px}.baccarat-tableflow-instruction em{font-size:5px;padding:3px 5px;bottom:2px}
  .baccarat-tableflow-wrap{flex:1 1 auto;min-height:0;margin:0!important;padding:2px!important;border-radius:10px!important}.baccarat-tableflow-table{height:100%;min-height:0;border-radius:9px}.baccarat-tableflow-table .baccarat-layout-fan{left:-2%;top:0;width:104%;height:26%}.baccarat-tableflow-table .baccarat-layout-fan-svg .band-title{font-size:17px!important}.baccarat-tableflow-table .baccarat-layout-fan-svg .seat-no{font-size:20px}.baccarat-tableflow-table .baccarat-layout-tie-payout{top:26%;left:3%;right:3%;font-size:6px}.baccarat-tableflow-bets{left:-2%;top:0;width:104%;height:26%}.baccarat-tableflow-empty-bets{top:5%;height:18%}
  .baccarat-tableflow-work{top:30%;height:27%;width:49%}.baccarat-tableflow-work.banker{left:.5%}.baccarat-tableflow-work.player{right:.5%}.baccarat-tableflow-hand{border-radius:10px}.baccarat-tableflow-hand-head{height:24px;padding:0 5px}.baccarat-tableflow-hand-head strong{font-size:10px}.baccarat-tableflow-hand-head small{font-size:4.5px}.baccarat-tableflow-cards{height:calc(100% - 24px);gap:2px;padding:3px 1px 5px}.baccarat-tableflow-pair{gap:2px}.baccarat-tableflow-card-slot{width:43px;height:62px}.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:43px;height:62px}.baccarat-tableflow-card.initial .rank{font-size:17px}.baccarat-tableflow-card.initial .suit{font-size:20px}.baccarat-tableflow-card.third{width:62px;height:43px;flex-basis:62px;margin-bottom:19px}.baccarat-tableflow-card.third .play-card{width:43px!important;height:62px!important}.baccarat-tableflow-card.third.is-collected{width:30px;height:21px;margin-bottom:19px}.baccarat-tableflow-center{top:44%;width:46px;height:29px;font-size:6px}
  .baccarat-tableflow-dock{left:1.3%;right:1.3%;bottom:1%;padding:5px;border-radius:10px}.baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button{height:42px;padding:0 10px}.baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:5.5px}.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-size:12px}.baccarat-tableflow-number-grid{gap:2px}.baccarat-tableflow-number-grid button{height:32px;font-size:12px}.baccarat-tableflow-call-grid{gap:3px}.baccarat-tableflow-call-grid button{min-height:36px;padding:3px;font-size:5.3px}.baccarat-tableflow-result-grid{gap:3px}.baccarat-tableflow-result-grid button{min-height:35px;font-size:6.2px}.baccarat-tableflow-supervisor{min-height:43px;padding:5px 10px}.baccarat-tableflow-supervisor b{font-size:12px}.baccarat-tableflow-supervisor span{font-size:6px}.baccarat-tableflow-dock.direct strong{font-size:10px}.baccarat-tableflow-dock.direct small{font-size:5.2px}.baccarat-tableflow-rogue-bet{width:51px;height:51px}.baccarat-tableflow-rogue-bet span{font-size:16px}.baccarat-tableflow-rogue-bet b{font-size:4.8px}.baccarat-tableflow-transition{left:1.3%;right:1.3%;bottom:1%;padding:8px}.baccarat-tableflow-transition b{font-size:14px}
  .baccarat-tableflow-payout.baccarat-settlement-dock.payout{padding:5px 7px}.baccarat-tableflow-payout .baccarat-settlement-chip-stage{min-height:34px}.baccarat-tableflow-payout .baccarat-settlement-chip-bank .casino-chip{flex-basis:39px;width:39px;max-width:39px}.baccarat-tableflow-payout .baccarat-settlement-chip-actions{margin-top:3px}.baccarat-tableflow-payout .baccarat-settlement-chip-actions .btn{min-height:30px}
}
@media(max-width:375px){.baccarat-tableflow-card-slot{width:39px;height:57px}.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:39px;height:57px}.baccarat-tableflow-card.third{width:57px;height:39px;flex-basis:57px;margin-bottom:18px}.baccarat-tableflow-card.third .play-card{width:39px!important;height:57px!important}.baccarat-tableflow-call-grid button{font-size:4.8px}.baccarat-tableflow-number-grid button{font-size:11px}}
@media(max-height:720px) and (max-width:640px){body.baccarat-tableflow-active .training-top{flex-basis:31px;min-height:31px}.baccarat-tableflow-screen .baccarat-metrics{flex-basis:31px}.baccarat-tableflow-phasebar{flex-basis:22px}.baccarat-tableflow-phasebar span{height:16px}.baccarat-tableflow-instruction{min-height:31px}.baccarat-tableflow-instruction p{display:none}.baccarat-tableflow-table .baccarat-layout-fan{height:23%}.baccarat-tableflow-table .baccarat-layout-tie-payout{top:23%}.baccarat-tableflow-bets{height:23%}.baccarat-tableflow-work{top:27%;height:25%}.baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button{height:37px}.baccarat-tableflow-number-grid button{height:28px}.baccarat-tableflow-call-grid button{min-height:31px}.baccarat-tableflow-result-grid button{min-height:30px}.baccarat-tableflow-card-slot{width:36px;height:52px}.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:36px;height:52px}.baccarat-tableflow-card.third{width:52px;height:36px;flex-basis:52px;margin-bottom:16px}.baccarat-tableflow-card.third .play-card{width:36px!important;height:52px!important}}


/* v2.5.1 — BACCARAT LAB 07 UI POLISH / CYAN ANSWER TARGETS */
@keyframes baccaratTableFlowCyanGlow{50%{border-color:rgba(104,235,255,.98);box-shadow:0 0 0 2px rgba(69,218,255,.18),0 0 28px rgba(42,210,255,.48),inset 0 0 18px rgba(43,205,255,.06)}}
.baccarat-tableflow-work{width:47.4%;height:29%;top:38.5%}.baccarat-tableflow-work.banker{left:1.5%}.baccarat-tableflow-work.player{right:1.5%}.baccarat-tableflow-center{top:36.3%}
.baccarat-tableflow-hand{box-sizing:border-box}.baccarat-tableflow-cards{align-items:center;justify-content:center;padding:4px 4px 5px;gap:5px}.baccarat-tableflow-pair{align-items:center;gap:4px}.baccarat-tableflow-card.third{margin-bottom:9px}.baccarat-tableflow-card.third.is-collected{margin-bottom:9px}
.baccarat-tableflow-hand.is-answer-target{border-color:rgba(104,235,255,.94)!important;box-shadow:0 0 0 1px rgba(69,218,255,.18),0 0 22px rgba(42,210,255,.38),inset 0 0 16px rgba(43,205,255,.04)!important;animation:baccaratTableFlowCyanGlow 1.25s ease-in-out infinite!important}
.baccarat-tableflow-dock.is-answer-target,.baccarat-tableflow-table .baccarat-settlement-dock.is-answer-target,.baccarat-tableflow-table .baccarat-settlement-bets.is-answer-target{border-color:rgba(104,235,255,.92)!important;box-shadow:0 0 0 1px rgba(69,218,255,.18),0 0 26px rgba(42,210,255,.36),0 8px 24px rgba(0,0,0,.45)!important;animation:baccaratTableFlowCyanGlow 1.25s ease-in-out infinite!important}
.baccarat-tableflow-center.is-answer-target{border-color:rgba(104,235,255,.96)!important;color:#c6f8ff!important;box-shadow:0 0 24px rgba(42,210,255,.48)!important;animation:baccaratTableFlowCyanGlow 1.25s ease-in-out infinite!important}
.baccarat-tableflow-card.is-actionable{filter:drop-shadow(0 0 8px rgba(74,222,255,.82))}.baccarat-tableflow-card.is-actionable:after{border-color:rgba(104,235,255,.92)!important;box-shadow:0 0 15px rgba(42,210,255,.42);animation:baccaratTableFlowCyanGlow 1.25s ease-in-out infinite!important}
.baccarat-tableflow-bet.is-actionable{filter:drop-shadow(0 0 8px rgba(74,222,255,.8))}
.baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button,.baccarat-tableflow-number-grid button,.baccarat-tableflow-call-grid button,.baccarat-tableflow-result-grid button{border-color:rgba(85,214,239,.48)}
.baccarat-tableflow-dock.total>div:first-child,.baccarat-tableflow-dock.third>div:first-child,.baccarat-tableflow-dock.result>div:first-child,.baccarat-tableflow-dock.protection>div:first-child{margin-bottom:9px}.baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{color:#9eeeff}.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{color:#e5fbff}
.baccarat-tableflow-dock.third{padding:10px 11px 11px;min-height:195px}.baccarat-tableflow-call-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.baccarat-tableflow-call-grid button{min-height:50px;padding:7px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:inherit}.baccarat-tableflow-call-grid button b{font-family:Georgia,serif;font-size:12px;line-height:1.15;color:#e9fcff}.baccarat-tableflow-call-grid button span{display:block;font-size:9px;line-height:1.2;color:#91dce8;font-weight:800}.baccarat-tableflow-call-grid button:last-child{grid-column:1/-1;min-height:47px}
.baccarat-tableflow-dock.direct strong{color:#dffaff}.baccarat-tableflow-dock.direct small{color:#8fdce7}
@media(max-width:640px){
  .baccarat-tableflow-work{top:30%;height:27%;width:47.8%}.baccarat-tableflow-work.banker{left:1.1%}.baccarat-tableflow-work.player{right:1.1%}.baccarat-tableflow-center{top:28.2%}
  .baccarat-tableflow-cards{align-items:center;gap:3px;padding:2px 2px 3px}.baccarat-tableflow-pair{gap:3px}.baccarat-tableflow-card.third{margin-bottom:7px}.baccarat-tableflow-card.third.is-collected{margin-bottom:7px}
  .baccarat-tableflow-dock.third{min-height:184px;padding:7px 8px 8px}.baccarat-tableflow-dock.third>div:first-child{margin-bottom:6px}.baccarat-tableflow-dock.third small{font-size:6.2px!important}.baccarat-tableflow-dock.third strong{font-size:11px!important}.baccarat-tableflow-call-grid{gap:5px}.baccarat-tableflow-call-grid button{min-height:45px;padding:5px 6px}.baccarat-tableflow-call-grid button b{font-size:9.5px}.baccarat-tableflow-call-grid button span{font-size:7.7px}.baccarat-tableflow-call-grid button:last-child{min-height:43px}
}
@media(max-width:375px){.baccarat-tableflow-dock.third{min-height:174px}.baccarat-tableflow-call-grid button{min-height:41px}.baccarat-tableflow-call-grid button b{font-size:8.4px}.baccarat-tableflow-call-grid button span{font-size:7px}}
@media(max-height:720px) and (max-width:640px){.baccarat-tableflow-center{top:25%}.baccarat-tableflow-dock.third{min-height:150px;padding:5px 6px}.baccarat-tableflow-call-grid{gap:3px}.baccarat-tableflow-call-grid button{min-height:34px;padding:3px 4px}.baccarat-tableflow-call-grid button b{font-size:7.4px}.baccarat-tableflow-call-grid button span{font-size:6.2px}.baccarat-tableflow-call-grid button:last-child{min-height:32px}}

.baccarat-tableflow-result-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.baccarat-tableflow-result-grid button b{font-family:Georgia,serif;font-size:9px;color:#e9fcff}.baccarat-tableflow-result-grid button span{font-size:7px;color:#91dce8;font-weight:800}
@media(max-width:640px){.baccarat-tableflow-result-grid button b{font-size:7px}.baccarat-tableflow-result-grid button span{font-size:6px}}

/* v2.5.2 — BACCARAT LAB 07 VISIBILITY PASS / LAB 04 GEOMETRY */
@keyframes baccaratTableFlowCyanBlink{
  0%,100%{border-color:rgba(112,226,238,.62);outline-color:rgba(73,205,222,.42);box-shadow:0 0 0 1px rgba(73,205,222,.16),0 0 14px rgba(42,190,210,.30),inset 0 0 10px rgba(56,196,213,.055);filter:brightness(1.035)}
  50%{border-color:rgba(63,142,158,.32);outline-color:rgba(48,150,167,.12);box-shadow:0 0 0 1px rgba(53,157,176,.055),0 0 4px rgba(47,170,190,.075),inset 0 0 5px rgba(54,168,185,.018);filter:brightness(.985)}
}
@keyframes baccaratTableFlowCyanBlinkFilter{
  0%,100%{filter:drop-shadow(0 0 5px rgba(79,213,230,.46)) brightness(1.04)}
  50%{filter:drop-shadow(0 0 1px rgba(66,174,194,.13)) brightness(.99)}
}

/* Use LAB 04's proven two-hand geometry instead of percentage-height boxes. */
.baccarat-tableflow-work{top:35%;width:49%;height:216px}.baccarat-tableflow-work.banker{left:.4%}.baccarat-tableflow-work.player{right:.4%}
.baccarat-tableflow-hand{height:216px;padding:3px 2px 2px;border-radius:10px;overflow:visible}
.baccarat-tableflow-hand-head{height:28px;padding:2px 5px 4px}
.baccarat-tableflow-hand-head strong{font-size:13px;letter-spacing:.08em}.baccarat-tableflow-hand-head small{font-size:8px;letter-spacing:.06em;font-weight:850}
.baccarat-tableflow-cards{height:184px;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:6px 1px 2px;overflow:visible}
.baccarat-tableflow-pair{display:flex;align-items:flex-end;justify-content:center;gap:2px;flex:0 0 auto}
.baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:68px;height:98px;border-radius:8px}
.baccarat-tableflow-card.initial .rank{font-size:26px}.baccarat-tableflow-card.initial .suit{font-size:30px}
.baccarat-tableflow-card.third{flex:0 0 98px;width:98px;height:68px;align-self:flex-end;margin-bottom:26px;overflow:visible}
.baccarat-tableflow-card.third .play-card{width:68px!important;height:98px!important}.baccarat-tableflow-card.third .rank{font-size:26px}.baccarat-tableflow-card.third .suit{font-size:30px}
.baccarat-tableflow-card.third.is-collected{width:44px;height:30px;margin-bottom:26px}
.baccarat-tableflow-center{top:33.8%;width:64px;height:38px;font-size:9px;font-weight:900}

/* Answer targets: clearly blink in cyan while still indicating only the answer AREA, not the correct choice. */
.baccarat-tableflow-hand.is-answer-target,
.baccarat-tableflow-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-bets.is-answer-target,
.baccarat-tableflow-center.is-answer-target{animation:baccaratTableFlowCyanBlink 1.55s ease-in-out infinite!important}
.baccarat-tableflow-card.is-actionable,.baccarat-tableflow-bet.is-actionable{animation:baccaratTableFlowCyanBlinkFilter 1.55s ease-in-out infinite!important}
.baccarat-tableflow-card.is-actionable:after{animation:baccaratTableFlowCyanBlink 1.55s ease-in-out infinite!important}
.baccarat-tableflow-screen.tier-protection .baccarat-tableflow-hand.is-answer-target,
.baccarat-tableflow-screen.tier-protection .baccarat-settlement-bets.is-answer-target,
.baccarat-tableflow-screen.tier-protection .baccarat-tableflow-dock.is-answer-target{animation-duration:1.55s!important}

/* Global LAB 07 readability floor. */
.baccarat-tableflow-phasebar span{font-size:8px;letter-spacing:.035em;font-weight:950}
.baccarat-tableflow-instruction small{font-size:8px}.baccarat-tableflow-instruction h1{font-size:17px}.baccarat-tableflow-instruction p{font-size:9px;line-height:1.45}.baccarat-tableflow-instruction em{font-size:8px}
.baccarat-tableflow-table .baccarat-layout-tie-payout{font-size:9px;font-weight:900}
.baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:9px}.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-size:17px}
.baccarat-tableflow-dock.direct{padding:10px 12px}.baccarat-tableflow-dock.direct strong{font-size:15px}.baccarat-tableflow-dock.direct small{font-size:10px;line-height:1.35;margin-top:5px}
.baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:9px;letter-spacing:.06em}
.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-size:14px}
.baccarat-tableflow-number-grid button{font-size:18px;min-height:44px}
.baccarat-tableflow-call-grid button b{font-size:13px}.baccarat-tableflow-call-grid button span{font-size:10px;line-height:1.25}
.baccarat-tableflow-result-grid button b{font-size:11px;line-height:1.25}.baccarat-tableflow-result-grid button span{font-size:9px;line-height:1.25}
.baccarat-tableflow-supervisor span{font-size:9px}.baccarat-tableflow-supervisor b{font-size:16px}
.baccarat-tableflow-rogue-bet b{font-size:7px}.baccarat-tableflow-transition small{font-size:8px}.baccarat-tableflow-transition b{font-size:17px}.baccarat-tableflow-transition span{font-size:9px}
.baccarat-tableflow-table .baccarat-settlement-bet small{font-size:8px!important;font-weight:900}
.baccarat-tableflow-table .baccarat-settlement-dock.simple strong{font-size:13px}.baccarat-tableflow-table .baccarat-settlement-dock.simple small{font-size:9px}
.baccarat-tableflow-payout .baccarat-settlement-payout-head small{font-size:8px}.baccarat-tableflow-payout .baccarat-settlement-payout-head strong{font-size:12px}.baccarat-tableflow-payout .baccarat-settlement-payout-total span{font-size:8px}.baccarat-tableflow-payout .baccarat-settlement-payout-total b{font-size:15px}
.baccarat-tableflow-table .baccarat-settlement-special-status b{font-size:11px}.baccarat-tableflow-table .baccarat-settlement-special-status span{font-size:9px}.baccarat-tableflow-table .baccarat-settlement-dock.special button b{font-size:12px}.baccarat-tableflow-table .baccarat-settlement-dock.special button span{font-size:8px}

@media(max-width:640px){
  body.baccarat-tableflow-active .training-top{flex-basis:37px;min-height:37px}.baccarat-tableflow-screen .training-title strong{font-size:17px}.baccarat-tableflow-screen .training-title span{font-size:8px}
  .baccarat-tableflow-screen .baccarat-metrics{flex-basis:39px}.baccarat-tableflow-screen .baccarat-metrics label{font-size:7px}.baccarat-tableflow-screen .baccarat-metrics strong{font-size:14px}
  .baccarat-tableflow-phasebar{flex-basis:29px}.baccarat-tableflow-phasebar span{height:23px;font-size:7.2px}
  .baccarat-tableflow-instruction{min-height:47px;padding:4px 8px}.baccarat-tableflow-instruction small{font-size:7px}.baccarat-tableflow-instruction h1{font-size:13px;margin:2px 0}.baccarat-tableflow-instruction p{font-size:8px;line-height:1.35}.baccarat-tableflow-instruction em{font-size:7px;padding:4px 6px}
  .baccarat-tableflow-table .baccarat-layout-fan{height:25%}.baccarat-tableflow-table .baccarat-layout-tie-payout{top:25%;font-size:7.5px}.baccarat-tableflow-bets{height:25%}
  .baccarat-tableflow-work{top:28.5%;width:49.5%;height:201px}.baccarat-tableflow-work.banker{left:.15%}.baccarat-tableflow-work.player{right:.15%}
  .baccarat-tableflow-hand{height:201px;padding:3px 2px 2px}.baccarat-tableflow-hand-head{height:27px;padding:2px 4px 4px}.baccarat-tableflow-hand-head strong{font-size:11.5px}.baccarat-tableflow-hand-head small{font-size:7.5px}
  .baccarat-tableflow-cards{height:169px;padding:5px 0 2px;gap:1px}.baccarat-tableflow-pair{gap:2px}
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:clamp(46px,13.6vw,58px);height:clamp(67px,19.7vw,84px)}
  .baccarat-tableflow-card.initial .rank{font-size:22px}.baccarat-tableflow-card.initial .suit{font-size:25px}
  .baccarat-tableflow-card.third{flex-basis:clamp(68px,19.6vw,84px);width:clamp(68px,19.6vw,84px);height:clamp(46px,13.6vw,58px);margin-bottom:22px}
  .baccarat-tableflow-card.third .play-card{width:clamp(46px,13.6vw,58px)!important;height:clamp(67px,19.7vw,84px)!important}.baccarat-tableflow-card.third .rank{font-size:22px}.baccarat-tableflow-card.third .suit{font-size:25px}
  .baccarat-tableflow-card.third.is-collected{width:34px;height:24px;margin-bottom:22px}
  .baccarat-tableflow-center{top:26.8%;width:55px;height:34px;font-size:8px}
  .baccarat-tableflow-dock{left:1%;right:1%;padding:7px 8px}.baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button{height:48px;padding:0 12px}.baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:8px}.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-size:15px}
  .baccarat-tableflow-dock.direct strong{font-size:13px}.baccarat-tableflow-dock.direct small{font-size:9px}
  .baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:8px!important}.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-size:12px!important}
  .baccarat-tableflow-number-grid{gap:3px}.baccarat-tableflow-number-grid button{height:36px;min-height:36px;font-size:15px}
  .baccarat-tableflow-dock.third{min-height:188px;padding:8px 9px 9px}.baccarat-tableflow-call-grid{gap:6px}.baccarat-tableflow-call-grid button{min-height:46px;padding:6px}.baccarat-tableflow-call-grid button b{font-size:10.5px}.baccarat-tableflow-call-grid button span{font-size:8.5px}.baccarat-tableflow-call-grid button:last-child{min-height:44px}
  .baccarat-tableflow-result-grid{gap:4px}.baccarat-tableflow-result-grid button{min-height:42px;padding:5px}.baccarat-tableflow-result-grid button b{font-size:9.5px}.baccarat-tableflow-result-grid button span{font-size:8px}
  .baccarat-tableflow-supervisor{min-height:48px}.baccarat-tableflow-supervisor span{font-size:8px}.baccarat-tableflow-supervisor b{font-size:14px}
  .baccarat-tableflow-rogue-bet b{font-size:6.5px}.baccarat-tableflow-transition small{font-size:7px}.baccarat-tableflow-transition b{font-size:15px}.baccarat-tableflow-transition span{font-size:8px}
  .baccarat-tableflow-table .baccarat-settlement-bet small{font-size:7px!important}
  .baccarat-tableflow-table .baccarat-settlement-dock.simple strong{font-size:11px}.baccarat-tableflow-table .baccarat-settlement-dock.simple small{font-size:8px}
  .baccarat-tableflow-payout .baccarat-settlement-payout-head small{font-size:7px}.baccarat-tableflow-payout .baccarat-settlement-payout-head strong{font-size:10px}.baccarat-tableflow-payout .baccarat-settlement-payout-total span{font-size:7px}.baccarat-tableflow-payout .baccarat-settlement-payout-total b{font-size:13px}
}

@media(max-width:375px){
  .baccarat-tableflow-work{height:194px}.baccarat-tableflow-hand{height:194px}.baccarat-tableflow-cards{height:162px}
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:46px;height:67px}
  .baccarat-tableflow-card.third{width:68px;flex-basis:68px;height:46px;margin-bottom:20px}.baccarat-tableflow-card.third .play-card{width:46px!important;height:67px!important}
  .baccarat-tableflow-phasebar span{font-size:6.6px}.baccarat-tableflow-dock.third{min-height:182px}.baccarat-tableflow-call-grid button b{font-size:9.7px}.baccarat-tableflow-call-grid button span{font-size:8px}
}

@media(max-height:720px) and (max-width:640px){
  body.baccarat-tableflow-active .training-top{flex-basis:34px;min-height:34px}.baccarat-tableflow-screen .baccarat-metrics{flex-basis:35px}.baccarat-tableflow-phasebar{flex-basis:25px}.baccarat-tableflow-phasebar span{height:19px;font-size:6.5px}
  .baccarat-tableflow-instruction{min-height:39px}.baccarat-tableflow-instruction h1{font-size:12px}.baccarat-tableflow-instruction p{display:none}.baccarat-tableflow-instruction small{font-size:6.5px}
  .baccarat-tableflow-table .baccarat-layout-fan{height:22.5%}.baccarat-tableflow-table .baccarat-layout-tie-payout{top:22.5%}.baccarat-tableflow-bets{height:22.5%}
  .baccarat-tableflow-work{top:25.5%;height:178px}.baccarat-tableflow-hand{height:178px}.baccarat-tableflow-hand-head{height:25px}.baccarat-tableflow-cards{height:150px}
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:43px;height:62px}.baccarat-tableflow-card.third{width:62px;flex-basis:62px;height:43px;margin-bottom:18px}.baccarat-tableflow-card.third .play-card{width:43px!important;height:62px!important}
  .baccarat-tableflow-dock.call button,.baccarat-tableflow-dock.table-check button{height:42px}.baccarat-tableflow-number-grid button{height:31px;min-height:31px;font-size:14px}
  .baccarat-tableflow-dock.third{min-height:154px;padding:5px 6px}.baccarat-tableflow-call-grid{gap:3px}.baccarat-tableflow-call-grid button{min-height:35px;padding:3px 4px}.baccarat-tableflow-call-grid button b{font-size:8.5px}.baccarat-tableflow-call-grid button span{font-size:7.2px}.baccarat-tableflow-call-grid button:last-child{min-height:33px}
  .baccarat-tableflow-result-grid button{min-height:34px}.baccarat-tableflow-result-grid button b{font-size:8.5px}.baccarat-tableflow-result-grid button span{font-size:7px}
}

/* v2.5.2 readability tune — mobile text must remain legible without zooming. */
@media(max-width:640px){
  .baccarat-tableflow-screen .training-title span{font-size:9px!important;letter-spacing:.035em}
  .baccarat-tableflow-phasebar{flex-basis:33px!important}.baccarat-tableflow-phasebar span{height:27px!important;font-size:8px!important;line-height:1.05;padding:0 2px;text-align:center;white-space:normal}
  .baccarat-tableflow-instruction{min-height:51px!important}.baccarat-tableflow-instruction small{font-size:8px!important}.baccarat-tableflow-instruction h1{font-size:14px!important}.baccarat-tableflow-instruction p{font-size:9px!important}
  .baccarat-tableflow-hand-head strong{font-size:12.5px!important}.baccarat-tableflow-hand-head small{font-size:9px!important}
  .baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:9px!important}.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-size:16px!important}
  .baccarat-tableflow-dock.direct strong{font-size:14px!important}.baccarat-tableflow-dock.direct small{font-size:9.5px!important}
  .baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:9px!important}.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-size:13px!important}
  .baccarat-tableflow-number-grid button{font-size:16px!important}
  .baccarat-tableflow-dock.third{min-height:196px!important}.baccarat-tableflow-call-grid button{min-height:49px!important}.baccarat-tableflow-call-grid button b{font-size:11.5px!important}.baccarat-tableflow-call-grid button span{font-size:9.2px!important}
  .baccarat-tableflow-result-grid button{min-height:45px!important}.baccarat-tableflow-result-grid button b{font-size:10.5px!important}.baccarat-tableflow-result-grid button span{font-size:8.8px!important}
  .baccarat-tableflow-supervisor span{font-size:9px!important}.baccarat-tableflow-supervisor b{font-size:15px!important}
  .baccarat-tableflow-table .baccarat-settlement-dock.simple strong{font-size:12px!important}.baccarat-tableflow-table .baccarat-settlement-dock.simple small{font-size:9px!important}
}
@media(max-height:720px) and (max-width:640px){
  .baccarat-tableflow-phasebar{flex-basis:28px!important}.baccarat-tableflow-phasebar span{height:22px!important;font-size:7px!important}
  .baccarat-tableflow-instruction{min-height:41px!important}.baccarat-tableflow-instruction small{font-size:7px!important}.baccarat-tableflow-instruction h1{font-size:12.5px!important}.baccarat-tableflow-instruction p{display:none!important}
  .baccarat-tableflow-dock.third{min-height:158px!important}.baccarat-tableflow-call-grid button{min-height:36px!important}.baccarat-tableflow-call-grid button b{font-size:9px!important}.baccarat-tableflow-call-grid button span{font-size:7.5px!important}
}

/* Keep the LAB 04-style third-card orientation fully inside each half-table on narrow phones. */
@media(max-width:420px){
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:clamp(45px,12.8vw,54px);height:clamp(65px,18.6vw,78px)}
  .baccarat-tableflow-card.third{flex-basis:clamp(65px,17.5vw,76px);width:clamp(65px,17.5vw,76px);height:clamp(45px,12.8vw,54px);margin-bottom:20px}
  .baccarat-tableflow-card.third .play-card{width:clamp(45px,12.8vw,54px)!important;height:clamp(65px,18.6vw,78px)!important}
}

/* Final card fit guard: Dealer Academy's main training viewport is 430px wide even on desktop. */
.baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:58px;height:84px}
.baccarat-tableflow-card.initial .rank{font-size:23px}.baccarat-tableflow-card.initial .suit{font-size:27px}
.baccarat-tableflow-card.third{flex-basis:84px;width:84px;height:58px;margin-bottom:22px}.baccarat-tableflow-card.third .play-card{width:58px!important;height:84px!important}.baccarat-tableflow-card.third .rank{font-size:23px}.baccarat-tableflow-card.third .suit{font-size:27px}
@media(max-width:520px){
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:clamp(42px,12.8vw,54px);height:clamp(61px,18.6vw,78px)}
  .baccarat-tableflow-card.third{flex-basis:clamp(60px,17.5vw,78px);width:clamp(60px,17.5vw,78px);height:clamp(42px,12.8vw,54px);margin-bottom:20px}
  .baccarat-tableflow-card.third .play-card{width:clamp(42px,12.8vw,54px)!important;height:clamp(61px,18.6vw,78px)!important}
}
@media(max-width:340px){
  .baccarat-tableflow-card-slot,.baccarat-tableflow-card.initial .play-card,.baccarat-tableflow-card.initial .baccarat-procedure-card-back{width:38px;height:55px}
  .baccarat-tableflow-card.third{flex-basis:55px;width:55px;height:38px;margin-bottom:17px}.baccarat-tableflow-card.third .play-card{width:38px!important;height:55px!important}
  .baccarat-tableflow-card.initial .rank,.baccarat-tableflow-card.third .rank{font-size:18px}.baccarat-tableflow-card.initial .suit,.baccarat-tableflow-card.third .suit{font-size:21px}
}

/* Very short phones: preserve legibility and geometry; allow vertical scroll instead of overlap/shrinking. */
@media(max-height:720px) and (max-width:640px){
  body.baccarat-tableflow-active{overflow-y:auto!important}
  body.baccarat-tableflow-active #screen{height:auto!important;min-height:100dvh!important;max-height:none!important;overflow-y:auto!important;padding-bottom:max(4px,env(safe-area-inset-bottom))!important}
  body.baccarat-tableflow-active .baccarat-tableflow-screen{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  .baccarat-tableflow-wrap{flex:0 0 574px!important;height:574px!important;min-height:574px!important}
  .baccarat-tableflow-table{height:570px!important;min-height:570px!important}
  .baccarat-tableflow-phasebar{flex-basis:32px!important}.baccarat-tableflow-phasebar span{height:26px!important;font-size:8px!important}
  .baccarat-tableflow-instruction{min-height:49px!important}.baccarat-tableflow-instruction small{font-size:8px!important}.baccarat-tableflow-instruction h1{font-size:13.5px!important}.baccarat-tableflow-instruction p{display:block!important;font-size:8.5px!important}
  .baccarat-tableflow-work{top:27%;height:184px}.baccarat-tableflow-hand{height:184px}.baccarat-tableflow-hand-head{height:26px}.baccarat-tableflow-cards{height:155px}
  .baccarat-tableflow-dock.third{min-height:184px!important;padding:7px 8px!important}.baccarat-tableflow-call-grid{gap:5px!important}.baccarat-tableflow-call-grid button{min-height:43px!important;padding:5px!important}.baccarat-tableflow-call-grid button b{font-size:10.5px!important}.baccarat-tableflow-call-grid button span{font-size:8.5px!important}.baccarat-tableflow-call-grid button:last-child{min-height:41px!important}
  .baccarat-tableflow-result-grid button{min-height:40px!important}.baccarat-tableflow-result-grid button b{font-size:10px!important}.baccarat-tableflow-result-grid button span{font-size:8.5px!important}
}

/* v2.5.2 FINAL READABILITY PASS — preserve legibility instead of shrinking text. */
.baccarat-tableflow-screen .training-title span{font-size:10px!important;letter-spacing:.04em}
.baccarat-tableflow-screen .baccarat-metrics label{font-size:9px!important;letter-spacing:.05em}
.baccarat-tableflow-screen .baccarat-metrics strong{font-size:15px!important}
.baccarat-tableflow-phasebar span{font-size:9px!important;letter-spacing:.02em!important}
.baccarat-tableflow-instruction small{font-size:9.5px!important;letter-spacing:.08em!important}
.baccarat-tableflow-instruction h1{font-size:16px!important;line-height:1.15}
.baccarat-tableflow-instruction p{font-size:10.5px!important;line-height:1.4!important}
.baccarat-tableflow-instruction em{font-size:10px!important;line-height:1.3}
.baccarat-tableflow-table .baccarat-layout-tie-payout{font-size:9.5px!important;letter-spacing:.07em!important}
.baccarat-tableflow-hand-head strong{font-size:13px!important}
.baccarat-tableflow-hand-head small{font-size:9.5px!important;letter-spacing:.03em!important}
.baccarat-tableflow-center{font-size:10px!important}
.baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:10px!important}
.baccarat-tableflow-dock.call b,.baccarat-tableflow-dock.table-check b{font-size:17px!important}
.baccarat-tableflow-dock.direct strong{font-size:15px!important}
.baccarat-tableflow-dock.direct small{font-size:10.5px!important;line-height:1.35!important}
.baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:10px!important;letter-spacing:.04em!important}
.baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-size:14px!important}
.baccarat-tableflow-call-grid button b{font-size:12.5px!important;line-height:1.15!important}
.baccarat-tableflow-call-grid button span{font-size:10.5px!important;line-height:1.25!important}
.baccarat-tableflow-result-grid button b{font-size:11.5px!important;line-height:1.25!important}
.baccarat-tableflow-result-grid button span{font-size:10px!important;line-height:1.25!important}
.baccarat-tableflow-supervisor span{font-size:10px!important}.baccarat-tableflow-supervisor b{font-size:16px!important}
.baccarat-tableflow-transition small{font-size:9.5px!important}.baccarat-tableflow-transition b{font-size:17px!important}.baccarat-tableflow-transition span{font-size:10px!important}
.baccarat-tableflow-table .baccarat-settlement-bet small{font-size:9px!important;padding:2px 4px!important}
.baccarat-tableflow-table .baccarat-settlement-bet em{font-size:8.5px!important}
.baccarat-tableflow-table .baccarat-settlement-bet .table-chip span{font-size:8.5px!important}
.baccarat-tableflow-table .baccarat-settlement-bet .table-chip-count{font-size:9px!important}
.baccarat-tableflow-table .baccarat-settlement-dock.simple strong{font-size:13px!important}
.baccarat-tableflow-table .baccarat-settlement-dock.simple small{font-size:10px!important}
.baccarat-tableflow-payout .baccarat-settlement-payout-head small{font-size:9.5px!important}
.baccarat-tableflow-payout .baccarat-settlement-payout-head strong{font-size:12.5px!important}
.baccarat-tableflow-payout .baccarat-settlement-payout-total span{font-size:9.5px!important}
.baccarat-tableflow-payout .baccarat-settlement-payout-total b{font-size:15px!important}
.baccarat-tableflow-table .baccarat-settlement-special-status b{font-size:12px!important}
.baccarat-tableflow-table .baccarat-settlement-special-status span{font-size:10px!important}
.baccarat-tableflow-table .baccarat-settlement-dock.special button b{font-size:12px!important}
.baccarat-tableflow-table .baccarat-settlement-dock.special button span{font-size:10px!important}
.baccarat-tableflow-rogue-bet b{font-size:9px!important}

@media(max-width:640px){
  .baccarat-tableflow-screen .training-title span{font-size:10px!important}
  .baccarat-tableflow-screen .baccarat-metrics{flex-basis:42px!important}
  .baccarat-tableflow-screen .baccarat-metrics label{font-size:9px!important}
  .baccarat-tableflow-screen .baccarat-metrics strong{font-size:15px!important}
  .baccarat-tableflow-phasebar{flex-basis:35px!important}
  .baccarat-tableflow-phasebar span{height:29px!important;font-size:9px!important;line-height:1!important;padding:0 1px!important}
  .baccarat-tableflow-instruction{min-height:56px!important;padding:5px 8px!important}
  .baccarat-tableflow-instruction small{font-size:9.5px!important}
  .baccarat-tableflow-instruction h1{font-size:15px!important;margin:2px 0!important}
  .baccarat-tableflow-instruction p{font-size:10px!important;line-height:1.35!important}
  .baccarat-tableflow-instruction em{font-size:9.5px!important}
  .baccarat-tableflow-table .baccarat-layout-tie-payout{font-size:9.5px!important}
  .baccarat-tableflow-hand-head strong{font-size:12.5px!important}
  .baccarat-tableflow-hand-head small{font-size:9.5px!important}
  .baccarat-tableflow-dock.call small,.baccarat-tableflow-dock.table-check small{font-size:10px!important}
  .baccarat-tableflow-dock.direct small{font-size:10.5px!important}
  .baccarat-tableflow-dock.total small,.baccarat-tableflow-dock.third small,.baccarat-tableflow-dock.result small,.baccarat-tableflow-dock.protection small{font-size:10px!important}
  .baccarat-tableflow-dock.total strong,.baccarat-tableflow-dock.third strong,.baccarat-tableflow-dock.result strong,.baccarat-tableflow-dock.protection strong{font-size:13px!important}
  .baccarat-tableflow-dock.third{min-height:206px!important;padding:9px 9px 10px!important}
  .baccarat-tableflow-call-grid{gap:6px!important}
  .baccarat-tableflow-call-grid button{min-height:51px!important;padding:6px!important}
  .baccarat-tableflow-call-grid button b{font-size:12px!important}
  .baccarat-tableflow-call-grid button span{font-size:10px!important}
  .baccarat-tableflow-call-grid button:last-child{min-height:48px!important}
  .baccarat-tableflow-result-grid button{min-height:47px!important}
  .baccarat-tableflow-result-grid button b{font-size:11px!important}
  .baccarat-tableflow-result-grid button span{font-size:10px!important}
  .baccarat-tableflow-supervisor span{font-size:10px!important}
  .baccarat-tableflow-table .baccarat-settlement-bet small{font-size:9px!important}
  .baccarat-tableflow-table .baccarat-settlement-dock.simple small{font-size:10px!important}
  .baccarat-tableflow-payout .baccarat-settlement-payout-head small,.baccarat-tableflow-payout .baccarat-settlement-payout-total span{font-size:9.5px!important}
}

/* Short phones scroll vertically; never collapse LAB 07 text below the readable floor. */
@media(max-height:720px) and (max-width:640px){
  .baccarat-tableflow-screen .baccarat-metrics{flex-basis:42px!important}
  .baccarat-tableflow-phasebar{flex-basis:35px!important}.baccarat-tableflow-phasebar span{height:29px!important;font-size:9px!important}
  .baccarat-tableflow-instruction{min-height:56px!important}.baccarat-tableflow-instruction small{font-size:9.5px!important}.baccarat-tableflow-instruction h1{font-size:15px!important}.baccarat-tableflow-instruction p{display:block!important;font-size:10px!important}
  .baccarat-tableflow-wrap{flex:0 0 600px!important;height:600px!important;min-height:600px!important}
  .baccarat-tableflow-table{height:596px!important;min-height:596px!important}
  .baccarat-tableflow-dock.third{min-height:206px!important;padding:9px!important}
  .baccarat-tableflow-call-grid{gap:6px!important}.baccarat-tableflow-call-grid button{min-height:51px!important;padding:6px!important}.baccarat-tableflow-call-grid button b{font-size:12px!important}.baccarat-tableflow-call-grid button span{font-size:10px!important}
  .baccarat-tableflow-result-grid button{min-height:47px!important}.baccarat-tableflow-result-grid button b{font-size:11px!important}.baccarat-tableflow-result-grid button span{font-size:10px!important}
}

/* v2.5.2 visual QA floor: status text 10px+, chip denominations 9.5px+. */
.baccarat-tableflow-screen .baccarat-metrics label{font-size:10px!important}
.baccarat-tableflow-phasebar span{font-size:10px!important}
.baccarat-tableflow-instruction small{font-size:10px!important}
.baccarat-tableflow-table .baccarat-layout-tie-payout{font-size:10px!important}
.baccarat-tableflow-hand-head small{font-size:10px!important}
.baccarat-tableflow-table .baccarat-settlement-bet small{font-size:10px!important}
.baccarat-tableflow-table .baccarat-settlement-bet .table-chip span{font-size:9.5px!important}
.baccarat-tableflow-table .baccarat-settlement-bet .table-chip-count{font-size:10px!important}
@media(max-width:640px){
  .baccarat-tableflow-screen .baccarat-metrics label{font-size:10px!important}
  .baccarat-tableflow-phasebar span{font-size:10px!important}
  .baccarat-tableflow-instruction small{font-size:10px!important}
  .baccarat-tableflow-table .baccarat-layout-tie-payout{font-size:10px!important}
  .baccarat-tableflow-hand-head small{font-size:10px!important}
  .baccarat-tableflow-table .baccarat-settlement-bet small{font-size:10px!important}
}
@media(max-height:720px) and (max-width:640px){
  .baccarat-tableflow-phasebar span{font-size:10px!important}
  .baccarat-tableflow-instruction small{font-size:10px!important}
}


/* v2.5.3 — LAB 07 answer visibility / winner presentation / four-chip realism */
.baccarat-tableflow-hand.is-answer-target,
.baccarat-tableflow-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-bets.is-answer-target,
.baccarat-tableflow-center.is-answer-target{outline:2px solid transparent;outline-offset:2px}
.baccarat-tableflow-dock.is-answer-target > button,
.baccarat-tableflow-dock.is-answer-target .baccarat-tableflow-number-grid,
.baccarat-tableflow-dock.is-answer-target .baccarat-tableflow-call-grid,
.baccarat-tableflow-dock.is-answer-target .baccarat-tableflow-result-grid,
.baccarat-tableflow-table .baccarat-settlement-dock.special.is-answer-target > button{animation:baccaratTableFlowCyanBlinkFilter 1.55s ease-in-out infinite!important}
.baccarat-tableflow-hand.is-presented .baccarat-tableflow-pair{position:relative;z-index:4}

/* v2.5.6 — LAB 07 SOFT CYAN GUIDANCE: reduced glow intensity and slower pulse for readability. */
/* Final soft-glow override: preserve guidance without overpowering cards/text. */
.baccarat-tableflow-hand.is-answer-target{
  border-color:rgba(100,220,234,.60)!important;
  box-shadow:0 0 0 1px rgba(69,205,220,.09),0 0 12px rgba(42,190,210,.18),inset 0 0 8px rgba(56,196,213,.025)!important;
}
.baccarat-tableflow-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-dock.is-answer-target,
.baccarat-tableflow-table .baccarat-settlement-bets.is-answer-target{
  border-color:rgba(100,220,234,.56)!important;
  box-shadow:0 0 0 1px rgba(69,205,220,.075),0 0 13px rgba(42,190,210,.16),0 8px 24px rgba(0,0,0,.38)!important;
}
.baccarat-tableflow-center.is-answer-target{
  border-color:rgba(100,220,234,.62)!important;
  color:#c6f8ff!important;
  box-shadow:0 0 11px rgba(42,190,210,.20)!important;
}
.baccarat-tableflow-card.is-actionable{filter:drop-shadow(0 0 4px rgba(74,213,230,.34))}
.baccarat-tableflow-card.is-actionable:after{
  border-color:rgba(100,220,234,.60)!important;
  box-shadow:0 0 8px rgba(42,190,210,.18)!important;
}
.baccarat-tableflow-bet.is-actionable{filter:drop-shadow(0 0 4px rgba(74,213,230,.32))}

/* ========================================================================== */
/* v2.6.0 — BACCARAT LAB 08 LIVE DEALER EXAM                                */
/* NO ASSIST: no LAB07 cyan guidance, score/correctness hidden during exam.   */
/* ========================================================================== */
body.baccarat-dealer-exam-active{overflow:hidden}
body.baccarat-dealer-exam-active #screen{height:calc(100dvh - max(4px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:hidden;padding-bottom:0}
body.baccarat-dealer-exam-active .baccarat-exam-screen{height:100%;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;overflow:hidden}
.baccarat-exam-screen .training-top{flex:0 0 42px;min-height:42px;padding:2px 5px 4px}
.baccarat-exam-screen .training-title strong{font-size:17px}.baccarat-exam-screen .training-title span{font-size:10px!important;letter-spacing:.05em}
.baccarat-exam-seed{font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:rgba(238,225,180,.72);white-space:nowrap}
.baccarat-exam-round{flex:0 0 42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:2px 5px 5px;padding:5px 10px;border:1px solid rgba(201,166,75,.30);border-radius:10px;background:rgba(10,16,18,.80)}
.baccarat-exam-round small{font-size:10px;font-weight:900;letter-spacing:.13em;color:rgba(232,216,174,.70)}
.baccarat-exam-round strong{font-size:17px;letter-spacing:.08em;color:#f3e5b7}.baccarat-exam-round span{text-align:right;font-size:10px;font-weight:850;color:rgba(220,230,225,.70)}
.baccarat-exam-wrap{flex:1 1 auto;min-height:0;margin:0 4px 4px!important;padding:3px!important;border-radius:12px!important}
.baccarat-exam-table{height:100%;min-height:0;border-radius:10px;overflow:hidden}
.baccarat-exam-table .baccarat-layout-fan{height:25%}.baccarat-exam-table .baccarat-layout-tie-payout{top:25%;font-size:10px!important}
.baccarat-exam-bets{height:25%}
.baccarat-exam-table .baccarat-tableflow-work{top:28%;height:205px}
.baccarat-exam-hand{height:205px!important;background:rgba(5,25,25,.72);border:1px solid rgba(212,181,101,.26)!important;box-shadow:inset 0 0 12px rgba(0,0,0,.18)!important;animation:none!important;filter:none!important;cursor:pointer}
.baccarat-exam-hand:hover,.baccarat-exam-hand:focus{border-color:rgba(226,194,112,.44)!important;box-shadow:inset 0 0 12px rgba(0,0,0,.18)!important}
.baccarat-exam-hand .baccarat-tableflow-cards{height:174px}
.baccarat-exam-hand.is-presented .baccarat-tableflow-pair{transform:translateY(-20px);position:relative;z-index:4}.baccarat-exam-hand.is-presented .baccarat-tableflow-card.third{transform:none!important}
.baccarat-exam-center{animation:none!important;filter:none!important;box-shadow:0 4px 14px rgba(0,0,0,.34)!important;border-color:rgba(222,190,108,.38)!important;color:#f0ddb0!important}
.baccarat-exam-bets .baccarat-tableflow-bet,.baccarat-exam-bets .baccarat-settlement-bet{filter:none!important;animation:none!important}
.baccarat-exam-empty-bets{opacity:.52}
.baccarat-exam-anomaly{z-index:18;box-shadow:0 0 0 2px rgba(255,94,82,.35),0 4px 18px rgba(0,0,0,.45)!important}.baccarat-exam-anomaly span{background:#a93e36!important;color:white!important}

.baccarat-exam-controls{position:absolute;z-index:40;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;padding:7px;border:1px solid rgba(211,178,94,.28);border-radius:12px;background:linear-gradient(180deg,rgba(9,19,19,.96),rgba(4,10,10,.98));box-shadow:0 10px 26px rgba(0,0,0,.48)}
.baccarat-exam-controls button{min-height:54px;border:1px solid rgba(210,179,101,.36);border-radius:9px;background:linear-gradient(180deg,rgba(42,49,43,.94),rgba(17,24,22,.98));color:#f2e4be;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:inherit;cursor:pointer;touch-action:manipulation;pointer-events:auto;position:relative;z-index:1}
.baccarat-exam-controls button span{font-size:14px;font-weight:950;letter-spacing:.08em}.baccarat-exam-controls button b{font-size:10px;font-weight:850;color:rgba(232,224,201,.72);letter-spacing:.03em}
.baccarat-exam-controls button:last-child{border-color:rgba(229,105,83,.38);color:#ffd6ca}
.baccarat-exam-controls button:active{transform:translateY(1px);filter:brightness(.93)}
.baccarat-exam-call-panel{position:absolute;z-index:52;left:8px;right:8px;bottom:76px;padding:9px;border:1px solid rgba(214,181,95,.46);border-radius:12px;background:linear-gradient(180deg,rgba(8,19,19,.99),rgba(3,10,10,.995));box-shadow:0 14px 34px rgba(0,0,0,.64)}
.baccarat-exam-call-head{height:28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.baccarat-exam-call-head small{font-size:11px;font-weight:950;letter-spacing:.12em;color:#ead79f}.baccarat-exam-call-head button{width:30px;height:28px;border:1px solid rgba(214,181,95,.28);border-radius:7px;background:rgba(255,255,255,.04);color:#eadbb2;font-size:18px}
.baccarat-exam-call-primary{width:100%;min-height:54px;border:1px solid rgba(218,184,94,.45);border-radius:9px;background:rgba(57,52,35,.80);color:#fff0c4;font:900 14px/1.15 inherit;letter-spacing:.04em}
.baccarat-exam-call-panel .baccarat-tableflow-number-grid button{min-height:40px;font-size:15px}
.baccarat-exam-call-panel .baccarat-tableflow-call-grid{grid-template-columns:1fr 1fr;gap:6px}.baccarat-exam-call-panel .baccarat-tableflow-call-grid button:last-child:nth-child(odd){grid-column:1/-1}.baccarat-exam-call-panel .baccarat-tableflow-call-grid button{min-height:48px;padding:5px 7px}.baccarat-exam-call-panel .baccarat-tableflow-call-grid button b{font-size:12px}.baccarat-exam-call-panel .baccarat-tableflow-call-grid button span{font-size:10px}
.baccarat-exam-call-panel .baccarat-tableflow-result-grid button{min-height:46px}.baccarat-exam-call-panel .baccarat-tableflow-result-grid button b{font-size:12px}.baccarat-exam-call-panel .baccarat-tableflow-result-grid button span{font-size:10px}
.baccarat-exam-payout{z-index:54!important;left:8px!important;right:8px!important;bottom:76px!important;max-height:235px;overflow:auto;border-color:rgba(214,181,95,.45)!important;animation:none!important;box-shadow:0 14px 34px rgba(0,0,0,.64)!important}
.baccarat-exam-payout .baccarat-settlement-chip-bank .casino-chip{width:44px;max-width:44px;flex-basis:44px}
.baccarat-exam-transition{z-index:70}

/* EXAM means no hint glow, even if a shared table-flow selector accidentally gains a target class. */
body.baccarat-dealer-exam-active .is-answer-target,body.baccarat-dealer-exam-active .is-actionable{animation:none!important;filter:none!important;outline:none!important}
body.baccarat-dealer-exam-active .is-answer-target{box-shadow:none!important}
body.baccarat-dealer-exam-active .context-training-help{display:none!important}

/* Result / review */
.baccarat-exam-result{max-width:1000px;margin:0 auto}.baccarat-exam-result-hero{border-color:rgba(219,180,81,.48)}
.baccarat-exam-result-hero.pass{box-shadow:inset 0 0 34px rgba(56,170,112,.07)}.baccarat-exam-result-hero.fail{box-shadow:inset 0 0 34px rgba(190,75,62,.07)}
.baccarat-exam-category-result{margin-top:10px;padding:12px}.baccarat-exam-category-result .kicker{margin-bottom:7px}.baccarat-exam-category-row{display:grid;grid-template-columns:1fr auto 52px;align-items:center;gap:10px;padding:8px 2px;border-top:1px solid rgba(255,255,255,.07)}.baccarat-exam-category-row span{font-size:12px;font-weight:850}.baccarat-exam-category-row b{font-size:13px;color:#ead597}.baccarat-exam-category-row em{font-size:11px;text-align:right;color:rgba(238,239,232,.72);font-style:normal}
.baccarat-exam-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.baccarat-exam-time-grid>div{padding:10px;text-align:center}.baccarat-exam-time-grid small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:rgba(232,220,183,.62)}.baccarat-exam-time-grid strong{display:block;margin-top:4px;font-size:16px}
.baccarat-exam-timeline{padding:12px}.baccarat-exam-timeline>div:not(.kicker){display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid rgba(255,255,255,.07)}.baccarat-exam-timeline span{font-size:11px;font-weight:900}.baccarat-exam-timeline b{font-size:11px}.baccarat-exam-timeline small{font-size:9px;color:rgba(232,231,215,.60)}
.baccarat-exam-review{padding:12px;margin-top:10px}.baccarat-exam-review>p{font-size:11px;color:rgba(235,233,216,.72)}.baccarat-exam-review-row{display:grid;grid-template-columns:110px 1fr 1.25fr 1.25fr;gap:8px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.07)}.baccarat-exam-review-row span{font-size:9px;font-weight:950;color:#e5c97d}.baccarat-exam-review-row.critical span{color:#ff8c78}.baccarat-exam-review-row b{font-size:10px}.baccarat-exam-review-row small,.baccarat-exam-review-row strong{font-size:10px;word-break:break-word}.baccarat-exam-review-row small{color:rgba(234,226,207,.68)}.baccarat-exam-review-row strong{color:#f0dc9d}.baccarat-exam-review-recommend{margin-top:10px;padding:10px;border:1px solid rgba(218,184,91,.26);border-radius:9px;text-align:center}.baccarat-exam-review-recommend small{display:block;font-size:9px;letter-spacing:.1em;color:rgba(232,218,179,.65)}.baccarat-exam-review-recommend b{display:block;margin-top:4px;font-size:13px;color:#ecd493}
.exam-standard-unified.baccarat{border-color:rgba(214,179,82,.34)}
.my-game-card.baccarat,.my-breakdown-card.baccarat,.my-stats-gamehead.baccarat{--game-accent:#d5b451}.my-game-card.baccarat .my-game-title>span,.my-stats-gamehead.baccarat>div>span{color:#e2c05b}
.baccarat-achievement-panel .achievement-master-emblem{color:#e2c05b}

@media(max-width:640px){
  .baccarat-exam-screen .training-top{flex-basis:38px;min-height:38px}.baccarat-exam-screen .training-title strong{font-size:15px}.baccarat-exam-screen .training-title span{font-size:9px!important}.baccarat-exam-seed{font-size:8px}
  .baccarat-exam-round{flex-basis:38px;margin:2px 3px 4px;padding:4px 8px}.baccarat-exam-round strong{font-size:15px}.baccarat-exam-round small,.baccarat-exam-round span{font-size:9px}
  .baccarat-exam-wrap{margin:0 2px 2px!important;padding:2px!important}.baccarat-exam-table .baccarat-layout-fan{height:23.5%}.baccarat-exam-table .baccarat-layout-tie-payout{top:23.5%}.baccarat-exam-bets{height:23.5%}.baccarat-exam-table .baccarat-tableflow-work{top:26.5%;height:188px}.baccarat-exam-hand{height:188px!important}.baccarat-exam-hand .baccarat-tableflow-cards{height:158px}
  .baccarat-exam-controls{left:5px;right:5px;bottom:5px;gap:5px;padding:5px}.baccarat-exam-controls button{min-height:48px}.baccarat-exam-controls button span{font-size:12px}.baccarat-exam-controls button b{font-size:9px}
  .baccarat-exam-call-panel{left:5px;right:5px;bottom:65px}.baccarat-exam-payout{left:5px!important;right:5px!important;bottom:65px!important}
  .baccarat-exam-time-grid{grid-template-columns:1fr 1fr}.baccarat-exam-review-row{grid-template-columns:1fr 1fr}.baccarat-exam-review-row span,.baccarat-exam-review-row b{font-size:9px}.baccarat-exam-review-row small,.baccarat-exam-review-row strong{font-size:9.5px}
}
@media(max-height:720px) and (max-width:640px){
  body.baccarat-dealer-exam-active{overflow:auto}body.baccarat-dealer-exam-active #screen{height:auto;min-height:100dvh;overflow:visible}body.baccarat-dealer-exam-active .baccarat-exam-screen{height:auto;min-height:760px;overflow:visible}
  .baccarat-exam-wrap{flex:0 0 640px!important;height:640px!important;min-height:640px!important}.baccarat-exam-table{height:636px!important;min-height:636px!important}
  .baccarat-exam-table .baccarat-tableflow-work{top:26%;height:184px}.baccarat-exam-hand{height:184px!important}.baccarat-exam-hand .baccarat-tableflow-cards{height:154px}
}

/* ======================================================================
   v2.6.1 — BACCARAT LAB PATH POLISH
   Uniform practical-card geometry + full-width final EXAM card.
   ====================================================================== */
/* LAB 02 / 03 / 04 use SVG mini-icons. Keep their visual box identical to
   the 24px text icons used by the other BACCARAT practical cards. */
.baccarat-grid .baccarat-item .tc-icon{
  height:24px;
  min-height:24px;
  display:flex;
  align-items:center;
}
.baccarat-grid .baccarat-item .tc-icon svg.lab-mini-icon{
  width:24px;
  height:24px;
}
/* Keep LAB 01–07 card shells the same height even when the title wraps. */
.baccarat-grid .baccarat-item .lab-path-card.training-card{
  min-height:160px;
}
/* LAB 08 matches the other games: one full-width FINAL CHALLENGE surface. */
.baccarat-final-challenge{
  border-color:rgba(239,199,72,.68);
  background:
    radial-gradient(circle at 83% 10%,rgba(246,207,82,.21),transparent 28%),
    radial-gradient(circle at 15% 88%,rgba(112,79,15,.28),transparent 34%),
    linear-gradient(145deg,#4d3810,#181208 70%);
}
.baccarat-final-challenge .lab-final-head>span{
  border-color:rgba(244,205,78,.52);
  background:rgba(237,194,64,.10);
}
.baccarat-final-challenge .lab-final-head h2,
.baccarat-final-challenge .lab-final-standard b,
.baccarat-final-challenge .lab-final-performance b{
  color:#f6d873;
}
.baccarat-final-challenge .lab-final-standard{
  border-color:rgba(239,199,72,.22);
  background:rgba(34,25,8,.42);
}
@media(max-width:380px){
  .baccarat-grid .baccarat-item .lab-path-card.training-card{min-height:156px}
}


/* =========================================================
   v3.0.1 BLACKJACK CLASSIC RESTORE — LAB01 prompt/input separation
   Keep the original HAND TOTAL mode; only repair compact-screen geometry.
   ========================================================= */
body.hand-total-active #screen{
  display:flex!important;
  flex-direction:column!important;
}
body.hand-total-active #screen>.training-top,
body.hand-total-active #screen>.session-metrics{
  flex:0 0 auto!important;
}
body.hand-total-active #screen>.hand-total-screen{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.hand-total-active .hand-question-compact{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  justify-content:center!important;
}
body.hand-total-active .hand-prompt{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:1!important;
  margin-bottom:7px!important;
  padding-bottom:2px!important;
}
body.hand-total-active .hand-answer-dock{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
}
body.hand-total-active .hand-answer-line{
  min-height:30px!important;
  height:auto!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
}
@media(max-height:740px){
  body.hand-total-active .hand-prompt{margin-bottom:4px!important}
  body.hand-total-active .hand-answer-line{min-height:28px!important}
}


/* =========================================================
   v3.0.2 — BLACKJACK LAB02 readability / LAB04 hand feedback
   ========================================================= */
/* Four-card PAYOUT hands: preserve each card's rank/suit reading area. */
.calc-hand-cards .dealt-payout.dealt-4 .dealt-card{margin-left:-20px!important}
.calc-hand-cards .dealt-payout.dealt-4 .dealt-card:first-child{margin-left:0!important}
@media(max-height:700px){
  .calc-hand-cards .dealt-payout.dealt-4 .dealt-card{margin-left:-16px!important}
  .calc-hand-cards .dealt-payout.dealt-4 .dealt-card:first-child{margin-left:0!important}
}

.settlement-hand-feedback{margin:8px;padding:10px;display:grid;gap:9px}
.settlement-feedback-table{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center;padding:7px 6px;border:1px solid rgba(216,179,91,.16);border-radius:12px;background:rgba(0,0,0,.16)}
.settlement-feedback-table>div:not(.settlement-feedback-vs){min-width:0}
.settlement-feedback-table small{display:block;font-size:8px;letter-spacing:.14em;color:var(--muted);font-weight:900}
.settlement-feedback-table b{display:block;margin-top:3px;color:var(--gold2);font:800 17px/1.1 var(--serif)}
.settlement-feedback-vs{font-size:9px;font-weight:900;color:rgba(237,207,121,.62)}
.settlement-feedback-cards{display:flex;justify-content:center;min-height:63px;margin-top:3px}
.settlement-feedback-cards .dealt-exam{display:flex;width:max-content;justify-content:flex-start}
.settlement-feedback-cards .dealt-card{position:relative;flex:none;margin-left:-22px;z-index:calc(10 + var(--deal-index));transform:translateY(calc(var(--deal-index) * 2px))}
.settlement-feedback-cards .dealt-card:first-child{margin-left:0;transform:none}
.settlement-feedback-cards .play-card{width:44px!important;height:64px!important;padding:3px!important;border-radius:6px!important;margin:0!important;transform:none!important}
.settlement-feedback-cards .rank{font-size:14px!important}.settlement-feedback-cards .suit{font-size:19px!important}
.settlement-feedback-compare{display:grid;gap:7px}
.settlement-feedback-row{display:grid;grid-template-columns:68px 1fr 20px 1fr;gap:6px;align-items:center;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.16)}
.settlement-feedback-row>span{font-size:8px;font-weight:1000;letter-spacing:.08em;color:#ead9a8}
.settlement-feedback-row div{min-width:0}
.settlement-feedback-row small{display:block;font-size:7px;letter-spacing:.12em;color:var(--muted)}
.settlement-feedback-row b,.settlement-feedback-row strong{display:block;margin-top:2px;font-size:12px;white-space:nowrap}
.settlement-feedback-row em{text-align:center;font-style:normal;color:rgba(237,207,121,.55)}
.settlement-feedback-row.ok{border-color:rgba(94,201,126,.32);background:rgba(30,103,52,.12)}
.settlement-feedback-row.ng{border-color:rgba(230,87,87,.30);background:rgba(124,35,35,.12)}
.settlement-feedback-row.ok strong{color:var(--success)}
.settlement-feedback-row.ng strong{color:var(--gold2)}
.settlement-feedback-reason{padding:9px 10px!important}
.settlement-feedback-reason small{display:block;font-size:7px;letter-spacing:.14em;color:var(--gold2);font-weight:900}
.settlement-feedback-reason p{margin:4px 0 0;font-size:10px;line-height:1.55;color:#eee5d1}
@media(max-height:700px){
  .settlement-hand-feedback{margin:4px 7px;padding:7px;gap:6px}
  .settlement-hand-feedback .feedback-banner{padding:6px!important}
  .settlement-hand-feedback .feedback-banner h1{font-size:22px!important}
  .settlement-hand-feedback .feedback-banner p{font-size:9px!important;margin-top:2px!important}
  .settlement-feedback-table{padding:4px 5px}
  .settlement-feedback-cards{min-height:54px}
  .settlement-feedback-cards .play-card{width:38px!important;height:55px!important}
  .settlement-feedback-cards .rank{font-size:12px!important}.settlement-feedback-cards .suit{font-size:16px!important}
  .settlement-feedback-row{padding:6px;grid-template-columns:60px 1fr 16px 1fr}
  .settlement-feedback-row b,.settlement-feedback-row strong{font-size:11px}
  .settlement-feedback-reason{padding:6px 8px!important}.settlement-feedback-reason p{font-size:9px;line-height:1.4}
  .settlement-hand-feedback .feedback-meta{margin-top:0!important}
}

/* ==========================================================================\n   v3.1.0 BLACKJACK DEALING SKILLS\n   Purpose-built interfaces; intentionally separate from LIVE DEALER EXAM UI.\n   ========================================================================== */
.bj-routine-screen,.bj-action-screen,.bj-skill-result{min-height:100%;padding:0 12px 14px;background:radial-gradient(circle at 50% -10%,rgba(221,183,82,.10),transparent 34%),linear-gradient(180deg,#0b0c10 0%,#111216 100%);color:#f5f1e8}
.bj-skill-top{margin:0 -2px 7px;padding:8px 2px 5px;border-bottom:1px solid rgba(221,183,82,.22)}
.bj-skill-top .training-title strong{font-size:13px;letter-spacing:.08em}.bj-skill-top .training-title span{font-size:9px;letter-spacing:.08em;color:#b7b1a6}
.bj-skill-stage{min-width:58px;text-align:right;font-size:9px;font-weight:800;letter-spacing:.06em;color:#e4c66e}
.bj-skill-progress{height:3px;margin:0 0 7px;background:#24252a;border-radius:99px;overflow:hidden}.bj-skill-progress i{display:block;height:100%;background:linear-gradient(90deg,#aa7d24,#f0d276);border-radius:inherit}
.bj-skill-card{position:relative;width:42px;height:58px;border-radius:5px;background:#f8f5ec;border:1px solid rgba(0,0,0,.22);box-shadow:0 4px 9px rgba(0,0,0,.27);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:4px;color:#151515;flex:0 0 auto}.bj-skill-card b{font-size:14px;line-height:1;font-weight:900}.bj-skill-card span{font-size:14px;line-height:1;margin-top:2px}.bj-skill-card.red{color:#c5262a}.bj-skill-card.back{background:repeating-linear-gradient(45deg,#20242c,#20242c 5px,#343b48 5px,#343b48 10px);color:#e6c665;align-items:center;justify-content:center;border-color:#d1af50}.bj-skill-card.back span{font-size:9px;font-weight:900;letter-spacing:.1em}.bj-skill-card.sideways{transform:rotate(90deg);margin:7px 7px}

/* INITIAL DEAL — DEALING RAIL */
.bj-routine-brief{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;margin-bottom:6px;border-left:3px solid #e1bd5d;background:#17191f;border-radius:6px}.bj-routine-brief small{font-size:8px;letter-spacing:.12em;color:#aaa49a}.bj-routine-brief h2{font-size:18px;line-height:1.05;margin:2px 0}.bj-routine-brief p{font-size:9px;margin:2px 0 0;color:#c8c2b7}.bj-routine-brief>span{font-size:23px;font-weight:900;color:#f1d277}.bj-routine-brief>span small{font-size:8px;display:block;text-align:right}
.bj-routine-order{display:flex;align-items:center;gap:8px;min-height:30px;padding:5px 9px;margin-bottom:6px;border:1px solid #2a2c33;background:#111318;border-radius:6px}.bj-routine-order small{font-size:8px;color:#8f8b84;white-space:nowrap}.bj-routine-order b{font-size:9px;letter-spacing:.04em;flex:1}.bj-routine-order em{font-style:normal;font-size:8px;color:#1b1b1b;background:#e1c05f;border-radius:99px;padding:3px 6px;font-weight:900}.bj-routine-order.guide{border-color:rgba(225,192,95,.45)}
.bj-routine-workbench{position:relative;padding:7px 7px 8px;border:1px solid #353741;border-radius:10px;background:linear-gradient(180deg,#171a21,#101217);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);overflow:hidden}.bj-routine-workbench:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:18px 18px;pointer-events:none}.bj-routine-shoe{position:absolute;right:8px;top:7px;width:52px;height:26px;border:1px solid #5a4b27;border-radius:5px;background:#0c0d11;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:3px;z-index:2}.bj-routine-shoe span{position:absolute;top:2px;left:4px;font-size:6px;letter-spacing:.12em;color:#b99c4e}.bj-routine-shoe i{display:block;width:10px;height:16px;background:#2b3039;border:1px solid #626a78;border-radius:2px}
.bj-routine-dealer-row{display:flex;justify-content:center;margin:0 60px 4px 0;position:relative;z-index:1}.bj-routine-player-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:relative;z-index:1}.bj-routine-divider{position:relative;height:21px;display:flex;align-items:center;justify-content:center;margin:1px 0 5px}.bj-routine-divider:before,.bj-routine-divider:after{content:"";height:1px;background:#34363f;flex:1}.bj-routine-divider span{font-size:7px;letter-spacing:.11em;color:#8d8981;padding:0 8px}
.bj-routine-station{appearance:none;border:1px solid #3b3e47;background:#1c1e25;border-radius:8px;min-height:91px;padding:5px;color:#f5f1e8;display:grid;grid-template-columns:25px 1fr;grid-template-rows:1fr 14px;align-items:center;gap:2px;position:relative;transition:.12s transform,.12s border-color,.12s background;text-align:left}.bj-routine-station:hover{border-color:#6c603d}.bj-routine-station:active{transform:scale(.985)}.bj-routine-station.dealer{width:122px;min-height:82px}.bj-routine-station.guided-target{border-color:#e6c85d;box-shadow:0 0 0 2px rgba(230,200,93,.13),0 0 18px rgba(230,200,93,.12)}.bj-routine-station.collected{opacity:.58;border-style:dashed}.bj-routine-station-label{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #353841;height:48px}.bj-routine-station-label small{font-size:5px;color:#8f8b84}.bj-routine-station-label b{font-size:18px;color:#dfc166}.bj-routine-card-slot{display:flex;align-items:center;justify-content:center;min-width:0;height:60px}.bj-routine-card-slot .bj-skill-card+ .bj-skill-card{margin-left:-13px}.bj-routine-station>em{grid-column:1/3;text-align:center;font-size:7px;font-style:normal;letter-spacing:.09em;color:#aaa59d}.bj-routine-empty-card{display:block;width:38px;height:54px;border:1px dashed #474a54;border-radius:5px}.bj-routine-collected{font-size:7px;letter-spacing:.12em;color:#8f8b84}.bj-routine-feedback{min-height:31px;margin-top:6px;border-radius:6px;padding:7px 9px;background:#17191e;border-left:3px solid #51472c;font-size:9px;display:flex;align-items:center;color:#bbb6ac}.bj-routine-feedback.error{border-left-color:#d34e55;color:#f3a7aa;background:#261517}.bj-routine-feedback.success{border-left-color:#4bbd82;color:#9de6bd;background:#112119}
.bj-routine-round-complete{margin:18px auto 0;max-width:340px;padding:22px 18px;border:1px solid rgba(228,194,89,.5);border-radius:12px;background:linear-gradient(145deg,#191b21,#101115);text-align:center;box-shadow:0 14px 40px rgba(0,0,0,.28)}.bj-routine-round-complete>span{font-size:9px;letter-spacing:.18em;color:#c7aa58}.bj-routine-round-complete>strong{display:block;font-size:54px;line-height:1;color:#f0d16e;margin:9px 0}.bj-routine-round-complete>p{font-size:11px;color:#c2bcb0;margin:0 0 12px}.bj-routine-round-mini{display:inline-flex;flex-direction:column;margin-bottom:14px;padding:7px 14px;border-radius:7px;background:#0d0e12}.bj-routine-round-mini b{font-size:16px}.bj-routine-round-mini small{font-size:6px;color:#908c85;letter-spacing:.1em}

/* PLAYER ACTION — RESPONSE WORKBENCH */
.bj-action-brief{display:grid;grid-template-columns:1.35fr .9fr;gap:7px;margin-bottom:7px}.bj-action-signal,.bj-action-reference{border-radius:8px;padding:8px 10px;background:#181a20;border:1px solid #343640}.bj-action-signal{border-left:3px solid #e3bf58}.bj-action-signal small,.bj-action-reference>small{font-size:7px;color:#8e8a83;letter-spacing:.13em}.bj-action-signal strong{display:block;font-size:22px;line-height:1;color:#f0d16e;margin:3px 0}.bj-action-signal span{font-size:8px;color:#b8b2a8}.bj-action-reference{display:flex;flex-direction:column;gap:4px}.bj-action-reference span{font-size:7px;color:#96918a}.bj-action-reference b{color:#eee9df;font-size:9px;margin-left:3px}
.bj-action-workbench{border:1px solid #393b45;border-radius:10px;background:linear-gradient(145deg,#171920,#101116);padding:7px;margin-bottom:7px}.bj-action-hand-panel{min-height:91px;border-radius:7px;background:#0e1014;padding:6px 9px;display:flex;flex-direction:column;justify-content:center}.bj-action-hand-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.bj-action-hand-head span{font-size:7px;color:#928e86;letter-spacing:.12em}.bj-action-hand-head em{font-size:6px;color:#79d5a4;font-style:normal;background:#10271a;padding:2px 5px;border-radius:99px}.bj-action-cards{display:flex;align-items:center;justify-content:center;min-height:61px}.bj-action-cards .bj-skill-card+.bj-skill-card{margin-left:5px}.bj-action-split-hands{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bj-action-split-hands>div{border:1px solid #30333b;border-radius:6px;padding:5px}.bj-action-split-hands small{display:block;text-align:center;font-size:6px;color:#8d8981;margin-bottom:3px}.bj-action-collected{height:61px;display:flex;align-items:center;justify-content:center;gap:8px;color:#81d7a7}.bj-action-collected span{font-size:22px}.bj-action-collected b{font-size:10px}
.bj-action-procedure{margin-top:6px}.bj-action-procedure>small{display:block;font-size:7px;color:#a09b92;letter-spacing:.1em;margin-bottom:5px}.bj-action-step-track{display:flex;gap:4px;overflow:hidden}.bj-action-step-track>span{flex:1;min-width:0;border:1px solid #30323a;border-radius:5px;padding:4px 3px;background:#14161b;display:flex;align-items:center;gap:4px;opacity:.58}.bj-action-step-track>span i{font-style:normal;width:16px;height:16px;border-radius:50%;background:#252832;display:grid;place-items:center;font-size:7px}.bj-action-step-track>span b{font-size:5.8px;line-height:1.05;white-space:normal}.bj-action-step-track>span.active{opacity:1;border-color:#d2ad4e;background:#211d12}.bj-action-step-track>span.active i{background:#d9b650;color:#151515}.bj-action-step-track>span.done{opacity:.85;border-color:#2f7650}.bj-action-step-track>span.done i{background:#2d8c5a;color:#fff}
.bj-action-choice-panel{border-radius:9px;background:#17191f;border:1px solid #343741;padding:7px}.bj-action-choice-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:6px}.bj-action-choice-head small{font-size:7px;letter-spacing:.11em;color:#8f8b84}.bj-action-choice-head b{font-size:8px;color:#d9b857}.bj-action-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bj-action-move{appearance:none;border:1px solid #3a3d46;border-radius:7px;background:#101216;color:#f5f0e6;min-height:49px;padding:5px 6px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:1fr 1fr;text-align:left;align-items:center}.bj-action-move span{grid-row:1/3;width:25px;height:25px;border-radius:6px;background:#242833;display:grid;place-items:center;color:#e5c45f;font-size:9px;font-weight:900}.bj-action-move b{font-size:7.4px;line-height:1.05}.bj-action-move small{font-size:5.8px;color:#88847c;letter-spacing:.04em}.bj-action-move:active{transform:scale(.985);border-color:#d6b452}.bj-action-feedback{min-height:32px;margin-top:6px;padding:7px 9px;border-radius:6px;background:#17191e;border-left:3px solid #51472c;font-size:8.5px;color:#b9b4aa;display:flex;align-items:center}.bj-action-feedback.error{border-left-color:#d34e55;color:#f2a5a9;background:#261517}.bj-action-feedback.success{border-left-color:#4bbd82;color:#9de6bd;background:#112119}
.bj-action-case-complete{margin:18px auto 0;max-width:340px;padding:20px 18px;text-align:center;border:1px solid rgba(223,189,80,.48);border-radius:12px;background:linear-gradient(145deg,#191b21,#101115)}.bj-action-signal-mini{display:inline-block;padding:4px 9px;border-radius:99px;background:#27200d;color:#efd06d;font-size:9px;font-weight:900;margin-bottom:7px}.bj-action-case-complete>span{display:block;font-size:8px;letter-spacing:.16em;color:#b99c4f}.bj-action-case-complete>strong{display:block;font-size:50px;line-height:1;color:#efd06d;margin:8px 0}.bj-action-case-complete>p{font-size:10px;color:#bbb5aa;margin:0 0 14px}

/* shared skill results */
.bj-skill-result-hero{margin:10px 0 8px;padding:15px;border:1px solid rgba(221,185,79,.45);border-radius:11px;background:linear-gradient(145deg,#1a1b20,#101115);text-align:center}.bj-skill-result-hero>div{display:flex;align-items:center;justify-content:center;gap:8px}.bj-skill-result-hero small{font-size:7px;letter-spacing:.13em;color:#9b968d}.bj-skill-result-hero strong{font-size:46px;color:#efd06b}.bj-skill-result-hero strong span{font-size:14px}.bj-skill-result-hero em{font-size:25px;font-style:normal;font-weight:900;color:#fff;border-left:1px solid #4b4638;padding-left:10px}.bj-skill-result-hero p{font-size:8px;color:#aaa49a;margin:3px 0 0}.bj-skill-result-grid,.bj-action-result-grid{display:grid;gap:6px;margin-bottom:8px}.bj-skill-result-grid{grid-template-columns:1fr 1fr}.bj-action-result-grid{grid-template-columns:repeat(5,1fr)}.bj-skill-result-grid section,.bj-action-result-grid section{padding:8px 5px;border:1px solid #34363e;border-radius:7px;background:#15171b;text-align:center}.bj-skill-result-grid small,.bj-action-result-grid small{display:block;font-size:6px;color:#928d85}.bj-skill-result-grid strong,.bj-action-result-grid strong{display:block;font-size:18px;color:#e8c75f;margin:2px 0}.bj-skill-result-grid span,.bj-action-result-grid span{font-size:6px;color:#817d77}.bj-skill-result-note{padding:10px;border-left:3px solid #d2ad4e;border-radius:6px;background:#17191e;margin-bottom:9px}.bj-skill-result-note b{font-size:10px}.bj-skill-result-note p{font-size:8px;color:#aaa49a;line-height:1.45;margin:4px 0 0}

@media (max-width:390px){
  .bj-routine-screen,.bj-action-screen,.bj-skill-result{padding-left:9px;padding-right:9px;padding-bottom:8px}.bj-skill-card{width:38px;height:52px;padding:3px}.bj-skill-card b,.bj-skill-card span{font-size:12px}.bj-routine-station{min-height:82px;padding:4px;grid-template-columns:22px 1fr}.bj-routine-station.dealer{min-height:76px;width:112px}.bj-routine-card-slot{height:54px}.bj-routine-empty-card{width:34px;height:48px}.bj-routine-station-label{height:43px}.bj-routine-brief h2{font-size:16px}.bj-action-signal strong{font-size:20px}.bj-action-move{min-height:45px}.bj-action-result-grid{gap:4px}.bj-action-result-grid section{padding:7px 2px}.bj-action-result-grid strong{font-size:15px}.bj-action-result-grid small{font-size:5.5px}.bj-action-result-grid span{font-size:5.3px}
}
@media (max-height:700px){
  .bj-skill-top{padding-top:5px;margin-bottom:4px}.bj-routine-brief,.bj-action-brief{margin-bottom:4px}.bj-routine-order{margin-bottom:4px;min-height:27px}.bj-routine-workbench{padding-top:5px;padding-bottom:5px}.bj-routine-station{min-height:76px}.bj-routine-card-slot{height:50px}.bj-skill-card{width:35px;height:48px}.bj-skill-card b,.bj-skill-card span{font-size:11px}.bj-routine-feedback,.bj-action-feedback{min-height:27px;padding-top:5px;padding-bottom:5px}.bj-action-workbench{padding:5px;margin-bottom:4px}.bj-action-hand-panel{min-height:78px}.bj-action-cards{min-height:52px}.bj-action-choice-panel{padding:5px}.bj-action-move{min-height:42px}.bj-action-procedure{margin-top:4px}.bj-action-step-track>span{padding-top:3px;padding-bottom:3px}
}

/* ==========================================================================
   v3.1.1 BLACKJACK SKILL LAB POLISH
   LAB05: dealer-perspective dealing rail / expanded workspace / answer glow
   LAB06: localized response bench / authentic blackjack card fan / answer glow
   ========================================================================== */
body.blackjack-deal-routine-active,
body.blackjack-action-response-active{overflow:hidden!important}
body.blackjack-deal-routine-active #bottomNav,
body.blackjack-action-response-active #bottomNav{display:none!important}
body.blackjack-deal-routine-active #screen,
body.blackjack-action-response-active #screen{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;padding:max(6px,env(safe-area-inset-top)) 7px max(6px,env(safe-area-inset-bottom))!important;
  display:flex!important;flex-direction:column!important;
}
.bj-routine-screen,.bj-action-screen{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0 7px 5px}
.bj-routine-screen .bj-skill-top,.bj-action-screen .bj-skill-top{flex:0 0 44px;min-height:44px;margin-bottom:5px;padding-top:3px}
.bj-routine-screen .bj-skill-progress,.bj-action-screen .bj-skill-progress{flex:0 0 3px;margin-bottom:5px}

/* LAB05 — dealer is physically nearest the user; players are on the far side. */
.bj-routine-brief{flex:0 0 auto;margin-bottom:5px;padding:5px 9px}
.bj-routine-order{flex:0 0 auto;margin-bottom:5px;min-height:29px}
.bj-routine-workbench.dealer-perspective{
  flex:1 1 auto;min-height:0;margin:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:7px 8px 6px;border-color:#3d414b;
  background:
    radial-gradient(ellipse at 50% 16%,rgba(29,93,73,.17),transparent 44%),
    linear-gradient(180deg,#171b20 0%,#101419 58%,#0d1014 100%);
}
.bj-routine-perspective{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;min-height:16px;text-align:center}
.bj-routine-perspective span{font-size:7px;font-weight:900;letter-spacing:.14em;color:#d2c18c}
.bj-routine-perspective small{font-size:5.5px;letter-spacing:.08em;color:#797c80}
.bj-routine-perspective.top{order:0;margin-bottom:3px}.bj-routine-player-row{order:1;flex:1 1 auto;align-items:stretch;gap:7px}
.bj-routine-divider{order:2;flex:0 0 25px;margin:3px 0}.bj-routine-dealer-row{order:3;flex:0 0 auto;justify-content:center;margin:0;padding:0 58px;z-index:3}
.bj-routine-perspective.bottom{order:4;margin-top:3px;min-height:15px}
.bj-routine-shoe{top:auto;bottom:22px;right:9px;width:54px;height:29px}
.bj-routine-station{min-height:104px;height:100%;padding:6px;grid-template-columns:27px 1fr;grid-template-rows:1fr 15px;background:linear-gradient(180deg,#1c2127,#161a20)}
.bj-routine-station.dealer{width:138px;min-height:94px;height:94px}
.bj-routine-card-slot{height:68px}.bj-routine-empty-card{width:40px;height:57px}
.bj-routine-station.answer-ready:not(.collected){
  border-color:rgba(86,218,255,.56);
  box-shadow:0 0 0 1px rgba(80,217,255,.12),0 0 15px rgba(55,200,255,.12),inset 0 0 14px rgba(52,188,235,.045);
  animation:bj-skill-answer-pulse 1.7s ease-in-out infinite;
}
.bj-routine-station.guided-target{
  border-color:#f0cf66!important;
  box-shadow:0 0 0 2px rgba(240,207,102,.19),0 0 22px rgba(240,207,102,.22),inset 0 0 14px rgba(240,207,102,.06)!important;
}
.bj-routine-feedback{flex:0 0 auto;margin-top:5px}

/* LAB06 — the hand is displayed in a blackjack down-left fan, not a horizontal row. */
.bj-action-brief{flex:0 0 auto;margin-bottom:5px;grid-template-columns:1.25fr 1fr}
.bj-action-signal,.bj-action-reference{padding:7px 9px}
.bj-action-workbench{flex:1 1 auto;min-height:0;margin-bottom:5px;padding:7px;display:flex;flex-direction:column;justify-content:space-between}
.bj-action-hand-panel{flex:1 1 auto;min-height:118px;padding:6px 9px;justify-content:flex-start;background:radial-gradient(ellipse at 50% 44%,rgba(28,92,69,.10),transparent 64%),#0e1014}
.bj-action-hand-head{flex:0 0 auto;margin-bottom:1px}
.bj-action-cards.authentic{position:relative;display:flex;align-items:center;justify-content:center;min-height:92px;height:100%;overflow:visible}
.bj-action-card-stack{position:relative;width:132px;height:96px;margin:0 auto;overflow:visible}
.bj-action-card-pos{position:absolute;left:calc(62px - var(--card-i) * 25px);top:calc(var(--card-i) * 16px);z-index:calc(4 + var(--card-i));transform-origin:center center}
.bj-action-card-pos.double-card{left:calc(56px - var(--card-i) * 25px);top:calc(var(--card-i) * 16px + 7px);transform:rotate(90deg);z-index:14}
.bj-action-card-pos.double-card .bj-skill-card{box-shadow:0 0 0 2px rgba(229,192,85,.20),0 5px 12px rgba(0,0,0,.33)}
.bj-action-split-hands{height:100%;min-height:92px;gap:8px;align-items:stretch}
.bj-action-split-hands>div{min-height:92px;display:flex;flex-direction:column;justify-content:flex-start;background:#0b0d10}
.bj-action-split-hands .bj-action-cards.authentic{min-height:75px}
.bj-action-split-hands .bj-action-card-stack{width:100px;height:75px}
.bj-action-split-hands .bj-action-card-pos{left:calc(45px - var(--card-i) * 20px);top:calc(var(--card-i) * 13px)}
.bj-action-procedure{flex:0 0 auto;margin-top:4px}
.bj-action-choice-panel.answer-zone{
  flex:0 0 auto;border-color:rgba(80,218,255,.52);
  box-shadow:0 0 0 1px rgba(80,218,255,.10),0 0 18px rgba(45,194,245,.10),inset 0 0 16px rgba(45,194,245,.035);
}
.bj-action-move.answer-ready{
  border-color:rgba(76,211,249,.53);background:linear-gradient(180deg,#11161b,#0e1216);
  box-shadow:0 0 12px rgba(53,198,242,.08),inset 0 0 12px rgba(53,198,242,.025);
  animation:bj-skill-answer-pulse 1.7s ease-in-out infinite;
}
.bj-action-move.answer-ready:hover,.bj-action-move.answer-ready:focus-visible{border-color:#73dcf7;box-shadow:0 0 0 2px rgba(91,220,251,.14),0 0 19px rgba(64,207,246,.18)}
.bj-action-move span{font-size:10px}.bj-action-move[data-bj-action-move="verifyDoubleBet"] span{font-size:12px;letter-spacing:-.05em}
.bj-action-feedback{flex:0 0 auto;margin-top:5px}
@keyframes bj-skill-answer-pulse{0%,100%{filter:brightness(.98)}50%{filter:brightness(1.12)}}

@media (max-width:390px){
  .bj-routine-screen,.bj-action-screen{padding-left:4px;padding-right:4px;padding-bottom:3px}
  .bj-routine-player-row{gap:5px}.bj-routine-station{min-height:98px;grid-template-columns:23px 1fr;padding:4px}.bj-routine-station.dealer{width:126px;min-height:88px;height:88px}.bj-routine-card-slot{height:62px}.bj-routine-dealer-row{padding:0 52px}.bj-routine-shoe{right:5px}
  .bj-action-card-stack{width:120px;height:90px}.bj-action-card-pos{left:calc(56px - var(--card-i) * 23px);top:calc(var(--card-i) * 15px)}.bj-action-card-pos.double-card{left:calc(51px - var(--card-i) * 23px);top:calc(var(--card-i) * 15px + 7px)}
  .bj-action-split-hands .bj-action-card-stack{width:90px}.bj-action-split-hands .bj-action-card-pos{left:calc(40px - var(--card-i) * 18px);top:calc(var(--card-i) * 12px)}
  .bj-action-move{min-height:47px}.bj-action-move b{font-size:7.1px}.bj-action-move small{font-size:5.5px}
}
@media (max-height:700px){
  .bj-routine-screen .bj-skill-top,.bj-action-screen .bj-skill-top{flex-basis:40px;min-height:40px;margin-bottom:3px;padding-top:2px;padding-bottom:3px}
  .bj-routine-screen .bj-skill-progress,.bj-action-screen .bj-skill-progress{margin-bottom:3px}
  .bj-routine-brief{padding:3px 7px;margin-bottom:3px}.bj-routine-brief h2{font-size:14px}.bj-routine-brief p{font-size:7.5px}.bj-routine-order{min-height:24px;margin-bottom:3px;padding:3px 7px}
  .bj-routine-workbench.dealer-perspective{padding:4px 5px 3px}.bj-routine-perspective{min-height:11px}.bj-routine-perspective small{display:none}.bj-routine-player-row{gap:4px}.bj-routine-station{min-height:78px}.bj-routine-station.dealer{min-height:72px;height:72px;width:116px}.bj-routine-card-slot{height:49px}.bj-routine-empty-card{width:32px;height:45px}.bj-routine-divider{flex-basis:17px;height:17px;margin:1px 0}.bj-routine-dealer-row{padding:0 48px}.bj-routine-shoe{bottom:17px;width:47px;height:24px}.bj-routine-feedback{min-height:25px;margin-top:3px;padding:4px 7px}
  .bj-action-brief{margin-bottom:3px}.bj-action-signal,.bj-action-reference{padding:5px 7px}.bj-action-signal strong{font-size:17px}.bj-action-workbench{padding:4px;margin-bottom:3px}.bj-action-hand-panel{min-height:88px;padding:3px 6px}.bj-action-cards.authentic{min-height:64px}.bj-action-card-stack{height:68px;width:108px}.bj-action-card-pos{left:calc(50px - var(--card-i) * 21px);top:calc(var(--card-i) * 13px)}.bj-action-card-pos.double-card{left:calc(46px - var(--card-i) * 21px);top:calc(var(--card-i) * 13px + 5px)}
  .bj-action-card-pos .bj-skill-card{width:34px;height:47px;padding:3px}.bj-action-card-pos .bj-skill-card b,.bj-action-card-pos .bj-skill-card span{font-size:10px}.bj-action-split-hands{min-height:68px}.bj-action-split-hands>div{min-height:68px;padding:3px}.bj-action-split-hands .bj-action-cards.authentic{min-height:54px}.bj-action-split-hands .bj-action-card-stack{height:54px;width:78px}.bj-action-split-hands .bj-action-card-pos{left:calc(35px - var(--card-i) * 16px);top:calc(var(--card-i) * 10px)}
  .bj-action-procedure{margin-top:2px}.bj-action-step-track>span{padding:2px}.bj-action-step-track>span b{font-size:5.2px}.bj-action-choice-panel{padding:4px}.bj-action-choice-head{margin-bottom:3px}.bj-action-choice-grid{gap:4px}.bj-action-move{min-height:39px;padding:3px 4px;grid-template-columns:24px 1fr}.bj-action-move span{width:22px;height:22px}.bj-action-move b{font-size:6.6px}.bj-action-move small{font-size:5px}.bj-action-feedback{min-height:24px;margin-top:3px;padding:4px 7px}
}

/* v3.1.1 visual scale refinement: use tall screens for larger physical cards,
   while the table/workbench—not oversized empty buttons—consumes the space. */
.bj-routine-player-row{flex:0 0 150px;align-items:stretch}
.bj-routine-dealer-row{flex-basis:110px;align-items:center}
.bj-routine-station{height:100%;min-height:0}
.bj-routine-station.dealer{height:100%;min-height:0}
.bj-routine-screen .bj-skill-card{width:52px;height:72px;padding:5px}
.bj-routine-screen .bj-skill-card b,.bj-routine-screen .bj-skill-card span{font-size:16px}
.bj-routine-card-slot{height:86px}.bj-routine-card-slot .bj-skill-card+.bj-skill-card{margin-left:-17px}
.bj-routine-empty-card{width:50px;height:70px}
.bj-action-screen .bj-action-card-pos .bj-skill-card{width:52px;height:72px;padding:5px}
.bj-action-screen .bj-action-card-pos .bj-skill-card b,.bj-action-screen .bj-action-card-pos .bj-skill-card span{font-size:16px}
.bj-action-card-stack{width:156px;height:122px}.bj-action-card-pos{left:calc(76px - var(--card-i) * 30px);top:calc(var(--card-i) * 20px)}
.bj-action-card-pos.double-card{left:calc(68px - var(--card-i) * 30px);top:calc(var(--card-i) * 20px + 8px)}
.bj-action-cards.authentic{min-height:124px}
.bj-action-split-hands .bj-action-card-stack{width:122px;height:98px}.bj-action-split-hands .bj-action-card-pos{left:calc(55px - var(--card-i) * 25px);top:calc(var(--card-i) * 16px)}
@media (max-height:700px){
  .bj-routine-player-row{flex-basis:88px}.bj-routine-dealer-row{flex-basis:72px}
  .bj-routine-screen .bj-skill-card{width:35px;height:48px;padding:3px}.bj-routine-screen .bj-skill-card b,.bj-routine-screen .bj-skill-card span{font-size:11px}.bj-routine-card-slot{height:50px}.bj-routine-card-slot .bj-skill-card+.bj-skill-card{margin-left:-12px}.bj-routine-empty-card{width:32px;height:45px}
  .bj-action-screen .bj-action-card-pos .bj-skill-card{width:34px;height:47px;padding:3px}.bj-action-screen .bj-action-card-pos .bj-skill-card b,.bj-action-screen .bj-action-card-pos .bj-skill-card span{font-size:10px}
  .bj-action-card-stack{height:68px;width:108px}.bj-action-card-pos{left:calc(50px - var(--card-i) * 21px);top:calc(var(--card-i) * 13px)}.bj-action-card-pos.double-card{left:calc(46px - var(--card-i) * 21px);top:calc(var(--card-i) * 13px + 5px)}.bj-action-cards.authentic{min-height:64px}
}


/* ==========================================================================
   v3.1.2 BLACKJACK LAB05/LAB06 VISIBILITY + RESPONSE EXPANSION
   - Header safe-area / clipping fix
   - Stronger answer-zone pulse
   - LAB05 shoe on dealer's LEFT
   - LAB06 INSURANCE / EVEN MONEY state presentation
   ========================================================================== */
.bj-routine-screen .bj-skill-top,.bj-action-screen .bj-skill-top{
  flex:0 0 50px;min-height:50px;padding:6px 2px 5px;margin-bottom:5px;
  align-items:center;overflow:visible;box-sizing:border-box;
}
.bj-routine-screen .bj-skill-top .training-title,.bj-action-screen .bj-skill-top .training-title{min-width:0;overflow:visible;padding-top:1px}
.bj-routine-screen .bj-skill-top .training-title strong,.bj-action-screen .bj-skill-top .training-title strong{line-height:1.16!important;padding-top:1px;overflow:visible}
.bj-routine-screen .bj-skill-top .training-title span,.bj-action-screen .bj-skill-top .training-title span{display:block;line-height:1.15;margin-top:2px}
.bj-routine-shoe{left:9px!important;right:auto!important}

.bj-routine-station.answer-ready:not(.collected){
  border-color:rgba(99,225,255,.82)!important;
  box-shadow:0 0 0 1px rgba(84,220,255,.24),0 0 22px rgba(49,205,255,.25),inset 0 0 18px rgba(57,207,255,.075)!important;
  animation:bj-answer-zone-blink 1.05s ease-in-out infinite!important;
}
.bj-routine-station.guided-target{
  animation:bj-answer-target-blink .86s ease-in-out infinite!important;
}
.bj-action-choice-panel.answer-zone{
  border-color:rgba(90,224,255,.78)!important;
  box-shadow:0 0 0 1px rgba(80,218,255,.18),0 0 24px rgba(45,194,245,.22),inset 0 0 18px rgba(45,194,245,.055)!important;
  animation:bj-answer-panel-blink 1.12s ease-in-out infinite;
}
.bj-action-move.answer-ready{
  border-color:rgba(89,223,255,.78)!important;
  box-shadow:0 0 16px rgba(53,198,242,.18),inset 0 0 14px rgba(53,198,242,.045)!important;
  animation:bj-answer-zone-blink 1.05s ease-in-out infinite!important;
}
@keyframes bj-answer-zone-blink{
  0%,100%{filter:brightness(.98);border-color:rgba(75,201,235,.56);box-shadow:0 0 0 1px rgba(80,217,255,.10),0 0 10px rgba(55,200,255,.08)}
  48%,52%{filter:brightness(1.22);border-color:rgba(124,235,255,.98);box-shadow:0 0 0 2px rgba(90,225,255,.24),0 0 28px rgba(54,208,255,.31),inset 0 0 18px rgba(63,215,255,.09)}
}
@keyframes bj-answer-target-blink{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 2px rgba(240,207,102,.18),0 0 15px rgba(240,207,102,.13)}
  50%{filter:brightness(1.2);box-shadow:0 0 0 3px rgba(255,221,112,.30),0 0 30px rgba(245,208,82,.34),inset 0 0 17px rgba(244,207,88,.10)}
}
@keyframes bj-answer-panel-blink{
  0%,100%{filter:brightness(.99)}50%{filter:brightness(1.08)}
}

.bj-action-special-strip{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 5px;padding:5px;border:1px solid rgba(201,172,81,.34);border-radius:7px;background:linear-gradient(180deg,#15171c,#101216)}
.bj-action-special-strip>span{min-width:0;padding:4px 5px;border-radius:5px;background:#0b0d11;text-align:center}
.bj-action-special-strip small{display:block;font-size:5.5px;line-height:1.1;color:#979189;letter-spacing:.07em}
.bj-action-special-strip b{display:block;margin-top:2px;font-size:8px;line-height:1.1;color:#eed06d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-action-special-strip.insurance{border-color:rgba(79,179,225,.36)}
.bj-action-special-strip.even-money{border-color:rgba(226,192,83,.44)}
.bj-action-status-badges{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}
.bj-action-status-badges em{font-size:5.2px!important;white-space:nowrap}
.bj-action-result-grid{grid-template-columns:repeat(4,1fr)}

@media (max-height:700px){
  .bj-routine-screen .bj-skill-top,.bj-action-screen .bj-skill-top{flex-basis:44px;min-height:44px;padding:4px 2px 3px;margin-bottom:3px}
  .bj-routine-screen .bj-skill-top .training-title strong,.bj-action-screen .bj-skill-top .training-title strong{font-size:12px!important;line-height:1.12!important}
  .bj-routine-screen .bj-skill-top .training-title span,.bj-action-screen .bj-skill-top .training-title span{font-size:7.5px!important;margin-top:1px}
  .bj-action-special-strip{margin-bottom:3px;padding:3px;gap:3px}
  .bj-action-special-strip>span{padding:3px 4px}.bj-action-special-strip small{font-size:4.8px}.bj-action-special-strip b{font-size:7px}
}

/* ==========================================================================
   v3.2.4 BLACKJACK LAB07 — DEALER ACTION
   Independent DEALER HAND STATION. No LIVE DEALER EXAM UI is reused.
   ========================================================================== */
body.blackjack-dealer-hand-active{overflow:hidden!important}
body.blackjack-dealer-hand-active #bottomNav{display:none!important}
body.blackjack-dealer-hand-active #screen{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;padding:max(6px,env(safe-area-inset-top)) 7px max(6px,env(safe-area-inset-bottom))!important;
  display:flex!important;flex-direction:column!important;
}
.bj-dealer-action-screen{
  height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;
  padding:0 7px 5px;color:#f5f1e8;
  background:radial-gradient(circle at 50% -12%,rgba(225,189,88,.10),transparent 34%),linear-gradient(180deg,#0b0c10,#111216);
}
.bj-dealer-action-screen .bj-skill-top{
  flex:0 0 50px;min-height:50px;margin:0 -2px 5px;padding:6px 2px 5px;
  align-items:center;overflow:visible;box-sizing:border-box;border-bottom:1px solid rgba(221,183,82,.22)
}
.bj-dealer-action-screen .bj-skill-top .training-title{min-width:0;overflow:visible;padding-top:1px}
.bj-dealer-action-screen .bj-skill-top .training-title strong{font-size:13px;line-height:1.16!important;letter-spacing:.07em;padding-top:1px;overflow:visible}
.bj-dealer-action-screen .bj-skill-top .training-title span{display:block;font-size:8.5px;line-height:1.15;margin-top:2px;color:#b7b1a6;letter-spacing:.08em}
.bj-dealer-action-screen .bj-skill-stage{min-width:62px;font-size:8.5px;color:#e5c86d;font-weight:900;text-align:right}
.bj-skill-progress{flex:0 0 3px}
.bj-dealer-action-screen .bj-skill-progress{height:3px;margin:0 0 5px;background:#24252a;border-radius:99px;overflow:hidden}
.bj-dealer-action-screen .bj-skill-progress i{display:block;height:100%;background:linear-gradient(90deg,#aa7d24,#f0d276);border-radius:inherit}

.bj-dealer-brief{
  flex:0 0 auto;display:grid;grid-template-columns:1fr 82px;gap:7px;align-items:stretch;
  margin-bottom:5px
}
.bj-dealer-brief>div,.bj-dealer-brief>span{
  border:1px solid #343740;border-radius:8px;background:#17191f;padding:7px 9px
}
.bj-dealer-brief>div{border-left:3px solid #e2bf5d;min-width:0}
.bj-dealer-brief small{display:block;font-size:6.5px;letter-spacing:.13em;color:#98938a}
.bj-dealer-brief h2{margin:2px 0 2px;font-size:17px;line-height:1.04;color:#f0d16e;letter-spacing:.03em}
.bj-dealer-brief p{margin:0;font-size:8.2px;line-height:1.28;color:#c2bcb1}
.bj-dealer-brief>span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.bj-dealer-brief>span b{font-size:22px;line-height:1;color:#f0d16e;margin-top:4px}

.bj-dealer-station{
  flex:0 0 auto;min-height:0;position:relative;overflow:hidden;
  border:1px solid #39424a;border-radius:11px;padding:8px 10px 7px;margin-bottom:5px;
  display:flex;flex-direction:column;justify-content:flex-start;gap:6px;
  background:
    radial-gradient(ellipse at 50% 38%,rgba(21,108,78,.21),transparent 56%),
    linear-gradient(180deg,#141a1c 0%,#0d1515 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),inset 0 -25px 50px rgba(0,0,0,.14)
}
.bj-dealer-station:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:22px 22px}
.bj-dealer-felt-label{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px}
.bj-dealer-felt-label span{font-size:7px;font-weight:900;letter-spacing:.16em;color:#e6c96d}
.bj-dealer-felt-label small{font-size:5.7px;letter-spacing:.07em;color:#8e938d;text-align:right}
.bj-dealer-card-stack{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap;min-height:98px;width:100%;margin:2px auto 0;overflow:visible}
.bj-dealer-card-pos{position:relative;left:auto;top:auto;z-index:auto;filter:drop-shadow(0 7px 8px rgba(0,0,0,.25))}
.bj-dealer-card-pos .bj-skill-card{width:62px;height:86px;padding:6px;border-radius:6px}
.bj-dealer-card-pos .bj-skill-card b,.bj-dealer-card-pos .bj-skill-card span{font-size:19px}
.bj-dealer-card-pos.hole-back .bj-skill-card{border-color:#e1bd59;box-shadow:0 0 0 1px rgba(225,189,89,.18),0 5px 12px rgba(0,0,0,.30)}
.bj-dealer-status-row{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:6px;min-height:28px;margin-top:-2px;flex-wrap:wrap}
.bj-dealer-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(91,221,255,.58);background:rgba(9,28,37,.9);font-size:5.6px;letter-spacing:.12em;color:#bfefff;box-shadow:0 0 12px rgba(45,194,245,.14)}
.bj-dealer-check-result{position:relative;z-index:3;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:5px 9px;border-radius:999px;border:1px solid rgba(103,212,159,.45);background:rgba(14,39,28,.92);text-align:center;box-shadow:0 0 12px rgba(83,205,143,.10)}
.bj-dealer-check-result.blackjack{border-color:rgba(235,196,83,.56);background:rgba(50,40,14,.94)}
.bj-dealer-check-result small{display:block;font-size:5.5px;letter-spacing:.12em;color:#99958d}
.bj-dealer-check-result b{display:block;margin-top:2px;font-size:10px;color:#99e2bc}
.bj-dealer-check-result.blackjack b{color:#f0d16e}
.bj-dealer-step-track{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:34px;margin-top:1px}
.bj-dealer-step-track span{min-width:0;border:1px solid #323740;border-radius:6px;background:#101418;padding:4px 3px;display:flex;align-items:center;gap:4px;color:#777b80}
.bj-dealer-step-track span i{flex:0 0 17px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#20252a;font-size:6px;font-style:normal;color:#90959b}
.bj-dealer-step-track span b{min-width:0;font-size:5.6px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-dealer-step-track span.active{border-color:rgba(85,215,251,.58);background:#111c21;color:#bfefff;box-shadow:inset 0 0 12px rgba(58,205,248,.06)}
.bj-dealer-step-track span.active i{background:#1b667d;color:#d9f8ff}
.bj-dealer-step-track span.done{border-color:rgba(86,194,129,.42);color:#9fddb9;background:#102019}
.bj-dealer-step-track span.done i{background:#205f3d;color:#c9f6db}

.bj-dealer-answer.answer-zone{
  flex:1 1 auto;min-height:178px;border:1px solid rgba(91,221,255,.82);border-radius:10px;padding:8px 8px;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#111820,#0d1217);
  box-shadow:0 0 0 1px rgba(80,218,255,.17),0 0 25px rgba(45,194,245,.22),inset 0 0 18px rgba(45,194,245,.05);
  animation:bj-answer-panel-blink 1s ease-in-out infinite
}
.bj-dealer-answer-head{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:7px}
.bj-dealer-answer-head small{font-size:6px;letter-spacing:.12em;color:#8e9296}.bj-dealer-answer-head b{font-size:6.8px;color:#bfefff;letter-spacing:.06em;text-align:left}
.bj-dealer-move-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;flex:1 1 auto;min-height:0}
.bj-dealer-move{appearance:none;min-width:0;min-height:78px;height:100%;border:1px solid rgba(88,221,255,.72);border-radius:9px;background:linear-gradient(180deg,#131b21,#0d1318);color:#f1eee6;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;box-shadow:0 0 13px rgba(49,201,243,.13),inset 0 0 12px rgba(58,205,248,.035);animation:bj-answer-zone-blink 1s ease-in-out infinite;transition:.12s transform,.12s border-color}
.bj-dealer-move:active{transform:scale(.97)}
.bj-dealer-move span{font-size:18px;line-height:1;font-weight:900;color:#f0d16e}
.bj-dealer-move b{font-size:12px;line-height:1.15;font-weight:800;letter-spacing:.01em;overflow-wrap:anywhere}
.bj-dealer-move small{font-size:7.2px;line-height:1.15;font-weight:600;color:#aab4b8;overflow-wrap:anywhere}
.bj-dealer-feedback{flex:0 0 auto;min-height:28px;margin-top:4px;border-radius:6px;padding:6px 8px;background:#17191e;border-left:3px solid #51472c;font-size:8.3px;line-height:1.25;display:flex;align-items:center;color:#bbb6ac}
.bj-dealer-feedback.error{border-left-color:#d34e55;color:#f3a7aa;background:#261517}
.bj-dealer-feedback.success{border-left-color:#4bbd82;color:#9de6bd;background:#112119}

.bj-dealer-case-complete{margin:18px auto 0;max-width:340px;width:100%;padding:23px 18px;border:1px solid rgba(228,194,89,.5);border-radius:12px;background:linear-gradient(145deg,#191b21,#101115);text-align:center;box-shadow:0 14px 40px rgba(0,0,0,.28)}
.bj-dealer-case-complete>small{font-size:8px;letter-spacing:.17em;color:#bba052}
.bj-dealer-case-complete>strong{display:block;font-size:26px;line-height:1.05;color:#f0d16e;margin:8px 0}
.bj-dealer-case-complete>div{display:inline-flex;align-items:baseline;gap:7px;padding:6px 12px;border-radius:7px;background:#0c0e12;margin-bottom:9px}
.bj-dealer-case-complete>div b{font-size:17px}.bj-dealer-case-complete>div span{font-size:6px;color:#8f8c84;letter-spacing:.08em}.bj-dealer-case-complete p{margin:0 0 13px;font-size:9px;color:#bbb5a9}
.bj-dealer-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:5px;margin:8px 0}
.bj-dealer-result-grid section{border:1px solid #33363f;border-radius:7px;background:#121419;padding:8px 3px;text-align:center}.bj-dealer-result-grid small{display:block;font-size:5.6px;letter-spacing:.06em;color:#9a958c}.bj-dealer-result-grid strong{display:block;font-size:16px;color:#efd06c;margin:2px 0}.bj-dealer-result-grid span{font-size:5.4px;color:#85817a}

@media (max-width:390px){
  .bj-dealer-action-screen{padding-left:4px;padding-right:4px;padding-bottom:3px}
  .bj-dealer-brief{grid-template-columns:1fr 74px;gap:5px}.bj-dealer-brief>div,.bj-dealer-brief>span{padding:6px 7px}.bj-dealer-brief h2{font-size:15px}.bj-dealer-brief p{font-size:7.6px}
  .bj-dealer-card-stack{min-height:92px;gap:7px}.bj-dealer-card-pos .bj-skill-card{width:58px;height:80px}
  .bj-dealer-move-grid{gap:6px}.bj-dealer-move{min-height:72px;padding-left:5px;padding-right:5px}.bj-dealer-move span{font-size:16px}.bj-dealer-move b{font-size:11px}.bj-dealer-move small{font-size:6.5px}
}
@media (max-height:700px){
  .bj-dealer-action-screen .bj-skill-top{flex-basis:42px;min-height:42px;padding:3px 2px;margin-bottom:3px}
  .bj-dealer-action-screen .bj-skill-top .training-title strong{font-size:11.5px}.bj-dealer-action-screen .bj-skill-top .training-title span{font-size:7.2px;margin-top:1px}.bj-dealer-action-screen .bj-skill-stage{font-size:7.5px}
  .bj-dealer-action-screen .bj-skill-progress{margin-bottom:3px}
  .bj-dealer-brief{grid-template-columns:1fr 68px;gap:4px;margin-bottom:3px}.bj-dealer-brief>div,.bj-dealer-brief>span{padding:4px 6px}.bj-dealer-brief h2{font-size:13px;margin:1px 0}.bj-dealer-brief p{font-size:6.8px;line-height:1.18}.bj-dealer-brief>span b{font-size:17px;margin-top:2px}.bj-dealer-brief small{font-size:5.5px}
  .bj-dealer-station{padding:5px 7px 4px;margin-bottom:3px}.bj-dealer-felt-label{min-height:14px}.bj-dealer-felt-label span{font-size:6px}.bj-dealer-felt-label small{font-size:4.8px}
  .bj-dealer-card-stack{min-height:72px;gap:6px;margin-top:0}.bj-dealer-card-pos .bj-skill-card{width:43px;height:60px;padding:4px}.bj-dealer-card-pos .bj-skill-card b,.bj-dealer-card-pos .bj-skill-card span{font-size:12px}
  .bj-dealer-status-row{min-height:21px;gap:4px}.bj-dealer-status-pill{font-size:4.7px;padding:3px 6px}
  .bj-dealer-check-result{min-width:72px;padding:3px 6px}.bj-dealer-check-result b{font-size:8px}.bj-dealer-check-result small{font-size:4.5px}
  .bj-dealer-step-track{min-height:26px;gap:3px;margin-top:1px}.bj-dealer-step-track span{padding:2px}.bj-dealer-step-track span i{width:14px;height:14px;flex-basis:14px;font-size:5px}.bj-dealer-step-track span b{font-size:4.8px}
  .bj-dealer-answer.answer-zone{min-height:132px;padding:5px 6px}.bj-dealer-answer-head{margin-bottom:4px}.bj-dealer-answer-head small{font-size:5.4px}.bj-dealer-answer-head b{font-size:6.2px}.bj-dealer-move-grid{gap:4px}.bj-dealer-move{min-height:54px;padding:4px 4px}.bj-dealer-move span{font-size:13.5px}.bj-dealer-move b{font-size:10.2px;line-height:1.13}.bj-dealer-move small{display:block;font-size:6.1px;line-height:1.1}
  .bj-dealer-feedback{min-height:24px;margin-top:3px;padding:4px 6px;font-size:6.9px}
  .bj-dealer-case-complete{margin-top:10px;padding:16px 14px}.bj-dealer-case-complete>strong{font-size:22px}.bj-dealer-case-complete p{font-size:8px}
}


/* v3.2.5 — PRODUCTION STABILITY / 375x667 NO-SCROLL OVERRIDES
   Restores the compact flex layouts after later readability passes introduced
   fixed heights / vertical scrolling on short phones. 390x844 is unaffected. */
@media(max-height:720px) and (max-width:640px){
  /* BLACKJACK LAB08: keep the complete live table and answer console in one viewport. */
  body.blackjack-live-dealer-exam-active{overflow:hidden!important}
  body.blackjack-live-dealer-exam-active #screen{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:4px 4px 3px!important}
  body.blackjack-live-dealer-exam-active .blackjack-live-exam-screen{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:0!important}
  .blackjack-live-exam-screen .bj-live-top{flex:0 0 42px!important;min-height:42px!important;padding:0 2px 3px!important;gap:5px!important}
  .blackjack-live-exam-screen .bj-live-top .back-link{font-size:12px!important;padding:3px!important;white-space:nowrap}
  .blackjack-live-exam-screen .bj-live-top .training-title{min-width:0}
  .blackjack-live-exam-screen .bj-live-top .training-title strong{font-size:12px!important;line-height:1.05!important;letter-spacing:.02em!important;white-space:nowrap!important}
  .blackjack-live-exam-screen .bj-live-top .training-title span{font-size:7px!important;line-height:1!important;white-space:nowrap!important}
  .blackjack-live-exam-screen .bj-live-top .dealer-exam-id-mini{font-size:6px!important;white-space:nowrap}
  .blackjack-live-exam-screen .bj-live-top .context-training-help{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important}
  .blackjack-live-exam-screen .bj-live-progress{flex:0 0 3px!important;margin:0 4px 3px!important}
  .blackjack-live-exam-screen .bj-live-status{flex:0 0 30px!important;margin:2px 4px 4px!important;gap:3px!important}
  .blackjack-live-exam-screen .bj-live-status span{padding:3px 2px!important}
  .blackjack-live-exam-screen .bj-live-status small{font-size:5.5px!important}.blackjack-live-exam-screen .bj-live-status b{font-size:7px!important;margin-top:1px!important}
  .blackjack-live-exam-screen .bj-live-table.dealer-view{flex:1 1 auto!important;height:auto!important;min-height:285px!important;margin:0 4px 4px!important;border-width:7px!important;border-bottom-width:9px!important}
  .blackjack-live-exam-screen .bj-live-console{position:static!important;flex:0 0 auto!important;margin:0 4px!important;padding:6px!important;max-height:145px!important;overflow:auto!important}
  .blackjack-live-exam-screen .bj-live-console h3{margin:2px 0 5px!important;font-size:10px!important;line-height:1.15!important}
  .blackjack-live-exam-screen .bj-live-choice-grid{gap:4px!important}.blackjack-live-exam-screen .bj-live-choice-grid button{min-height:39px!important;padding:5px 3px!important;font-size:7.5px!important}

  /* BACCARAT LAB01: horizontalize the rule strip and use the vertical budget for answers. */
  body.baccarat-card-value-active{overflow:hidden!important}
  body.baccarat-card-value-active #screen{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:5px 6px 4px!important}
  body.baccarat-card-value-active .baccarat-training-screen{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:0!important}
  body.baccarat-card-value-active .training-top{flex:0 0 40px!important;min-height:40px!important;padding:0 2px 3px!important}
  body.baccarat-card-value-active .training-title strong{font-size:18px!important;line-height:1.05!important}.baccarat-card-value-active .training-title span{font-size:8px!important}
  body.baccarat-card-value-active .baccarat-metrics{flex:0 0 42px!important;margin:3px 0 4px!important;gap:4px!important}
  body.baccarat-card-value-active .baccarat-metrics .metric{padding:4px!important}.baccarat-card-value-active .baccarat-metrics .metric label{font-size:7px!important}.baccarat-card-value-active .baccarat-metrics .metric strong{font-size:14px!important;margin-top:1px!important}
  body.baccarat-card-value-active .baccarat-value-table{flex:1 1 auto!important;min-height:0!important;padding:7px 8px 6px!important}
  body.baccarat-card-value-active .baccarat-value-table:before{inset:5px!important}
  body.baccarat-card-value-active .baccarat-lab-kicker{margin-bottom:3px!important}.baccarat-card-value-active .baccarat-lab-kicker span,.baccarat-card-value-active .baccarat-lab-kicker em{font-size:8px!important}
  body.baccarat-card-value-active .baccarat-question-copy{margin:1px auto 3px!important}.baccarat-card-value-active .baccarat-question-copy small{font-size:9px!important}.baccarat-card-value-active .baccarat-question-copy h1{font-size:17px!important;margin-top:2px!important}
  body.baccarat-card-value-active .baccarat-card-stage{min-height:120px!important;flex:1 1 auto!important;padding:2px 2px!important;gap:6px!important}
  body.baccarat-card-value-active .baccarat-card-stage .play-card{width:76px!important;height:106px!important}.baccarat-card-value-active .baccarat-card-stage .play-card .rank{font-size:22px!important}.baccarat-card-value-active .baccarat-card-stage .play-card .suit{font-size:26px!important;margin-top:11px!important}
  body.baccarat-card-value-active .baccarat-card-stage.single .baccarat-card-wrap{transform:scale(1)!important}
  body.baccarat-card-value-active .baccarat-rule-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;margin-top:2px!important}.baccarat-card-value-active .baccarat-rule-strip span{padding:4px 2px!important;font-size:7.5px!important;line-height:1.15!important}
  body.baccarat-card-value-active .baccarat-answer-panel{flex:0 0 122px!important;margin-top:4px!important;padding:6px 7px!important;border-radius:11px!important}
  body.baccarat-card-value-active .baccarat-answer-title{margin-bottom:4px!important}.baccarat-card-value-active .baccarat-answer-title span{font-size:9px!important}.baccarat-card-value-active .baccarat-answer-title small{font-size:8px!important}
  body.baccarat-card-value-active .baccarat-number-grid{gap:4px!important}.baccarat-card-value-active .baccarat-number-grid button{min-height:43px!important;font-size:19px!important;border-radius:8px!important}

  /* BACCARAT LAB07: re-enable the original fixed-viewport flex model. */
  body.baccarat-tableflow-active{overflow:hidden!important}
  body.baccarat-tableflow-active #screen{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:4px 3px 3px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-screen{height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:0!important}
  body.baccarat-tableflow-active .training-top{flex:0 0 31px!important;min-height:31px!important;padding:0 2px 2px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-screen .training-title strong{font-size:15px!important}.baccarat-tableflow-active .baccarat-tableflow-screen .training-title span{font-size:8px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-screen .baccarat-metrics{flex:0 0 31px!important;margin:1px 2px 2px!important;gap:3px!important}.baccarat-tableflow-active .baccarat-tableflow-screen .baccarat-metrics .metric{padding:2px!important}.baccarat-tableflow-active .baccarat-tableflow-screen .baccarat-metrics label{font-size:8px!important}.baccarat-tableflow-active .baccarat-tableflow-screen .baccarat-metrics strong{font-size:13px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-phasebar{flex:0 0 25px!important;margin:1px 3px 2px!important;padding:2px!important;gap:2px!important}.baccarat-tableflow-active .baccarat-tableflow-phasebar span{height:19px!important;font-size:7.5px!important;line-height:1!important;padding:0 1px!important;white-space:normal!important}
  body.baccarat-tableflow-active .baccarat-tableflow-instruction{flex:0 0 auto!important;min-height:38px!important;margin:0 3px 2px!important;padding:3px 7px!important}.baccarat-tableflow-active .baccarat-tableflow-instruction small{font-size:8px!important}.baccarat-tableflow-active .baccarat-tableflow-instruction h1{font-size:12.5px!important;margin:1px 0!important}.baccarat-tableflow-active .baccarat-tableflow-instruction p{display:none!important}.baccarat-tableflow-active .baccarat-tableflow-instruction em{font-size:7.5px!important;padding:3px 5px!important;bottom:2px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-wrap{flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:2px!important;border-radius:10px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-table{height:100%!important;min-height:0!important;border-radius:9px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-table .baccarat-layout-fan{height:23%!important}.baccarat-tableflow-active .baccarat-tableflow-table .baccarat-layout-tie-payout{top:23%!important;font-size:8px!important}.baccarat-tableflow-active .baccarat-tableflow-bets{height:23%!important}
  body.baccarat-tableflow-active .baccarat-tableflow-work{top:27%!important;height:25%!important}.baccarat-tableflow-active .baccarat-tableflow-hand-head small{font-size:8px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-dock.call button,body.baccarat-tableflow-active .baccarat-tableflow-dock.table-check button{height:37px!important}.baccarat-tableflow-active .baccarat-tableflow-dock.call small,.baccarat-tableflow-active .baccarat-tableflow-dock.table-check small{font-size:8px!important}.baccarat-tableflow-active .baccarat-tableflow-dock.call b,.baccarat-tableflow-active .baccarat-tableflow-dock.table-check b{font-size:14px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-dock.third{min-height:158px!important;padding:6px 7px!important}.baccarat-tableflow-active .baccarat-tableflow-call-grid{gap:4px!important}.baccarat-tableflow-active .baccarat-tableflow-call-grid button{min-height:37px!important;padding:4px!important}.baccarat-tableflow-active .baccarat-tableflow-call-grid button b{font-size:10px!important}.baccarat-tableflow-active .baccarat-tableflow-call-grid button span{font-size:8px!important}.baccarat-tableflow-active .baccarat-tableflow-call-grid button:last-child{min-height:35px!important}
  body.baccarat-tableflow-active .baccarat-tableflow-number-grid button{height:28px!important}.baccarat-tableflow-active .baccarat-tableflow-result-grid button{min-height:35px!important}.baccarat-tableflow-active .baccarat-tableflow-result-grid button b{font-size:9.5px!important}.baccarat-tableflow-active .baccarat-tableflow-result-grid button span{font-size:8px!important}

  /* BACCARAT LAB08: remove the historical 760/640px short-phone fixed heights. */
  body.baccarat-dealer-exam-active{overflow:hidden!important}
  body.baccarat-dealer-exam-active #screen{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:4px 3px 3px!important}
  body.baccarat-dealer-exam-active .baccarat-exam-screen{height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:0!important}
  body.baccarat-dealer-exam-active .baccarat-exam-screen .training-top{flex:0 0 38px!important;min-height:38px!important;padding:1px 4px 3px!important}
  body.baccarat-dealer-exam-active .baccarat-exam-round{flex:0 0 36px!important;margin:2px 3px 3px!important;padding:3px 7px!important}
  body.baccarat-dealer-exam-active .baccarat-exam-wrap{flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:0 2px 2px!important;padding:2px!important}
  body.baccarat-dealer-exam-active .baccarat-exam-table{height:100%!important;min-height:0!important}
  body.baccarat-dealer-exam-active .baccarat-exam-table .baccarat-tableflow-work{top:26%!important;height:174px!important}.baccarat-dealer-exam-active .baccarat-exam-hand{height:174px!important}.baccarat-dealer-exam-active .baccarat-exam-hand .baccarat-tableflow-cards{height:144px!important}
  body.baccarat-dealer-exam-active .baccarat-exam-controls{bottom:5px!important}.baccarat-dealer-exam-active .baccarat-exam-controls button{min-height:46px!important}
}


/* ============================================================
   v4.0.9 — APPROVED ORIENTATION ART / LANDSCAPE LEVEL-UP HARDENING
   Source: casino-dealer.jp American layout (2026-06-09)
   ============================================================ */
.home-game-card.roulette{border-color:rgba(213,168,75,.5)}
.lab-game-head.roulette-section-title{margin:0 0 9px;padding:0 2px 8px;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px;border:0;border-bottom:1px solid rgba(213,168,75,.18);background:transparent!important;box-shadow:none!important}
.my-stats-gamehead.roulette{background:linear-gradient(135deg,rgba(12,39,88,.94),rgba(7,18,42,.99));border-color:rgba(97,176,255,.4)}
.lab-game-head.roulette-section-title .lab-game-suit,.my-stats-gamehead.roulette span:first-child{color:#9dd8ff;border-color:rgba(110,190,255,.46)}
.roulette-lab-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;margin-bottom:14px;padding:10px 12px;border:1px solid rgba(91,170,255,.28);border-radius:10px;background:linear-gradient(135deg,rgba(11,37,82,.72),rgba(6,17,39,.88))}
.roulette-lab-note b{color:#a9dcff;font-size:9px;letter-spacing:.06em}.roulette-lab-note span{color:#bfd6ec;font-size:8px;text-align:right}
.roulette-lab-section .roulette-grid{margin-top:4px}
.roulette-grid .lab-path-card.training-card{border-color:rgba(91,170,255,.34);background:radial-gradient(circle at 88% 8%,rgba(92,164,232,.14),transparent 31%),linear-gradient(150deg,#112d5f,#0a1630 72%)}
.roulette-grid .lab-card-no{color:#88aee2}.roulette-grid .lab-card-status{border-color:rgba(91,170,255,.3);color:#8fd0ff;background:rgba(55,102,186,.15)}
.roulette-grid .lab-card-status.new{border-color:rgba(91,170,255,.22);color:#9abde8;background:rgba(91,170,255,.08)}
.roulette-grid .lab-path-card.training-card .tc-icon,.roulette-grid .lab-path-card.training-card h3,.my-stats-gamehead.roulette h2,.my-stats-gamehead.roulette b{color:#a9dcff}
.roulette-grid .lab-card-stats b{color:#9bd3ff}.roulette-grid .lab-review-link{border-color:rgba(91,170,255,.18);background:rgba(91,170,255,.06);color:#a9c6de}.roulette-grid .lab-review-link span,.roulette-grid .lab-review-link b{color:#8fd0ff}
.my-skill-grid.roulette-grid .my-skill-card{border-color:rgba(91,170,255,.22);background:linear-gradient(145deg,#10234a,#090e1b)}
.my-skill-grid.roulette-grid .my-skill-icon,.my-skill-grid.roulette-grid h3,.my-skill-grid.roulette-grid .my-skill-score strong{color:#a9dcff}
.my-skill-grid.roulette-grid .my-skill-state{border-color:rgba(91,170,255,.26);color:#8fd0ff;background:rgba(91,170,255,.07)}
body.roulette-bet-layout-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#07110e!important}
body.roulette-bet-layout-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;min-height:100dvh!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-bet-layout-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-bet-layout-active #screen{position:fixed!important;inset:0!important;margin:0!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;width:100vw!important;max-width:none!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-bet-layout-active .bottom-nav{display:none!important}body.roulette-bet-layout-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
.roulette-training-screen,.roulette-result-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:#f7f0d9;touch-action:manipulation}
.roulette-training-top{flex:0 0 38px;min-height:38px;display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:7px;padding:2px 7px 4px;border-bottom:1px solid rgba(218,181,85,.28);background:linear-gradient(180deg,rgba(12,24,20,.96),rgba(6,16,13,.96))}
.roulette-training-top .back-link{justify-self:start;min-width:0;padding:5px 7px;border:1px solid rgba(228,196,107,.3);border-radius:7px;background:rgba(255,255,255,.035);color:#d9c888;font-size:9px;font-weight:900;letter-spacing:.05em}.roulette-training-top>div{min-width:0;display:flex;align-items:baseline;gap:7px;white-space:nowrap;overflow:hidden}.roulette-training-top>div small{color:#8fb7a5;font-size:6.5px;font-weight:900;letter-spacing:.15em}.roulette-training-top>div b{overflow:hidden;text-overflow:ellipsis;color:#f0d47c;font-family:var(--serif);font-size:14px;line-height:1;letter-spacing:.07em}.roulette-training-top>span{color:#a6b8ae;font-size:7px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.roulette-workspace{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,72fr) minmax(178px,28fr);gap:5px;padding-top:5px;overflow:hidden}.roulette-table-pane{min-width:0;min-height:0;position:relative;display:flex;padding:5px;border:1px solid rgba(225,190,94,.42);border-radius:11px;background:radial-gradient(circle at 50% 45%,#0d6845 0,#075239 55%,#043626 100%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),inset 0 0 32px rgba(0,0,0,.32);overflow:hidden}.roulette-layout-board{position:relative;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;border:1px solid rgba(242,221,159,.9);background:rgba(2,70,45,.28);overflow:hidden;user-select:none;-webkit-user-select:none}
.roulette-layout-base{position:absolute;inset:0;display:grid;grid-template-rows:64fr 17fr 19fr;z-index:1;pointer-events:none;box-sizing:border-box;transform:rotate(180deg);transform-origin:50% 50%}.roulette-main-grid{display:grid;grid-template-columns:8fr repeat(12,7fr) 8fr;grid-template-rows:repeat(6,1fr);min-height:0;box-sizing:border-box}.roulette-zero,.roulette-number,.roulette-column-label{box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(248,235,192,.82);border-bottom:1px solid rgba(248,235,192,.82);color:#fff;font-family:Arial,sans-serif;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.75)}.roulette-zero{grid-column:1;font-size:14px;background:rgba(5,95,57,.58)}.roulette-zero.zero00{grid-row:1/4}.roulette-zero.zero0{grid-row:4/7}.roulette-number{font-size:9px;line-height:1;background:#171b1b}.roulette-number.red{background:#c92a2a}.roulette-number.black{background:#16191b}.roulette-column-label{grid-column:14;font-size:7px;letter-spacing:-.02em;writing-mode:vertical-rl;transform:none;background:rgba(2,57,40,.25)}.roulette-column-label.c1{grid-row:1/3}.roulette-column-label.c2{grid-row:3/5}.roulette-column-label.c3{grid-row:5/7}
.roulette-dozen-row,.roulette-outside-row{position:relative;display:grid;margin-left:8%;width:84%;min-width:0;box-sizing:border-box}.roulette-dozen-row{grid-template-columns:repeat(3,1fr)}.roulette-outside-row{grid-template-columns:repeat(6,1fr)}.roulette-dozen-row>div:not(.roulette-courtesy),.roulette-outside-row>div{box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#f8f1d9;font-weight:900;border-right:1px solid rgba(248,235,192,.82)}.roulette-dozen-row>div:first-child,.roulette-outside-row>div:first-child{border-left:1px solid rgba(248,235,192,.82)}.roulette-dozen-row>div:not(.roulette-courtesy){font-size:9px;letter-spacing:.04em;border-bottom:1px solid rgba(248,235,192,.82)}.roulette-outside-row>div{font-size:8.5px;letter-spacing:.03em}.roulette-courtesy{position:absolute;z-index:2;left:66.6667%;top:50%;transform:translate(-50%,-50%);width:12.5%;min-width:38px;height:75%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f1d78b!important;border-radius:3px;background:#07563b;box-shadow:0 1px 3px rgba(0,0,0,.55)}.roulette-courtesy small{font-size:4.4px;line-height:1;color:#dfca89;letter-spacing:.08em}.roulette-courtesy b{margin-top:2px;color:#fff;font-size:8px;line-height:1}.roulette-color-box.red{background:#c92a2a;color:#fff}.roulette-color-box.black{background:#16191b;color:#fff}
.roulette-chip-marker{position:absolute;z-index:4;display:grid;place-items:center;width:19px;height:19px;margin:-9.5px 0 0 -9.5px;border-radius:50%;border:2px solid #f5f2e7;box-shadow:0 3px 6px rgba(0,0,0,.44);font-size:0;font-weight:900;pointer-events:none}.roulette-chip-marker:after{content:'';position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),transparent 35%),linear-gradient(180deg,#f0d77d,#b8882f)}.roulette-chip-marker.question-chip{animation:rouletteMarkerGlow 1.2s ease-in-out infinite}.roulette-chip-marker.correct:after{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),transparent 35%),linear-gradient(180deg,#6ee49f,#178b52)}.roulette-chip-marker.wrong:after{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),transparent 35%),linear-gradient(180deg,#ff8a92,#b32c35)}.roulette-chip-marker em{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);padding:2px 5px;border-radius:999px;background:rgba(6,14,13,.92);border:1px solid rgba(255,255,255,.11);color:#fff7d4;font-size:5.5px;font-style:normal;line-height:1;white-space:nowrap;pointer-events:none}@keyframes rouletteMarkerGlow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,255,255,0))}50%{transform:scale(1.08);filter:drop-shadow(0 0 5px rgba(255,255,255,.35))}}
.roulette-hit-layer,.roulette-marker-layer{position:absolute;inset:0;z-index:3}.roulette-marker-layer{pointer-events:none;z-index:4}.roulette-hit-layer{pointer-events:auto}.roulette-hit{position:absolute;transform:translate(-50%,-50%);display:block;padding:0!important;margin:0!important;border:0!important;outline:none!important;background:transparent!important;border-radius:999px;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;opacity:0;cursor:pointer;color:transparent;font-size:0;line-height:0}.roulette-hit:hover,.roulette-hit:active,.roulette-hit:focus,.roulette-hit:focus-visible{border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;opacity:0}.roulette-hit::-moz-focus-inner{border:0;padding:0}
.roulette-progress-head{display:flex;justify-content:space-between;gap:6px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08)}.roulette-progress-head span{color:#8fb7a5;font-size:8px;font-weight:900;letter-spacing:.08em}.roulette-progress-head b{color:#fff8d6;font-size:10px;letter-spacing:.04em}.roulette-question-pane{min-width:0;min-height:0;display:flex;flex-direction:column;padding:8px 9px 6px;border:1px solid rgba(223,187,92,.34);border-radius:11px;background:linear-gradient(180deg,rgba(9,22,18,.97),rgba(5,13,11,.99));overflow:hidden}.roulette-question-pane.place{border-color:rgba(88,170,255,.34)}.roulette-mode-badge{align-self:flex-start;margin-top:6px;padding:3px 7px;border-radius:999px;background:rgba(236,198,95,.14);color:#f2d27e;font-size:6.2px;font-weight:950;letter-spacing:.14em}.roulette-mode-badge.place{background:rgba(93,171,255,.16);color:#92d3ff}.roulette-question-pane h1{margin:5px 0 3px;color:#fff;font-size:13px;line-height:1.3}.roulette-question-pane>p{margin:0;color:#bdd0c8;font-size:6.8px;line-height:1.35}.roulette-identify-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.roulette-identify-choices button{min-height:42px;padding:4px 3px;border:1px solid rgba(91,170,255,.42);border-radius:8px;background:linear-gradient(180deg,#5ea5e6,#3d79bf);color:#081321;font-size:8px;font-weight:950;letter-spacing:.02em;animation:rouletteBluePulse 1.25s ease-in-out infinite}.roulette-identify-choices button:nth-child(2){animation-delay:.15s}.roulette-identify-choices button:nth-child(3){animation-delay:.3s}.roulette-identify-choices button:nth-child(4){animation-delay:.45s}@keyframes rouletteBluePulse{0%,100%{box-shadow:0 0 0 rgba(102,203,255,0),0 0 0 rgba(102,203,255,0)}50%{box-shadow:0 0 0 1px rgba(102,203,255,.24),0 0 18px rgba(102,203,255,.22)}}@keyframes rouletteBlueFramePulse{0%,100%{box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),inset 0 0 32px rgba(0,0,0,.32),0 0 0 rgba(102,203,255,0),0 0 0 rgba(102,203,255,0)}50%{box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),inset 0 0 32px rgba(0,0,0,.32),0 0 0 1px rgba(102,203,255,.24),0 0 18px rgba(102,203,255,.18)}}.roulette-identify-choices button.is-correct{background:linear-gradient(180deg,#79e2a3,#2b9a60);border-color:rgba(120,232,168,.44);color:#04140c;animation:none}.roulette-identify-choices button.is-wrong{background:linear-gradient(180deg,#ff969a,#bb3038);border-color:rgba(210,52,61,.22);color:#ffc2c5;animation:none}.roulette-identify-choices button.is-muted{opacity:.42;animation:none}.roulette-place-guide{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:55px;margin-top:7px;border:1px dashed rgba(102,203,255,.5);border-radius:9px;color:#bfe8ff;font-size:8px;font-weight:900;letter-spacing:.04em;background:rgba(91,170,255,.06)}.roulette-question-pane.place .roulette-place-guide{animation:rouletteBluePulse 1.35s ease-in-out infinite}.roulette-table-pane.place{border-color:rgba(91,170,255,.55);animation:rouletteBlueFramePulse 1.6s ease-in-out infinite}.roulette-inline-feedback{margin-top:7px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.035)}.roulette-inline-feedback.correct{border-color:rgba(67,205,126,.48);background:rgba(31,154,88,.12)}.roulette-inline-feedback.wrong{border-color:rgba(235,83,90,.48);background:rgba(191,48,57,.12)}.roulette-inline-feedback>b{display:block;font-size:8px}.roulette-inline-feedback.correct>b{color:#75e7a7}.roulette-inline-feedback.wrong>b{color:#ff9499}.roulette-inline-feedback>span{display:block;margin-top:2px;color:#eee2c3;font-size:6.8px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roulette-inline-feedback>button{width:100%;min-height:31px;margin-top:5px;border:1px solid rgba(91,170,255,.4);border-radius:6px;background:linear-gradient(180deg,#5ea5e6,#417ec5);color:#081321;font-size:8px;font-weight:950;letter-spacing:.06em}.roulette-family{margin-top:auto;padding-top:5px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:6px}.roulette-family small{color:#80a9c9;font-size:5.8px;font-weight:900;letter-spacing:.12em}.roulette-family span{color:#d7e9f9;font-size:6.2px;font-weight:900}
.roulette-orientation-overlay{display:none}.roulette-portrait-reminder{display:none}
@media (orientation:portrait){body.roulette-bet-layout-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}.roulette-orientation-stage{position:relative;width:100vw;height:100dvh;padding:0;border:0;border-radius:0;background:#05080d;box-shadow:none;overflow:hidden}.roulette-orientation-bg{position:absolute;inset:-4%;display:block;width:108%;height:108%;object-fit:cover;object-position:center center;filter:blur(18px) saturate(1.05) brightness(.5);transform:scale(1.06)}.roulette-orientation-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,14,.16),rgba(4,8,14,.24) 42%,rgba(4,8,14,.48) 100%);z-index:1}.roulette-orientation-art{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;margin:0 auto;object-fit:contain;object-position:center center;transform:none}.roulette-orientation-copy{position:absolute;z-index:3;left:50%;right:auto;bottom:max(18px,env(safe-area-inset-bottom) + 8px);transform:translateX(-50%);width:min(calc(100vw - 28px), 720px);margin:0;padding:13px 14px 14px;border:1px solid rgba(115,192,255,.24);border-radius:16px;background:linear-gradient(180deg,rgba(7,14,24,.34),rgba(7,14,24,.78));box-shadow:0 10px 28px rgba(0,0,0,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center}.roulette-orientation-copy b{display:block;color:#fff;font-size:20px;line-height:1.35;text-shadow:0 1px 3px rgba(0,0,0,.65)}.roulette-orientation-copy small{display:block;margin-top:6px;color:#e2edf6;font-size:10px;line-height:1.5}}
@media (orientation:landscape) and (max-height:640px){.roulette-portrait-reminder{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d}.roulette-portrait-card{position:relative;width:100vw;height:100dvh;padding:0;border:0;border-radius:0;background:#05080d;box-shadow:none;overflow:hidden}.roulette-portrait-bg{position:absolute;inset:-4%;display:block;width:108%;height:108%;object-fit:cover;object-position:center center;filter:blur(18px) saturate(1.05) brightness(.5);transform:scale(1.06)}.roulette-portrait-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,14,.12),rgba(4,8,14,.22) 36%,rgba(4,8,14,.5) 100%);z-index:1}.roulette-portrait-close{position:absolute;z-index:4;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.56);color:#fff;font-size:20px;line-height:1}.roulette-portrait-art{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;margin:0 auto;object-fit:contain;object-position:center center;transform:none}.roulette-portrait-copy{position:absolute;z-index:3;left:50%;right:auto;bottom:max(16px,env(safe-area-inset-bottom) + 8px);transform:translateX(-50%);width:min(calc(100vw - 28px), 820px);margin:0;padding:11px 13px 12px;border:1px solid rgba(115,192,255,.22);border-radius:14px;background:linear-gradient(180deg,rgba(7,14,24,.32),rgba(7,14,24,.78));box-shadow:0 10px 28px rgba(0,0,0,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center}.roulette-portrait-copy b{display:block;color:#fff;font-size:18px;line-height:1.35;text-shadow:0 1px 3px rgba(0,0,0,.65)}.roulette-portrait-copy small{display:block;margin-top:5px;color:#e2edf6;font-size:9px;line-height:1.45}}
.roulette-result-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:32fr 68fr;grid-template-rows:minmax(0,1fr) auto auto;gap:7px;padding-top:6px;overflow:hidden}.roulette-result-hero,.roulette-result-grid>div,.roulette-result-actions,.roulette-result-review{border:1px solid rgba(225,190,94,.3);border-radius:10px;background:linear-gradient(180deg,rgba(13,31,25,.98),rgba(6,17,14,.98))}.roulette-result-hero{grid-row:1/4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}.roulette-result-hero small{color:#92aa9e;font-size:7px;font-weight:900;letter-spacing:.12em}.roulette-result-hero strong{margin-top:3px;color:#f4d77e;font-family:var(--serif);font-size:43px;line-height:.9}.roulette-result-hero strong em{font-size:15px;font-style:normal;color:#9d9f91}.roulette-result-hero>b{margin-top:6px;color:#fff;font-size:15px}.roulette-result-hero>span{margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(204,165,65,.13);color:#e7ca72;font-size:9px;font-weight:900}.roulette-result-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:0}.roulette-result-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;text-align:center}.roulette-result-grid small{color:#819d90;font-size:5.8px;font-weight:900;letter-spacing:.06em}.roulette-result-grid b{margin-top:2px;color:#fff;font-size:16px}.roulette-result-grid span{margin-top:1px;color:#d7c68f;font-size:7px}.roulette-result-review{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px}.roulette-result-review>div{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.roulette-result-review small{color:#819d90;font-size:5.8px;font-weight:900}.roulette-result-review b{color:#efcf74;font-size:9px}.roulette-result-review span{color:#cdbf91;font-size:6px}.roulette-result-review p{margin:0;color:#9bb0a6;font-size:6.2px;line-height:1.2;text-align:right}.roulette-result-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px}.roulette-result-actions button{min-height:34px;border:1px solid rgba(226,191,96,.35);border-radius:7px;background:rgba(255,255,255,.04);color:#e9ddbc;font-size:8px;font-weight:900}.roulette-result-actions button.primary{background:#b58e31;color:#07130e}
@media (orientation:landscape) and (max-height:440px){.roulette-training-top{flex-basis:32px;min-height:32px;grid-template-columns:68px minmax(0,1fr) auto;padding:1px 5px 3px}.roulette-training-top .back-link{padding:3px 5px;font-size:8px}.roulette-training-top>div small{font-size:5.5px}.roulette-training-top>div b{font-size:12px}.roulette-training-top>span{font-size:6px}.roulette-workspace{grid-template-columns:minmax(0,72fr) minmax(174px,28fr);gap:4px;padding-top:4px}.roulette-table-pane{padding:4px;border-radius:8px}.roulette-zero{font-size:12px}.roulette-number{font-size:8px}.roulette-column-label{font-size:6px}.roulette-dozen-row>div:not(.roulette-courtesy){font-size:7.5px}.roulette-courtesy{min-width:34px}.roulette-courtesy small{font-size:3.7px}.roulette-courtesy b{font-size:7px}.roulette-outside-row>div{font-size:7.5px}.roulette-color-box i{width:20px;height:12px}.roulette-chip-marker{width:16px;height:16px;border-width:1.5px}.roulette-chip-marker:after{inset:2.5px}.roulette-chip-marker em{font-size:4.8px;bottom:calc(100% + 2px)}.roulette-question-pane{padding:6px 7px 5px;border-radius:8px}.roulette-progress-head{padding-bottom:4px}.roulette-progress-head span{font-size:7px}.roulette-progress-head b{font-size:8px}.roulette-mode-badge{margin-top:4px;padding:2px 5px;font-size:5.7px}.roulette-question-pane h1{margin:4px 0 2px;font-size:11.5px}.roulette-question-pane>p{font-size:6.1px}.roulette-identify-choices{gap:4px;margin-top:5px}.roulette-identify-choices button{min-height:34px;padding:3px 2px;font-size:7.2px}.roulette-place-guide{min-height:38px;margin-top:4px;font-size:7px}.roulette-inline-feedback{margin-top:4px;padding:4px}.roulette-inline-feedback>b{font-size:7px}.roulette-inline-feedback>span{font-size:5.8px}.roulette-inline-feedback>button{min-height:26px;margin-top:3px;font-size:7px}.roulette-family{padding-top:3px}.roulette-family small{font-size:5px}.roulette-family span{font-size:5.4px}.roulette-result-main{gap:5px;padding-top:4px}.roulette-result-hero strong{font-size:36px}.roulette-result-grid{gap:4px}.roulette-result-grid b{font-size:13px}.roulette-result-actions button{min-height:29px}.roulette-result-review{padding:4px 7px}.roulette-result-review p{font-size:5.5px}.roulette-result-review b{font-size:8px}}
@media (max-width:640px) and (orientation:portrait){.home-game-card.roulette{grid-column:1/-1;min-height:150px}.roulette-lab-note{align-items:flex-start;flex-direction:column}.roulette-lab-note span{text-align:left}}

/* v4.1.0 — ROULETTE LAB02 TABLE OPEN & FLOAT */
body.roulette-table-open-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#07110e!important}
body.roulette-table-open-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;min-height:100dvh!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-table-open-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-table-open-active #screen{position:fixed!important;inset:0!important;margin:0!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;width:100vw!important;max-width:none!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-table-open-active .bottom-nav{display:none!important}body.roulette-table-open-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
.rto-workspace{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,71fr) minmax(188px,29fr);gap:5px;padding-top:5px;overflow:hidden}
.rto-stage{position:relative;min-width:0;min-height:0;display:flex;align-items:stretch;justify-content:stretch;padding:6px;border:1px solid rgba(91,170,255,.42);border-radius:11px;background:radial-gradient(circle at 50% 36%,#0d6048,#073e32 58%,#041d19);box-shadow:inset 0 0 30px rgba(0,0,0,.36);overflow:hidden}
.rto-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:8px;border:1px solid rgba(91,170,255,.34);border-radius:11px;background:linear-gradient(180deg,rgba(9,28,55,.98),rgba(4,13,29,.99));overflow:hidden}
.rto-phase{align-self:flex-start;margin-top:6px;padding:3px 7px;border:1px solid rgba(91,170,255,.34);border-radius:999px;background:rgba(91,170,255,.10);color:#91d2ff;font-size:6px;font-weight:950;letter-spacing:.12em}
.rto-panel h1{margin:6px 0 3px;color:#e8f5ff;font-family:var(--serif);font-size:14px;line-height:1.05}.rto-panel>p{margin:0;color:#a9c2d7;font-size:6.6px;line-height:1.38}.rto-rule{margin-top:7px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.035)}.rto-rule small{display:block;color:#7598b4;font-size:5px;font-weight:900;letter-spacing:.12em}.rto-rule b{display:block;margin-top:2px;color:#d8e8f5;font-size:6.1px;line-height:1.35}
.rto-feedback{margin-top:7px;padding:6px;border:1px solid rgba(255,255,255,.11);border-radius:8px}.rto-feedback b{display:block;font-size:7px;line-height:1.3}.rto-feedback.correct{border-color:rgba(66,207,128,.42);background:rgba(30,145,85,.14);color:#7fe8ae}.rto-feedback.wrong{border-color:rgba(239,79,91,.45);background:rgba(184,38,53,.14);color:#ff9aa2}.rto-feedback.info{border-color:rgba(91,170,255,.35);background:rgba(43,102,160,.12);color:#9dd7ff}.rto-feedback button{width:100%;min-height:28px;margin-top:5px;border:1px solid rgba(91,170,255,.4);border-radius:6px;background:linear-gradient(180deg,#5ea5e6,#417ec5);color:#081321;font-size:7px;font-weight:950;letter-spacing:.05em}
.rto-step-track{margin-top:auto;display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding-top:6px}.rto-step-track i{height:3px;border-radius:999px;background:rgba(255,255,255,.09)}.rto-step-track i.done{background:#3bbf7c}.rto-step-track i.active{background:#70bfff;box-shadow:0 0 7px rgba(112,191,255,.65)}
.rto-casino-table{position:relative;flex:1;display:grid;grid-template-columns:42% 58%;gap:10px;align-items:center;padding:12px;background:linear-gradient(150deg,rgba(4,93,62,.7),rgba(2,48,35,.6));border:1px solid rgba(243,224,165,.35);border-radius:12px}.rto-wheel-visual{position:relative;aspect-ratio:1;max-height:92%;justify-self:center;width:min(90%,280px);border:10px solid #5b3e22;border-radius:50%;background:repeating-conic-gradient(#c43135 0 9.7deg,#171a1c 9.7deg 19.4deg);box-shadow:inset 0 0 0 7px #d3a84c,inset 0 0 0 24px #0c6848,0 10px 30px rgba(0,0,0,.35)}.rto-wheel-visual:after{content:'';position:absolute;inset:28%;border-radius:50%;background:radial-gradient(circle,#d5b25e 0 14%,#654222 15% 34%,#0c593e 35% 100%);border:2px solid #e2c476}.rto-wheel-visual>span,.rto-wheel-visual>b{position:absolute;z-index:2;color:#fff}.rto-wheel-visual>span{top:7px;left:50%;transform:translateX(-50%);font-size:10px}.rto-wheel-visual>b{left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:.08em}.rto-chip-bank{position:relative;height:72%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #5a3c21;border-radius:10px;background:repeating-linear-gradient(90deg,rgba(235,214,155,.09) 0 9%,transparent 9% 18%),#111d19}.rto-chip-bank>b{color:#d9c784;font-size:13px;letter-spacing:.12em}.rto-cover{position:absolute!important;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:82%;min-height:48px;padding:8px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:10px!important;background:linear-gradient(145deg,#252d34,#0d1319)!important;color:#dbe4eb!important;font-size:8px!important;font-weight:950!important;box-shadow:0 8px 20px rgba(0,0,0,.5)!important}.rto-cover.removed{opacity:.32;border-style:dashed!important;background:rgba(255,255,255,.04)!important;color:#8cb39f!important}
.rto-equipment-grid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.rto-equipment-grid button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;border:1px solid rgba(117,183,225,.24);border-radius:10px;background:rgba(4,18,31,.66);color:#d8e8f4}.rto-equipment-grid button i{font-style:normal;font-size:25px;color:#d8ba67}.rto-equipment-grid button span{font-size:7px;font-weight:900;text-align:center}.rto-equipment-grid button em{position:absolute;right:6px;top:5px;color:#65e0a0;font-size:12px;font-style:normal}.rto-equipment-grid button.checked{border-color:rgba(72,214,140,.5);background:rgba(27,136,80,.14)}
.rto-date-card{position:absolute;z-index:3;left:12px;top:12px;width:62px;padding:7px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(5,14,22,.76);text-align:center}.rto-date-card small,.rto-date-card span{display:block;color:#86a9bf;font-size:5px;font-weight:900}.rto-date-card strong{display:block;color:#f5d477;font-size:23px;line-height:1}.rto-wheel{position:relative;flex:1;min-width:0;min-height:0;display:grid;place-items:center}.rto-wheel-center{position:absolute;z-index:1;width:150px;height:150px;border:8px solid #714c28;border-radius:50%;background:radial-gradient(circle,#d8b760 0 8%,#6b4829 9% 19%,#0a6044 20% 56%,#161b1b 57% 100%);box-shadow:inset 0 0 0 2px #e9d18d,0 8px 24px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.rto-wheel-center b{font-size:11px}.rto-wheel-center small{margin-top:4px;width:90px;color:#d2e6dd;font-size:5px;text-align:center}.rto-wheel-pockets{position:absolute;inset:5px 5px 44px 82px;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr);gap:3px;align-content:stretch}.rto-wheel-pockets button{position:relative;z-index:2;min-width:0;min-height:0;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:#161b1b;color:#fff;font-size:7px;font-weight:900}.rto-wheel-pockets button:nth-child(3n){background:#b72b30}.rto-wheel-pockets button.selected{outline:2px solid #5ee09c;background:#167d4d}.rto-spare{position:absolute;z-index:4;left:12px;bottom:12px;min-height:34px;padding:6px 9px;border:1px solid rgba(91,170,255,.35);border-radius:8px;background:rgba(5,28,54,.82);color:#a9dcff;font-size:7px;font-weight:900}.rto-spare.done{border-color:rgba(70,215,139,.45);color:#7de7aa;background:rgba(25,125,76,.2)}
.rto-float-head{position:absolute;left:12px;right:12px;top:10px;display:flex;justify-content:space-between;gap:10px}.rto-float-head span{color:#78c3f6;font-size:6px;font-weight:950;letter-spacing:.08em}.rto-float-head b{color:#dce9f1;font-size:7px}.rto-float-slots{position:absolute;left:12px;right:12px;top:35px;height:82px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.rto-float-slots>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(139,201,240,.26);border-radius:8px;background:rgba(0,0,0,.12)}.rto-float-slots>div.filled{border-style:solid;border-color:rgba(72,215,139,.4);background:rgba(28,127,79,.14)}.rto-float-slots small{height:9px;color:#73c6ff;font-size:5px}.rto-float-slots b{color:#eef7ff;font-size:11px}.rto-denom-bank{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.rto-denom-bank button{min-height:78px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(5,22,38,.76);color:#fff}.rto-denom-bank button i{display:block;width:34px;height:34px;margin:0 auto 4px;border:4px dashed #f1eee0;border-radius:50%;background:linear-gradient(145deg,#2a8bca,#145080)}.rto-denom-bank button b{display:block;font-size:9px}.rto-denom-bank button small{display:block;margin-top:2px;color:#8eacc1;font-size:4.5px}.rto-denom-bank button:disabled{opacity:.25}
.rto-partial{flex:1;display:grid;grid-template-columns:34% 66%;align-items:center;gap:8px}.rto-stack-visual{justify-self:center;width:130px;height:130px;border:1px solid rgba(224,198,112,.3);border-radius:50%;background:radial-gradient(circle at 35% 30%,#3c9ed8,#174e79 65%,#0b2941);box-shadow:inset 0 0 0 9px rgba(255,255,255,.12),0 10px 25px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center}.rto-stack-visual b{color:#fff;font-size:36px}.rto-stack-visual small{color:#c9dfed;font-size:7px}.rto-patterns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rto-patterns button{min-height:70px;border:1px solid rgba(91,170,255,.3);border-radius:9px;background:rgba(5,25,45,.72);color:#fff}.rto-patterns span{display:block;font-size:15px;font-weight:950}.rto-patterns small{display:block;margin-top:4px;color:#83bada;font-size:6px}
.rto-prove{flex:1;display:grid;grid-template-columns:32% 68%;gap:8px}.rto-prove-denoms{display:grid;grid-template-rows:repeat(5,1fr);gap:5px}.rto-prove-denoms button{border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(5,22,38,.7);color:#e7f2f8;font-size:9px;font-weight:900}.rto-prove-denoms button.selected{border-color:#64e09d;background:rgba(29,137,84,.18);color:#82e7b0}.rto-prove-stack{display:grid;grid-template-columns:45% 55%;align-items:center}.rto-chip-column{position:relative;justify-self:center;width:105px;height:150px}.rto-chip-column i{position:absolute;left:12px;bottom:calc(var(--i) * 5px);width:80px;height:13px;border:2px solid #e8e6da;border-radius:50%;background:#2c84be;box-shadow:0 1px 0 #0e3657}.rto-count-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.rto-count-options button{min-height:58px;border:1px solid rgba(91,170,255,.28);border-radius:8px;background:rgba(5,25,45,.7);color:#e9f5fb;font-size:9px;font-weight:950}.rto-count-options button.selected{border-color:#64e09d;background:rgba(29,137,84,.18);color:#82e7b0}
.rto-compare{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:end;padding:12px}.rto-compare>div,.rto-compare>button{height:90%;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(4,20,35,.64);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px}.rto-compare .reference{border-color:rgba(225,190,94,.4)}.rto-compare small{color:#8fb3c9;font-size:6px}.rto-compare b{font-size:13px}.rto-compare span{color:#d9c47d;font-size:6px}.mini-stack{width:62px;height:135px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start}.mini-stack i{width:54px;height:6px;margin-top:-1px;border:1px solid #d9e1e6;border-radius:50%;background:#2b7eb6}.rto-compare>button>b{margin-top:4px;color:#80cfff}
.rto-call{flex:1;display:grid;grid-template-columns:32% 68%;gap:8px}.rto-inventory{display:grid;grid-template-rows:repeat(3,1fr);gap:7px}.rto-inventory>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(225,190,94,.25);border-radius:9px;background:rgba(5,21,35,.7)}.rto-inventory b{color:#f1d57b;font-size:13px}.rto-inventory span{color:#b4c8d5;font-size:7px}.rto-call-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rto-call-options button{border:1px solid rgba(91,170,255,.3);border-radius:9px;background:rgba(5,25,45,.7);color:#eef7fb;font-size:9px;font-weight:950}
.rto-tis{flex:1;display:grid;grid-template-columns:62% 38%;gap:10px;align-items:center;padding:8px}.rto-tis-paper{height:92%;padding:12px;border:1px solid #d3cfb5;border-radius:4px;background:#eee9d9;color:#1d2529;box-shadow:0 8px 25px rgba(0,0,0,.3)}.rto-tis-paper>small{display:block;padding-bottom:8px;border-bottom:2px solid #28363c;font-size:9px;font-weight:950;letter-spacing:.08em}.rto-tis-paper>div{display:flex;justify-content:space-between;align-items:center;padding:10px 5px;border-bottom:1px solid rgba(20,30,35,.22)}.rto-tis-paper span{font-size:7px;font-weight:800}.rto-tis-paper b{font-size:13px}.rto-tis-paper .mismatch b{color:#b51f2f}.rto-tis-paper .match b{color:#137346}.rto-tis-actions{display:grid;grid-template-rows:1fr 1fr;gap:10px}.rto-tis-actions button{min-height:70px;border:1px solid rgba(91,170,255,.3);border-radius:9px;background:rgba(5,25,45,.72);color:#eaf6fd;font-size:10px;font-weight:950}.rto-tis-actions button.primary{background:linear-gradient(180deg,#4f97d2,#2d649c);color:#071421}.rto-tis-actions button:disabled{opacity:.45}
.rto-drop{flex:1;display:grid;grid-template-columns:28% 72%;gap:10px;align-items:center;padding:12px}.rto-signed-paper{justify-self:center;width:115px;height:150px;padding:14px;border-radius:4px;background:#eee9d9;color:#1d2529;box-shadow:0 10px 28px rgba(0,0,0,.32);display:flex;flex-direction:column;align-items:center;justify-content:center}.rto-signed-paper small{font-size:13px;font-weight:950}.rto-signed-paper b{margin-top:10px;color:#1b7a4d;font-size:12px}.rto-drop-targets{height:78%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rto-drop-targets button{border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(5,22,38,.72);color:#eaf4fa;font-size:9px;font-weight:950}.rto-drop-targets .dropbox{border-color:rgba(225,190,94,.5);background:linear-gradient(180deg,#392d16,#161208);color:#f2d47b}.rto-drop-targets .dropbox i{display:block;margin-top:9px;font-style:normal;font-size:28px}
@media (orientation:portrait){body.roulette-table-open-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (orientation:landscape) and (max-height:420px){.rto-workspace{grid-template-columns:minmax(0,72fr) minmax(184px,28fr);gap:4px;padding-top:4px}.rto-stage{padding:4px;border-radius:8px}.rto-panel{padding:6px 7px;border-radius:8px}.rto-phase{margin-top:4px;padding:2px 5px;font-size:5px}.rto-panel h1{margin:4px 0 2px;font-size:11.5px}.rto-panel>p{font-size:5.6px}.rto-rule{margin-top:5px;padding:4px}.rto-rule small{font-size:4.4px}.rto-rule b{font-size:5.3px}.rto-feedback{margin-top:5px;padding:4px}.rto-feedback b{font-size:6px}.rto-feedback button{min-height:25px;margin-top:3px;font-size:6px}.rto-step-track{padding-top:4px}.rto-equipment-grid{gap:5px}.rto-equipment-grid button i{font-size:20px}.rto-equipment-grid button span{font-size:6px}.rto-wheel-center{width:125px;height:125px}.rto-wheel-pockets{inset:4px 4px 38px 72px;gap:2px}.rto-wheel-pockets button{font-size:6px}.rto-date-card{left:8px;top:8px;width:54px;padding:5px}.rto-date-card strong{font-size:19px}.rto-spare{left:8px;bottom:8px;min-height:29px;font-size:6px}.rto-float-head{left:8px;right:8px;top:7px}.rto-float-slots{left:8px;right:8px;top:28px;height:65px}.rto-denom-bank{left:8px;right:8px;bottom:8px}.rto-denom-bank button{min-height:62px}.rto-denom-bank button i{width:27px;height:27px}.rto-stack-visual{width:105px;height:105px}.rto-stack-visual b{font-size:30px}.rto-patterns button{min-height:57px}.rto-prove-stack{grid-template-columns:42% 58%}.rto-chip-column{height:118px;width:86px}.rto-chip-column i{left:8px;width:68px;height:10px;bottom:calc(var(--i) * 4px)}.rto-count-options button{min-height:46px}.mini-stack{height:105px}.mini-stack i{height:5px}.rto-tis-paper{padding:8px}.rto-tis-paper>div{padding:7px 4px}.rto-tis-actions button{min-height:55px}.rto-signed-paper{width:95px;height:120px}.rto-drop-targets{height:72%}}


/* v4.1.5 — ROULETTE LAB02 STEP3 / PWA sync fix */
.roulette-grid .lab-path-card.training-card{min-height:142px}
.roulette-grid .lab-path-card.training-card>small{min-height:22px}
.rto-workspace{grid-template-columns:minmax(0,70fr) minmax(220px,30fr);gap:8px;padding-top:6px}
.rto-stage{padding:8px;border-radius:12px}
.rto-panel{padding:10px;border-radius:12px}
.rto-phase{margin-top:7px;padding:4px 8px;font-size:7.4px}
.rto-panel h1{margin:7px 0 4px;font-size:18px;line-height:1.08}
.rto-panel>p{font-size:8.2px;line-height:1.42}
.rto-rule{margin-top:8px;padding:7px 8px}
.rto-rule small{font-size:5.8px}.rto-rule b{font-size:7.2px;line-height:1.4}
.rto-feedback{margin-top:8px;padding:7px}.rto-feedback b{font-size:8px;line-height:1.35}.rto-feedback button{min-height:32px;font-size:8px}
.rto-step-track{padding-top:7px}.rto-step-track i{height:4px}
.rto-stage [data-rto-action]:not([disabled]){box-shadow:0 0 0 1px rgba(98,190,255,.28),0 0 14px rgba(77,164,255,.2);animation:rtoPulse 1.65s ease-in-out infinite}
.rto-stage [data-rto-action].selected,.rto-stage [data-rto-action].checked,.rto-stage [data-rto-action].done{animation:none}
@keyframes rtoPulse{0%,100%{box-shadow:0 0 0 1px rgba(98,190,255,.24),0 0 10px rgba(77,164,255,.14)}50%{box-shadow:0 0 0 2px rgba(123,211,255,.55),0 0 20px rgba(109,183,255,.38)}}
.rto-equipment-grid button span{font-size:8px}
.rto-casino-table{padding:14px}
.rto-chip-bank>b{font-size:14px}
.rto-cover{font-size:9px!important;min-height:54px}
.rto-ball-scene{flex:1;min-height:0;display:grid;grid-template-columns:43% 57%;gap:10px}
.rto-ball-left,.rto-ball-right{position:relative;min-height:0;border:1px solid rgba(244,223,165,.28);border-radius:12px;background:rgba(4,24,20,.26);overflow:hidden}
.rto-ball-left{padding:8px}
.rto-ball-right{padding:8px 8px 6px;background:rgba(3,28,50,.24)}
.rto-ball-layout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px}
.rto-ball-layout-head b{color:#eef7ff;font-size:10px;letter-spacing:.06em}.rto-ball-layout-head span{color:#99b7cb;font-size:6px;text-align:right}
.rto-ball-layout-wrap{position:relative;height:calc(100% - 28px);display:flex;align-items:center;justify-content:center}
.rto-ball-layout-shell{position:relative;width:100%;height:100%;border:1px solid rgba(249,231,183,.25);border-radius:10px;background:linear-gradient(180deg,rgba(11,92,63,.72),rgba(6,57,40,.88));overflow:hidden}
.rto-ball-layout-shell .roulette-layout-base{inset:8px}
.rto-wheel-center small{font-size:6px;width:100px}
.rto-wheel-pockets button{font-size:8px}
.rto-date-card{width:72px;padding:8px}.rto-date-card small,.rto-date-card span{font-size:6px}.rto-date-card strong{font-size:26px}
.rto-spare{min-height:38px;font-size:8px}
.rto-float-head span{font-size:6.8px}.rto-float-head b{font-size:8px}
.rto-float-slots b{font-size:12px}.rto-float-slots small{font-size:5.4px}
.rto-denom-bank button{min-height:90px;padding:6px 4px}.rto-denom-bank button i{display:inline-block;width:26px;height:26px;margin:0 1px 4px;border:3px dashed rgba(245,240,222,.92);border-radius:50%}
.rto-denom-bank button b{font-size:10px}.rto-denom-bank button small{font-size:5.4px}
.rto-denom-bank .chip-purple i{background:linear-gradient(145deg,#8f57d6,#4c287a)}
.rto-denom-bank .chip-blackgold i{background:linear-gradient(145deg,#2a2a2d,#0d0d10);border-color:#d8ba67}
.rto-denom-bank .chip-orange i{background:linear-gradient(145deg,#da8d34,#7b4509)}
.rto-denom-bank .chip-green i{background:linear-gradient(145deg,#1aa35e,#0a5530)}
.rto-denom-bank .chip-blue i{background:linear-gradient(145deg,#3b96e1,#0f4c7c)}
.rto-stack-visual small{font-size:8px}.rto-patterns span{font-size:16px}.rto-patterns small{font-size:7px}
.rto-prove-denoms button{font-size:10px}.rto-count-options button{font-size:10px}
.rto-guide-banner{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;padding:7px 8px;border:1px solid rgba(105,184,255,.24);border-radius:9px;background:rgba(9,26,45,.46)}
.rto-guide-banner b{color:#dff0ff;font-size:8.2px;line-height:1.35}.rto-guide-banner span{color:#9fc5e2;font-size:7px;line-height:1.42}
.rto-compare-wrap,.rto-call-wrap{flex:1;display:flex;flex-direction:column;min-height:0}
.rto-compare{flex:1;align-items:stretch;padding:4px 0 0}.rto-compare>div,.rto-compare>button{height:auto;min-height:0}
.rto-compare small{font-size:7px}.rto-compare b{font-size:14px}.rto-compare span{font-size:7px}.mini-stack{height:140px}.mini-stack i{width:56px;height:6px}
.rto-inventory b{font-size:14px}.rto-inventory span{font-size:7.6px}.rto-call-options button{font-size:10px;padding:6px}
.rto-tis-paper>small{font-size:10px}.rto-tis-paper span{font-size:8px}.rto-tis-paper b{font-size:14px}.rto-tis-actions button{font-size:10.5px}
.rto-final-table{flex:1;display:grid;grid-template-columns:32% 68%;grid-template-rows:42% 58%;gap:10px;padding:10px;background:linear-gradient(150deg,rgba(4,93,62,.78),rgba(2,48,35,.66));border:1px solid rgba(243,224,165,.35);border-radius:12px}
.rto-final-wheel{position:relative;grid-column:1;grid-row:1 / span 2;align-self:center;justify-self:center;aspect-ratio:1;width:min(92%,220px);border:10px solid #5b3e22;border-radius:50%;background:repeating-conic-gradient(#c43135 0 9.7deg,#171a1c 9.7deg 19.4deg);box-shadow:inset 0 0 0 7px #d3a84c,inset 0 0 0 24px #0c6848,0 10px 30px rgba(0,0,0,.35)}
.rto-final-wheel:after{content:'';position:absolute;inset:28%;border-radius:50%;background:radial-gradient(circle,#d5b25e 0 14%,#654222 15% 34%,#0c593e 35% 100%);border:2px solid #e2c476}.rto-final-wheel>span,.rto-final-wheel>b{position:absolute;z-index:2;color:#fff}.rto-final-wheel>span{top:8px;left:50%;transform:translateX(-50%);font-size:11px}.rto-final-wheel>b{left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.08em}
.rto-final-bank{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #5a3c21;border-radius:10px;background:repeating-linear-gradient(90deg,rgba(235,214,155,.09) 0 9%,transparent 9% 18%),#111d19}.rto-final-bank>b{color:#d9c784;font-size:14px;letter-spacing:.1em}.rto-final-bank-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:84%;margin-top:8px}.rto-final-bank-slots i{display:block;height:36px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(244,223,165,.18)}
.rto-final-felt{grid-column:2;grid-row:2;display:grid;grid-template-columns:26% 74%;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(3,22,19,.24);padding:10px}
.rto-signed-paper{width:100px;height:132px}.rto-drop-targets{height:100%;align-items:stretch}.rto-drop-targets button{font-size:10px}
@media (orientation:landscape) and (max-height:420px){
  .roulette-grid .lab-path-card.training-card{min-height:128px}
  .rto-workspace{grid-template-columns:minmax(0,71fr) minmax(210px,29fr);gap:5px;padding-top:4px}
  .rto-stage{padding:5px;border-radius:9px}.rto-panel{padding:7px}.rto-phase{font-size:5.5px}.rto-panel h1{font-size:13px}.rto-panel>p{font-size:6.3px}.rto-rule b{font-size:5.8px}.rto-feedback b{font-size:6.5px}.rto-feedback button{font-size:6.8px;min-height:27px}
  .rto-ball-scene{gap:6px}.rto-ball-layout-head b{font-size:7.5px}.rto-ball-layout-head span{font-size:5px}.rto-ball-layout-shell .roulette-layout-base{inset:5px}.rto-date-card{width:56px;padding:5px}.rto-date-card strong{font-size:20px}.rto-spare{min-height:29px;font-size:6.2px}
  .rto-equipment-grid button span{font-size:6px}
  .rto-float-head span{font-size:5px}.rto-float-head b{font-size:6px}.rto-denom-bank button{min-height:66px}.rto-denom-bank button i{width:20px;height:20px}.rto-denom-bank button b{font-size:8px}.rto-denom-bank button small{font-size:4.2px}
  .rto-guide-banner{margin-bottom:5px;padding:4px 5px}.rto-guide-banner b{font-size:6.1px}.rto-guide-banner span{font-size:5.6px}
  .mini-stack{height:108px}.rto-compare small{font-size:5.5px}.rto-compare b{font-size:11px}.rto-compare span{font-size:5.6px}
  .rto-inventory b{font-size:11px}.rto-inventory span{font-size:6px}.rto-call-options button{font-size:8px}
  .rto-tis-paper>small{font-size:8px}.rto-tis-paper span{font-size:6px}.rto-tis-paper b{font-size:11px}.rto-tis-actions button{font-size:8px;min-height:58px}
  .rto-final-table{gap:7px;padding:7px}.rto-final-bank>b{font-size:11px}.rto-final-bank-slots i{height:24px}.rto-signed-paper{width:86px;height:112px}.rto-drop-targets button{font-size:8px}
}


/* v4.1.5 — ROULETTE LAB02 STEP3 / PWA sync fix */
.roulette-grid .lab-path-card.training-card{min-height:136px;height:136px}
.roulette-grid .lab-path-card.training-card h4{min-height:34px}
.roulette-grid .lab-path-card.training-card>small{min-height:18px}
.rto-workspace{grid-template-columns:minmax(0,68fr) minmax(270px,32fr)!important;gap:10px!important}
.rto-panel{padding:12px!important}
.rto-phase{font-size:8px!important;padding:5px 9px!important}
.rto-panel h1{font-size:20px!important;line-height:1.08!important;margin:8px 0 5px!important}
.rto-panel>p{font-size:9.8px!important;line-height:1.46!important}
.rto-rule{padding:8px 9px!important}.rto-rule small{font-size:6.6px!important}.rto-rule b{font-size:8.4px!important;line-height:1.42!important}
.rto-feedback{padding:8px!important}.rto-feedback b{font-size:9px!important;line-height:1.4!important}.rto-feedback button{font-size:8.8px!important;min-height:34px!important}
.rto-stage [data-rto-action]:not([disabled]){animation:rtoPulse 1.5s ease-in-out infinite}
.rto-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important}
.rto-equipment-grid button{padding:10px 6px!important;gap:6px!important;min-height:98px}
.rto-equipment-grid button span{font-size:8.7px!important;line-height:1.2!important}
.rto-eq-icon{position:relative;display:block;width:42px;height:42px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(241,225,175,.25)}
.rto-eq-icon:before,.rto-eq-icon:after{content:'';position:absolute}
.rto-eq-icon.eq-ball:before{width:18px;height:18px;border-radius:50%;background:#f5f0d9;border:2px solid #b99438;left:10px;top:10px}
.rto-eq-icon.eq-spare:before{width:18px;height:18px;border-radius:50%;background:transparent;border:3px solid #d7e9f8;left:10px;top:10px}
.rto-eq-icon.eq-dolly:before{left:8px;top:9px;width:24px;height:24px;border-radius:50%;border:4px solid #d8ba67}.rto-eq-icon.eq-dolly:after{left:14px;top:14px;width:12px;height:12px;border-radius:50%;background:#d8ba67}
.rto-eq-icon.eq-rack:before{left:8px;top:9px;width:26px;height:20px;border:2px solid #d8ba67;border-radius:4px}.rto-eq-icon.eq-rack:after{left:12px;top:13px;width:18px;height:2px;background:#d8ba67;box-shadow:0 6px 0 #d8ba67,0 12px 0 #d8ba67}
.rto-eq-icon.eq-paddle:before{left:18px;top:7px;width:6px;height:20px;background:#d8ba67;border-radius:3px}.rto-eq-icon.eq-paddle:after{left:10px;top:22px;width:22px;height:10px;background:#d8ba67;border-radius:10px}
.rto-eq-icon.eq-pen:before{left:11px;top:11px;width:20px;height:4px;background:#d8ba67;transform:rotate(-35deg);border-radius:2px}.rto-eq-icon.eq-pen:after{left:26px;top:7px;width:0;height:0;border-left:6px solid #f5f0d9;border-top:3px solid transparent;border-bottom:3px solid transparent;transform:rotate(-35deg)}
.rto-eq-icon.eq-signs:before{left:11px;top:8px;width:4px;height:22px;background:#d8ba67}.rto-eq-icon.eq-signs:after{left:15px;top:9px;width:16px;height:10px;background:#d8ba67;clip-path:polygon(0 0,100% 16%,78% 100%,0 84%)}
.rto-eq-icon.eq-ashtray:before{left:9px;top:12px;width:24px;height:14px;border-radius:0 0 14px 14px;border:3px solid #d8ba67;border-top:none}
.rto-ball-scene.centered{display:grid!important;grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:8px!important}
.rto-ball-top{display:grid;grid-template-columns:94px 1fr 170px;align-items:center;gap:10px}
.rto-wheel-large{position:relative!important;max-width:none!important;height:192px!important;margin:0 auto!important}
.rto-wheel-large .rto-wheel-center{width:170px!important;height:170px!important;margin:11px auto!important}
.rto-wheel-large .rto-wheel-pockets{inset:6px 6px 18px 190px!important;display:grid;grid-template-columns:repeat(10,1fr)!important;grid-auto-rows:22px!important;gap:3px!important}
.rto-wheel-large .rto-wheel-pockets button{font-size:9px!important}
.rto-date-card{position:static!important;justify-self:start;width:88px!important}
.rto-spare{position:static!important;min-height:54px!important;font-size:8.6px!important;line-height:1.35!important}
.rto-ball-layout-panel{min-height:0;border:1px solid rgba(244,223,165,.28);border-radius:12px;background:rgba(3,28,50,.24);padding:8px}
.rto-mini-layout{display:grid;grid-template-columns:74px 1fr;gap:8px;height:100%}
.rto-mini-zero{display:grid;grid-template-rows:1fr 1fr;gap:6px}.rto-mini-zero button{border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#12724f;color:#fff;font-size:18px;font-weight:900}
.rto-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rto-mini-col{display:grid;grid-template-rows:repeat(12,1fr);gap:4px}
.rto-mini-grid button{border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#fff;font-size:11px;font-weight:900;min-height:0}
.rto-mini-grid button.red{background:#9f2f35}.rto-mini-grid button.black{background:#171b1f}.rto-mini-grid button.green{background:#12724f}.rto-mini-grid button.selected,.rto-mini-zero button.selected,.rto-wheel-pockets button.selected{outline:2px solid #6bffb0;box-shadow:0 0 0 2px rgba(107,255,176,.25),0 0 16px rgba(107,255,176,.35)!important}
.rto-float-head b{font-size:9px!important}.rto-float-head span{font-size:7px!important}
.rto-float-slots b{font-size:14px!important}.rto-float-slots small{font-size:6px!important}
.rto-denom-bank button{min-height:92px!important}.rto-denom-bank button b{font-size:11px!important}.rto-denom-bank button small{font-size:5.8px!important}
.rto-denom-bank .chip-red i{background:linear-gradient(145deg,#c53d44,#6f171d)}
.rto-denom-bank .chip-white i{background:linear-gradient(145deg,#f6f6f2,#d8d8d1);border-color:#6f8295}
.rto-denom-bank .chip-500 i,.rto-prove-chips .chip-500 i,.rto-chip-column.chip-500 i,.rto-call-inventory .chip-500 i{background:linear-gradient(145deg,#8f57d6,#4c287a);border-color:#e8e1f6}
.rto-denom-bank .chip-100 i,.rto-prove-chips .chip-100 i,.rto-call-inventory .chip-100 i{background:linear-gradient(145deg,#1aa35e,#0a5530);border-color:#edf7f1}
.rto-denom-bank .chip-25 i,.rto-prove-chips .chip-25 i,.rto-call-inventory .chip-25 i{background:linear-gradient(145deg,#3b96e1,#0f4c7c);border-color:#edf6fd}
.rto-denom-bank .chip-5 i,.rto-prove-chips .chip-5 i,.rto-call-inventory .chip-5 i{background:linear-gradient(145deg,#c53d44,#6f171d);border-color:#f9e9ea}
.rto-denom-bank .chip-1 i,.rto-prove-chips .chip-1 i,.rto-call-inventory .chip-1 i{background:linear-gradient(145deg,#f6f6f2,#d8d8d1);border-color:#60798f}
.rto-prove{grid-template-columns:38% 62%!important}
.rto-prove-chips{grid-template-rows:repeat(5,1fr)!important;gap:6px!important}
.rto-prove-chips button{display:flex;align-items:center;gap:8px;padding:6px 8px!important;text-align:left}
.rto-prove-chips button i,.rto-call-inventory i{display:block;width:26px;height:26px;border:3px dashed rgba(245,240,222,.92);border-radius:50%;flex:0 0 auto}
.rto-prove-chips button b{display:block;font-size:11px}.rto-prove-chips button small{display:block;color:#9cc0d7;font-size:6px}
.rto-chip-column{height:160px!important;width:112px!important}.rto-chip-column i{left:14px!important;width:84px!important;height:13px!important;border:2px solid #e8e6da;border-radius:50%}
.rto-count-options button{font-size:10px!important;min-height:60px!important}
.rto-call-inventory{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}
.rto-call-inventory>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(5,22,38,.7)}
.rto-call-inventory b{font-size:15px!important}.rto-call-inventory span{font-size:7.8px!important}
.rto-call-options button{font-size:10.8px!important;line-height:1.35!important}
@media (orientation:landscape) and (max-height:420px){
  .roulette-grid .lab-path-card.training-card{min-height:124px;height:124px}
  .rto-workspace{grid-template-columns:minmax(0,67fr) minmax(225px,33fr)!important;gap:6px!important}
  .rto-panel{padding:8px!important}.rto-phase{font-size:6.4px!important}.rto-panel h1{font-size:15px!important}.rto-panel>p{font-size:7.1px!important}.rto-rule small{font-size:5.2px!important}.rto-rule b{font-size:6.6px!important}.rto-feedback b{font-size:7.2px!important}.rto-feedback button{font-size:7.2px!important;min-height:28px!important}
  .rto-equipment-grid button{min-height:74px}.rto-equipment-grid button span{font-size:6.5px!important}.rto-eq-icon{width:30px;height:30px}
  .rto-ball-top{grid-template-columns:62px 1fr 124px;gap:6px}.rto-wheel-large{height:136px!important}.rto-wheel-large .rto-wheel-center{width:122px!important;height:122px!important;margin:7px auto!important}.rto-wheel-large .rto-wheel-pockets{inset:4px 4px 12px 138px!important;grid-auto-rows:16px!important;gap:2px!important}.rto-wheel-large .rto-wheel-pockets button{font-size:6px!important}.rto-date-card{width:60px!important;padding:5px!important}.rto-date-card strong{font-size:18px!important}.rto-spare{min-height:42px!important;font-size:6.4px!important}
  .rto-ball-layout-head b{font-size:7px!important}.rto-ball-layout-head span{font-size:5px!important}.rto-mini-layout{grid-template-columns:54px 1fr;gap:5px}.rto-mini-zero{gap:4px}.rto-mini-zero button{font-size:13px}.rto-mini-grid{gap:4px}.rto-mini-col{gap:3px}.rto-mini-grid button{font-size:7px}
  .rto-denom-bank button{min-height:66px!important}.rto-denom-bank button i,.rto-prove-chips button i,.rto-call-inventory i{width:20px;height:20px;border-width:2px}.rto-denom-bank button b{font-size:8px!important}.rto-denom-bank button small{font-size:4.3px!important}
  .rto-prove{grid-template-columns:40% 60%!important}.rto-prove-chips button{padding:4px 5px!important;gap:5px}.rto-prove-chips button b{font-size:8px}.rto-prove-chips button small{font-size:5px}.rto-chip-column{height:118px!important;width:86px!important}.rto-chip-column i{left:9px!important;width:68px!important;height:10px!important;bottom:calc(var(--i) * 4px)!important}.rto-count-options button{font-size:8px!important;min-height:46px!important}
  .rto-call-inventory b{font-size:11px!important}.rto-call-inventory span{font-size:6px!important}.rto-call-options button{font-size:8px!important}
}


/* v4.1.5 — ROULETTE LAB02 STEP3 / PWA sync fix */
.roulette-grid .lab-path-card.training-card{min-height:140px!important;height:140px!important}
.roulette-grid .lab-path-card.training-card h3{min-height:27px;font-size:11.8px;line-height:1.08}
.roulette-grid .lab-path-card.training-card>small{min-height:16px;font-size:7px;line-height:1.26}
.roulette-grid .lab-card-stats{display:grid;grid-template-columns:1fr;justify-items:start;gap:1px;margin-top:6px;padding-top:6px}
.roulette-grid .lab-card-stats b{font-size:7.6px;line-height:1.2;max-width:100%}
.roulette-grid .lab-card-stats span{font-size:6.5px;line-height:1.2}
.rto-workspace{grid-template-columns:minmax(0,63fr) minmax(300px,37fr)!important;gap:10px!important}
.rto-panel{padding:12px!important}
.rto-panel h1{font-size:22px!important;line-height:1.05!important}
.rto-panel>p{font-size:10.8px!important;line-height:1.5!important}
.rto-rule small{font-size:7px!important}.rto-rule b{font-size:9px!important;line-height:1.45!important}
.rto-feedback b{font-size:9.4px!important;line-height:1.42!important}.rto-feedback button{font-size:9px!important;min-height:36px!important}
.rto-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px!important}
.rto-equipment-grid button{display:grid;grid-template-rows:46px auto auto;align-items:start;justify-items:center;padding:8px 6px 7px!important;min-height:108px;gap:6px!important}
.rto-equipment-grid button span{display:block;width:100%;font-size:9px!important;line-height:1.24!important;min-height:22px;text-align:center}
.rto-equipment-grid button em{font-size:8px}
.rto-eq-icon{width:44px;height:44px;margin:0 auto}
.rto-ball-step-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;align-items:stretch;width:100%;height:100%}
.rto-ball-wheel-zone{display:grid;grid-template-rows:auto 1fr auto;gap:8px;min-width:0}
.rto-wheel-side{height:100%!important;min-height:210px;position:relative}
.rto-wheel-side .rto-wheel-center{width:160px!important;height:160px!important;margin:12px auto!important}
.rto-wheel-side .rto-wheel-pockets{inset:7px 7px 16px 180px!important;display:grid;grid-template-columns:repeat(5,1fr)!important;grid-auto-rows:24px!important;gap:4px!important}
.rto-wheel-side .rto-wheel-pockets button{font-size:9px!important}
.rto-wheel-head-target{position:absolute;left:50%;top:7px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;border:2px solid rgba(250,240,201,.92);background:radial-gradient(circle at 35% 35%,#f6f1d6,#ab9353 68%,#5f4612);box-shadow:0 0 0 4px rgba(91,170,255,.14),0 0 16px rgba(91,170,255,.28);display:flex;align-items:center;justify-content:center;color:#07182f;font-weight:900;z-index:3}
.rto-wheel-head-target i{display:none}.rto-wheel-head-target span{font-size:7px;line-height:1.05;text-align:center;padding:0 4px}
.rto-wheel-head-target.done{box-shadow:0 0 0 4px rgba(76,255,162,.18),0 0 18px rgba(76,255,162,.28)}
.rto-wheel-side-note{font-size:8px;line-height:1.35;color:#b8d9ef;text-align:center;padding:6px 8px;border:1px solid rgba(91,170,255,.18);border-radius:10px;background:rgba(2,20,38,.34)}
.rto-ball-layout-zone{display:grid;grid-template-rows:auto 1fr;gap:8px;min-width:0}
.rto-ball-layout-head{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid rgba(244,223,165,.25);border-radius:10px;background:rgba(2,16,28,.18)}
.rto-ball-layout-head b{font-size:10px;color:#eef7ff}.rto-ball-layout-head span{font-size:8px;color:#a8cde5}
.rto-real-layout-board{position:relative;height:100%;min-height:230px;border:1px solid rgba(244,223,165,.26);border-radius:12px;padding:8px;background:linear-gradient(180deg,rgba(3,36,28,.34),rgba(4,22,18,.58))}
.rto-real-layout-board .roulette-layout-board,.rto-real-layout-board .roulette-layout-base{height:100%}
.rto-real-layout-board .roulette-layout-board{position:relative;background:none;border:none;padding:0}
.rto-real-layout-board .roulette-main-grid{height:69%}
.rto-real-layout-board .roulette-dozen-row{height:16%}
.rto-real-layout-board .roulette-outside-row{height:15%}
.rto-layout-number-layer{position:absolute;inset:8px;pointer-events:none}
.rto-layout-number-layer button{position:absolute;transform:translate(-50%,-50%);border:none;background:rgba(91,170,255,.01);pointer-events:auto;border-radius:8px;box-shadow:0 0 0 1px rgba(91,170,255,.14),inset 0 0 0 1px rgba(255,255,255,.03)}
.rto-layout-number-layer button.selected{box-shadow:0 0 0 2px rgba(105,255,180,.42),0 0 16px rgba(105,255,180,.36)}
@media (orientation:landscape) and (max-height:420px){
  .roulette-grid .lab-path-card.training-card{min-height:128px!important;height:128px!important}
  .roulette-grid .lab-path-card.training-card h3{font-size:10.8px}.roulette-grid .lab-path-card.training-card>small{font-size:6.2px}.roulette-grid .lab-card-stats b{font-size:6.7px}.roulette-grid .lab-card-stats span{font-size:5.7px}
  .rto-workspace{grid-template-columns:minmax(0,61fr) minmax(235px,39fr)!important;gap:6px!important}
  .rto-panel{padding:8px!important}.rto-phase{font-size:6.8px!important}.rto-panel h1{font-size:16.5px!important}.rto-panel>p{font-size:7.9px!important;line-height:1.45!important}.rto-rule small{font-size:5.4px!important}.rto-rule b{font-size:6.8px!important}.rto-feedback b{font-size:7.1px!important}.rto-feedback button{font-size:7.3px!important;min-height:29px!important}
  .rto-equipment-grid{gap:6px!important}.rto-equipment-grid button{grid-template-rows:30px auto auto;min-height:80px;padding:5px 4px 4px!important;gap:4px!important}.rto-equipment-grid button span{font-size:6.7px!important;min-height:17px;line-height:1.18!important}.rto-equipment-grid button em{font-size:6px}.rto-eq-icon{width:30px;height:30px}
  .rto-ball-step-layout{grid-template-columns:184px minmax(0,1fr);gap:6px}.rto-wheel-side{min-height:142px}.rto-wheel-side .rto-wheel-center{width:118px!important;height:118px!important;margin:8px auto!important}.rto-wheel-side .rto-wheel-pockets{inset:4px 4px 10px 128px!important;grid-auto-rows:16px!important;gap:2px!important}.rto-wheel-side .rto-wheel-pockets button{font-size:6px!important}.rto-wheel-head-target{top:5px;width:34px;height:34px}.rto-wheel-head-target span{font-size:4.8px;padding:0 2px}.rto-wheel-side-note{font-size:5.8px;padding:4px 5px}
  .rto-ball-layout-head{padding:5px 7px}.rto-ball-layout-head b{font-size:7.2px}.rto-ball-layout-head span{font-size:5.8px}.rto-real-layout-board{min-height:148px;padding:5px}.rto-layout-number-layer{inset:5px}
}


/* v4.1.5 — ROULETTE LAB02 STEP3 / PWA sync fix */
.roulette-grid .lab-path-card.training-card{display:flex;flex-direction:column;min-height:148px!important;height:148px!important;padding-bottom:13px!important}
.roulette-grid .lab-path-card.training-card .lab-card-stats{margin-top:auto!important;padding-top:6px!important;padding-right:20px!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:4px!important}
.roulette-grid .lab-path-card.training-card h3{margin-right:16px!important;font-size:11.6px!important;line-height:1.08!important;min-height:25px!important}
.roulette-grid .lab-path-card.training-card>small{min-height:14px!important;font-size:6.8px!important;line-height:1.2!important}
.roulette-grid .lab-card-stats b{font-size:7.2px!important;white-space:normal!important;line-height:1.1!important}
.roulette-grid .lab-card-stats span{font-size:6.1px!important;white-space:nowrap!important}
.rto-workspace{grid-template-columns:minmax(0,64fr) minmax(320px,36fr)!important;gap:10px!important}
.rto-panel{padding:13px!important}.rto-phase{font-size:8.8px!important;padding:6px 10px!important}.rto-panel h1{font-size:23px!important;line-height:1.05!important;margin:9px 0 6px!important}.rto-panel>p{font-size:11.4px!important;line-height:1.53!important}.rto-rule{padding:9px 10px!important}.rto-rule small{font-size:7.3px!important}.rto-rule b{font-size:9.4px!important;line-height:1.45!important}.rto-feedback b{font-size:9.8px!important;line-height:1.42!important}.rto-feedback button{font-size:9.4px!important;min-height:38px!important}
.rto-equipment-grid{gap:10px!important}
.rto-equipment-grid button{display:grid;grid-template-rows:1fr auto auto;justify-items:center;align-items:center;padding:8px 7px 8px!important;min-height:116px!important;gap:7px!important}
.rto-equipment-grid button span{font-size:9.3px!important;line-height:1.24!important;min-height:24px!important;display:flex!important;align-items:flex-start;justify-content:center;text-align:center}
.rto-equipment-grid button em{right:5px;top:5px;font-size:8px!important}
.rto-eq-icon{width:50px!important;height:50px!important;display:block;margin:0 auto!important;border-radius:12px!important}
.rto-eq-icon.eq-ball:before{width:22px!important;height:22px!important;left:12px!important;top:12px!important;border-width:2px!important}
.rto-eq-icon.eq-spare:before{width:22px!important;height:22px!important;left:12px!important;top:12px!important;border-width:3px!important}
.rto-eq-icon.eq-dolly:before{left:10px!important;top:10px!important;width:28px!important;height:28px!important;border-width:4px!important}.rto-eq-icon.eq-dolly:after{left:18px!important;top:18px!important;width:12px!important;height:12px!important}
.rto-eq-icon.eq-rack:before{left:9px!important;top:12px!important;width:30px!important;height:22px!important;border-width:2px!important}.rto-eq-icon.eq-rack:after{left:14px!important;top:17px!important;width:20px!important;height:2px!important;box-shadow:0 6px 0 #d8ba67,0 12px 0 #d8ba67!important}
.rto-eq-icon.eq-paddle:before{left:22px!important;top:8px!important;width:6px!important;height:18px!important;border-radius:3px!important;background:#d8ba67}.rto-eq-icon.eq-paddle:after{left:13px!important;top:23px!important;width:24px!important;height:14px!important;border-radius:8px!important;background:#d8ba67}
.rto-eq-icon.eq-pen:before{left:12px!important;top:14px!important;width:22px!important;height:4px!important;transform:rotate(-35deg)!important}.rto-eq-icon.eq-pen:after{left:29px!important;top:10px!important;border-left-width:7px!important;border-top-width:4px!important;border-bottom-width:4px!important;transform:rotate(-35deg)!important}
.rto-eq-icon.eq-signs:before{left:12px!important;top:9px!important;width:4px!important;height:26px!important}.rto-eq-icon.eq-signs:after{left:17px!important;top:11px!important;width:18px!important;height:11px!important}
.rto-eq-icon.eq-ashtray:before{left:10px!important;top:16px!important;width:26px!important;height:14px!important;border-width:3px!important}
.rto-ball-step-layout{display:grid;grid-template-columns:248px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;height:100%!important}
.rto-ball-wheel-zone,.rto-ball-layout-zone{min-width:0;display:flex;flex-direction:column}
.rto-ball-layout-zone{justify-content:center}
.rto-wheel-side{min-height:250px!important;height:100%!important}
.rto-wheel-side .rto-wheel-center{width:154px!important;height:154px!important;margin:12px auto!important}
.rto-wheel-side .rto-wheel-center small{font-size:7px!important;line-height:1.15!important}
.rto-wheel-side .rto-wheel-pockets{inset:6px 6px 12px 172px!important;grid-template-columns:repeat(5,1fr)!important;grid-auto-rows:24px!important;gap:4px!important}
.rto-wheel-side .rto-wheel-pockets button{font-size:9px!important}
.rto-wheel-head-target{position:absolute;left:50%;top:7px;transform:translateX(-50%);width:26px!important;height:26px!important;border-radius:50%!important;border:2px solid rgba(245,240,215,.95)!important;background:radial-gradient(circle at 40% 40%,#fffef6 0%,#ded3ab 45%,#a17f2f 100%)!important;box-shadow:0 0 0 3px rgba(91,170,255,.2),0 0 12px rgba(91,170,255,.28)!important;padding:0!important;color:transparent!important;font-size:0!important}
.rto-wheel-head-target.done{box-shadow:0 0 0 3px rgba(71,235,150,.18),0 0 14px rgba(71,235,150,.28)!important}
.rto-real-layout-board{padding:6px!important;min-height:250px!important;background:linear-gradient(180deg,rgba(3,36,28,.22),rgba(4,22,18,.52))!important}
.rto-real-layout-board .roulette-layout-board{display:flex;align-items:stretch;justify-content:center}
.rto-real-layout-board .roulette-layout-base{width:100%;max-width:none}
.rto-real-layout-board .roulette-layout-label,.rto-ball-layout-head,.rto-wheel-side-note{display:none!important}
.rto-real-layout-board .roulette-main-grid{height:70%!important}.rto-real-layout-board .roulette-dozen-row{height:14%!important}.rto-real-layout-board .roulette-outside-row{height:16%!important}
.rto-layout-number-layer{inset:6px!important}.rto-layout-number-layer button{border-radius:3px!important;box-shadow:0 0 0 1px rgba(91,170,255,.1)!important}
@media (orientation:landscape) and (max-height:420px){
  .roulette-grid .lab-path-card.training-card{min-height:132px!important;height:132px!important;padding-bottom:11px!important}
  .roulette-grid .lab-path-card.training-card h3{font-size:10.6px!important;min-height:22px!important}.roulette-grid .lab-path-card.training-card>small{font-size:6px!important;min-height:13px!important}.roulette-grid .lab-card-stats b{font-size:6.5px!important}.roulette-grid .lab-card-stats span{font-size:5.7px!important}
  .rto-workspace{grid-template-columns:minmax(0,60fr) minmax(245px,40fr)!important;gap:6px!important}
  .rto-panel{padding:8px!important}.rto-phase{font-size:6.9px!important;padding:4px 7px!important}.rto-panel h1{font-size:16.8px!important;margin:5px 0 3px!important}.rto-panel>p{font-size:8.1px!important;line-height:1.46!important}.rto-rule small{font-size:5.5px!important}.rto-rule b{font-size:7px!important}.rto-feedback b{font-size:7.3px!important}.rto-feedback button{font-size:7.5px!important;min-height:30px!important}
  .rto-equipment-grid button{min-height:84px!important;grid-template-rows:1fr auto auto;padding:5px 4px!important;gap:4px!important}.rto-equipment-grid button span{font-size:7px!important;min-height:18px!important}.rto-eq-icon{width:34px!important;height:34px!important}.rto-eq-icon.eq-ball:before,.rto-eq-icon.eq-spare:before{width:16px!important;height:16px!important;left:9px!important;top:9px!important}.rto-eq-icon.eq-dolly:before{left:7px!important;top:7px!important;width:20px!important;height:20px!important}.rto-eq-icon.eq-dolly:after{left:13px!important;top:13px!important;width:8px!important;height:8px!important}.rto-eq-icon.eq-rack:before{left:6px!important;top:8px!important;width:22px!important;height:16px!important}.rto-eq-icon.eq-rack:after{left:10px!important;top:12px!important;width:14px!important;box-shadow:0 4px 0 #d8ba67,0 8px 0 #d8ba67!important}.rto-eq-icon.eq-paddle:before{left:15px!important;top:5px!important;height:13px!important}.rto-eq-icon.eq-paddle:after{left:9px!important;top:17px!important;width:16px!important;height:10px!important}.rto-eq-icon.eq-pen:before{left:8px!important;top:10px!important;width:16px!important}.rto-eq-icon.eq-pen:after{left:21px!important;top:7px!important}.rto-eq-icon.eq-signs:before{left:8px!important;top:6px!important;height:18px!important}.rto-eq-icon.eq-signs:after{left:12px!important;top:8px!important;width:13px!important;height:8px!important}.rto-eq-icon.eq-ashtray:before{left:7px!important;top:11px!important;width:19px!important;height:10px!important}
  .rto-ball-step-layout{grid-template-columns:175px minmax(0,1fr)!important;gap:5px!important}.rto-wheel-side{min-height:156px!important}.rto-wheel-side .rto-wheel-center{width:112px!important;height:112px!important;margin:7px auto!important}.rto-wheel-side .rto-wheel-center small{font-size:5.2px!important}.rto-wheel-side .rto-wheel-pockets{inset:4px 4px 8px 122px!important;grid-auto-rows:16px!important;gap:2px!important}.rto-wheel-side .rto-wheel-pockets button{font-size:6px!important}.rto-wheel-head-target{top:5px;width:16px!important;height:16px!important;border-width:1px!important;box-shadow:0 0 0 2px rgba(91,170,255,.16),0 0 8px rgba(91,170,255,.22)!important}.rto-real-layout-board{min-height:160px!important;padding:4px!important}.rto-layout-number-layer{inset:4px!important}
}


/* v4.1.5 — STEP3 single-layout hit layer + PWA sync release */
.rto-real-layout-board{position:relative!important;padding:0!important;overflow:hidden!important}
.rto-real-layout-board .roulette-layout-base{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.rto-layout-number-layer{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important}
.rto-layout-number-layer button{position:absolute!important;transform:translate(-50%,-50%)!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;opacity:0!important;border-radius:0!important;pointer-events:auto!important;-webkit-appearance:none!important;appearance:none!important;color:transparent!important;font-size:0!important;line-height:0!important}
.rto-layout-number-layer button:hover,.rto-layout-number-layer button:active,.rto-layout-number-layer button:focus,.rto-layout-number-layer button:focus-visible{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;opacity:0!important}
.rto-layout-number-layer button.selected{opacity:1!important;background:transparent!important;box-shadow:none!important}
.rto-layout-number-layer button.selected:after{content:'';position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #f6f2df;background:radial-gradient(circle at 35% 30%,#fff 0 22%,#d9bc55 24% 58%,#8d6518 60% 100%);box-shadow:0 2px 5px rgba(0,0,0,.42),0 0 10px rgba(238,211,112,.32)}
@media (orientation:landscape) and (max-height:420px){.rto-layout-number-layer button.selected:after{width:9px;height:9px;border-width:1px}}


/* v4.1.5 — STEP3 real circular American wheel */
.rto-ball-wheel-zone{align-items:center!important;justify-content:flex-start!important}
.rto-ball-wheel-zone .rto-date-card{align-self:flex-start!important}
.rto-wheel-side{position:relative!important;width:min(100%,238px)!important;max-width:238px!important;min-height:0!important;height:auto!important;aspect-ratio:1!important;margin:auto!important;border:10px solid #5d3e20!important;border-radius:50%!important;background:#0b6246!important;box-shadow:inset 0 0 0 6px #d0a652,inset 0 0 0 23px #083c2d,0 8px 20px rgba(0,0,0,.34)!important;overflow:visible!important}
.rto-wheel-ring{position:absolute;inset:18px;border-radius:50%;background:repeating-conic-gradient(#b72e35 0 9.4737deg,#171a1c 9.4737deg 18.9474deg);box-shadow:inset 0 0 0 17px #0a5b42,inset 0 0 0 19px rgba(232,203,112,.75)}
.rto-wheel-pockets.circular{position:absolute!important;inset:0!important;display:block!important}
.rto-wheel-pockets.circular button{position:absolute!important;left:50%!important;top:50%!important;width:15px!important;height:18px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:1px solid rgba(242,226,174,.48)!important;border-radius:3px!important;color:#fff!important;font-size:5.8px!important;font-weight:900!important;line-height:1!important;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-91px) rotate(var(--na))!important;transform-origin:center!important;box-shadow:0 1px 2px rgba(0,0,0,.42)!important;animation:none!important;z-index:4!important}
.rto-wheel-pockets.circular button.red{background:#ad3036!important}.rto-wheel-pockets.circular button.black{background:#171a1d!important}.rto-wheel-pockets.circular button.green{background:#0b7a54!important}
.rto-wheel-pockets.circular button.selected{outline:2px solid #72f1a9!important;box-shadow:0 0 0 2px rgba(114,241,169,.26),0 0 11px rgba(114,241,169,.5)!important}
.rto-wheel-side .rto-wheel-center{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:92px!important;height:92px!important;margin:0!important;border-radius:50%!important;border:2px solid rgba(232,203,112,.75)!important;background:radial-gradient(circle,#caa24d 0 9%,#6c4824 10% 25%,#0a563f 26% 100%)!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding-bottom:15px!important;box-sizing:border-box!important;z-index:2!important}
.rto-wheel-side .rto-wheel-center b{color:#f4e5ac!important;font-size:8px!important;letter-spacing:.12em!important}
.rto-wheel-head-target{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:28px!important;height:28px!important;z-index:6!important}
.rto-wheel-head-target.done:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#07351f;font-size:14px;font-weight:1000}
@media (orientation:landscape) and (max-height:420px){
  .rto-wheel-side{width:min(100%,156px)!important;max-width:156px!important;border-width:7px!important;box-shadow:inset 0 0 0 4px #d0a652,inset 0 0 0 15px #083c2d,0 6px 14px rgba(0,0,0,.3)!important}
  .rto-wheel-ring{inset:12px;box-shadow:inset 0 0 0 11px #0a5b42,inset 0 0 0 13px rgba(232,203,112,.72)}
  .rto-wheel-pockets.circular button{width:10px!important;height:12px!important;font-size:3.8px!important;border-radius:2px!important;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-60px) rotate(var(--na))!important}
  .rto-wheel-side .rto-wheel-center{width:60px!important;height:60px!important;padding-bottom:9px!important}.rto-wheel-side .rto-wheel-center b{font-size:5px!important}.rto-wheel-head-target{width:18px!important;height:18px!important}.rto-wheel-head-target.done:after{font-size:9px}
}
/* v4.1.5 — keep STEP3 wheel circular inside flex column */
.rto-wheel-side{flex:0 0 auto!important}


/* v4.1.6 — STEP3 native tappable LAB1-layout fix */
.rto-real-layout-board{position:relative!important;padding:0!important;overflow:hidden!important}
.rto-real-layout-board .rto-interactive-layout{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;grid-template-rows:64fr 17fr 19fr!important;pointer-events:auto!important;box-sizing:border-box!important;z-index:2!important}
.rto-real-layout-board .roulette-main-grid,.rto-real-layout-board .roulette-dozen-row,.rto-real-layout-board .roulette-outside-row{height:auto!important;min-height:0!important;align-self:stretch!important}
.rto-real-layout-board .roulette-main-grid{display:grid!important;grid-template-columns:8fr repeat(12,7fr) 8fr!important;grid-template-rows:repeat(6,1fr)!important}
.rto-real-layout-board .roulette-dozen-row,.rto-real-layout-board .roulette-outside-row{position:relative!important;display:grid!important;margin-left:8%!important;width:84%!important}
.rto-real-layout-board .roulette-dozen-row{grid-template-columns:repeat(3,1fr)!important}
.rto-real-layout-board .roulette-outside-row{grid-template-columns:repeat(6,1fr)!important}
.rto-real-layout-board button.rto-layout-number-button{appearance:none!important;-webkit-appearance:none!important;margin:0!important;padding:0!important;border-top:0!important;border-left:0!important;border-radius:0!important;cursor:pointer!important;pointer-events:auto!important;font:inherit!important;animation:none!important;box-shadow:none!important;outline:none!important;min-width:0!important;min-height:0!important}
.rto-real-layout-board button.rto-layout-number-button.roulette-number{font-family:Arial,sans-serif!important;font-size:9px!important;font-weight:900!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.75)!important}
.rto-real-layout-board button.rto-layout-number-button.roulette-zero{font-family:Arial,sans-serif!important;font-size:14px!important;font-weight:900!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.75)!important}
.rto-real-layout-board button.rto-layout-number-button.red{background:#c92a2a!important}.rto-real-layout-board button.rto-layout-number-button.black{background:#16191b!important}.rto-real-layout-board button.rto-layout-number-button.roulette-zero{background:rgba(5,95,57,.78)!important}
.rto-real-layout-board button.rto-layout-number-button.selected{position:relative!important;z-index:3!important;box-shadow:inset 0 0 0 2px #75efac,0 0 12px rgba(117,239,172,.52)!important}
.rto-layout-number-layer{display:none!important}
@media (orientation:landscape) and (max-height:420px){
  .rto-real-layout-board button.rto-layout-number-button.roulette-number{font-size:8px!important}
  .rto-real-layout-board button.rto-layout-number-button.roulette-zero{font-size:12px!important}
}

/* ======================================================================
   v4.2.0 — ROULETTE LAB03 · SPIN & NO MORE BETS
   ====================================================================== */
body.roulette-spin-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#06110e!important}
body.roulette-spin-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;min-height:100dvh!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-spin-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-spin-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-spin-active .bottom-nav{display:none!important}
body.roulette-spin-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
.roulette-spin-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 38% 38%,rgba(15,73,58,.24),transparent 36%),linear-gradient(180deg,#06120f,#07100f)}
.rsl-workspace{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,64fr) minmax(255px,36fr);gap:8px;padding-top:5px;overflow:hidden}
.rsl-stage{min-width:0;min-height:0;padding:6px;border:1px solid rgba(89,177,245,.34);border-radius:12px;background:radial-gradient(circle at 42% 44%,#0b5b43,#063b30 58%,#041c18);box-shadow:inset 0 0 34px rgba(0,0,0,.35);overflow:hidden}
.rsl-arena{height:100%;min-height:0;display:grid;grid-template-columns:minmax(132px,36fr) minmax(0,64fr);gap:7px}
.rsl-wheel-zone,.rsl-layout-zone{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rsl-direction-strip{width:100%;min-height:28px;display:grid;grid-template-columns:auto 1fr auto auto 1fr;align-items:center;gap:3px;padding:4px 5px;border:1px solid rgba(129,197,239,.16);border-radius:8px;background:rgba(2,18,30,.34);color:#b7d2e4}
.rsl-direction-strip small{font-size:5.3px;font-weight:900;letter-spacing:.08em;color:#799bb2}.rsl-direction-strip b{font-size:6.8px;white-space:nowrap;color:#dceffc}.rsl-direction-strip span{font-size:8px;color:#6ab7ec}
.rsl-wheel-shell{position:relative;width:min(100%,236px);aspect-ratio:1;margin:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;border-radius:50%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
.rsl-wheel-shell:active{cursor:grabbing}
.rsl-wheel-rotor{position:absolute;inset:1.5%;border-radius:50%;background:repeating-conic-gradient(#a82b31 0deg 9.47deg,#15191b 9.47deg 18.94deg);border:8px solid #6b4827;box-shadow:inset 0 0 0 5px #d6b665,inset 0 0 0 19px #0a6749,inset 0 0 0 23px #d6b665,0 0 0 1px rgba(255,255,255,.1);will-change:transform}
.rsl-wheel-rotor>span{position:absolute;left:50%;top:50%;width:17px;height:17px;margin:-8.5px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;font:900 6px/1 Arial,sans-serif;text-shadow:0 1px 2px #000;transform:rotate(calc(var(--i) * (360deg / var(--count)))) translateY(-89px) rotate(calc(var(--i) * (-360deg / var(--count))));z-index:2}
.rsl-wheel-rotor>span.red{background:#c5363d}.rsl-wheel-rotor>span.black{background:#15191b}.rsl-wheel-rotor>span.green{background:#078659}
.rsl-wheel-inner{position:absolute;inset:29%;border-radius:50%;border:4px solid #c9a654;background:radial-gradient(circle,#d7b75d 0 8%,#5a3d22 9% 25%,#0b5f43 26% 62%,#171613 63% 100%);box-shadow:inset 0 0 0 6px rgba(245,222,151,.17)}
.rsl-wheel-hub{position:absolute;left:50%;top:50%;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#f0d98c 0 12%,#a5792d 13% 42%,#473019 43% 100%);border:2px solid #dfbf68;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.rsl-ball-orbit{position:absolute;inset:3%;border-radius:50%;pointer-events:none;will-change:transform,inset;z-index:7}
.rsl-ball{position:absolute;left:50%;top:-4px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 22%,#e6e4dc 40%,#98978f 100%);border:1px solid rgba(65,62,51,.6);box-shadow:0 1px 4px rgba(0,0,0,.75)}
.rsl-wheel-swipe-cue{position:absolute;left:50%;bottom:-2px;transform:translate(-50%,55%);min-width:92px;padding:3px 7px 4px;border:1px solid rgba(93,180,242,.34);border-radius:999px;background:rgba(3,19,31,.9);text-align:center;z-index:8;pointer-events:none}
.rsl-wheel-swipe-cue b{display:inline-block;margin-right:4px;color:#75cfff;font-size:12px}.rsl-wheel-swipe-cue small{color:#d6eafa;font-size:5.4px;font-weight:900;white-space:nowrap}
.rsl-layout-zone{padding:0 1px}
.rsl-layout-board{position:relative;width:100%;height:min(100%,265px);min-height:188px;border:1px solid rgba(246,227,174,.3);border-radius:10px;background:linear-gradient(180deg,#096144,#064b37);overflow:hidden;box-shadow:inset 0 0 24px rgba(0,0,0,.25)}
.rsl-layout-board .roulette-layout-base{inset:5px}
.rsl-chip-layer{position:absolute;inset:5px;z-index:5;pointer-events:none}
.rsl-live-chip{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%) scale(.35);opacity:0;border-radius:50%;border:2px dashed rgba(255,255,255,.9);box-shadow:0 2px 5px rgba(0,0,0,.45);transition:transform .16s ease,opacity .16s ease;pointer-events:none}
.rsl-live-chip.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rsl-live-chip.tone-0{background:#39a6e9}.rsl-live-chip.tone-1{background:#ea625d}.rsl-live-chip.tone-2{background:#e9c64e}.rsl-live-chip.tone-3{background:#8e66d7}
.rsl-live-chip.late{display:flex;align-items:center;justify-content:center;width:23px;height:23px;opacity:1;transform:translate(-50%,-50%);background:#ef3d43;border:3px solid #fff;box-shadow:0 0 0 4px rgba(255,63,69,.25),0 0 20px rgba(255,38,45,.95);pointer-events:auto;animation:rslLatePulse .72s ease-in-out infinite;z-index:8}
.rsl-live-chip.late span{color:#fff;font-size:10px;font-weight:1000}
@keyframes rslLatePulse{0%,100%{box-shadow:0 0 0 3px rgba(255,63,69,.22),0 0 12px rgba(255,38,45,.7)}50%{box-shadow:0 0 0 7px rgba(255,63,69,.08),0 0 24px rgba(255,38,45,1)}}
.rsl-layout-lock{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);min-width:52%;padding:6px 9px;border:1px solid rgba(117,208,255,.42);border-radius:9px;background:rgba(3,18,29,.82);text-align:center;pointer-events:none;backdrop-filter:blur(2px)}
.rsl-layout-lock b{display:block;color:#bfe9ff;font-size:9px;letter-spacing:.08em}.rsl-layout-lock small{display:block;margin-top:2px;color:#d3e1e9;font-size:5.4px}
.rsl-live-hud{position:absolute;left:7px;right:7px;bottom:7px;z-index:10;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:4px 6px;border:1px solid rgba(96,181,238,.25);border-radius:8px;background:rgba(1,17,27,.82);pointer-events:none}
.rsl-live-hud span{font-size:6.2px;font-weight:950;color:#d9effc;white-space:nowrap}.rsl-live-hud>div{height:4px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}.rsl-live-hud i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#59b8f3,#7ce7af,#f1c95d)}
.rsl-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:9px 10px 8px;border:1px solid rgba(91,170,255,.26);border-radius:11px;background:linear-gradient(155deg,rgba(8,31,52,.92),rgba(4,16,27,.98));overflow:hidden}
.rsl-phase{align-self:flex-start;margin-top:6px;padding:3px 7px;border:1px solid rgba(99,190,247,.26);border-radius:999px;background:rgba(62,141,197,.09);color:#86cffd;font-size:6.3px;font-weight:1000;letter-spacing:.12em}
.rsl-panel h1{margin:6px 0 3px;color:#eef8ff;font-family:var(--serif);font-size:17px;line-height:1.08}.rsl-panel>p{margin:0;color:#b6cddd;font-size:7.4px;line-height:1.46}
.rsl-primary{width:100%;min-height:48px;margin-top:8px;padding:7px 8px;border:1px solid rgba(102,194,255,.48);border-radius:10px;background:linear-gradient(180deg,rgba(37,118,177,.42),rgba(12,65,104,.48));color:#eefaff;font-size:10px;font-weight:1000;letter-spacing:.04em;box-shadow:0 0 0 1px rgba(90,190,255,.08),0 0 15px rgba(72,160,226,.15);animation:rslActionPulse 1.5s ease-in-out infinite}
.rsl-primary.call{background:linear-gradient(180deg,rgba(49,147,99,.44),rgba(14,78,52,.5));border-color:rgba(108,233,165,.42)}.rsl-primary.nmb{min-height:61px;background:linear-gradient(180deg,#a62f38,#641b23);border-color:#ff8b91;color:#fff;font-size:14px;box-shadow:0 0 0 2px rgba(255,68,79,.12),0 0 22px rgba(255,42,55,.22)}.rsl-primary.protect{background:linear-gradient(180deg,rgba(89,83,184,.5),rgba(45,38,105,.58));border-color:rgba(157,149,255,.45)}
@keyframes rslActionPulse{0%,100%{filter:brightness(.96)}50%{filter:brightness(1.15)}}
.rsl-swipe-instruction,.rsl-target-note{margin-top:8px;padding:7px 8px;border:1px solid rgba(90,184,244,.24);border-radius:9px;background:rgba(24,91,139,.1);text-align:center}.rsl-swipe-instruction b,.rsl-target-note b{display:block;color:#dff3ff;font-size:9px}.rsl-swipe-instruction span,.rsl-target-note span{display:block;margin-top:2px;color:#8fbcd8;font-size:6.1px;font-weight:900;letter-spacing:.04em}
.rsl-rule{margin-top:7px;padding:6px 7px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.035)}.rsl-rule small{display:block;color:#78a2be;font-size:5px;font-weight:900;letter-spacing:.12em}.rsl-rule b{display:block;margin-top:2px;color:#dcecf6;font-size:6.3px;line-height:1.4}
.rsl-feedback{margin-top:6px;padding:6px;border:1px solid rgba(96,181,238,.2);border-radius:8px;background:rgba(9,39,61,.32)}.rsl-feedback.correct{border-color:rgba(81,226,147,.34);background:rgba(27,117,72,.17)}.rsl-feedback.wrong{border-color:rgba(255,92,104,.36);background:rgba(133,33,42,.17)}.rsl-feedback b{display:block;color:#eef8ff;font-size:6.5px;line-height:1.35}.rsl-feedback button{width:100%;min-height:29px;margin-top:4px;border:1px solid rgba(110,199,255,.34);border-radius:7px;background:rgba(44,128,184,.2);color:#e8f7ff;font-size:7px;font-weight:950}
.rsl-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;margin-top:auto;padding-top:6px}.rsl-step-track i{height:3px;border-radius:9px;background:rgba(255,255,255,.08)}.rsl-step-track i.done{background:#55d390}.rsl-step-track i.active{background:#6dc9ff;box-shadow:0 0 6px rgba(109,201,255,.55)}
.rsl-house-note{display:block;margin-top:4px;color:#647f91;font-size:4.4px;font-weight:800;letter-spacing:.05em;text-align:center}
.rsl-result .roulette-result-hero{border-color:rgba(93,190,250,.35);background:radial-gradient(circle at 50% 0,rgba(18,99,151,.58),rgba(8,25,37,.98) 66%)}
@media (orientation:portrait){body.roulette-spin-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (orientation:landscape) and (max-height:420px){
  .rsl-workspace{grid-template-columns:minmax(0,61fr) minmax(238px,39fr);gap:5px;padding-top:3px}.rsl-stage{padding:4px;border-radius:8px}.rsl-arena{grid-template-columns:minmax(122px,36fr) minmax(0,64fr);gap:5px}.rsl-direction-strip{min-height:22px;padding:2px 4px}.rsl-direction-strip small{font-size:4.2px}.rsl-direction-strip b{font-size:5.4px}.rsl-direction-strip span{font-size:6px}
  .rsl-wheel-shell{width:min(100%,184px)}.rsl-wheel-rotor{border-width:6px;box-shadow:inset 0 0 0 4px #d6b665,inset 0 0 0 14px #0a6749,inset 0 0 0 17px #d6b665}.rsl-wheel-rotor>span{width:13px;height:13px;margin:-6.5px;font-size:4.5px;transform:rotate(calc(var(--i) * (360deg / var(--count)))) translateY(-69px) rotate(calc(var(--i) * (-360deg / var(--count))))}.rsl-ball{width:8px;height:8px}.rsl-wheel-swipe-cue{min-width:76px;padding:2px 5px 3px}.rsl-wheel-swipe-cue b{font-size:9px}.rsl-wheel-swipe-cue small{font-size:4.4px}
  .rsl-layout-board{min-height:153px;height:min(100%,202px)}.rsl-layout-board .roulette-layout-base{inset:3px}.rsl-chip-layer{inset:3px}.rsl-live-chip{width:11px;height:11px}.rsl-live-chip.late{width:19px;height:19px}.rsl-layout-lock{padding:4px 6px}.rsl-layout-lock b{font-size:7px}.rsl-layout-lock small{font-size:4.4px}.rsl-live-hud{left:4px;right:4px;bottom:4px;padding:3px 5px}.rsl-live-hud span{font-size:5px}
  .rsl-panel{padding:7px 8px 6px;border-radius:8px}.rsl-phase{margin-top:4px;padding:2px 5px;font-size:5.2px}.rsl-panel h1{margin:4px 0 2px;font-size:13.5px}.rsl-panel>p{font-size:6.2px;line-height:1.38}.rsl-primary{min-height:37px;margin-top:5px;padding:5px;font-size:8px}.rsl-primary.nmb{min-height:47px;font-size:11px}.rsl-swipe-instruction,.rsl-target-note{margin-top:5px;padding:5px 6px}.rsl-swipe-instruction b,.rsl-target-note b{font-size:7px}.rsl-swipe-instruction span,.rsl-target-note span{font-size:5px}.rsl-rule{margin-top:5px;padding:4px 5px}.rsl-rule small{font-size:4.4px}.rsl-rule b{font-size:5.4px}.rsl-feedback{margin-top:4px;padding:4px}.rsl-feedback b{font-size:5.7px}.rsl-feedback button{min-height:24px;margin-top:3px;font-size:6px}.rsl-step-track{padding-top:4px}.rsl-house-note{font-size:3.7px;margin-top:3px}
}
/* v4.2.0 readability final pass */
.rsl-ball{width:12px;height:12px;top:-5px;box-shadow:0 0 0 2px rgba(255,255,255,.12),0 1px 6px rgba(0,0,0,.78)}
@media (orientation:landscape) and (max-height:420px){.rsl-panel h1{font-size:15.2px}.rsl-panel>p{font-size:7.1px;line-height:1.44}.rsl-rule small{font-size:4.8px}.rsl-rule b{font-size:6.2px;line-height:1.42}.rsl-feedback b{font-size:6.3px}.rsl-ball{width:9px;height:9px;top:-4px}}


/* ======================================================================
   v4.2.2 — ROULETTE LAB03 · NMB TIMING / ORIENTATION ASSET PERFORMANCE
   - Ball track is physically separated from the numbered rotor.
   - Whole wheel is the swipe target (larger touch target).
   - Right instruction panel uses readable mobile-landscape typography.
   ====================================================================== */
.roulette-spin-screen .rsl-workspace{
  grid-template-columns:minmax(0,58fr) minmax(310px,42fr)!important;
  gap:9px!important;
}
.roulette-spin-screen .rsl-panel{
  padding:12px 13px 10px!important;
  overflow-y:auto!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.roulette-spin-screen .rsl-panel::-webkit-scrollbar{display:none}
.roulette-spin-screen .roulette-progress-head span{font-size:9px!important}
.roulette-spin-screen .roulette-progress-head b{font-size:11px!important}
.roulette-spin-screen .rsl-phase{margin-top:7px!important;padding:4px 8px!important;font-size:7.5px!important}
.roulette-spin-screen .rsl-panel h1{margin:7px 0 4px!important;font-size:21px!important;line-height:1.08!important}
.roulette-spin-screen .rsl-panel>p{font-size:10.5px!important;line-height:1.5!important}
.roulette-spin-screen .rsl-primary{min-height:52px!important;margin-top:9px!important;font-size:11.5px!important}
.roulette-spin-screen .rsl-primary.nmb{min-height:64px!important;font-size:16px!important}
.roulette-spin-screen .rsl-swipe-instruction,.roulette-spin-screen .rsl-target-note{margin-top:8px!important;padding:8px 9px!important}
.roulette-spin-screen .rsl-swipe-instruction b,.roulette-spin-screen .rsl-target-note b{font-size:10.5px!important}
.roulette-spin-screen .rsl-swipe-instruction span,.roulette-spin-screen .rsl-target-note span{font-size:8.5px!important;line-height:1.35!important}
.roulette-spin-screen .rsl-rule{margin-top:8px!important;padding:8px 9px!important}
.roulette-spin-screen .rsl-rule small{font-size:6.5px!important}
.roulette-spin-screen .rsl-rule b{font-size:8.8px!important;line-height:1.45!important}
.roulette-spin-screen .rsl-feedback{margin-top:7px!important;padding:7px 8px!important}
.roulette-spin-screen .rsl-feedback b{font-size:9px!important;line-height:1.4!important}
.roulette-spin-screen .rsl-feedback button{min-height:34px!important;font-size:8.8px!important}
.roulette-spin-screen .rsl-house-note{font-size:5.2px!important;line-height:1.2!important}

/* Real wheel hierarchy: stationary outer ball track -> rotating number rotor -> inner bowl/hub. */
.rsl-wheel-shell{
  container-type:inline-size;
  position:relative;
  width:min(100%,244px)!important;
  aspect-ratio:1;
  padding:0;
  border:5px solid #6f4a27;
  background:radial-gradient(circle at 50% 48%,#876039 0 65%,#4d321d 66% 100%);
  box-shadow:inset 0 0 0 2px #d0ac61,inset 0 0 18px rgba(0,0,0,.55),0 10px 18px rgba(0,0,0,.32);
  overflow:visible;
}
.rsl-ball-track{
  position:absolute;
  inset:2.5%;
  border-radius:50%;
  border:clamp(9px,5cqw,14px) solid #202522;
  background:transparent;
  box-shadow:inset 0 0 0 2px #bd9850,0 0 0 2px rgba(225,193,111,.65),inset 0 0 12px rgba(0,0,0,.68);
  z-index:1;
  pointer-events:none;
}
.rsl-wheel-rotor{
  container-type:inline-size;
  inset:14%!important;
  border:3px solid #d4b25f!important;
  background:repeating-conic-gradient(#a82b31 0deg 9.47deg,#16191a 9.47deg 18.94deg)!important;
  box-shadow:inset 0 0 0 4px #0b704e,inset 0 0 0 7px #c7a455,0 0 0 2px rgba(18,15,10,.8)!important;
  z-index:3;
}
.rsl-wheel-rotor>span{
  width:clamp(8px,6cqw,11px)!important;
  height:clamp(8px,6cqw,11px)!important;
  margin:0!important;
  border-radius:2px!important;
  font-size:clamp(4px,3.2cqw,5.5px)!important;
  transform:translate(-50%,-50%) rotate(calc(var(--i) * (360deg / var(--count)))) translateY(-43cqw) rotate(calc(var(--i) * (-360deg / var(--count))))!important;
  background:transparent!important;
  text-shadow:0 1px 2px #000;
  z-index:5;
}
.rsl-wheel-rotor>span b{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:2px}
.rsl-wheel-rotor>span.red b{background:#c5363d}.rsl-wheel-rotor>span.black b{background:#15191b}.rsl-wheel-rotor>span.green b{background:#078659}
.rsl-wheel-inner{inset:29%!important;border-width:3px!important;z-index:2}
.rsl-wheel-hub{width:24%!important;z-index:4}
.rsl-ball-orbit{
  inset:6.5%!important;
  z-index:8!important;
  pointer-events:none;
}
.rsl-ball{
  top:calc(-1 * clamp(4px,2.2cqw,6px))!important;
  width:clamp(10px,5.5cqw,13px)!important;
  height:clamp(10px,5.5cqw,13px)!important;
  border:1px solid rgba(63,59,48,.7)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14),0 2px 7px rgba(0,0,0,.85)!important;
}
/* Entire wheel becomes the gesture target; no tiny ball/button target is required. */
.rsl-swipe-surface{
  position:absolute;
  inset:-8px;
  z-index:12;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 12px 26px;
  border:2px solid rgba(92,196,255,.22);
  border-radius:50%;
  background:rgba(76,181,244,.012);
  color:transparent;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  cursor:grab;
  outline:none;
}
.rsl-swipe-surface span{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(4,23,36,.72);
  color:#bfe9ff;
  font-size:6.5px;
  font-weight:950;
  letter-spacing:.03em;
  opacity:.9;
  pointer-events:none;
}
.rsl-swipe-surface.ball{border-color:rgba(116,225,190,.3)}
.rsl-swipe-surface.is-gesturing{cursor:grabbing;border-color:rgba(118,213,255,.8);background:rgba(74,183,246,.05);box-shadow:0 0 18px rgba(73,185,247,.24)}
.rsl-wheel-swipe-cue{z-index:13!important;bottom:-5px!important;min-width:112px!important;padding:4px 9px 5px!important}
.rsl-wheel-swipe-cue b{font-size:14px!important}.rsl-wheel-swipe-cue small{font-size:6.5px!important}

@media (orientation:landscape) and (max-height:420px){
  .roulette-spin-screen .rsl-workspace{grid-template-columns:minmax(0,56fr) minmax(285px,44fr)!important;gap:6px!important}
  .roulette-spin-screen .rsl-panel{padding:8px 9px 7px!important}
  .roulette-spin-screen .roulette-progress-head span{font-size:8px!important}.roulette-spin-screen .roulette-progress-head b{font-size:9.5px!important}
  .roulette-spin-screen .rsl-phase{margin-top:4px!important;padding:3px 6px!important;font-size:6.4px!important}
  .roulette-spin-screen .rsl-panel h1{margin:5px 0 3px!important;font-size:18.5px!important;line-height:1.07!important}
  .roulette-spin-screen .rsl-panel>p{font-size:9.4px!important;line-height:1.42!important}
  .roulette-spin-screen .rsl-primary{min-height:42px!important;margin-top:6px!important;padding:6px!important;font-size:10px!important}
  .roulette-spin-screen .rsl-primary.nmb{min-height:52px!important;font-size:14px!important}
  .roulette-spin-screen .rsl-swipe-instruction,.roulette-spin-screen .rsl-target-note{margin-top:5px!important;padding:6px 7px!important}
  .roulette-spin-screen .rsl-swipe-instruction b,.roulette-spin-screen .rsl-target-note b{font-size:9px!important}
  .roulette-spin-screen .rsl-swipe-instruction span,.roulette-spin-screen .rsl-target-note span{font-size:7.2px!important}
  .roulette-spin-screen .rsl-rule{margin-top:5px!important;padding:5px 6px!important}
  .roulette-spin-screen .rsl-rule small{font-size:5.4px!important}.roulette-spin-screen .rsl-rule b{font-size:7.7px!important;line-height:1.38!important}
  .roulette-spin-screen .rsl-feedback{margin-top:5px!important;padding:5px 6px!important}.roulette-spin-screen .rsl-feedback b{font-size:7.9px!important}.roulette-spin-screen .rsl-feedback button{min-height:27px!important;font-size:7.7px!important}
  .roulette-spin-screen .rsl-house-note{font-size:4.6px!important}
  .rsl-wheel-shell{width:min(100%,192px)!important;border-width:4px!important}
  .rsl-wheel-swipe-cue{min-width:94px!important;padding:3px 7px 4px!important}.rsl-wheel-swipe-cue b{font-size:11px!important}.rsl-wheel-swipe-cue small{font-size:5.4px!important}
  .rsl-swipe-surface{inset:-7px;padding-bottom:21px}.rsl-swipe-surface span{font-size:5.3px;padding:3px 6px}
}

/* v4.2.1 final phone-landscape tuning after 667x375 / 844x390 render review */
.roulette-spin-screen .rsl-arena{grid-template-columns:minmax(150px,43fr) minmax(0,57fr)!important;gap:8px!important}
.rsl-swipe-surface{inset:-10px!important}
@media (orientation:landscape) and (max-height:420px){
  .roulette-spin-screen .rsl-arena{grid-template-columns:minmax(150px,43fr) minmax(0,57fr)!important;gap:6px!important}
  .roulette-spin-screen .rsl-panel h1{font-size:20.5px!important}
  .roulette-spin-screen .rsl-panel>p{font-size:10.8px!important;line-height:1.46!important}
  .roulette-spin-screen .rsl-swipe-instruction b,.roulette-spin-screen .rsl-target-note b{font-size:10px!important}
  .roulette-spin-screen .rsl-swipe-instruction span,.roulette-spin-screen .rsl-target-note span{font-size:8.3px!important}
  .roulette-spin-screen .rsl-rule small{font-size:6px!important}
  .roulette-spin-screen .rsl-rule b{font-size:8.8px!important;line-height:1.43!important}
  .roulette-spin-screen .rsl-feedback b{font-size:8.8px!important}
  .roulette-spin-screen .rsl-feedback button{font-size:8.5px!important}
  .roulette-spin-screen .rsl-house-note{font-size:5px!important}
}

/* v4.2.1 readability/ball visibility lock */
.rsl-ball{width:clamp(12px,6cqw,15px)!important;height:clamp(12px,6cqw,15px)!important;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 9px rgba(255,248,220,.72),0 2px 7px rgba(0,0,0,.88)!important}
@media (orientation:landscape) and (max-height:420px){
  .roulette-spin-screen .rsl-panel h1{font-size:22px!important}
  .roulette-spin-screen .rsl-panel>p{font-size:11.5px!important;line-height:1.48!important}
  .roulette-spin-screen .rsl-swipe-instruction b,.roulette-spin-screen .rsl-target-note b{font-size:10.5px!important}
  .roulette-spin-screen .rsl-swipe-instruction span,.roulette-spin-screen .rsl-target-note span{font-size:9px!important}
  .roulette-spin-screen .rsl-rule small{font-size:6.3px!important}
  .roulette-spin-screen .rsl-rule b{font-size:9.4px!important}
  .roulette-spin-screen .rsl-feedback b{font-size:9.4px!important}
}


/* v4.2.2 — orientation artwork: one preloaded lightweight image instead of two PNG layers */
.roulette-orientation-stage,.roulette-portrait-card{background:radial-gradient(circle at 50% 42%,#101a20 0%,#070d12 48%,#030609 100%)!important}
.roulette-orientation-stage>picture,.roulette-portrait-card>picture{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;overflow:hidden}
.roulette-orientation-stage>picture>.roulette-orientation-art,.roulette-portrait-card>picture>.roulette-portrait-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
.roulette-orientation-bg,.roulette-portrait-bg{display:none!important}

/* v4.2.3 — LAB03 localized timing + ball roll audio UI */
.rsl-primary.nmb{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important}.rsl-primary.nmb>b{font-size:inherit;line-height:1}.rsl-primary.nmb>small{font-size:.64em;line-height:1;color:rgba(255,255,255,.78);font-weight:800;letter-spacing:.08em}

/* ================================================================
   v4.3.0 — ROULETTE LAB04 / WINNING NUMBER · DOLLY · CLEAR LOSERS
   ================================================================ */
body.roulette-winning-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#06110e!important}
body.roulette-winning-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;min-height:100dvh!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-winning-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-winning-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-winning-active .bottom-nav{display:none!important}body.roulette-winning-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
.rwd-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 35% 40%,rgba(23,89,66,.22),transparent 34%),#06110e}
.rwd-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,70%) minmax(250px,30%);gap:6px;padding:0 2px 2px;overflow:hidden}
.rwd-stage,.rwd-panel{min-height:0;border:1px solid rgba(91,170,255,.24);border-radius:12px;background:linear-gradient(180deg,rgba(9,24,20,.97),rgba(5,14,12,.98));overflow:hidden}
.rwd-stage{padding:6px;display:flex;align-items:stretch}.rwd-panel{padding:8px 9px;display:flex;flex-direction:column;gap:6px;overflow:auto;scrollbar-width:none}.rwd-panel::-webkit-scrollbar{display:none}
.rwd-arena{width:100%;min-height:0;display:grid;grid-template-columns:minmax(150px,34%) minmax(0,66%);gap:7px;align-items:stretch}.rwd-arena.focus-wheel{grid-template-columns:minmax(210px,47%) minmax(0,53%)}.rwd-wheel-zone,.rwd-layout-zone{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.rwd-wheel-zone{flex-direction:column;gap:5px;padding:2px}.rwd-layout-zone{padding:1px}
.rwd-static-wheel{width:min(30vw,290px)!important;max-width:95%!important;aspect-ratio:1/1;margin:auto}.rwd-winning-ball .rsl-ball{box-shadow:0 0 6px rgba(255,255,255,.95),0 0 12px rgba(109,197,255,.6)}
.rwd-result-card{width:min(95%,260px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(108,190,255,.35);border-radius:9px;background:rgba(4,15,21,.86)}.rwd-result-card small{font-size:8px;color:#a7c9df;letter-spacing:.08em}.rwd-result-card b{font-size:21px;color:#fff;text-align:center}.rwd-result-card span{font-size:10px;font-weight:900;color:#8fd0ff}
.rwd-layout-board{width:100%;height:auto;aspect-ratio:100/77;max-height:100%;position:relative;overflow:visible!important;touch-action:none}.rwd-layout-board .roulette-layout-base{height:100%}.rwd-number-layer{position:absolute;inset:0;z-index:12;pointer-events:none}.rwd-number-hit{position:absolute;width:4.6%;height:14%;min-width:22px;min-height:22px;transform:translate(-50%,-50%);border:0;border-radius:6px;background:rgba(88,187,255,.04);outline:1px solid rgba(88,187,255,.13);cursor:pointer;pointer-events:auto}.rwd-number-hit:hover,.rwd-number-hit:active{background:rgba(88,187,255,.27);outline-color:#81cfff}
.rwd-dolly{position:absolute;z-index:30;left:92%;top:88%;width:54px;height:54px;transform:translate(-50%,-50%);border:0;background:transparent;touch-action:none;cursor:grab;user-select:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.rwd-dolly.dragging{cursor:grabbing;z-index:100}.rwd-dolly i,.rwd-dolly-marker i{display:block;width:27px;height:33px;margin:auto;border-radius:45% 45% 35% 35%;border:2px solid #dff7ff;background:linear-gradient(180deg,#9fe9ff 0 20%,#2c90c6 21% 78%,#0d4368 79%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.12),0 0 10px rgba(89,196,255,.7)}.rwd-dolly span{display:block;margin-top:2px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#d9f5ff;text-shadow:0 1px 2px #000}.rwd-dolly-marker{position:absolute;z-index:25;width:34px;height:40px;transform:translate(-50%,-62%);pointer-events:none}.rwd-dolly-marker i{width:23px;height:29px;box-shadow:0 0 12px rgba(98,205,255,.9)}
.rwd-result-lock{position:absolute;left:50%;bottom:2.5%;z-index:20;transform:translateX(-50%);pointer-events:none;display:flex;align-items:center;gap:8px;padding:4px 9px;border:1px solid rgba(94,191,255,.36);border-radius:8px;background:rgba(3,14,20,.84);white-space:nowrap}.rwd-result-lock b{font-size:10px;color:#8fd5ff}.rwd-result-lock small{font-size:8px;color:#d7e9f2}
.rwd-phase{align-self:flex-start;padding:3px 7px;border-radius:999px;background:rgba(65,160,225,.16);border:1px solid rgba(80,177,241,.3);color:#81cfff;font-size:8px;font-weight:900;letter-spacing:.08em}.rwd-panel h1{margin:0;color:#fff;font-size:clamp(15px,2vw,24px);line-height:1.05}.rwd-panel>p{margin:0;color:#c8d6cf;font-size:clamp(10px,1.1vw,13px);line-height:1.35}
.rwd-primary{width:100%;min-height:40px;border:1px solid rgba(98,201,255,.6);border-radius:9px;background:linear-gradient(180deg,#145b7d,#0c3950);color:#fff;font-weight:900;font-size:12px;box-shadow:0 0 12px rgba(53,171,235,.15)}.rwd-primary.dolly{background:linear-gradient(180deg,#1e6a8c,#113f59)}
.rwd-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.rwd-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.rwd-choice-grid button,.rwd-clear-grid button,.rwd-zero-options button{min-height:36px;padding:5px 6px;border:1px solid rgba(120,189,218,.3);border-radius:8px;background:#0d211f;color:#f5fbf8;font-size:11px;font-weight:850}.rwd-choice-grid.calls button{font-size:10px}.rwd-choice-grid button:active,.rwd-clear-grid button:active,.rwd-zero-options button:active{background:#16443f;transform:translateY(1px)}
.rwd-target-note{padding:7px 8px;border:1px dashed rgba(107,198,255,.42);border-radius:8px;background:rgba(26,85,112,.11);text-align:center}.rwd-target-note b{display:block;color:#fff;font-size:10px}.rwd-target-note span{display:block;margin-top:3px;color:#8fd7ff;font-size:14px;font-weight:900}.rwd-clear-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.rwd-clear-grid button{min-height:40px;font-size:9px;line-height:1.2}.rwd-zero-options{display:grid;gap:5px}.rwd-zero-options button:first-child{border-color:rgba(95,201,255,.55);background:#10394b}.rwd-zero-options button b,.rwd-zero-options button small{display:block}.rwd-zero-options button small{margin-top:2px;font-size:8px;font-weight:600;color:#cfe9f5}
.rwd-rule{padding:6px 7px;border:1px solid rgba(213,168,75,.2);border-radius:8px;background:rgba(213,168,75,.06)}.rwd-rule small{display:block;color:#c8a760;font-size:7px;letter-spacing:.08em}.rwd-rule b{display:block;margin-top:2px;color:#f6ebd2;font-size:9px;line-height:1.35}.rwd-feedback{padding:6px 7px;border:1px solid rgba(112,191,255,.3);border-radius:8px;background:rgba(14,45,57,.6)}.rwd-feedback.wrong{border-color:rgba(255,91,91,.45);background:rgba(84,21,21,.5)}.rwd-feedback.correct{border-color:rgba(108,221,114,.42);background:rgba(20,74,43,.5)}.rwd-feedback b{display:block;font-size:9px;line-height:1.3;color:#fff}.rwd-feedback button{width:100%;margin-top:5px;min-height:28px;border:1px solid rgba(112,205,255,.4);border-radius:7px;background:#14384a;color:#fff;font-size:9px;font-weight:900}
.rwd-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rwd-step-track i{height:4px;border-radius:999px;background:rgba(255,255,255,.12)}.rwd-step-track i.done{background:#52c879}.rwd-step-track i.active{background:#69caff;box-shadow:0 0 7px rgba(105,202,255,.75)}.rwd-source{display:block;color:#68847c;font-size:6.5px;line-height:1.2;text-align:center}
.rwd-result .roulette-result-main{overflow:auto}
@media (max-width:720px) and (orientation:landscape){.rwd-workspace{grid-template-columns:minmax(0,68%) minmax(210px,32%);gap:4px}.rwd-stage{padding:3px}.rwd-panel{padding:5px 6px;gap:4px}.rwd-arena{grid-template-columns:minmax(120px,31%) minmax(0,69%);gap:3px}.rwd-arena.focus-wheel{grid-template-columns:minmax(165px,42%) minmax(0,58%)}.rwd-result-card{padding:3px 5px}.rwd-result-card b{font-size:16px}.rwd-static-wheel{width:min(26vw,210px)!important}.rwd-panel h1{font-size:14px}.rwd-panel>p{font-size:9px;line-height:1.25}.rwd-primary{min-height:32px;font-size:10px}.rwd-choice-grid button,.rwd-clear-grid button,.rwd-zero-options button{min-height:30px;font-size:8px;padding:3px}.rwd-rule{padding:4px 5px}.rwd-rule b{font-size:8px}.rwd-feedback{padding:4px 5px}.rwd-dolly{width:44px;height:44px}.rwd-dolly i{width:23px;height:28px}.rwd-result-lock{padding:3px 5px;gap:4px}.rwd-result-lock small{font-size:6.5px}}
@media (orientation:portrait){body.roulette-winning-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}

/* v4.3.2 — ROULETTE LAB03 / LAB04 interaction polish */
.rwd-clear-hit-layer{position:absolute;inset:0;z-index:28;pointer-events:none}
.rwd-clear-hit{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px dashed rgba(103,202,255,.24);border-radius:6px;background:rgba(75,176,230,.035);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rwd-clear-hit:active{background:rgba(69,188,246,.22);border-color:rgba(130,220,255,.72)}
.rwd-clear-hit.done{opacity:.13;pointer-events:none}
.rwd-target-note.clear-layout{padding:5px 7px}
.rwd-target-note.clear-layout b{font-size:9px}
.rwd-target-note.clear-layout span{font-size:11px;margin-top:2px}

@media (orientation:landscape) and (max-height:430px){
  .rwd-screen.step-zeroCheck .rwd-panel{overflow:hidden!important;padding:5px 7px;gap:3px}
  .rwd-screen.step-zeroCheck .rwd-panel h1{font-size:13px;line-height:1}
  .rwd-screen.step-zeroCheck .rwd-panel>p{font-size:8px;line-height:1.18}
  .rwd-screen.step-zeroCheck .rwd-phase{padding:2px 6px;font-size:7px}
  .rwd-screen.step-zeroCheck .rwd-zero-options{grid-template-columns:1fr 1fr;gap:3px}
  .rwd-screen.step-zeroCheck .rwd-zero-options button{min-height:24px;padding:2px 4px;font-size:7px;line-height:1.1}
  .rwd-screen.step-zeroCheck .rwd-zero-options button:first-child{grid-column:1/-1;min-height:30px}
  .rwd-screen.step-zeroCheck .rwd-zero-options button small{font-size:6.5px;margin-top:1px}
  .rwd-screen.step-zeroCheck .rwd-rule{padding:3px 5px}
  .rwd-screen.step-zeroCheck .rwd-rule small{font-size:6px}
  .rwd-screen.step-zeroCheck .rwd-rule b{font-size:7px;line-height:1.15;margin-top:1px}
  .rwd-screen.step-zeroCheck .rwd-feedback{padding:3px 5px}
  .rwd-screen.step-zeroCheck .rwd-feedback b{font-size:7px;line-height:1.15}
  .rwd-screen.step-zeroCheck .rwd-feedback button{min-height:22px;margin-top:3px;font-size:7px}
  .rwd-screen.step-zeroCheck .rwd-step-track{margin-top:0;gap:2px}
  .rwd-screen.step-zeroCheck .rwd-step-track i{height:3px}
  .rwd-screen.step-zeroCheck .rwd-source{font-size:5.5px;line-height:1.05}
}
@media (orientation:landscape) and (max-height:430px){
  .rwd-screen.step-zeroCheck .rwd-source{display:none}
}


/* LAB04 target guidance + direct INSIDE collection */
@keyframes rwdTargetPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(122,220,255,.60),0 0 10px rgba(71,194,255,.38);filter:brightness(1)}
  50%{box-shadow:0 0 0 3px rgba(146,231,255,.94),0 0 22px rgba(77,205,255,.82);filter:brightness(1.28)}
}
.rwd-clear-hit.expected{
  border:2px solid rgba(146,231,255,.95)!important;
  background:rgba(65,188,246,.22)!important;
  animation:rwdTargetPulse .92s ease-in-out infinite;
  z-index:3;
}
.rwd-clear-hit:not(.expected):not(.done){border-color:rgba(103,202,255,.10);background:rgba(75,176,230,.018)}
.rwd-inside-hit-layer{position:absolute;inset:0;z-index:28;pointer-events:none}
.rwd-inside-hit{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px dashed rgba(103,202,255,.12);border-radius:7px;background:rgba(75,176,230,.018);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:#dff7ff;font-size:7px;font-weight:950;letter-spacing:.04em}
.rwd-inside-hit.expected{border:2px solid rgba(146,231,255,.95);background:linear-gradient(180deg,rgba(68,191,247,.24),rgba(36,133,188,.18));animation:rwdTargetPulse .92s ease-in-out infinite;z-index:3}
.rwd-inside-hit.expected span{display:inline-flex;align-items:center;justify-content:center;padding:3px 5px;border-radius:999px;background:rgba(3,25,38,.82);border:1px solid rgba(159,232,255,.65);text-shadow:0 1px 2px #00141f;white-space:nowrap}
.rwd-inside-hit:active{background:rgba(69,188,246,.31);border-color:rgba(166,232,255,.95)}
.rwd-inside-hit.done{opacity:.10;pointer-events:none}
@media (orientation:landscape) and (max-height:430px){
  .rwd-inside-hit{font-size:5.8px}
  .rwd-inside-hit.expected span{padding:2px 4px}
}


/* v4.3.4 — ROULETTE LAB02–04 physical table orientation: layout LEFT / wheel RIGHT */
body.roulette-table-open-active .rto-casino-table{grid-template-columns:58% 42%!important}
body.roulette-table-open-active .rto-chip-bank{grid-column:1!important}
body.roulette-table-open-active .rto-wheel-visual{grid-column:2!important}
body.roulette-table-open-active .rto-ball-step-layout{grid-template-columns:minmax(0,1fr) 248px!important}
body.roulette-table-open-active .rto-ball-layout-zone{grid-column:1!important;grid-row:1!important}
body.roulette-table-open-active .rto-ball-wheel-zone{grid-column:2!important;grid-row:1!important}
body.roulette-table-open-active .rto-final-table{grid-template-columns:68% 32%!important}
body.roulette-table-open-active .rto-final-bank{grid-column:1!important;grid-row:1!important}
body.roulette-table-open-active .rto-final-felt{grid-column:1!important;grid-row:2!important}
body.roulette-table-open-active .rto-final-wheel{grid-column:2!important;grid-row:1 / span 2!important}
body.roulette-spin-active .rsl-arena{grid-template-columns:minmax(0,57fr) minmax(150px,43fr)!important}
body.roulette-spin-active .rsl-layout-zone{grid-column:1!important;grid-row:1!important}
body.roulette-spin-active .rsl-wheel-zone{grid-column:2!important;grid-row:1!important}
body.roulette-winning-active .rwd-arena{grid-template-columns:minmax(0,66%) minmax(150px,34%)!important}
body.roulette-winning-active .rwd-arena.focus-wheel{grid-template-columns:minmax(0,53%) minmax(210px,47%)!important}
body.roulette-winning-active .rwd-layout-zone{grid-column:1!important;grid-row:1!important}
body.roulette-winning-active .rwd-wheel-zone{grid-column:2!important;grid-row:1!important}
body.roulette-winning-active .rwd-dolly{left:50%!important;top:91%!important}
@media (orientation:landscape) and (max-height:420px){
  body.roulette-table-open-active .rto-ball-step-layout{grid-template-columns:minmax(0,1fr) 175px!important}
  body.roulette-spin-active .rsl-arena{grid-template-columns:minmax(0,57fr) minmax(150px,43fr)!important}
}
@media (max-width:720px) and (orientation:landscape){
  body.roulette-winning-active .rwd-arena{grid-template-columns:minmax(0,69%) minmax(120px,31%)!important}
  body.roulette-winning-active .rwd-arena.focus-wheel{grid-template-columns:minmax(0,58%) minmax(165px,42%)!important}
}


/* v4.3.5 — WCAG 2.2 target-size hardening / heading normalization */
.back-link{min-height:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center}
.my-section-heading button,.my-exam-record.locked button,.sidepot-info-links button,.sidepot-term-buttons button{min-height:24px;display:inline-flex;align-items:center;justify-content:center}
.my-section-heading button{padding-top:4px;padding-bottom:4px}
.sidepot-info-links button,.sidepot-term-buttons button{padding-top:4px;padding-bottom:4px}
.learn-progress-total{font-size:1.17em;font-weight:700;line-height:1.2}
@media (orientation:landscape) and (max-height:420px){.roulette-training-top .back-link{min-height:24px}}


/* ======================================================================
   v4.3.6 — HOME GAME HUB / GAME GUIDE POLISH
   ====================================================================== */
.home-section-title > small{display:none!important}

/* Four active games use one equal 2×2 card system. */
.home-game-hub{grid-template-columns:1fr 1fr!important}
.home-game-card.baccarat,
.home-game-card.roulette{
  grid-column:auto!important;
  min-height:176px!important;
}
.home-game-card.baccarat{
  background:
    radial-gradient(circle at 12% 0%,rgba(90,177,137,.24),transparent 44%),
    linear-gradient(155deg,rgba(20,61,48,.96),rgba(13,18,24,.99) 62%)!important;
  border-color:rgba(90,177,137,.38)!important;
}
.home-game-card.baccarat .home-game-suit{
  color:#f0d47b!important;
  border-color:rgba(90,177,137,.42)!important;
}
.home-game-card.roulette{
  background:
    radial-gradient(circle at 88% 8%,rgba(92,164,232,.16),transparent 32%),
    linear-gradient(150deg,#112d5f,#0a1630 72%)!important;
  border-color:rgba(91,170,255,.38)!important;
}
.home-game-card.roulette .home-game-suit{
  color:#a9dcff!important;
  border-color:rgba(110,190,255,.46)!important;
}
.home-game-card.roulette h3,
.home-game-card.roulette em{color:#a9dcff!important}
.home-game-card.roulette > div b{color:#d7efff!important}

.game-guide-card.roulette{
  background:
    radial-gradient(circle at 50% 10%,rgba(92,164,232,.22),transparent 42%),
    linear-gradient(180deg,#112d5f,#090f20);
  border-color:rgba(91,170,255,.48);
}
.game-guide-card.roulette .guide-suit{color:#a9dcff}
.game-rule-modal.roulette-guide-detail{border-color:rgba(91,170,255,.42)}

@media(max-width:380px){
  .home-game-card.baccarat,
  .home-game-card.roulette{min-height:171px!important}
}
@media(max-width:350px){
  .home-game-hub{grid-template-columns:1fr!important}
  .home-game-card.baccarat,
  .home-game-card.roulette{min-height:142px!important}
}


/* ======================================================================
   v4.3.7 — HOME / DAILY / GAME GUIDE MICRO POLISH
   HOME colors mirror LAB identities exactly:
   Hold'em = red, Blackjack = green, Baccarat = yellow/gold, Roulette = blue.
   ====================================================================== */
.home-game-card.holdem{
  background:
    radial-gradient(circle at 88% 8%,rgba(230,72,72,.16),transparent 31%),
    linear-gradient(150deg,#4b1719,#190a0b 72%)!important;
  border-color:rgba(224,82,82,.46)!important;
}
.home-game-card.holdem .home-game-suit{color:#ff9a9a!important;border-color:rgba(224,82,82,.46)!important}
.home-game-card.holdem h3,.home-game-card.holdem em{color:#ffd0d0!important}
.home-game-card.holdem > div b{color:#eaa0a0!important}

.home-game-card.blackjack{
  background:
    radial-gradient(circle at 88% 8%,rgba(70,190,116,.15),transparent 31%),
    linear-gradient(150deg,#123d25,#08170f 72%)!important;
  border-color:rgba(75,191,119,.46)!important;
}
.home-game-card.blackjack .home-game-suit{color:#8be0aa!important;border-color:rgba(75,191,119,.46)!important}
.home-game-card.blackjack h3,.home-game-card.blackjack em{color:#c8f2d7!important}
.home-game-card.blackjack > div b{color:#89cea2!important}

.home-game-card.baccarat{
  background:
    radial-gradient(circle at 88% 8%,rgba(255,214,72,.14),transparent 32%),
    linear-gradient(155deg,rgba(104,76,15,.86),rgba(28,22,12,.98) 62%)!important;
  border-color:rgba(235,193,65,.38)!important;
}
.home-game-card.baccarat .home-game-suit{color:#ffe07a!important;border-color:rgba(235,193,65,.42)!important}
.home-game-card.baccarat h3,.home-game-card.baccarat em{color:#ffe7a0!important}
.home-game-card.baccarat > div b{color:#ebca67!important}

/* Keep GAME GUIDE as an equal 2×2 matrix on every supported phone width. */
.game-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
.game-guide-grid .game-guide-card{grid-column:auto!important;width:100%!important;height:120px!important;min-height:120px!important;box-sizing:border-box!important}
@media(max-width:350px){
  .game-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .game-guide-grid .game-guide-card{grid-column:auto!important;height:112px!important;min-height:112px!important;padding:9px 6px!important}
  .game-guide-grid .game-guide-card strong{font-size:10px!important}
  .game-guide-grid .game-guide-card small{font-size:6px!important}
}

/* ======================================================================
   v4.3.8 — ROULETTE LAB05 · PAYOUT ODDS & OUTSIDE BETS
   ====================================================================== */
body.roulette-payout-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#06110e!important}
body.roulette-payout-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-payout-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-payout-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-payout-active .bottom-nav{display:none!important}
.rpo-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 35% 42%,rgba(29,87,130,.19),transparent 34%),#06110e}
.rpo-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,70%) minmax(250px,30%);gap:6px;padding:0 2px 2px;overflow:hidden}
.rpo-stage,.rpo-panel{min-height:0;border:1px solid rgba(91,170,255,.24);border-radius:12px;background:linear-gradient(180deg,rgba(9,24,20,.97),rgba(5,14,12,.98));overflow:hidden}
.rpo-stage{padding:6px;display:flex;align-items:stretch}.rpo-panel{padding:7px 8px;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.rpo-arena{width:100%;min-height:0;display:grid;grid-template-columns:minmax(0,72%) minmax(150px,28%);gap:7px;align-items:stretch}
.rpo-layout-zone,.rpo-wheel-zone{min-width:0;min-height:0;display:flex;position:relative;align-items:center;justify-content:center}.rpo-layout-zone{padding:1px}.rpo-wheel-zone{flex-direction:column;gap:5px;padding:2px}
.rpo-wheel-zone .rwd-static-wheel{width:min(22vw,205px)!important;max-width:94%!important}.rpo-wheel-zone .rwd-result-card{max-width:210px;padding:4px 6px}.rpo-wheel-zone .rwd-result-card b{font-size:18px}
.rpo-layout-board{width:100%;height:auto;aspect-ratio:100/77;max-height:100%;position:relative;overflow:visible!important;touch-action:manipulation}.rpo-layout-board .roulette-layout-base{height:100%}
.rpo-marker-layer,.rpo-hit-layer{position:absolute;inset:0}.rpo-marker-layer{z-index:18;pointer-events:none}.rpo-hit-layer{z-index:24;pointer-events:none}
.rpo-area-hit{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px dashed rgba(107,202,255,.12);border-radius:7px;background:rgba(61,175,231,.015);touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.rpo-area-hit.expected{border:2px solid rgba(147,231,255,.96);background:linear-gradient(180deg,rgba(67,193,249,.25),rgba(30,126,185,.17));box-shadow:0 0 14px rgba(79,201,255,.48);animation:rwdTargetPulse .9s ease-in-out infinite}.rpo-area-hit.done{opacity:.08;pointer-events:none}.rpo-area-hit:active{background:rgba(72,193,248,.3);border-color:#bdefff}
.rpo-bet-stack{position:absolute;transform:translate(-50%,-50%);display:grid;gap:1px;z-index:18;pointer-events:none}.rpo-bet-stack.loser{opacity:.75}.rpo-chip{position:relative;display:flex;align-items:center;gap:3px;min-width:56px;padding:2px 4px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(4,16,20,.86);box-shadow:0 2px 6px rgba(0,0,0,.4);font-size:6.2px;font-weight:950;color:#fff;white-space:nowrap}.rpo-chip i,.rpo-color-select button i{width:11px;height:11px;border-radius:50%;border:2px dashed rgba(255,255,255,.75);box-shadow:inset 0 0 0 2px rgba(0,0,0,.22);flex:0 0 auto}.rpo-chip.paid{opacity:.38;text-decoration:line-through}.rpo-chip.selected{box-shadow:0 0 10px rgba(102,219,255,.75)}
.rpo-chip.c-blue i,.rpo-color-select .c-blue i,.rpo-inside-remain .c-blue{background:#3187ff}.rpo-chip.c-orange i,.rpo-color-select .c-orange i,.rpo-inside-remain .c-orange{background:#f09a27}.rpo-chip.c-pink i,.rpo-color-select .c-pink i,.rpo-inside-remain .c-pink{background:#ef5f9c}.rpo-chip.c-purple i,.rpo-color-select .c-purple i,.rpo-inside-remain .c-purple{background:#9a6ee8}
.rpo-inside-remain{position:absolute;transform:translate(-50%,-50%);display:grid;grid-template-columns:11px auto;column-gap:3px;align-items:center;padding:2px 4px;border:1px solid rgba(225,191,97,.34);border-radius:6px;background:rgba(32,24,10,.84);color:#f9e4a2;font-size:5.8px}.rpo-inside-remain i{width:9px;height:9px;border-radius:50%}.rpo-inside-remain b{white-space:nowrap}.rpo-inside-remain small{grid-column:1/-1;color:#ac9b70;font-size:4.5px}.rpo-no-bet{position:absolute;transform:translate(-50%,-50%);padding:2px 4px;border:1px dashed rgba(255,255,255,.16);border-radius:5px;background:rgba(0,0,0,.55);color:#9aa6a1;font-size:5.5px;text-align:center}.rpo-no-bet small{display:block;font-size:4.3px;color:#748079}
.rpo-profit-rule{width:92%;padding:4px 5px;border:1px solid rgba(229,193,90,.28);border-radius:7px;background:rgba(203,160,52,.06);text-align:center}.rpo-profit-rule b{display:block;color:#f3d477;font-size:7px}.rpo-profit-rule small{display:block;margin-top:1px;color:#a99b72;font-size:5.8px}
.rpo-phase{align-self:flex-start;padding:3px 7px;border-radius:999px;background:rgba(65,160,225,.16);border:1px solid rgba(80,177,241,.3);color:#81cfff;font-size:8px;font-weight:900;letter-spacing:.08em}.rpo-panel h1{margin:0;color:#fff;font-size:clamp(14px,1.8vw,22px);line-height:1.04}.rpo-panel>p{margin:0;color:#c8d6cf;font-size:clamp(9px,1vw,12px);line-height:1.28}
.rpo-rule{padding:5px 6px;border:1px solid rgba(213,168,75,.2);border-radius:8px;background:rgba(213,168,75,.06)}.rpo-rule small{display:block;color:#c8a760;font-size:6.5px;letter-spacing:.08em}.rpo-rule b{display:block;margin-top:1px;color:#f6ebd2;font-size:8.5px;line-height:1.25}
.rpo-feedback{padding:5px 6px;border:1px solid rgba(112,191,255,.3);border-radius:8px;background:rgba(14,45,57,.6)}.rpo-feedback.wrong{border-color:rgba(255,91,91,.45);background:rgba(84,21,21,.5)}.rpo-feedback.correct{border-color:rgba(108,221,114,.42);background:rgba(20,74,43,.5)}.rpo-feedback b{display:block;font-size:8.5px;line-height:1.2;color:#fff}.rpo-feedback button{width:100%;margin-top:4px;min-height:27px;border:1px solid rgba(112,205,255,.4);border-radius:7px;background:#14384a;color:#fff;font-size:8px;font-weight:900}
.rpo-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rpo-step-track i{height:4px;border-radius:999px;background:rgba(255,255,255,.12)}.rpo-step-track i.done{background:#52c879}.rpo-step-track i.active{background:#69caff;box-shadow:0 0 7px rgba(105,202,255,.75)}.rpo-source{display:block;color:#68847c;font-size:6px;line-height:1.1;text-align:center}
.rpo-target-note{padding:6px 7px;border:1px dashed rgba(107,198,255,.42);border-radius:8px;background:rgba(26,85,112,.11);text-align:center}.rpo-target-note b{display:block;color:#fff;font-size:9px}.rpo-target-note span{display:block;margin-top:2px;color:#8fd7ff;font-size:11px;font-weight:900}.rpo-target-note.live{border-color:rgba(231,192,81,.44);background:rgba(131,92,18,.08)}.rpo-target-note.live span{color:#ebcb70}
.rpo-reference-stage{width:100%;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:8px}.rpo-reference-head{text-align:center}.rpo-reference-head small{display:block;color:#8fb7a5;font-size:8px;letter-spacing:.15em}.rpo-reference-head b{display:block;margin-top:3px;color:#f0d47c;font-size:13px}.rpo-odds-reference{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rpo-odds-reference>div{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;border:1px solid rgba(94,180,238,.25);border-radius:9px;background:linear-gradient(180deg,rgba(16,48,58,.8),rgba(8,27,29,.9));text-align:center}.rpo-odds-reference span{color:#b8cac3;font-size:8px;font-weight:800}.rpo-odds-reference b{margin-top:3px;color:#fff;font-size:20px}
.rpo-calc-stage{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:10%;background:radial-gradient(circle at 25% 50%,rgba(55,156,210,.17),transparent 34%)}.rpo-calc-bet{display:grid;gap:6px;padding:20px;border:1px solid rgba(97,198,250,.32);border-radius:16px;background:rgba(5,24,31,.85);text-align:center}.rpo-calc-bet small{color:#8ec8e5;font-size:10px}.rpo-calc-bet b{color:#fff;font-size:28px}.rpo-calc-bet span{color:#f0cf69;font-size:20px;font-weight:900}.rpo-formula{text-align:center}.rpo-formula strong{display:block;color:#fff;font-size:25px}.rpo-formula small{display:block;margin-top:6px;color:#e2c96f;font-size:9px}
.rpo-quiz-head{display:grid;gap:2px;text-align:center;padding:5px;border:1px solid rgba(105,192,239,.24);border-radius:8px;background:rgba(13,49,59,.54)}.rpo-quiz-head span{color:#87c9e8;font-size:7px;font-weight:900}.rpo-quiz-head b{color:#fff;font-size:10px}.rpo-quiz-head small{color:#c8d6cf;font-size:7px}.rpo-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.rpo-choice-grid button{min-height:35px;border:1px solid rgba(116,191,222,.32);border-radius:8px;background:#0d211f;color:#fff;font-size:12px;font-weight:900}.rpo-choice-grid button:active{background:#17443d}
.rpo-color-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.rpo-color-select button{min-height:32px;padding:2px 3px;display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 3px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#0b1d1d;color:#fff;text-align:left}.rpo-color-select button.active{border-color:#8fdcff;box-shadow:0 0 8px rgba(90,205,255,.4)}.rpo-color-select button i{grid-row:1/3;width:10px;height:10px}.rpo-color-select button b{font-size:6.5px}.rpo-color-select button small{font-size:5.5px;color:#9dafaa}
.rpo-builder{display:grid;gap:4px}.rpo-builder-meta{display:grid;grid-template-columns:1.6fr 1fr .7fr .7fr;gap:3px}.rpo-builder-meta span{display:grid;gap:1px;padding:3px;border:1px solid rgba(255,255,255,.09);border-radius:6px;background:rgba(255,255,255,.025)}.rpo-builder-meta small{font-size:5px;color:#829891}.rpo-builder-meta b{font-size:7px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpo-built{display:grid;grid-template-columns:1fr auto;align-items:center;padding:4px 6px;border:1px solid rgba(231,194,78,.27);border-radius:7px;background:rgba(134,101,21,.08)}.rpo-built small{color:#c7a950;font-size:6px}.rpo-built strong{grid-row:1/3;grid-column:2;font-size:24px;color:#fff;line-height:1}.rpo-built span{font-size:6px;color:#bdb28d}.rpo-chip-buttons{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:3px}.rpo-chip-buttons button{min-height:31px;border:1px solid rgba(106,199,237,.3);border-radius:7px;background:#0d282c;color:#eafbff;font-size:8px;font-weight:900}.rpo-chip-buttons .full{border-color:rgba(231,192,78,.5);background:#3b3216;color:#ffe39a}.rpo-builder-actions{display:grid;grid-template-columns:.7fr 2fr;gap:4px}.rpo-builder-actions button{min-height:32px;border:1px solid rgba(255,255,255,.17);border-radius:7px;background:#192321;color:#fff;font-size:8px;font-weight:900}.rpo-builder-actions .pay{background:linear-gradient(180deg,#176749,#0c402e);border-color:rgba(108,218,151,.45)}.rpo-builder-actions .pay small{display:block;font-size:5.5px;font-weight:600;color:#cce9d9}
.rpo-builder-wait{padding:8px;border:1px dashed rgba(105,197,236,.3);border-radius:7px;color:#a9cbd8;text-align:center;font-size:8px}
.rpo-zero-case{display:grid;gap:4px}.rpo-zero-case>b{color:#91d6f3;font-size:10px}.rpo-zero-case p{margin:0;color:#d2ddd7;font-size:8px;line-height:1.2}.rpo-zero-case button{min-height:32px;border:1px solid rgba(108,196,231,.28);border-radius:7px;background:#0d272a;color:#fff;font-size:8px;font-weight:900}.rpo-zero-case button:first-of-type{border-color:rgba(109,219,145,.42);background:#123f2a}
.rpo-protection{display:grid;gap:5px}.rpo-protection>span{color:#7fc6e7;font-size:7px;font-weight:900}.rpo-protection>b{color:#fff;font-size:10px;line-height:1.25}.rpo-protection>div{display:grid;gap:3px}.rpo-protection button{min-height:31px;border:1px solid rgba(118,193,222,.27);border-radius:7px;background:#0c2424;color:#fff;font-size:7.5px;font-weight:900}
.rpo-live-finish{display:grid;gap:5px;text-align:center;padding:6px;border:1px solid rgba(108,216,146,.32);border-radius:8px;background:rgba(17,72,44,.34)}.rpo-live-finish b{color:#8ff0ad;font-size:10px}.rpo-live-finish span{color:#d6c46c;font-size:7px}.rpo-live-finish button{min-height:37px;border:1px solid rgba(226,195,89,.5);border-radius:7px;background:linear-gradient(180deg,#6a5621,#403310);color:#fff2b1;font-size:9px;font-weight:950;letter-spacing:.04em}
.rpo-result .roulette-result-main{overflow:auto}.rwd-result-actions-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.rwd-result-actions-3 button{font-size:8px!important}
@media (orientation:portrait){body.roulette-payout-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (orientation:landscape) and (max-height:420px){
  .rpo-workspace{grid-template-columns:minmax(0,66%) minmax(250px,34%);gap:4px;padding-top:1px}.rpo-stage{padding:3px}.rpo-panel{padding:4px 5px;gap:3px}.rpo-arena{grid-template-columns:minmax(0,74%) minmax(120px,26%);gap:3px}.rpo-wheel-zone{gap:2px}.rpo-wheel-zone .rwd-static-wheel{width:min(20vw,150px)!important}.rpo-wheel-zone .rwd-result-card{padding:2px 4px;gap:3px}.rpo-wheel-zone .rwd-result-card small{font-size:5.5px}.rpo-wheel-zone .rwd-result-card b{font-size:13px}.rpo-wheel-zone .rwd-result-card span{font-size:6px}.rpo-profit-rule{padding:2px 3px}.rpo-profit-rule b{font-size:5.5px}.rpo-profit-rule small{font-size:4.5px}
  .rpo-panel h1{font-size:12px}.rpo-panel>p{font-size:7.4px;line-height:1.15}.rpo-phase{padding:2px 5px;font-size:6px}.rpo-rule{padding:3px 4px}.rpo-rule small{font-size:5px}.rpo-rule b{font-size:6.4px;line-height:1.12}.rpo-feedback{padding:3px 4px}.rpo-feedback b{font-size:6.5px}.rpo-feedback button{min-height:22px;margin-top:2px;font-size:6.5px}.rpo-source{display:none}.rpo-step-track{margin-top:0;gap:2px}.rpo-step-track i{height:3px}
  .rpo-target-note{padding:3px 4px}.rpo-target-note b{font-size:6.5px}.rpo-target-note span{font-size:8px;margin-top:1px}.rpo-chip{min-width:45px;padding:1px 2px;font-size:4.8px}.rpo-chip i{width:8px;height:8px}.rpo-inside-remain{font-size:4.5px}.rpo-no-bet{font-size:4.5px}
  .rpo-reference-stage{gap:5px;padding:4px}.rpo-reference-head small{font-size:6px}.rpo-reference-head b{font-size:9px}.rpo-odds-reference{gap:3px}.rpo-odds-reference>div{min-height:42px;padding:2px}.rpo-odds-reference span{font-size:5.5px}.rpo-odds-reference b{font-size:14px}.rpo-calc-stage{gap:10px;padding:5%}.rpo-calc-bet{gap:3px;padding:9px}.rpo-calc-bet b{font-size:18px}.rpo-calc-bet span{font-size:13px}.rpo-formula strong{font-size:17px}
  .rpo-quiz-head{padding:3px}.rpo-quiz-head span{font-size:5.5px}.rpo-quiz-head b{font-size:7.5px}.rpo-quiz-head small{font-size:5.5px}.rpo-choice-grid{gap:3px}.rpo-choice-grid button{min-height:27px;font-size:8px}.rpo-color-select{gap:2px}.rpo-color-select button{min-height:25px}.rpo-color-select button b{font-size:5.5px}.rpo-color-select button small{font-size:4.5px}.rpo-builder{gap:2px}.rpo-builder-meta{gap:2px}.rpo-builder-meta span{padding:2px}.rpo-builder-meta small{font-size:4.3px}.rpo-builder-meta b{font-size:5.8px}.rpo-built{padding:2px 4px}.rpo-built small{font-size:5px}.rpo-built strong{font-size:18px}.rpo-built span{font-size:5px}.rpo-chip-buttons,.rpo-builder-actions{gap:2px}.rpo-chip-buttons button,.rpo-builder-actions button{min-height:25px;font-size:6.5px}.rpo-builder-actions .pay small{font-size:4.5px}.rpo-builder-wait{padding:5px;font-size:6.5px}.rpo-zero-case{gap:2px}.rpo-zero-case>b{font-size:7.5px}.rpo-zero-case p{font-size:6px}.rpo-zero-case button{min-height:25px;font-size:6.5px}.rpo-protection{gap:3px}.rpo-protection>span{font-size:5.5px}.rpo-protection>b{font-size:7px}.rpo-protection>div{gap:2px}.rpo-protection button{min-height:25px;font-size:6px}.rpo-live-finish{gap:2px;padding:3px}.rpo-live-finish b{font-size:7.5px}.rpo-live-finish span{font-size:5.5px}.rpo-live-finish button{min-height:27px;font-size:6.5px}
}

/* ======================================================================
   v4.3.9 — ROULETTE LAB05 VISIBILITY / WINNER / DOLLY / INSIDE ANCHORS
   ====================================================================== */
/* Make the winning result a true visual anchor across Roulette result/payout LABs. */
.rwd-result-card{min-height:48px!important;padding:6px 9px!important}
.rwd-result-card small{font-size:9px!important;font-weight:900!important}
.rwd-result-card b{font-size:32px!important;line-height:.95!important;letter-spacing:.02em!important;text-shadow:0 0 12px rgba(112,210,255,.35)}
.rwd-result-card span{font-size:11px!important}
.rsl-live-status.winner{font-size:12px!important;line-height:1!important;color:#fff!important;text-shadow:0 0 8px rgba(106,204,255,.55)}

/* LAB05: reserve more width for the instruction/control panel and raise type sizes. */
.rpo-workspace{grid-template-columns:minmax(0,67%) minmax(270px,33%)!important}
.rpo-panel{padding:8px 9px!important;gap:6px!important}
.rpo-phase{font-size:9px!important;padding:4px 8px!important}
.rpo-panel h1{font-size:clamp(16px,2vw,23px)!important;line-height:1.08!important}
.rpo-panel>p{font-size:clamp(10.5px,1.15vw,13px)!important;line-height:1.32!important}
.rpo-rule small{font-size:7.5px!important}.rpo-rule b{font-size:9.5px!important;line-height:1.28!important}
.rpo-feedback b{font-size:9.5px!important;line-height:1.28!important}.rpo-feedback button{font-size:9px!important}
.rpo-target-note b{font-size:10.5px!important;line-height:1.25!important}.rpo-target-note span{font-size:13px!important}
.rpo-quiz-head span{font-size:8px!important}.rpo-quiz-head b{font-size:11.5px!important}.rpo-quiz-head small{font-size:8.5px!important}
.rpo-choice-grid button{font-size:13px!important}
.rpo-color-select button b{font-size:8px!important}.rpo-color-select button small{font-size:6.8px!important}
.rpo-builder-meta small{font-size:6.3px!important}.rpo-builder-meta b{font-size:8.2px!important}
.rpo-built small{font-size:7px!important}.rpo-built span{font-size:7px!important}
.rpo-chip-buttons button,.rpo-builder-actions button{font-size:9px!important}.rpo-builder-actions .pay small{font-size:6.3px!important}
.rpo-builder-wait{font-size:9px!important}
.rpo-zero-case>b{font-size:11px!important}.rpo-zero-case p{font-size:9.5px!important}.rpo-zero-case button{font-size:9px!important}
.rpo-protection>span{font-size:8px!important}.rpo-protection>b{font-size:11px!important;line-height:1.3!important}.rpo-protection button{font-size:9px!important;line-height:1.22!important}
.rpo-live-finish b{font-size:11px!important}.rpo-live-finish span{font-size:8px!important}.rpo-live-finish button{font-size:9.5px!important}

/* LAB05 winner card is intentionally larger than the old compact HUD. */
.rpo-wheel-zone .rwd-result-card{width:min(96%,220px)!important;max-width:220px!important;min-height:52px!important;padding:5px 8px!important}
.rpo-wheel-zone .rwd-result-card b{font-size:30px!important}

/* STEP03 / STEP10: locked Dolly stays visibly centered on the winning number. */
.rwd-dolly-marker.rpo-payout-dolly{z-index:27!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.65))}
.rwd-dolly-marker.rpo-payout-dolly i{width:22px!important;height:28px!important;box-shadow:0 0 14px rgba(103,211,255,.95)!important}

/* STEP10: INSIDE chips are anchored to the actual straight/split geometry, not decorative percentages. */
.rpo-inside-remain{z-index:21!important;display:flex!important;align-items:center!important;gap:2px!important;padding:1px 3px!important;border:1px solid rgba(255,227,134,.62)!important;border-radius:999px!important;background:rgba(21,17,7,.93)!important;color:#fff4bd!important;font-size:6.5px!important;box-shadow:0 1px 5px rgba(0,0,0,.62)!important;white-space:nowrap!important}
.rpo-inside-remain i{width:12px!important;height:12px!important;border:1px dashed rgba(255,255,255,.9)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)!important;flex:0 0 auto!important}
.rpo-inside-remain b{font-size:6.5px!important;line-height:1!important}
.rpo-inside-remain small{position:absolute!important;left:50%!important;top:calc(100% + 1px)!important;transform:translateX(-50%)!important;padding:1px 3px!important;border-radius:3px!important;background:rgba(0,0,0,.78)!important;color:#e8d791!important;font-size:4.8px!important;line-height:1.1!important;white-space:nowrap!important;pointer-events:none!important}
.rpo-inside-remain.kind-straight{transform:translate(-112%,-48%)!important}
.rpo-inside-remain.kind-split{transform:translate(-50%,-50%)!important}

@media (orientation:landscape) and (max-height:420px){
  .rpo-workspace{grid-template-columns:minmax(0,62%) minmax(260px,38%)!important}
  .rpo-panel{padding:5px 6px!important;gap:3px!important}
  .rpo-panel h1{font-size:14.5px!important;line-height:1.06!important}
  .rpo-panel>p{font-size:9px!important;line-height:1.2!important}
  .rpo-phase{padding:2px 6px!important;font-size:7.5px!important}
  .rpo-rule{padding:3px 4px!important}.rpo-rule small{font-size:6px!important}.rpo-rule b{font-size:7.5px!important;line-height:1.15!important}
  .rpo-feedback{padding:3px 4px!important}.rpo-feedback b{font-size:7.5px!important}.rpo-feedback button{min-height:23px!important;font-size:7.5px!important}
  .rpo-target-note{padding:4px 5px!important}.rpo-target-note b{font-size:8px!important}.rpo-target-note span{font-size:10px!important}
  .rpo-quiz-head span{font-size:6.5px!important}.rpo-quiz-head b{font-size:9px!important}.rpo-quiz-head small{font-size:6.5px!important}.rpo-choice-grid button{min-height:29px!important;font-size:9.5px!important}
  .rpo-color-select button{min-height:27px!important}.rpo-color-select button b{font-size:6.5px!important}.rpo-color-select button small{font-size:5.5px!important}
  .rpo-builder-meta small{font-size:5.2px!important}.rpo-builder-meta b{font-size:6.7px!important}.rpo-built small{font-size:5.7px!important}.rpo-built span{font-size:5.7px!important}.rpo-built strong{font-size:19px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{min-height:26px!important;font-size:7.4px!important}.rpo-builder-actions .pay small{font-size:5px!important}
  .rpo-builder-wait{font-size:7.3px!important}.rpo-zero-case>b{font-size:8.5px!important}.rpo-zero-case p{font-size:7px!important}.rpo-zero-case button{min-height:27px!important;font-size:7.3px!important}
  .rpo-protection>span{font-size:6.3px!important}.rpo-protection>b{font-size:8.3px!important;line-height:1.18!important}.rpo-protection button{min-height:27px!important;font-size:7.2px!important}
  .rpo-live-finish b{font-size:8.5px!important}.rpo-live-finish span{font-size:6px!important}.rpo-live-finish button{min-height:29px!important;font-size:7.3px!important}
  .rpo-wheel-zone .rwd-result-card{min-height:44px!important;padding:3px 5px!important}.rpo-wheel-zone .rwd-result-card small{font-size:7px!important}.rpo-wheel-zone .rwd-result-card b{font-size:25px!important}.rpo-wheel-zone .rwd-result-card span{font-size:8px!important}
  .rwd-result-card b{font-size:25px!important}.rwd-result-card small{font-size:7px!important}.rwd-result-card span{font-size:8px!important}
  .rpo-inside-remain{font-size:5.5px!important}.rpo-inside-remain i{width:10px!important;height:10px!important}.rpo-inside-remain b{font-size:5.5px!important}.rpo-inside-remain small{font-size:4.2px!important}
  .rsl-live-status.winner{font-size:10px!important}
}

/* ======================================================================
   v4.3.10 — ROULETTE LAB05 PANEL SPACE / SCENARIO VARIATION
   ====================================================================== */
/* Use the full answer-panel height instead of compressing all controls at the top. */
.rpo-control-slot{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.rpo-control-slot>.rpo-target-note,.rpo-control-slot>.rpo-quiz-head,.rpo-control-slot>.rpo-builder,.rpo-control-slot>.rpo-protection,.rpo-control-slot>.rpo-zero-case,.rpo-control-slot>.rpo-live-finish,.rpo-control-slot>.rpo-color-select,.rpo-control-slot>.rpo-builder-wait{width:100%}
.rpo-panel h1{font-size:clamp(18px,2.2vw,26px)!important;line-height:1.08!important}
.rpo-panel>p{font-size:clamp(12px,1.3vw,15px)!important;line-height:1.36!important}
.rpo-phase{font-size:10px!important;padding:5px 9px!important}
.rpo-target-note{padding:10px 9px!important}.rpo-target-note b{font-size:13px!important;line-height:1.32!important}.rpo-target-note span{font-size:16px!important;margin-top:4px!important}
.rpo-quiz-head{padding:8px!important;gap:4px!important}.rpo-quiz-head span{font-size:9.5px!important}.rpo-quiz-head b{font-size:14px!important}.rpo-quiz-head small{font-size:10px!important}
.rpo-choice-grid{gap:7px!important}.rpo-choice-grid button{min-height:44px!important;font-size:16px!important}
.rpo-color-select{gap:5px!important}.rpo-color-select button{min-height:40px!important}.rpo-color-select button b{font-size:9.5px!important}.rpo-color-select button small{font-size:8px!important}
.rpo-builder{gap:6px!important}.rpo-builder-meta{gap:4px!important}.rpo-builder-meta span{padding:5px!important}.rpo-builder-meta small{font-size:7.5px!important}.rpo-builder-meta b{font-size:10px!important}
.rpo-built{padding:6px 8px!important}.rpo-built small{font-size:8px!important}.rpo-built strong{font-size:30px!important}.rpo-built span{font-size:8px!important}
.rpo-chip-buttons,.rpo-builder-actions{gap:5px!important}.rpo-chip-buttons button,.rpo-builder-actions button{min-height:39px!important;font-size:11px!important}.rpo-builder-actions .pay small{font-size:7px!important}
.rpo-builder-wait{padding:11px!important;font-size:11px!important}
.rpo-protection{gap:7px!important}.rpo-protection>span{font-size:9px!important}.rpo-protection>b{font-size:13px!important;line-height:1.35!important}.rpo-protection>div{gap:5px!important}.rpo-protection button{min-height:39px!important;font-size:10.5px!important;line-height:1.28!important}
.rpo-zero-case{gap:6px!important}.rpo-zero-case>b{font-size:13px!important}.rpo-zero-case p{font-size:11px!important;line-height:1.3!important}.rpo-zero-case button{min-height:39px!important;font-size:10.5px!important}
.rpo-live-finish{gap:6px!important;padding:8px!important}.rpo-live-finish b{font-size:13px!important}.rpo-live-finish span{font-size:10px!important}.rpo-live-finish button{min-height:42px!important;font-size:11px!important}
.rpo-rule{padding:6px 7px!important}.rpo-rule small{font-size:8px!important}.rpo-rule b{font-size:10.5px!important;line-height:1.3!important}

@media (orientation:landscape) and (max-height:420px){
  .rpo-control-slot{gap:4px!important}
  .rpo-panel h1{font-size:16px!important}.rpo-panel>p{font-size:10px!important;line-height:1.22!important}.rpo-phase{font-size:8px!important;padding:3px 7px!important}
  .rpo-target-note{padding:6px!important}.rpo-target-note b{font-size:9.5px!important;line-height:1.2!important}.rpo-target-note span{font-size:12px!important;margin-top:2px!important}
  .rpo-quiz-head{padding:4px!important;gap:2px!important}.rpo-quiz-head span{font-size:7px!important}.rpo-quiz-head b{font-size:10px!important}.rpo-quiz-head small{font-size:7.3px!important}
  .rpo-choice-grid{gap:4px!important}.rpo-choice-grid button{min-height:32px!important;font-size:11px!important}
  .rpo-color-select{gap:3px!important}.rpo-color-select button{min-height:30px!important}.rpo-color-select button b{font-size:7px!important}.rpo-color-select button small{font-size:5.8px!important}
  .rpo-builder{gap:3px!important}.rpo-builder-meta span{padding:3px!important}.rpo-builder-meta small{font-size:5.6px!important}.rpo-builder-meta b{font-size:7.2px!important}
  .rpo-built{padding:3px 5px!important}.rpo-built small{font-size:6px!important}.rpo-built strong{font-size:21px!important}.rpo-built span{font-size:6px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{min-height:29px!important;font-size:8px!important}.rpo-builder-actions .pay small{font-size:5.3px!important}
  .rpo-builder-wait{padding:6px!important;font-size:8px!important}
  .rpo-protection{gap:4px!important}.rpo-protection>span{font-size:6.8px!important}.rpo-protection>b{font-size:9px!important;line-height:1.2!important}.rpo-protection>div{gap:3px!important}.rpo-protection button{min-height:30px!important;font-size:7.7px!important}
  .rpo-zero-case{gap:3px!important}.rpo-zero-case>b{font-size:9px!important}.rpo-zero-case p{font-size:7.7px!important}.rpo-zero-case button{min-height:30px!important;font-size:7.8px!important}
  .rpo-live-finish{gap:3px!important;padding:5px!important}.rpo-live-finish b{font-size:9px!important}.rpo-live-finish span{font-size:6.7px!important}.rpo-live-finish button{min-height:31px!important;font-size:8px!important}
  .rpo-rule{padding:4px 5px!important}.rpo-rule small{font-size:6.2px!important}.rpo-rule b{font-size:7.8px!important;line-height:1.18!important}
}

/* v4.3.10 — let the answer/control itself occupy the available panel height. */
.rpo-control-slot>.rpo-target-note{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
.rpo-control-slot>.rpo-protection{flex:1;min-height:0;grid-template-rows:auto auto 1fr}
.rpo-control-slot>.rpo-protection>div{min-height:0;grid-template-rows:repeat(3,minmax(0,1fr))}
.rpo-control-slot>.rpo-protection button{height:100%}
.rpo-control-slot>.rpo-choice-grid{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr)}
.rpo-control-slot>.rpo-zero-case{flex:1;min-height:0;align-content:center}
.rpo-control-slot>.rpo-live-finish{flex:1;min-height:0;align-content:center;justify-content:center}
.rpo-control-slot>.rpo-builder{flex:1;min-height:0;justify-content:center}
@media (orientation:landscape) and (max-height:420px){
  .rpo-target-note b{font-size:11px!important;line-height:1.24!important}.rpo-target-note span{font-size:14px!important}
  .rpo-protection>span{font-size:7.3px!important}.rpo-protection>b{font-size:9.7px!important}.rpo-protection button{font-size:8.3px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{font-size:8.6px!important}
  .rpo-builder-meta small{font-size:6px!important}.rpo-builder-meta b{font-size:7.8px!important}
  .rpo-built small,.rpo-built span{font-size:6.4px!important}.rpo-built strong{font-size:23px!important}
}

/* v4.3.10 — short-landscape fit guard: keep the enlarged hierarchy without forcing panel scroll. */
@media (orientation:landscape) and (max-height:460px){
  .rpo-panel{gap:3px!important;padding:5px 6px!important}
  .rpo-panel h1{font-size:15.5px!important;line-height:1.04!important}
  .rpo-panel>p{font-size:9.6px!important;line-height:1.18!important}
  .rpo-phase{font-size:7.7px!important;padding:2px 6px!important}
  .rpo-control-slot{gap:3px!important}
  .rpo-rule{padding:3px 4px!important}.rpo-rule small{font-size:6px!important}.rpo-rule b{font-size:7.6px!important;line-height:1.14!important}
  .rpo-feedback{padding:3px 4px!important}.rpo-feedback b{font-size:7.4px!important}.rpo-feedback button{min-height:23px!important;font-size:7.4px!important}
  .rpo-builder{gap:3px!important}.rpo-builder-meta{gap:2px!important}.rpo-builder-meta span{padding:2px 3px!important}.rpo-builder-meta small{font-size:5.6px!important}.rpo-builder-meta b{font-size:7.2px!important}
  .rpo-built{padding:3px 5px!important}.rpo-built small,.rpo-built span{font-size:5.8px!important}.rpo-built strong{font-size:21px!important}
  .rpo-color-select{gap:2px!important}.rpo-color-select button{min-height:27px!important}.rpo-color-select button b{font-size:6.6px!important}.rpo-color-select button small{font-size:5.2px!important}
  .rpo-chip-buttons,.rpo-builder-actions{gap:2px!important}.rpo-chip-buttons button,.rpo-builder-actions button{min-height:28px!important;font-size:8px!important}.rpo-builder-actions .pay small{font-size:5px!important}
  .rpo-protection{gap:3px!important}.rpo-protection>span{font-size:6.6px!important}.rpo-protection>b{font-size:8.8px!important;line-height:1.17!important}.rpo-protection>div{gap:2px!important}.rpo-protection button{min-height:27px!important;font-size:7.5px!important}
  .rpo-target-note{padding:5px!important}.rpo-target-note b{font-size:10.2px!important}.rpo-target-note span{font-size:12.5px!important}
  .rpo-live-finish{gap:3px!important;padding:4px!important}.rpo-live-finish b{font-size:8.8px!important}.rpo-live-finish span{font-size:6.5px!important}.rpo-live-finish button{min-height:29px!important;font-size:7.8px!important}
}
@media (orientation:landscape) and (max-height:340px){
  .rpo-panel{gap:2px!important;padding:4px 5px!important}
  .rpo-panel h1{font-size:13.5px!important}.rpo-panel>p{font-size:8px!important;line-height:1.12!important}.rpo-phase{font-size:6.5px!important;padding:2px 5px!important}
  .rpo-rule{padding:2px 3px!important}.rpo-rule small{font-size:5.2px!important}.rpo-rule b{font-size:6.5px!important;line-height:1.1!important}
  .rpo-feedback{padding:2px 3px!important}.rpo-feedback b{font-size:6.4px!important}.rpo-feedback button{min-height:20px!important;font-size:6.5px!important}
  .rpo-target-note{padding:4px!important}.rpo-target-note b{font-size:9px!important}.rpo-target-note span{font-size:11px!important}
  .rpo-builder{gap:2px!important}.rpo-builder-meta span{padding:1px 2px!important}.rpo-builder-meta small{font-size:4.7px!important}.rpo-builder-meta b{font-size:6.2px!important}
  .rpo-built{padding:2px 4px!important}.rpo-built small,.rpo-built span{font-size:5px!important}.rpo-built strong{font-size:18px!important}
  .rpo-color-select button{min-height:23px!important}.rpo-color-select button b{font-size:5.7px!important}.rpo-color-select button small{font-size:4.6px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{min-height:24px!important;font-size:7px!important}.rpo-builder-actions .pay small{font-size:4.5px!important}
  .rpo-protection>b{font-size:7.4px!important}.rpo-protection button{min-height:24px!important;font-size:6.5px!important}
}

/* v4.3.11 — LAB05 builder uses side dead space for larger payout number and aligned chip buttons. */
.rpo-control-slot>.rpo-builder{
  width:100%!important;
  justify-content:stretch!important;
}
.rpo-builder{
  width:100%!important;
  display:grid!important;
  grid-template-rows:auto auto auto auto!important;
  gap:8px!important;
}
.rpo-builder-meta{
  grid-template-columns:1.55fr 1fr .75fr .75fr!important;
  gap:5px!important;
}
.rpo-builder-meta span{
  min-height:52px;
  align-content:center;
  padding:7px 8px!important;
}
.rpo-builder-meta small{font-size:8px!important;line-height:1.1}
.rpo-builder-meta b{font-size:11px!important;line-height:1.12}
.rpo-built{
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:96px;
  padding:10px 14px!important;
  border-radius:10px!important;
  align-items:center!important;
}
.rpo-built small{font-size:9px!important;line-height:1.1}
.rpo-built strong{
  font-size:42px!important;
  line-height:1!important;
  min-width:72px;
  text-align:center;
  justify-self:center;
}
.rpo-built span{font-size:9px!important;line-height:1.15}
.rpo-chip-buttons{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
}
.rpo-chip-buttons button,
.rpo-builder-actions button{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.rpo-chip-buttons button{
  min-height:42px!important;
  padding:0 6px;
  font-size:12px!important;
  line-height:1;
}
.rpo-builder-actions{
  grid-template-columns:minmax(90px,.85fr) minmax(0,2.15fr)!important;
  gap:5px!important;
}
.rpo-builder-actions button{
  min-height:44px!important;
  padding:0 8px;
  font-size:12px!important;
  line-height:1;
}
.rpo-builder-actions .pay small{font-size:7px!important;line-height:1.1}

@media (orientation:landscape) and (max-height:460px){
  .rpo-builder{gap:4px!important}
  .rpo-builder-meta{gap:3px!important}
  .rpo-builder-meta span{min-height:42px;padding:4px 5px!important}
  .rpo-builder-meta small{font-size:6px!important}.rpo-builder-meta b{font-size:8px!important}
  .rpo-built{min-height:72px;padding:6px 8px!important}
  .rpo-built small{font-size:6.5px!important}.rpo-built strong{font-size:28px!important}.rpo-built span{font-size:6.5px!important}
  .rpo-chip-buttons{gap:3px!important}.rpo-builder-actions{gap:3px!important}
  .rpo-chip-buttons button{min-height:31px!important;font-size:8.6px!important}
  .rpo-builder-actions button{min-height:33px!important;font-size:8.6px!important}
  .rpo-builder-actions .pay small{font-size:5.3px!important}
}
@media (orientation:landscape) and (max-height:340px){
  .rpo-builder{gap:2px!important}
  .rpo-builder-meta span{min-height:34px;padding:2px 3px!important}
  .rpo-builder-meta small{font-size:4.9px!important}.rpo-builder-meta b{font-size:6.5px!important}
  .rpo-built{min-height:60px;padding:4px 6px!important}
  .rpo-built small{font-size:5.2px!important}.rpo-built strong{font-size:21px!important}.rpo-built span{font-size:5.2px!important}
  .rpo-chip-buttons button{min-height:25px!important;font-size:7px!important}
  .rpo-builder-actions button{min-height:27px!important;font-size:7px!important}
  .rpo-builder-actions .pay small{font-size:4.5px!important}
}

/* ======================================================================
   v4.3.12 — LAB05 builder collision fix.
   Use horizontal room: payout display left, chip/action controls right.
   Keeps the large payout number while guaranteeing clearance above DEALER POINT.
   ====================================================================== */
.rpo-builder{
  grid-template-columns:minmax(92px,.78fr) minmax(0,1.72fr)!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:
    "meta meta"
    "built chips"
    "built actions"!important;
  column-gap:7px!important;
  row-gap:5px!important;
  align-items:stretch!important;
  min-height:0!important;
}
.rpo-builder-meta{grid-area:meta!important}
.rpo-built{
  grid-area:built!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:8px 6px!important;
  text-align:center!important;
}
.rpo-built small,.rpo-built span{display:block!important}
.rpo-built strong{
  display:block!important;
  min-width:0!important;
  justify-self:auto!important;
  font-size:44px!important;
  line-height:.92!important;
}
.rpo-chip-buttons{grid-area:chips!important}
.rpo-builder-actions{grid-area:actions!important}
.rpo-chip-buttons,.rpo-builder-actions{
  align-self:stretch!important;
}
.rpo-chip-buttons button,.rpo-builder-actions button{
  height:100%!important;
  min-height:0!important;
}
.rpo-builder-actions{
  grid-template-columns:minmax(68px,.68fr) minmax(0,2fr)!important;
}
/* Explicit air-gap before the fixed dealer-point block. */
.rpo-control-slot:has(> .rpo-builder){
  padding-bottom:5px!important;
}
.rpo-rule{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
}

@media (orientation:landscape) and (max-height:460px){
  .rpo-builder{
    grid-template-columns:minmax(72px,.72fr) minmax(0,1.78fr)!important;
    column-gap:4px!important;
    row-gap:3px!important;
  }
  .rpo-builder-meta span{min-height:34px!important;padding:3px 4px!important}
  .rpo-built{padding:4px!important;gap:2px!important}
  .rpo-built strong{font-size:30px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{min-height:27px!important}
  .rpo-control-slot:has(> .rpo-builder){padding-bottom:3px!important}
}
@media (orientation:landscape) and (max-height:340px){
  .rpo-builder{
    grid-template-columns:minmax(60px,.68fr) minmax(0,1.82fr)!important;
    column-gap:3px!important;
    row-gap:2px!important;
  }
  .rpo-builder-meta span{min-height:28px!important;padding:1px 2px!important}
  .rpo-built{padding:2px 3px!important;gap:1px!important}
  .rpo-built strong{font-size:23px!important}
  .rpo-chip-buttons button,.rpo-builder-actions button{min-height:23px!important}
  .rpo-control-slot:has(> .rpo-builder){padding-bottom:2px!important}
}
/* Fallback clearance without relying on :has(). */
.rpo-control-slot>.rpo-builder{margin-bottom:5px!important}
@media (orientation:landscape) and (max-height:460px){.rpo-control-slot>.rpo-builder{margin-bottom:3px!important}}
@media (orientation:landscape) and (max-height:340px){.rpo-control-slot>.rpo-builder{margin-bottom:2px!important}}

/* v4.3.13 — move DEALER POINT above control slot for all LAB05 steps to guarantee no overlap. */
.rpo-control-slot{justify-content:flex-start!important;align-items:stretch!important}
.rpo-panel>.rpo-rule{margin-bottom:1px!important}
.rpo-panel>.rpo-control-slot{padding-top:1px!important}

/* ======================================================================
   v4.4.0 — ROULETTE LAB06 · INSIDE BET PAYOUT
   ====================================================================== */
body.roulette-inside-active .bottom-nav{display:none!important}
.rpi-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 34% 42%,rgba(89,46,142,.16),transparent 34%),#06110e}
.rpi-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,67%) minmax(270px,33%);gap:6px;padding:0 2px 2px;overflow:hidden}
.rpi-stage,.rpi-panel{min-height:0;border:1px solid rgba(145,112,235,.25);border-radius:12px;background:linear-gradient(180deg,rgba(9,24,20,.97),rgba(5,14,12,.98));overflow:hidden}
.rpi-stage{padding:5px;display:flex;align-items:stretch}.rpi-panel{padding:7px 8px;display:flex;flex-direction:column;gap:5px}
.rpi-arena{width:100%;min-height:0;display:grid;grid-template-columns:minmax(0,74%) minmax(120px,26%);gap:5px;align-items:stretch;position:relative;overflow:visible}
.rpi-layout-zone,.rpi-wheel-zone{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.rpi-wheel-zone{flex-direction:column;gap:4px;padding:2px}
.rpi-wheel-zone .rwd-static-wheel{width:min(20vw,160px)!important}.rpi-wheel-zone .rwd-result-card{max-width:190px}
.rpi-layout-board{width:100%;height:auto;aspect-ratio:100/77;max-height:100%;position:relative;overflow:visible!important}.rpi-layout-board .roulette-layout-base{height:100%}
.rpi-freeze-zone{position:absolute;z-index:14;left:4%;top:3%;width:86%;height:67%;border:2px solid rgba(244,201,78,.28);border-radius:8px;box-shadow:inset 0 0 18px rgba(244,201,78,.07);pointer-events:none}
.rpi-freeze-card{width:92%;padding:4px 5px;border:1px solid rgba(231,192,81,.3);border-radius:7px;background:rgba(110,76,18,.1);text-align:center}.rpi-freeze-card b{display:block;color:#f1d473;font-size:7px}.rpi-freeze-card small{display:block;color:#b8ab7e;font-size:5.5px;line-height:1.15}
.rpi-bet-marker{position:absolute;z-index:20;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;gap:2px;pointer-events:none}.rpi-bet-marker>span{display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:0;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;font-size:5.6px;font-weight:900;white-space:nowrap}.rpi-bet-marker i,.rpi-mixed i{width:12px;height:12px;border-radius:50%;border:1px dashed rgba(255,255,255,.75);flex:0 0 auto}.rpi-bet-marker b{min-width:10px;height:10px;margin-left:-4px;padding:0 2px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(4,16,20,.92);border:1px solid rgba(255,255,255,.26);font-size:5px;line-height:1}.rpi-bet-marker .c-blue i,.rpi-mixed .c-blue i{background:#3187ff}.rpi-bet-marker .c-orange i,.rpi-mixed .c-orange i{background:#f09a27}.rpi-bet-marker .c-pink i,.rpi-mixed .c-pink i{background:#ef5f9c}.rpi-bet-marker .c-purple i,.rpi-mixed .c-purple i{background:#9a6ee8}
.rpi-hit-layer{position:absolute;inset:0;z-index:26;pointer-events:none}.rpi-hit{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px dashed rgba(113,213,255,.18);border-radius:6px;background:rgba(71,173,226,.02);touch-action:manipulation}.rpi-hit.expected{border:2px solid rgba(151,235,255,.95);background:rgba(65,190,243,.2);box-shadow:0 0 14px rgba(79,201,255,.5);animation:rwdTargetPulse .9s ease-in-out infinite}
.rpi-phase{align-self:flex-start;padding:3px 7px;border-radius:999px;background:rgba(138,94,225,.16);border:1px solid rgba(156,118,236,.32);color:#bca7ff;font-size:8px;font-weight:900;letter-spacing:.08em}.rpi-panel h1{margin:0;color:#fff;font-size:clamp(16px,2vw,23px);line-height:1.07}.rpi-panel>p{margin:0;color:#c8d6cf;font-size:clamp(10px,1.12vw,13px);line-height:1.28}
.rpi-rule{padding:5px 6px;border:1px solid rgba(213,168,75,.22);border-radius:8px;background:rgba(213,168,75,.06)}.rpi-rule small{display:block;color:#c8a760;font-size:7px;letter-spacing:.08em}.rpi-rule b{display:block;margin-top:1px;color:#f6ebd2;font-size:9px;line-height:1.22}
.rpi-control-slot{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px}.rpi-feedback{padding:4px 5px;border:1px solid rgba(112,191,255,.3);border-radius:8px;background:rgba(14,45,57,.6)}.rpi-feedback.wrong{border-color:rgba(255,91,91,.45);background:rgba(84,21,21,.5)}.rpi-feedback.correct{border-color:rgba(108,221,114,.42);background:rgba(20,74,43,.5)}.rpi-feedback b{display:block;font-size:8px;color:#fff}.rpi-feedback button{width:100%;margin-top:3px;min-height:27px;border:1px solid rgba(112,205,255,.4);border-radius:7px;background:#14384a;color:#fff;font-size:8px;font-weight:900}
.rpi-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rpi-step-track i{height:4px;border-radius:999px;background:rgba(255,255,255,.12)}.rpi-step-track i.done{background:#52c879}.rpi-step-track i.active{background:#a37cff;box-shadow:0 0 7px rgba(163,124,255,.75)}.rpi-source{display:block;color:#68847c;font-size:5.8px;text-align:center}
.rpi-ready,.rpi-clean,.rpi-open,.rpi-mixed,.rpi-large,.rpi-push,.rpi-dolly-control,.rpi-live-note,.rpi-live-open{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:6px;border:1px solid rgba(132,184,224,.2);border-radius:9px;background:rgba(11,34,37,.5)}
.rpi-ready>b,.rpi-clean>b,.rpi-open b,.rpi-mixed>b,.rpi-large>b,.rpi-push>b,.rpi-dolly-control>b,.rpi-live-note>b,.rpi-live-open>b{color:#fff;font-size:12px}.rpi-ready ul{margin:0;padding-left:18px;display:grid;gap:2px}.rpi-ready li{font-size:8px;color:#c7d5cf}.rpi-ready button,.rpi-clean button,.rpi-open button,.rpi-mixed button,.rpi-large button,.rpi-push button,.rpi-dolly-control button,.rpi-live-open button{min-height:35px;border:1px solid rgba(111,202,239,.3);border-radius:8px;background:#0d292c;color:#fff;font-size:9px;font-weight:900}.rpi-ready button,.rpi-push button,.rpi-dolly-control button:last-child{background:linear-gradient(180deg,#176749,#0c402e);border-color:rgba(108,218,151,.45)}
.rpi-clean>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4px}.rpi-order{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}.rpi-order b{font-size:12px;color:#fff}.rpi-order span{font-size:30px;color:#bca7ff;font-weight:950}.rpi-order small{font-size:8px;color:#b9c9c1}
.rpi-open>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.rpi-open small{font-size:7px;color:#89a69a}.rpi-open b{font-size:16px;color:#fff}.rpi-open span{font-size:8px;color:#d4dfda}.rpi-open-groups{display:flex!important;gap:4px!important;flex-wrap:wrap}.rpi-open-groups i{min-width:38px;padding:7px 8px;border-radius:7px;background:#264f3f;color:#fff;font-size:15px;font-style:normal;font-weight:950;text-align:center}.rpi-open-groups i.remain{background:#493a20;color:#ffe49d}.rpi-open-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important}
.rpi-mixed>div{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.rpi-mixed span{display:flex;align-items:center;gap:3px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:7px;color:#fff;font-size:8px;font-weight:900}.rpi-mixed i{width:12px;height:12px}.rpi-large button:first-of-type{border-color:rgba(231,192,78,.45);background:#3b3216;color:#ffe39a}.rpi-large button:nth-of-type(2){border-color:rgba(255,126,126,.4);background:#4a2020}
.rpi-builder{height:100%;min-height:0;display:grid;grid-template-columns:minmax(82px,.75fr) minmax(0,1.75fr);grid-template-rows:auto 1fr 1fr;grid-template-areas:'meta meta' 'built chips' 'built actions';gap:4px 6px}.rpi-builder-meta{grid-area:meta;display:grid;grid-template-columns:1.6fr 1fr .7fr .7fr;gap:3px}.rpi-builder-meta span{display:grid;gap:2px;padding:5px 6px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(255,255,255,.025)}.rpi-builder-meta small{font-size:7.3px;color:#90a6a0;letter-spacing:.02em}.rpi-builder-meta b{font-size:10.4px;color:#fff;line-height:1.18;white-space:normal;overflow:visible;text-overflow:clip}.rpi-built{grid-area:built;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px;border:1px solid rgba(231,194,78,.28);border-radius:8px;background:rgba(134,101,21,.08);text-align:center}.rpi-built small{font-size:6px;color:#c7a950}.rpi-built strong{font-size:34px;color:#fff;line-height:.95}.rpi-built span{font-size:6px;color:#bdb28d;line-height:1.1}.rpi-chip-buttons{grid-area:chips;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.rpi-builder-actions{grid-area:actions;display:grid;grid-template-columns:.7fr .8fr 1.5fr;gap:3px}.rpi-chip-buttons button,.rpi-builder-actions button{min-height:0;height:100%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(106,199,237,.3);border-radius:7px;background:#0d282c;color:#eafbff;font-size:8px;font-weight:900}.rpi-chip-buttons button:first-child{border-color:rgba(231,192,78,.5);background:#3b3216;color:#ffe39a}.rpi-builder-actions .call{background:#2c3656;border-color:rgba(145,158,238,.42)}.rpi-builder-actions .pay{background:linear-gradient(180deg,#176749,#0c402e);border-color:rgba(108,218,151,.45)}
.rpi-push span,.rpi-live-note span,.rpi-live-open span{font-size:8px;color:#c8d6cf}.rpi-push-track{display:grid;grid-template-columns:1.3fr .9fr;gap:6px;align-items:center;min-height:75px}.rpi-stack-pack{display:flex;flex-wrap:wrap;align-content:center;gap:3px;padding:5px;border:1px dashed rgba(218,187,91,.32);border-radius:8px;background:rgba(83,62,17,.1)}.rpi-stack-pack i{width:25px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:linear-gradient(90deg,#234f73,#4098d0,#234f73);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:7px;font-style:normal;font-weight:900}.rpi-player-zone{height:100%;min-height:55px;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(90,220,148,.45);border-radius:9px;background:rgba(31,103,66,.13);color:#85e6aa;font-size:9px;font-weight:950}.rpi-dolly-control button:first-of-type{background:#392d53;border-color:rgba(174,136,237,.42)}
.rpi-result .roulette-result-main{overflow:auto}
@media (orientation:portrait){body.roulette-inside-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (orientation:landscape) and (max-height:460px){
  .rpi-workspace{grid-template-columns:minmax(0,63%) minmax(260px,37%);gap:4px}.rpi-stage{padding:3px}.rpi-panel{padding:4px 5px;gap:3px}.rpi-arena{grid-template-columns:minmax(0,76%) minmax(105px,24%);gap:3px}.rpi-wheel-zone{gap:2px}.rpi-wheel-zone .rwd-static-wheel{width:min(18vw,135px)!important}.rpi-freeze-card{padding:2px 3px}.rpi-freeze-card b{font-size:5.5px}.rpi-freeze-card small{font-size:4.6px}.rpi-panel h1{font-size:14px}.rpi-panel>p{font-size:8.5px;line-height:1.15}.rpi-phase{font-size:6.8px;padding:2px 5px}.rpi-rule{padding:3px 4px}.rpi-rule small{font-size:5.5px}.rpi-rule b{font-size:7px;line-height:1.13}.rpi-control-slot{gap:3px}.rpi-ready,.rpi-clean,.rpi-open,.rpi-mixed,.rpi-large,.rpi-push,.rpi-dolly-control,.rpi-live-note,.rpi-live-open{gap:3px;padding:4px}.rpi-ready>b,.rpi-clean>b,.rpi-open b,.rpi-mixed>b,.rpi-large>b,.rpi-push>b,.rpi-dolly-control>b,.rpi-live-note>b,.rpi-live-open>b{font-size:8.5px}.rpi-ready li{font-size:5.8px}.rpi-ready button,.rpi-clean button,.rpi-open button,.rpi-mixed button,.rpi-large button,.rpi-push button,.rpi-dolly-control button,.rpi-live-open button{min-height:26px;font-size:7px}.rpi-order{gap:3px}.rpi-order b{font-size:8px}.rpi-order span{font-size:21px}.rpi-order small{font-size:5.8px}.rpi-open b{font-size:11px}.rpi-open span{font-size:6px}.rpi-open-groups i{min-width:28px;padding:4px;font-size:10px}.rpi-mixed span{padding:3px;font-size:6px}.rpi-builder{grid-template-columns:minmax(68px,.7fr) minmax(0,1.8fr);gap:2px 4px}.rpi-builder-meta{gap:2px}.rpi-builder-meta span{padding:2px}.rpi-builder-meta small{font-size:4.7px}.rpi-builder-meta b{font-size:6.2px}.rpi-built{padding:3px}.rpi-built strong{font-size:25px}.rpi-built small,.rpi-built span{font-size:5px}.rpi-chip-buttons,.rpi-builder-actions{gap:2px}.rpi-chip-buttons button,.rpi-builder-actions button{font-size:6.6px}.rpi-push-track{min-height:55px}.rpi-stack-pack i{width:19px;height:31px;font-size:5px}.rpi-player-zone{min-height:40px;font-size:6px}.rpi-feedback{padding:2px 3px}.rpi-feedback b{font-size:6.3px}.rpi-feedback button{min-height:21px;font-size:6.3px}.rpi-source{display:none}.rpi-step-track i{height:3px}
}
@media (orientation:landscape) and (max-height:340px){
  .rpi-panel{padding:3px 4px;gap:2px}.rpi-panel h1{font-size:12px}.rpi-panel>p{font-size:7px}.rpi-rule{padding:2px 3px}.rpi-rule b{font-size:6px}.rpi-ready button,.rpi-clean button,.rpi-open button,.rpi-mixed button,.rpi-large button,.rpi-push button,.rpi-dolly-control button,.rpi-live-open button{min-height:22px;font-size:6px}.rpi-builder-meta span{padding:1px}.rpi-built strong{font-size:20px}.rpi-chip-buttons button,.rpi-builder-actions button{font-size:5.8px}.rpi-stack-pack i{width:16px;height:26px}.rpi-push-track{min-height:45px}
}

/* ======================================================================
   v4.4.1 — ROULETTE LAB06 LANDSCAPE FULLSCREEN FIX
   LAB06 must use the same full-viewport landscape shell as LAB01-LAB05.
   ====================================================================== */
body.roulette-inside-active{
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:#06110e!important;
}
body.roulette-inside-active .app-shell{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
body.roulette-inside-active #app{
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
body.roulette-inside-active #screen{
  position:fixed!important;
  inset:0!important;
  margin:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
}
body.roulette-inside-active .screen.training-screen{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* ======================================================================
   v4.4.4 — LAB06 readability / Japanese UI / real-table PUSH + DOLLY park
   ====================================================================== */
/* Give the instruction panel more room and make the Japanese copy readable. */
.rpi-workspace{grid-template-columns:minmax(0,64%) minmax(300px,36%)!important}
.rpi-panel{padding:8px 9px!important;gap:6px!important}
.rpi-phase{font-size:9px!important;padding:4px 8px!important}
.rpi-panel h1{font-size:clamp(18px,2.15vw,26px)!important;line-height:1.08!important}
.rpi-panel>p{font-size:clamp(11.5px,1.25vw,14px)!important;line-height:1.34!important}
.rpi-rule{padding:6px 7px!important}.rpi-rule small{font-size:8px!important}.rpi-rule b{font-size:10.5px!important;line-height:1.28!important}
.rpi-feedback b{font-size:9.5px!important;line-height:1.25!important}.rpi-feedback button{font-size:9px!important}
.rpi-ready>b,.rpi-clean>b,.rpi-open b,.rpi-mixed>b,.rpi-large>b,.rpi-push>b,.rpi-dolly-control>b,.rpi-live-note>b,.rpi-live-open>b{font-size:13px!important;line-height:1.2!important}
.rpi-ready li,.rpi-push span,.rpi-live-note span,.rpi-live-open span{font-size:9.5px!important;line-height:1.28!important}
.rpi-ready button,.rpi-clean button,.rpi-open button,.rpi-mixed button,.rpi-large button,.rpi-push button,.rpi-dolly-control button,.rpi-live-open button{font-size:10px!important;min-height:38px!important}
.rpi-order b{font-size:13px!important}.rpi-order span{font-size:34px!important}.rpi-order small{font-size:9.5px!important}

/* PAY screens: make color and wager count the visual anchor. */
.rpi-builder{
  grid-template-columns:minmax(88px,.72fr) minmax(0,1.78fr)!important;
  grid-template-rows:auto auto minmax(58px,1fr) minmax(38px,.72fr)!important;
  grid-template-areas:'focus focus' 'meta meta' 'built chips' 'actions actions'!important;
  gap:5px 6px!important;
}
.rpi-pay-focus{grid-area:focus;display:grid;grid-template-columns:1.35fr .75fr;gap:5px}
.rpi-pay-focus>span{min-height:48px;display:flex;flex-direction:column;justify-content:center;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.035)}
.rpi-pay-focus small{font-size:7.5px;color:#8fa8a0;letter-spacing:.04em}.rpi-pay-focus b{display:flex;align-items:center;gap:6px;font-size:14px;color:#fff}.rpi-pay-focus strong{font-size:22px;line-height:1;color:#fff}.rpi-pay-focus i{width:15px;height:15px;border-radius:50%;border:2px dashed rgba(255,255,255,.8);box-shadow:inset 0 0 0 2px rgba(0,0,0,.2)}
.rpi-pay-focus .c-blue i{background:#3187ff}.rpi-pay-focus .c-orange i{background:#f09a27}.rpi-pay-focus .c-pink i{background:#ef5f9c}.rpi-pay-focus .c-purple i{background:#9a6ee8}
.rpi-builder-meta{grid-area:meta!important;grid-template-columns:minmax(0,1.7fr) .55fr!important;gap:4px!important}
.rpi-builder-meta span{padding:4px 6px!important}.rpi-builder-meta small{font-size:7.4px!important}.rpi-builder-meta b{font-size:10.8px!important;line-height:1.18!important;white-space:normal!important}
.rpi-built{grid-area:built!important}.rpi-chip-buttons{grid-area:chips!important}.rpi-builder-actions{grid-area:actions!important;grid-template-columns:.55fr 1.55fr 1fr!important;gap:4px!important}
.rpi-builder-actions.live-build{grid-template-columns:.55fr 2.45fr!important}
.rpi-builder-actions .call{background:linear-gradient(180deg,#4957a6,#283466)!important;border:2px solid rgba(166,183,255,.78)!important;box-shadow:0 0 11px rgba(116,143,255,.32);font-size:10px!important;line-height:1.12!important;padding:0 7px!important}
.rpi-builder-actions .call.called{background:linear-gradient(180deg,#1d7651,#0e4a34)!important;border-color:rgba(120,230,164,.65)!important}
.rpi-builder-actions .pay{font-size:10px!important}
.rpi-built strong{font-size:38px!important}.rpi-built small,.rpi-built span{font-size:7px!important}
.rpi-chip-buttons button{font-size:9px!important}
.rpi-live-count{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid rgba(110,199,235,.28);border-radius:8px;background:rgba(17,54,62,.5);font-size:12px!important;color:#fff!important}.rpi-live-count strong{font-size:24px!important;color:#fff!important}

/* STEP08 / LIVE PUSH: actual payout movement happens on the live layout. */
.rpi-layout-zone.stage-push{padding-top:46px!important}
.rpi-layout-board.has-stage-push{max-height:calc(100% - 24px)!important}
.rpi-stage-push-layer{position:absolute;inset:0;z-index:60;pointer-events:none;overflow:visible}
.rpi-stage-player-zone{position:absolute;z-index:42;transform:translate(-50%,-50%);width:72%;min-width:240px;height:12.5%;min-height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed rgba(92,226,151,.86);border-radius:10px;background:rgba(20,112,67,.18);color:#a8f5c4;text-align:center;pointer-events:none;box-shadow:0 0 12px rgba(75,220,139,.18)}
.rpi-stage-player-zone b{font-size:8.8px;line-height:1.1;letter-spacing:.06em}.rpi-stage-player-zone small{display:none}
.rpi-stage-stack-pack{position:absolute;z-index:48;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:2px;max-width:84px;min-width:40px;min-height:38px;padding:3px 4px;border:1px dashed rgba(255,224,116,.7);border-radius:7px;background:rgba(52,38,8,.78);pointer-events:auto;touch-action:none;cursor:grab;filter:drop-shadow(0 5px 6px rgba(0,0,0,.5));user-select:none}
.rpi-stage-stack-pack.dragging{cursor:grabbing;z-index:90}.rpi-stage-stack-pack i{width:14px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid rgba(255,255,255,.42);color:#fff;font-size:5px;font-style:normal;font-weight:900;background:linear-gradient(90deg,#234f73,#4098d0,#234f73)}
.rpi-stage-stack-pack.c-orange i{background:linear-gradient(90deg,#8a4c0c,#e39524,#8a4c0c)}.rpi-stage-stack-pack.c-pink i{background:linear-gradient(90deg,#8a2853,#e85b99,#8a2853)}.rpi-stage-stack-pack.c-purple i{background:linear-gradient(90deg,#4e2d80,#9567df,#4e2d80)}
.rpi-push-instruction{justify-content:center!important;text-align:center!important}.rpi-push-instruction small{font-size:8px;color:#d5ba63;font-weight:900}

/* STEP09 / LIVE end: Dolly is physically parked below the wheel. */
.rpi-dolly-parking-zone{width:96%;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed rgba(177,139,241,.62);border-radius:10px;background:rgba(82,48,129,.16);color:#d8c6ff;text-align:center;box-shadow:0 0 10px rgba(169,126,239,.15)}
.rpi-dolly-parking-zone b{font-size:8px}.rpi-dolly-parking-zone small{font-size:5.5px;margin-top:2px}.rpi-dolly-parking-zone.done{border-color:rgba(95,224,150,.7);background:rgba(20,94,58,.2);color:#a6f0c1}
.rpi-dolly-drag{width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important;border:0!important;background:transparent!important;pointer-events:auto!important;touch-action:none!important;cursor:grab!important;user-select:none!important;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 5px rgba(0,0,0,.55));padding:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;z-index:88!important;-webkit-tap-highlight-color:transparent}
.rpi-dolly-drag.dragging{z-index:120!important;cursor:grabbing!important}.rpi-dolly-drag i,.rpi-dolly-drag span{pointer-events:none!important}.rpi-dolly-drag span{display:block;margin-top:1px;font-size:5px;color:#dff7ff;font-weight:900}


@media (orientation:landscape) and (max-height:390px){
  .rpi-dolly-drag{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important}
}

/* STEP10 hit target: highlighted and judged target share the same ordered source. */
.rpi-hit{min-width:26px;min-height:26px;z-index:1}
.rpi-hit.expected{z-index:4!important;border-width:2px!important;box-shadow:0 0 17px rgba(79,201,255,.72)!important}.rpi-bet-marker i{width:10px;height:10px}.rpi-bet-marker b{min-width:9px;height:9px;font-size:4.6px}

@media (orientation:landscape) and (max-height:460px){
  .rpi-workspace{grid-template-columns:minmax(0,60%) minmax(270px,40%)!important}
  .rpi-panel{padding:5px 6px!important;gap:3px!important}.rpi-panel h1{font-size:16px!important}.rpi-panel>p{font-size:10px!important;line-height:1.2!important}.rpi-phase{font-size:7.6px!important;padding:3px 6px!important}.rpi-rule{padding:3px 4px!important}.rpi-rule small{font-size:6px!important}.rpi-rule b{font-size:8px!important;line-height:1.16!important}
  .rpi-ready>b,.rpi-clean>b,.rpi-open b,.rpi-mixed>b,.rpi-large>b,.rpi-push>b,.rpi-dolly-control>b,.rpi-live-note>b,.rpi-live-open>b{font-size:9.4px!important}.rpi-ready li,.rpi-push span,.rpi-live-note span,.rpi-live-open span{font-size:6.8px!important}.rpi-ready button,.rpi-clean button,.rpi-open button,.rpi-mixed button,.rpi-large button,.rpi-push button,.rpi-dolly-control button,.rpi-live-open button{min-height:28px!important;font-size:7.5px!important}
  .rpi-pay-focus{gap:3px!important}.rpi-pay-focus>span{min-height:38px;padding:3px 5px!important}.rpi-pay-focus small{font-size:5.3px!important}.rpi-pay-focus b{font-size:9px!important;gap:4px!important}.rpi-pay-focus strong{font-size:17px!important}.rpi-pay-focus i{width:11px;height:11px}
  .rpi-builder{grid-template-columns:minmax(62px,.68fr) minmax(0,1.82fr)!important;grid-template-rows:auto auto minmax(45px,1fr) minmax(30px,.68fr)!important;gap:3px 4px!important}.rpi-builder-meta span{padding:2px 4px!important}.rpi-builder-meta small{font-size:4.8px!important}.rpi-builder-meta b{font-size:6.5px!important}.rpi-built strong{font-size:27px!important}.rpi-built small,.rpi-built span{font-size:5.2px!important}.rpi-chip-buttons button{font-size:7px!important}.rpi-builder-actions .call,.rpi-builder-actions .pay{font-size:7.2px!important}
  .rpi-layout-zone.stage-push{padding-top:34px!important}.rpi-layout-board.has-stage-push{max-height:calc(100% - 16px)!important}.rpi-stage-player-zone{width:72%;min-width:180px;min-height:34px;height:12%}.rpi-stage-player-zone b{font-size:6.3px}.rpi-stage-player-zone small{display:none}.rpi-stage-stack-pack{max-width:62px;min-height:30px}.rpi-stage-stack-pack i{width:11px;height:21px;font-size:4px}.rpi-dolly-parking-zone{min-height:38px}.rpi-dolly-parking-zone b{font-size:6px}.rpi-dolly-parking-zone small{font-size:4.2px}
}
@media (orientation:landscape) and (max-height:340px){
  .rpi-panel h1{font-size:13.5px!important}.rpi-panel>p{font-size:8px!important}.rpi-rule b{font-size:6.5px!important}.rpi-pay-focus>span{min-height:31px!important}.rpi-pay-focus b{font-size:7px!important}.rpi-pay-focus strong{font-size:14px!important}.rpi-builder{grid-template-rows:auto auto minmax(36px,1fr) minmax(26px,.6fr)!important}.rpi-built strong{font-size:21px!important}.rpi-builder-actions .call,.rpi-builder-actions .pay,.rpi-chip-buttons button{font-size:6px!important}
}

/* ======================================================================
   v4.5.4 — ROULETTE LAB07 · PICTURE BET TRAINING
   Landscape-first visual-recognition UI. Accuracy before speed.
   ====================================================================== */
body.roulette-picture-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#06110e!important}
body.roulette-picture-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-picture-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-picture-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important}
body.roulette-picture-active .bottom-nav{display:none!important}
body.roulette-picture-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
.rpb-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 28% 42%,rgba(31,137,94,.14),transparent 35%),#06110e}
.rpb-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,66%) minmax(285px,34%);gap:6px;padding:0 2px 2px;overflow:hidden}
.rpb-stage,.rpb-panel{min-height:0;border:1px solid rgba(225,190,94,.28);border-radius:12px;background:linear-gradient(180deg,rgba(7,29,22,.98),rgba(4,15,12,.99));overflow:hidden}
.rpb-stage{padding:6px;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(circle at 50% 42%,#0d6845 0,#075239 56%,#043626 100%)}
.rpb-layout-wrap{width:100%;height:100%;min-height:0;display:flex;align-items:stretch;justify-content:center}
.rpb-layout-board{width:100%;height:100%;border:1px solid rgba(242,221,159,.9)!important;background:rgba(2,70,45,.28)!important;overflow:hidden!important}
.rpb-layout-board .roulette-layout-base{height:100%;width:100%}
.rpb-chip-layer{position:absolute;inset:0;z-index:35;pointer-events:none}
.rpb-chip{position:absolute;transform:translate(-50%,-50%);width:clamp(15px,2.1vw,22px);height:clamp(15px,2.1vw,22px);display:block;border-radius:50%;z-index:3;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}
.rpb-chip i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.88);box-shadow:inset 0 0 0 3px rgba(0,0,0,.17),0 0 0 1px rgba(0,0,0,.55)}
.rpb-chip.c-blue i{background:#3187ff}.rpb-chip.c-orange i{background:#f09a27}.rpb-chip.c-pink i{background:#ef5f9c}.rpb-chip.c-purple i{background:#9a6ee8}
.rpb-chip.layers-2:before,.rpb-chip.layers-3:before,.rpb-chip.layers-4:before,.rpb-chip.layers-3:after,.rpb-chip.layers-4:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.52);background:inherit;z-index:-1}
.rpb-chip.layers-2:before{transform:translate(3px,3px);background:#20352f}.rpb-chip.layers-3:before{transform:translate(3px,3px);background:#20352f}.rpb-chip.layers-3:after{transform:translate(6px,6px);background:#162923}.rpb-chip.layers-4:before{transform:translate(3px,3px);background:#20352f}.rpb-chip.layers-4:after{transform:translate(7px,7px);background:#13251f;box-shadow:3px 3px 0 rgba(5,15,12,.92)}
.rpb-chip.noise{width:clamp(11px,1.55vw,16px);height:clamp(11px,1.55vw,16px);opacity:.5;filter:saturate(.65) drop-shadow(0 1px 2px rgba(0,0,0,.45))}.rpb-chip.noise i{border-width:1px}
.rpb-panel{padding:8px 9px;display:flex;flex-direction:column;gap:5px}
.rpb-phase{align-self:flex-start;padding:4px 8px;border-radius:999px;background:rgba(96,188,139,.12);border:1px solid rgba(103,215,158,.3);color:#99e7bd;font-size:9px;font-weight:950;letter-spacing:.08em}
.rpb-panel h1{margin:0;color:#fff;font-size:clamp(18px,2.05vw,25px);line-height:1.08}.rpb-panel>p{margin:0;color:#c8d7d0;font-size:clamp(10.5px,1.15vw,13px);line-height:1.3}
.rpb-round{padding:7px 8px;border:1px solid rgba(93,189,225,.24);border-radius:9px;background:rgba(12,42,46,.58);display:grid;gap:2px}.rpb-round span{font-size:8px;color:#84b4b3;font-weight:900;letter-spacing:.08em}.rpb-round b{font-size:13px;color:#fff;line-height:1.18}
.rpb-control{min-height:0;flex:1;display:flex;align-items:stretch;justify-content:center}
.rpb-answer-grid{width:100%;height:100%;min-height:118px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px}.rpb-answer-grid button{min-height:52px;border:1px solid rgba(103,201,238,.32);border-radius:10px;background:linear-gradient(180deg,#12383c,#0b292d);color:#f5ffff;font-size:clamp(24px,3.8vw,42px);font-weight:950;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.rpb-answer-grid button:active{transform:scale(.985)}.rpb-answer-grid button small{display:block;margin-top:3px;font-size:8px;color:#9bbab4}.rpb-answer-grid button.correct{border-color:rgba(106,230,155,.78);background:linear-gradient(180deg,#1f7655,#105039);box-shadow:0 0 13px rgba(77,211,139,.28)}.rpb-answer-grid button.wrong{border-color:rgba(255,102,102,.75);background:linear-gradient(180deg,#7a2929,#4e1a1a)}.rpb-answer-grid button.muted{opacity:.36}
.rpb-feedback{width:100%;height:100%;min-height:118px;padding:9px 10px;border:1px solid rgba(113,208,157,.42);border-radius:10px;background:rgba(17,73,48,.82);display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.72fr);grid-template-areas:'head button' 'formula button' 'time button';column-gap:10px;align-items:center;position:relative;z-index:5}.rpb-feedback.wrong{border-color:rgba(255,100,100,.5);background:rgba(85,24,24,.55)}.rpb-feedback>div{grid-area:head;display:flex;align-items:baseline;gap:6px;min-width:0}.rpb-feedback>div b{font-size:10px;color:#b9f5cf}.rpb-feedback.wrong>div b{color:#ffb1b1}.rpb-feedback>div strong{font-size:23px;color:#fff;line-height:1}.rpb-feedback>div span{font-size:9px;color:#d8e6df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpb-feedback p{grid-area:formula;margin:1px 0 0;font-size:9px;color:#ffe29b;font-weight:900}.rpb-feedback small{grid-area:time;font-size:7px;color:#9eb4ac}.rpb-feedback button{grid-area:button;min-width:112px;height:100%;min-height:58px;border:1px solid rgba(110,206,255,.55);border-radius:9px;background:#173e52;color:#fff;font-size:10px;font-weight:950;padding:6px;line-height:1.15}
.rpb-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rpb-step-track i{height:4px;border-radius:999px;background:rgba(255,255,255,.12)}.rpb-step-track i.done{background:#54ca7c}.rpb-step-track i.active{background:#b28a55;box-shadow:0 0 7px rgba(217,177,101,.7)}.rpb-source{display:block;color:#70877f;font-size:5.8px;text-align:center}
.rpb-reverse-stage{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:7px;padding:6px}.rpb-reverse-target{display:flex;align-items:center;justify-content:center;gap:10px;padding:5px 8px;border:1px solid rgba(231,193,83,.32);border-radius:9px;background:rgba(89,67,16,.16)}.rpb-reverse-target small{font-size:9px;color:#d7c384}.rpb-reverse-target strong{font-size:34px;color:#fff;line-height:1}.rpb-reverse-grid{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.rpb-reverse-grid button{position:relative;min-width:0;min-height:0;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:linear-gradient(180deg,rgba(5,80,52,.88),rgba(3,48,33,.94));overflow:hidden}.rpb-reverse-grid button>span{position:absolute;z-index:3;left:7px;top:6px;width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0a2822;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:10px;font-weight:950}.rpb-reverse-grid button.correct{border:2px solid #6ee0a2;box-shadow:0 0 14px rgba(88,223,151,.35)}.rpb-reverse-grid button.wrong{border:2px solid #ff7777}.rpb-reverse-grid button.muted{opacity:.38}.rpb-mini-diagram{position:absolute;inset:9% 8%;border:2px solid rgba(245,221,155,.58);border-radius:6px;background-color:rgba(1,61,42,.34);background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(235,222,177,.42) calc(100% - 1px)),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(235,222,177,.42) calc(100% - 1px));background-size:33.333% 100%,100% 33.333%;overflow:hidden}.rpb-mini-diagram:before,.rpb-mini-diagram:after{display:none}.rpb-mini-diagram i{position:absolute;transform:translate(-50%,-50%);width:clamp(10px,1.6vw,15px);height:clamp(10px,1.6vw,15px);border-radius:50%;background:#4aa9f1;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 3px rgba(0,0,0,.5)}.rpb-reverse-instruction{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;border:1px dashed rgba(109,202,237,.25);border-radius:9px;color:#d4e6e0;font-size:11px;font-weight:900;text-align:center}
.rpb-result-review{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.rpb-result-review>div{padding:8px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.025)}.rpb-result-review>div small{display:block;font-size:7px;color:#8ca39b}.rpb-result-review>div b{display:block;font-size:22px;color:#fff}.rpb-result-review>div span{font-size:8px;color:#bfd0c8}.rpb-result-review>p{grid-column:1/-1;margin:0!important}
@media (orientation:portrait){body.roulette-picture-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (max-height:400px) and (orientation:landscape){
  .rpb-workspace{grid-template-columns:minmax(0,62%) minmax(270px,38%);gap:4px}.rpb-stage{padding:4px}.rpb-panel{padding:5px 6px;gap:3px}.rpb-phase{font-size:7px;padding:3px 6px}.rpb-panel h1{font-size:15px}.rpb-panel>p{font-size:8.5px;line-height:1.16}.rpb-round{padding:4px 5px}.rpb-round span{font-size:6px}.rpb-round b{font-size:9.5px}.rpb-answer-grid{min-height:88px;gap:4px}.rpb-answer-grid button{min-height:38px;font-size:25px;border-radius:7px}.rpb-feedback{min-height:88px;padding:5px 6px;grid-template-columns:minmax(0,1fr) 92px;column-gap:5px}.rpb-feedback>div strong{font-size:18px}.rpb-feedback>div b{font-size:8px}.rpb-feedback>div span,.rpb-feedback p{font-size:7px}.rpb-feedback small{font-size:5.5px}.rpb-feedback button{min-width:88px;min-height:44px;font-size:7.2px}.rpb-source{font-size:4.7px}.rpb-chip{width:14px;height:14px}.rpb-chip i{border-width:1.5px}.rpb-chip.noise{width:10px;height:10px}.rpb-reverse-stage{padding:4px;gap:4px}.rpb-reverse-target{padding:3px 5px}.rpb-reverse-target strong{font-size:25px}.rpb-reverse-target small{font-size:6.5px}.rpb-reverse-grid{gap:4px}.rpb-reverse-grid button>span{left:4px;top:4px;width:18px;height:18px;font-size:7px}.rpb-mini-diagram i{width:9px;height:9px;border-width:1px}.rpb-reverse-instruction{font-size:8px;padding:5px}.rpb-step-track i{height:3px}
}
@media (max-width:700px) and (orientation:landscape){.rpb-workspace{grid-template-columns:minmax(0,61%) minmax(258px,39%)}.rpb-panel{padding-left:5px;padding-right:5px}.rpb-panel h1{font-size:14px}.rpb-answer-grid button{font-size:23px}}
/* v4.5.4 — LAB07 zero-side exception label (127 only). */
.rpb-zero-special{position:absolute;z-index:36;right:2.2%;top:2.2%;padding:3px 7px;border:1px solid rgba(231,192,78,.55);border-radius:999px;background:rgba(40,31,8,.88);color:#ffe39a;font-size:7px;font-weight:950;letter-spacing:.04em;pointer-events:none}
@media (max-height:390px){.rpb-zero-special{font-size:5.8px;padding:2px 5px}}

/* ======================================================================
   v4.6.3 — ROULETTE LAB08 · LARGE TEN-KEY PAYOUT CALCULATION
   No timer. Large BET information + numeric ten-key for touch-first practice.
   ====================================================================== */
body.roulette-calc-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#06110e!important}
body.roulette-calc-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-calc-active #app{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body.roulette-calc-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important}
body.roulette-calc-active .bottom-nav{display:none!important}
body.roulette-calc-active .screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
body.roulette-calc-active .roulette-training-top{flex:0 0 40px;min-height:40px;grid-template-columns:76px minmax(0,1fr) auto;padding:3px 7px 4px}
body.roulette-calc-active .roulette-training-top .back-link{min-height:30px;padding:5px 8px;font-size:10px}
body.roulette-calc-active .roulette-training-top>div small{font-size:7px}
body.roulette-calc-active .roulette-training-top>div b{font-size:14px}
body.roulette-calc-active .roulette-training-top>span{font-size:7px}
.rpc-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 25% 42%,rgba(34,151,106,.15),transparent 36%),#06110e}
.rpc-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,58%) minmax(310px,42%);gap:7px;padding:6px 3px 3px;overflow:hidden}
.rpc-stage,.rpc-panel{min-height:0;border:1px solid rgba(225,190,94,.28);border-radius:12px;background:linear-gradient(180deg,rgba(7,29,22,.98),rgba(4,15,12,.99));overflow:hidden}
.rpc-stage{padding:7px;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(circle at 50% 40%,#0d6845 0,#075239 58%,#043626 100%)}
.rpc-stage-card{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(104px,1fr) auto auto;gap:8px;align-items:center;padding:11px 13px;border:1px solid rgba(239,213,141,.42);border-radius:11px;background:linear-gradient(180deg,rgba(2,61,42,.62),rgba(2,35,25,.78));box-shadow:inset 0 0 35px rgba(0,0,0,.16)}
.rpc-bet-name{text-align:center;min-width:0}.rpc-bet-name small{display:block;color:#a7c8bc;font-size:12px;font-weight:950;letter-spacing:.13em}.rpc-bet-name strong{display:block;margin-top:4px;color:#ffe39a;font-size:clamp(36px,4.8vw,54px);font-weight:950;line-height:1;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpc-bet-name.is-long strong{font-size:clamp(29px,3.7vw,42px)}
.rpc-chip-visual{min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(20px,3.2vw,38px)}
.rpc-chip-pile{position:relative;flex:0 0 clamp(92px,13vw,128px);height:clamp(86px,15vh,122px)}
.rpc-chip-pile i{position:absolute;left:50%;top:55%;width:clamp(50px,7vw,70px);height:clamp(50px,7vw,70px);border-radius:50%;border:clamp(3px,.34vw,4px) solid rgba(255,255,255,.9);outline:1px solid rgba(0,0,0,.66);box-shadow:inset 0 0 0 5px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.34);transform:translate(calc(-50% + (var(--rpc-i) * 7px) - 10px),calc(-50% - (var(--rpc-i) * 5px) + 8px))}.rpc-chip-pile i:after{content:"";position:absolute;inset:22%;border-radius:50%;border:1px solid rgba(255,255,255,.58);background:rgba(0,0,0,.08)}
.rpc-chip-visual.c-blue .rpc-chip-pile i{background:#3187ff}.rpc-chip-visual.c-orange .rpc-chip-pile i{background:#f09a27}.rpc-chip-visual.c-pink .rpc-chip-pile i{background:#ef5f9c}.rpc-chip-visual.c-purple .rpc-chip-pile i{background:#9a6ee8}
.rpc-count{text-align:left;min-width:126px}.rpc-count small{display:block;color:#b4cec5;font-size:12px;font-weight:950;letter-spacing:.08em}.rpc-count strong{display:block;color:#fff;font-size:clamp(58px,7.8vw,86px);font-weight:950;line-height:.9;white-space:nowrap}
.rpc-math-strip{display:grid;grid-template-columns:minmax(70px,1fr) auto minmax(86px,1fr) auto minmax(70px,1fr);align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(104,206,168,.3);border-radius:10px;background:rgba(2,25,19,.74)}.rpc-math-strip span{text-align:center}.rpc-math-strip small{display:block;color:#a8beb6;font-size:11px;font-weight:950;letter-spacing:.06em}.rpc-math-strip b{display:block;margin-top:2px;color:#fff;font-size:clamp(28px,3.9vw,42px);font-weight:950;line-height:1}.rpc-math-strip em{font-style:normal;color:#d9b65b;font-size:clamp(24px,3vw,34px);font-weight:950}.rpc-math-strip .answer b{color:#ffe090}.rpc-profit-note{text-align:center;color:#c2d4cd;font-size:11.5px;font-weight:900;letter-spacing:.02em}
.rpc-panel{padding:8px 9px 7px;display:flex;flex-direction:column;gap:5px}.rpc-panel .roulette-progress-head{padding-bottom:4px}.rpc-panel .roulette-progress-head span{font-size:9px}.rpc-panel .roulette-progress-head b{font-size:10px}.rpc-heading{display:flex;align-items:center;gap:7px;min-width:0}.rpc-phase{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:rgba(96,188,139,.12);border:1px solid rgba(103,215,158,.3);color:#99e7bd;font-size:8px;font-weight:950;letter-spacing:.05em;white-space:nowrap}.rpc-heading h1{min-width:0;margin:0;color:#fff;font-size:clamp(17px,2vw,23px);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpc-panel>p{margin:0;color:#d3dfda;font-size:clamp(10px,1.08vw,12px);line-height:1.22;min-height:2.44em}
.rpc-round{padding:5px 7px;border:1px solid rgba(93,189,225,.28);border-radius:9px;background:rgba(12,42,46,.58);display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:6px;min-height:36px}.rpc-round span{font-size:8.5px;color:#97c5c3;font-weight:900;letter-spacing:.04em;white-space:nowrap}.rpc-round b{font-size:11.5px;color:#fff;line-height:1.15;text-align:center}.rpc-round small{font-size:7.5px;color:#ffd47d;font-weight:900;white-space:nowrap}
.rpc-control{min-height:0;flex:1;display:flex;align-items:stretch;justify-content:center}
.rpc-tenkey-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr);gap:6px}
.rpc-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:4px 9px;border:2px solid rgba(103,201,238,.52);border-radius:10px;background:rgba(5,42,47,.9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.rpc-entry small{font-size:9px;color:#a7c7c6;font-weight:950;letter-spacing:.08em}.rpc-entry strong{text-align:right;color:#fff4b2;font-size:clamp(30px,4vw,43px);font-weight:950;line-height:1;text-shadow:0 0 10px rgba(255,224,130,.16)}.rpc-entry span{color:#ffe09a;font-size:10px;font-weight:950}
.rpc-tenkey{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(44px,1fr));gap:6px}.rpc-tenkey button{min-width:0;min-height:44px;border:1px solid rgba(103,201,238,.48);border-radius:11px;background:linear-gradient(180deg,#15444a,#0b2d31);color:#f5ffff;font-size:clamp(25px,3.25vw,36px);font-weight:950;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 2px 5px rgba(0,0,0,.18);touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.rpc-tenkey button:active{transform:scale(.98);background:linear-gradient(180deg,#17464b,#0e3438)}.rpc-tenkey button.clear{font-size:clamp(11px,1.25vw,14px);background:linear-gradient(180deg,#373328,#252218);border-color:rgba(224,187,100,.38);color:#f1d78f}.rpc-tenkey button.enter{font-size:clamp(12px,1.35vw,15px);background:linear-gradient(180deg,#1c6043,#12422f);border-color:rgba(112,222,162,.52);color:#e8fff0}.rpc-tenkey button.enter:disabled{opacity:.35;filter:saturate(.4);transform:none}
.rpc-feedback{width:100%;height:100%;min-height:150px;padding:11px 12px;border:1px solid rgba(113,208,157,.48);border-radius:10px;background:rgba(17,73,48,.82);display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,.72fr);gap:10px;align-items:center}.rpc-feedback.wrong{border-color:rgba(255,100,100,.58);background:rgba(85,24,24,.58)}.rpc-feedback>div{min-width:0;display:grid;gap:4px}.rpc-feedback>div b{font-size:12px;color:#b9f5cf}.rpc-feedback.wrong>div b{color:#ffb1b1}.rpc-feedback>div strong{font-size:clamp(34px,5vw,50px);color:#fff;line-height:1}.rpc-feedback>div span{font-size:14px;color:#ffe29b;font-weight:950}.rpc-feedback>div small{font-size:10px;color:#c6d3ce}.rpc-feedback button{height:100%;min-height:76px;border:1px solid rgba(110,206,255,.58);border-radius:9px;background:#173e52;color:#fff;font-size:12px;font-weight:950;padding:8px;line-height:1.2;touch-action:manipulation}
.rpc-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rpc-step-track i{height:5px;border-radius:999px;background:rgba(255,255,255,.12)}.rpc-step-track i.done{background:#54ca7c}.rpc-step-track i.active{background:#b28a55;box-shadow:0 0 7px rgba(217,177,101,.7)}
.rpc-result-review{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important}.rpc-result-review>div{padding:8px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.025)}.rpc-result-review>div small{display:block;font-size:7px;color:#8ca39b}.rpc-result-review>div b{display:block;font-size:19px;color:#fff}.rpc-result-review>div span{font-size:8px;color:#bfd0c8}.rpc-result-review>p{grid-column:1/-1;margin:0!important;font-size:8.5px!important;line-height:1.25!important;color:#c4d2cc!important}
@media (orientation:portrait){body.roulette-calc-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
@media (orientation:landscape) and (max-height:430px){
  body.roulette-calc-active .roulette-training-top{flex-basis:36px;min-height:36px;grid-template-columns:72px minmax(0,1fr) auto;padding:2px 6px 3px}
  body.roulette-calc-active .roulette-training-top .back-link{min-height:28px;padding:4px 7px;font-size:9px}
  body.roulette-calc-active .roulette-training-top>div small{font-size:6.5px}body.roulette-calc-active .roulette-training-top>div b{font-size:13px}body.roulette-calc-active .roulette-training-top>span{font-size:6.5px}
  .rpc-workspace{grid-template-columns:minmax(0,55%) minmax(310px,45%);gap:5px;padding:4px 2px 2px}.rpc-stage{padding:5px}.rpc-stage-card{grid-template-rows:auto minmax(86px,1fr) auto auto;gap:5px;padding:8px 10px}.rpc-bet-name small{font-size:10px}.rpc-bet-name strong{font-size:clamp(34px,4.5vw,42px)}.rpc-bet-name.is-long strong{font-size:clamp(27px,3.45vw,33px)}.rpc-chip-visual{gap:16px}.rpc-chip-pile{flex-basis:88px;height:82px}.rpc-chip-pile i{width:48px;height:48px}.rpc-count{min-width:104px}.rpc-count small{font-size:10px}.rpc-count strong{font-size:56px}.rpc-math-strip{padding:5px 7px;gap:4px}.rpc-math-strip small{font-size:9.5px}.rpc-math-strip b{font-size:27px}.rpc-math-strip em{font-size:20px}.rpc-profit-note{font-size:9.5px}.rpc-panel{padding:4px 6px 3px;gap:2px}.rpc-panel .roulette-progress-head{padding-bottom:0;line-height:1}.rpc-panel .roulette-progress-head span{font-size:7.5px}.rpc-panel .roulette-progress-head b{font-size:8.5px}.rpc-heading{gap:4px;min-height:13px}.rpc-phase{font-size:6.5px;padding:2px 5px}.rpc-heading h1{font-size:13.5px}.rpc-panel>p{display:none}.rpc-round{min-height:27px;padding:2px 4px;gap:3px}.rpc-round span{font-size:7px}.rpc-round b{font-size:9.5px}.rpc-round small{font-size:6.3px}.rpc-tenkey-shell{grid-template-rows:38px minmax(0,1fr);gap:5px}.rpc-entry{padding:2px 7px;gap:5px}.rpc-entry small{font-size:8px}.rpc-entry strong{font-size:30px}.rpc-entry span{font-size:8px}.rpc-tenkey{gap:5px;grid-template-rows:repeat(4,minmax(48px,1fr))}.rpc-tenkey button{min-height:48px;font-size:26px;border-radius:10px}.rpc-tenkey button.clear,.rpc-tenkey button.enter{font-size:10.5px}.rpc-feedback{min-height:132px;padding:8px 9px;grid-template-columns:minmax(0,1fr) 116px;gap:7px}.rpc-feedback>div b{font-size:10px}.rpc-feedback>div strong{font-size:34px}.rpc-feedback>div span{font-size:12px}.rpc-feedback>div small{font-size:9px}.rpc-feedback button{min-height:68px;font-size:10px}.rpc-step-track i{height:3px}.rpc-result-review>p{font-size:8px!important}
}
@media (orientation:landscape) and (max-height:390px){.rpc-panel>p{display:none}.rpc-tenkey-shell{grid-template-rows:38px minmax(0,1fr)}.rpc-tenkey{grid-template-rows:repeat(4,minmax(48px,1fr))}.rpc-tenkey button{min-height:48px}}
@media (max-width:760px) and (orientation:landscape){
  .rpc-workspace{grid-template-columns:minmax(0,53%) minmax(310px,47%)}
  .rpc-bet-name strong{font-size:34px}.rpc-bet-name.is-long strong{font-size:27px}.rpc-count strong{font-size:52px}.rpc-math-strip{grid-template-columns:minmax(54px,1fr) auto minmax(66px,1fr) auto minmax(54px,1fr)}
  .rpc-heading h1{font-size:14px}.rpc-round b{font-size:9.5px}.rpc-tenkey button{font-size:22px}
}

/* ======================================================================
   v4.7.1 — ROULETTE LAB09 · SPEED MODE (PAYOUT)
   Accuracy-first time-pressure training. Large mobile targets preserved.
   ====================================================================== */
body.roulette-speed-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none;background:#050e0c!important}
body.roulette-speed-active .app-shell{width:100vw!important;max-width:none!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.roulette-speed-active #app{width:100vw!important;max-width:none!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
body.roulette-speed-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important}
body.roulette-speed-active .bottom-nav{display:none!important}
body.roulette-speed-active #screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
body.roulette-speed-active .roulette-training-top{flex:0 0 40px;min-height:40px;grid-template-columns:76px minmax(0,1fr) auto;padding:3px 7px 4px}
body.roulette-speed-active .roulette-training-top .back-link{min-height:30px;padding:5px 8px;font-size:10px}
body.roulette-speed-active .roulette-training-top>div small{font-size:7px}
body.roulette-speed-active .roulette-training-top>div b{font-size:14px}
body.roulette-speed-active .roulette-training-top>span{font-size:7px}
.rps-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 24% 45%,rgba(24,148,98,.16),transparent 38%),#050e0c}
.rps-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,57%) minmax(330px,43%);gap:7px;padding:6px 3px 3px;overflow:hidden}
.rps-stage,.rps-panel{min-height:0;border:1px solid rgba(222,184,82,.28);border-radius:12px;background:linear-gradient(180deg,rgba(6,29,21,.98),rgba(4,14,11,.99));overflow:hidden}
.rps-stage{position:relative;padding:7px;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(circle at 50% 43%,#0c6544 0,#075038 58%,#043326 100%)}
.rps-panel{position:relative;padding:7px 9px 6px;display:flex;flex-direction:column;gap:5px}
.rps-topline{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px;align-items:stretch}
.rps-topline .roulette-progress-head{min-width:0;padding:2px 0 4px;align-self:center}.rps-topline .roulette-progress-head span{font-size:9px}.rps-topline .roulette-progress-head b{font-size:11px}
.rps-timer{position:relative;min-height:58px;padding:4px 7px 6px;border:1px solid rgba(242,190,72,.42);border-radius:10px;background:linear-gradient(180deg,rgba(57,45,13,.52),rgba(25,19,7,.74));display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;column-gap:4px;align-items:end;overflow:hidden}
.rps-timer small{grid-column:1/-1;color:#d8c184;font-size:7px;font-weight:950;letter-spacing:.08em;white-space:nowrap}.rps-timer strong{color:#fff1a3;font-size:clamp(25px,3.2vw,38px);font-weight:950;line-height:.9}.rps-timer strong.over{color:#ff9d7f;font-size:clamp(18px,2.3vw,26px)}.rps-timer em{font-style:normal;color:#a99b75;font-size:7px;font-weight:950;padding-bottom:2px}.rps-timer>div{grid-column:1/-1;height:4px;margin-top:3px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.rps-timer>div i{display:block;height:100%;border-radius:inherit;background:#e9c65d;transition:width .1s linear}.rps-timer>div i.danger{background:#e27a62}.rps-timer.session{border-color:rgba(89,200,145,.42);background:linear-gradient(180deg,rgba(13,59,40,.62),rgba(6,35,24,.78))}.rps-timer.session strong{color:#aef0c7}
.rps-heading{display:flex;align-items:center;gap:7px;min-width:0}.rps-heading>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;border:1px solid rgba(98,214,156,.28);background:rgba(80,178,127,.1);color:#9de6bd;font-size:8px;font-weight:950;letter-spacing:.05em;white-space:nowrap}.rps-heading h1{min-width:0;margin:0;color:#fff;font-size:clamp(17px,2.05vw,24px);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rps-hint{margin:0;color:#d0dcd7;font-size:clamp(10px,1.08vw,12px);line-height:1.22;min-height:2.44em}
.rps-round{min-height:34px;padding:4px 7px;border:1px solid rgba(88,181,213,.27);border-radius:9px;background:rgba(8,39,42,.58);display:flex;align-items:center;justify-content:space-between;gap:8px}.rps-round span{color:#99c5c3;font-size:8px;font-weight:950}.rps-round b{color:#fff;font-size:10.5px;font-weight:950;text-align:right}
.rps-control{min-height:0;flex:1;display:flex;align-items:stretch;justify-content:center}.rps-control>*{min-width:0}
.rps-flash{position:absolute;left:9px;right:9px;top:70px;z-index:20;min-height:28px;padding:5px 8px;border-radius:7px;display:grid;place-items:center;text-align:center;font-size:9px;font-weight:950;pointer-events:none;box-shadow:0 5px 14px rgba(0,0,0,.28)}.rps-flash.ok{background:rgba(20,95,58,.94);border:1px solid rgba(110,232,163,.45);color:#d8ffe8}.rps-flash.ng{background:rgba(103,30,27,.94);border:1px solid rgba(255,130,116,.48);color:#ffe1dc}
.rps-step-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:auto}.rps-step-track i{height:5px;border-radius:999px;background:rgba(255,255,255,.12)}.rps-step-track i.done{background:#53c97c}.rps-step-track i.active{background:#d6a94d;box-shadow:0 0 7px rgba(215,172,76,.65)}
/* left stage — CALC */
.rps-calc-card{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(108px,1fr) auto auto;gap:8px;align-items:center;padding:11px 14px;border:1px solid rgba(239,213,141,.4);border-radius:11px;background:linear-gradient(180deg,rgba(2,61,42,.63),rgba(2,35,25,.8));box-shadow:inset 0 0 35px rgba(0,0,0,.15)}
.rps-bet-name{text-align:center;min-width:0}.rps-bet-name small{display:block;color:#a9cabf;font-size:13px;font-weight:950;letter-spacing:.13em}.rps-bet-name strong{display:block;margin-top:4px;color:#ffe39a;font-size:clamp(38px,5vw,58px);font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rps-bet-name.is-long strong{font-size:clamp(30px,3.8vw,44px)}
.rps-calc-card .rpc-chip-visual{gap:clamp(22px,3.5vw,42px)}.rps-calc-card .rpc-chip-pile{flex-basis:clamp(98px,13vw,134px);height:clamp(88px,15vh,124px)}.rps-calc-card .rpc-chip-pile i{width:clamp(52px,7vw,72px);height:clamp(52px,7vw,72px)}.rps-calc-card .rpc-count{min-width:135px}.rps-calc-card .rpc-count small{font-size:13px}.rps-calc-card .rpc-count strong{font-size:clamp(62px,8vw,90px)}
.rps-math{display:grid;grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr) auto minmax(70px,1fr);gap:7px;align-items:center;padding:8px 10px;border:1px solid rgba(100,203,165,.28);border-radius:10px;background:rgba(1,24,18,.72)}.rps-math span{text-align:center}.rps-math small{display:block;color:#a9bdb6;font-size:10px;font-weight:950}.rps-math b{display:block;margin-top:2px;color:#fff;font-size:clamp(28px,4vw,44px);line-height:1}.rps-math em{font-style:normal;color:#ddb962;font-size:clamp(22px,3vw,34px);font-weight:950}.rps-calc-card>p{margin:0;text-align:center;color:#c8d8d2;font-size:11px;font-weight:900}
/* left stage — picture / order / build */
.rps-picture-wrap{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template-rows:42px minmax(0,1fr);gap:5px}.rps-picture-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 9px;border:1px solid rgba(238,203,107,.25);border-radius:8px;background:rgba(4,34,25,.78)}.rps-picture-label small{color:#a7c4b8;font-size:9px;font-weight:950;letter-spacing:.1em}.rps-picture-label strong{color:#ffe09a;font-size:19px}.rps-picture-wrap .rpb-layout-board{min-height:0;border-radius:9px!important}
.rps-order-board{position:relative;width:100%;height:100%;min-height:0;border-radius:10px!important;overflow:hidden!important}.rps-order-winner{position:absolute;left:8px;top:8px;z-index:38;padding:4px 7px;border-radius:8px;border:1px solid rgba(255,218,120,.44);background:rgba(24,20,7,.86);display:flex;align-items:baseline;gap:5px}.rps-order-winner small{font-size:7px;color:#d1c38f;font-weight:950}.rps-order-winner strong{font-size:21px;color:#fff1a7}.rps-order-layer{position:absolute;inset:0;z-index:39}.rps-order-chip{position:absolute;transform:translate(-50%,-50%);width:50px;height:50px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.rps-order-chip i{position:absolute;left:50%;top:50%;width:27px;height:27px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(255,255,255,.9);background:#f09a27;box-shadow:0 2px 7px rgba(0,0,0,.6),inset 0 0 0 4px rgba(0,0,0,.13)}.rps-order-chip b{position:absolute;left:50%;top:calc(50% + 20px);transform:translateX(-50%);min-width:34px;padding:1px 4px;border-radius:999px;background:rgba(5,12,10,.92);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:8px;line-height:1.25}.rps-order-chip.active i{box-shadow:0 0 0 5px rgba(255,223,118,.26),0 2px 7px rgba(0,0,0,.6);background:#ffd05f}.rps-order-chip.done{opacity:.3;filter:saturate(.4)}
.rps-build-stage{width:100%;height:100%;display:grid;grid-template-rows:auto auto minmax(105px,1fr) auto;gap:8px;align-items:center;padding:11px 14px;border:1px solid rgba(239,213,141,.4);border-radius:11px;background:linear-gradient(180deg,rgba(2,61,42,.63),rgba(2,35,25,.8))}.rps-build-bet{text-align:center}.rps-build-bet small{display:block;color:#a6c5b9;font-size:11px;font-weight:950}.rps-build-bet strong{display:block;color:#ffe19a;font-size:clamp(32px,4.3vw,50px);line-height:1.05}.rps-build-bet span{display:block;margin-top:3px;color:#fff;font-size:18px;font-weight:950}.rps-build-target{text-align:center}.rps-build-target small{display:block;color:#9bb8ae;font-size:10px;font-weight:950}.rps-build-target strong{display:block;color:#fff1a2;font-size:clamp(42px,6vw,70px);line-height:.95}.rps-build-visual{display:flex;align-items:center;justify-content:center;gap:20px}.rps-build-stack{position:relative;width:108px;height:80px}.rps-build-stack i{position:absolute;left:50%;bottom:0;width:58px;height:18px;transform:translateX(-50%) translateY(calc(var(--rps-stack) * -7px));border-radius:50%;border:3px solid #fff3cf;background:#f09a27;box-shadow:0 2px 4px rgba(0,0,0,.4)}.rps-build-visual>div:last-child small{display:block;color:#a9c0b7;font-size:10px;font-weight:950}.rps-build-visual>div:last-child b{color:#fff;font-size:46px;line-height:1}.rps-build-visual>div:last-child span{color:#d6b965;font-size:18px;font-weight:950}.rps-build-stage>p{margin:0;text-align:center;color:#c6d4ce;font-size:10px;font-weight:950}
/* ten-key + process controls */
.rps-tenkey-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr);gap:6px}.rps-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:4px 9px;border:2px solid rgba(103,201,238,.54);border-radius:10px;background:rgba(5,42,47,.92)}.rps-entry small{font-size:9px;color:#a8c8c7;font-weight:950;letter-spacing:.08em}.rps-entry strong{text-align:right;color:#fff4b2;font-size:clamp(31px,4vw,44px);font-weight:950;line-height:1}.rps-entry span{color:#ffe09a;font-size:10px;font-weight:950}.rps-tenkey{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(48px,1fr));gap:6px}.rps-tenkey button{min-width:0;min-height:48px;border:1px solid rgba(103,201,238,.5);border-radius:11px;background:linear-gradient(180deg,#16474d,#0b2d31);color:#f6ffff;font-size:clamp(27px,3.3vw,38px);font-weight:950;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 2px 5px rgba(0,0,0,.18);touch-action:manipulation;cursor:pointer}.rps-tenkey button:active{transform:scale(.98)}.rps-tenkey button.clear{font-size:clamp(11px,1.25vw,14px);background:linear-gradient(180deg,#3b3628,#262218);border-color:rgba(224,187,100,.4);color:#f2d88f}.rps-tenkey button.enter{font-size:clamp(12px,1.4vw,16px);background:linear-gradient(180deg,#1d6446,#12432f);border-color:rgba(112,222,162,.54);color:#e8fff0}.rps-tenkey button.enter:disabled{opacity:.34;filter:saturate(.4)}
.rps-order-prompt{width:100%;height:100%;min-height:120px;display:grid;place-items:center;align-content:center;gap:7px;padding:14px;border:1px solid rgba(94,191,221,.28);border-radius:11px;background:rgba(8,42,47,.62);text-align:center}.rps-order-prompt small{color:#97c4c4;font-size:9px;font-weight:950}.rps-order-prompt strong{color:#fff;font-size:clamp(18px,2.3vw,28px);line-height:1.15}.rps-order-prompt span{color:#d6c17e;font-size:10px;font-weight:900}.rps-order-prompt.final strong{font-size:clamp(20px,2.6vw,30px)}.rps-order-active{margin-bottom:5px;padding:5px 7px;border-radius:8px;background:rgba(210,168,69,.08);border:1px solid rgba(210,168,69,.23);text-align:center}.rps-order-active small{display:block;color:#e4ca85;font-size:8px;font-weight:950}.rps-order-active b{display:block;color:#fff;font-size:11px;margin-top:2px}
.rps-builder{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:46px minmax(0,1fr);gap:6px}.rps-builder-head{display:flex;align-items:center;justify-content:space-between;padding:4px 9px;border:2px solid rgba(97,200,154,.42);border-radius:10px;background:rgba(9,48,35,.8)}.rps-builder-head small{color:#a9d0be;font-size:9px;font-weight:950}.rps-builder-head strong{color:#fff1a3;font-size:28px;line-height:1}.rps-builder-head strong em{font-style:normal;color:#bba96e;font-size:13px}.rps-builder-keys{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(55px,1fr));gap:7px}.rps-builder-keys button{min-height:55px;border:1px solid rgba(109,213,162,.45);border-radius:11px;background:linear-gradient(180deg,#18553d,#0e3829);color:#fff;display:grid;place-items:center;align-content:center;gap:2px;touch-action:manipulation;cursor:pointer}.rps-builder-keys button b{font-size:26px;line-height:1}.rps-builder-keys button span{font-size:7px;color:#b8dccb;font-weight:900}.rps-builder-keys button.sub{background:linear-gradient(180deg,#3b3629,#282218);border-color:rgba(218,180,89,.36);font-size:22px}.rps-builder-keys button.push{background:linear-gradient(180deg,#266b4b,#184834);border-color:rgba(126,230,174,.55);font-size:18px;font-weight:950}.rps-builder-keys button.push:disabled{opacity:.3;filter:saturate(.4)}
.rps-feedback{width:100%;height:100%;min-height:145px;padding:10px 11px;border:1px solid rgba(111,210,157,.46);border-radius:10px;background:rgba(17,73,48,.82);display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,.7fr);gap:9px;align-items:center}.rps-feedback.wrong{border-color:rgba(255,105,96,.56);background:rgba(85,24,24,.6)}.rps-feedback>div{display:grid;gap:3px}.rps-feedback b{font-size:11px;color:#bdf4d0}.rps-feedback.wrong b{color:#ffb5ac}.rps-feedback strong{font-size:clamp(36px,5vw,52px);color:#fff;line-height:1}.rps-feedback span{font-size:13px;color:#ffe29b;font-weight:950}.rps-feedback small{font-size:9px;color:#c6d3ce}.rps-feedback button{height:100%;min-height:76px;border:1px solid rgba(110,206,255,.55);border-radius:9px;background:#173e52;color:#fff;font-size:12px;font-weight:950;touch-action:manipulation}
.rps-timed-ready,.rps-timed-summary{width:100%;height:100%;min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:12px;border:1px solid rgba(104,215,162,.3);border-radius:11px;background:radial-gradient(circle at 50% 35%,rgba(43,124,84,.24),rgba(6,32,23,.76))}.rps-timed-ready>span,.rps-timed-summary>small{color:#9cddbc;font-size:10px;font-weight:950;letter-spacing:.12em}.rps-timed-ready>strong,.rps-timed-summary>strong{color:#fff2a6;font-size:clamp(44px,6vw,68px);line-height:.9}.rps-timed-ready>strong em,.rps-timed-summary>strong em{font-style:normal;font-size:14px;color:#cab878}.rps-timed-ready p{max-width:360px;margin:0;color:#d2ded8;font-size:11px;line-height:1.35}.rps-timed-ready button,.rps-timed-summary button{min-width:72%;min-height:56px;margin-top:3px;border:1px solid rgba(118,229,170,.55);border-radius:11px;background:linear-gradient(180deg,#236b4a,#154633);color:#fff;font-size:15px;font-weight:950;touch-action:manipulation}.rps-timed-summary>div{display:flex;gap:18px}.rps-timed-summary>div span{color:#a9beb6;font-size:9px}.rps-timed-summary>div b{color:#fff;font-size:13px;margin-left:4px}
@media (orientation:portrait){body.roulette-speed-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}
/* result — keep all metrics readable on the shortest supported landscape. */
.rps-result .roulette-result-main{grid-template-columns:minmax(155px,25fr) minmax(0,75fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) 86px;gap:5px;overflow:hidden}
.rps-result .roulette-result-hero{grid-column:1;grid-row:1/3;min-height:0}
.rps-result .roulette-result-grid{grid-column:2;grid-row:1;min-height:0}
.rps-result-breakdown{grid-column:2;grid-row:2;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.rps-result-rush{grid-column:1;grid-row:3;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px}
.rps-result .roulette-result-actions{grid-column:2;grid-row:3;min-height:0;align-self:stretch}
.rps-result-breakdown>div,.rps-result-rush>div{min-width:0;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.025);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.rps-result-breakdown small,.rps-result-rush small{display:block;color:#8fa69d;font-size:7px;line-height:1.12}.rps-result-breakdown b,.rps-result-rush b{display:block;color:#fff;font-size:18px;line-height:1.05;margin-top:2px}.rps-result-breakdown span,.rps-result-rush span{font-size:7px;line-height:1.1;color:#bfd0c8}.rps-result-note{display:none}
.rps-ready-stage{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:8px}.rps-ready-stage span{font-size:64px}.rps-ready-stage strong{font-size:28px;color:#ffe19a}
@media (orientation:landscape) and (max-height:440px){
  body.roulette-speed-active .roulette-training-top{flex-basis:34px;min-height:34px;grid-template-columns:70px minmax(0,1fr) auto;padding:2px 6px 2px}
  body.roulette-speed-active .roulette-training-top .back-link{min-height:28px;padding:4px 7px;font-size:9px}
  body.roulette-speed-active .roulette-training-top>div small{font-size:6.5px}body.roulette-speed-active .roulette-training-top>div b{font-size:13px}body.roulette-speed-active .roulette-training-top>span{font-size:6.3px}
  .rps-workspace{grid-template-columns:minmax(0,54%) minmax(310px,46%);gap:5px;padding:4px 2px 2px}.rps-stage{padding:5px}.rps-panel{padding:4px 6px 3px;gap:3px}
  .rps-topline{grid-template-columns:minmax(0,1fr) 98px;gap:4px}.rps-topline .roulette-progress-head span{font-size:7.5px}.rps-topline .roulette-progress-head b{font-size:8.5px}.rps-timer{min-height:40px;padding:2px 5px 3px;border-radius:8px}.rps-timer small{font-size:5.8px}.rps-timer strong{font-size:25px}.rps-timer strong.over{font-size:18px}.rps-timer em{font-size:6px}.rps-timer>div{height:3px;margin-top:2px}
  .rps-heading{gap:4px}.rps-heading>span{font-size:6.1px;padding:2px 5px}.rps-heading h1{font-size:12.8px}.rps-hint{display:none}.rps-round{min-height:23px;padding:1px 5px}.rps-round span{font-size:6.8px}.rps-round b{font-size:8.5px}.rps-flash{top:52px;left:6px;right:6px;min-height:24px;padding:3px 6px;font-size:7.5px}.rps-step-track i{height:3px}
  .rps-calc-card{grid-template-rows:auto minmax(82px,1fr) auto auto;gap:5px;padding:8px 10px}.rps-bet-name small{font-size:10px}.rps-bet-name strong{font-size:36px}.rps-bet-name.is-long strong{font-size:28px}.rps-calc-card .rpc-chip-visual{gap:17px}.rps-calc-card .rpc-chip-pile{flex-basis:86px;height:78px}.rps-calc-card .rpc-chip-pile i{width:47px;height:47px}.rps-calc-card .rpc-count{min-width:105px}.rps-calc-card .rpc-count small{font-size:10px}.rps-calc-card .rpc-count strong{font-size:55px}.rps-math{padding:5px 7px;gap:4px}.rps-math small{font-size:8.5px}.rps-math b{font-size:26px}.rps-math em{font-size:19px}.rps-calc-card>p{font-size:8.5px}
  .rps-picture-wrap{grid-template-rows:33px minmax(0,1fr);gap:4px}.rps-picture-label{padding:2px 6px}.rps-picture-label small{font-size:7px}.rps-picture-label strong{font-size:14px}.rps-order-winner{left:5px;top:5px;padding:2px 5px}.rps-order-winner small{font-size:5.5px}.rps-order-winner strong{font-size:16px}.rps-order-chip{width:46px;height:46px}.rps-order-chip i{width:24px;height:24px;border-width:2px}.rps-order-chip b{top:calc(50% + 17px);font-size:6.5px}
  .rps-build-stage{grid-template-rows:auto auto minmax(72px,1fr) auto;gap:4px;padding:7px 9px}.rps-build-bet small{font-size:8px}.rps-build-bet strong{font-size:30px}.rps-build-bet span{font-size:13px}.rps-build-target small{font-size:8px}.rps-build-target strong{font-size:38px}.rps-build-visual{gap:13px}.rps-build-stack{width:82px;height:58px}.rps-build-stack i{width:45px;height:14px}.rps-build-visual>div:last-child small{font-size:8px}.rps-build-visual>div:last-child b{font-size:34px}.rps-build-visual>div:last-child span{font-size:13px}.rps-build-stage>p{font-size:7.5px}
  .rps-tenkey-shell{grid-template-rows:34px minmax(0,1fr);gap:4px}.rps-entry{padding:1px 7px;gap:5px}.rps-entry small{font-size:8px}.rps-entry strong{font-size:28px}.rps-entry span{font-size:8px}.rps-tenkey{gap:4px;grid-template-rows:repeat(4,minmax(44px,1fr))}.rps-tenkey button{min-height:44px;font-size:27px;border-radius:10px}.rps-tenkey button.clear,.rps-tenkey button.enter{font-size:10.5px}
  .rps-order-prompt{min-height:105px;padding:9px;gap:5px}.rps-order-prompt small{font-size:7px}.rps-order-prompt strong{font-size:16px}.rps-order-prompt span{font-size:8px}.rps-order-active{margin-bottom:3px;padding:3px 5px}.rps-order-active small{font-size:6.5px}.rps-order-active b{font-size:8.5px}
  .rps-builder{grid-template-rows:38px minmax(0,1fr);gap:5px}.rps-builder-head{padding:2px 7px}.rps-builder-head small{font-size:7.5px}.rps-builder-head strong{font-size:23px}.rps-builder-head strong em{font-size:10px}.rps-builder-keys{gap:5px;grid-template-rows:repeat(2,minmax(50px,1fr))}.rps-builder-keys button{min-height:50px}.rps-builder-keys button b{font-size:22px}.rps-builder-keys button span{font-size:6px}.rps-builder-keys button.sub{font-size:18px}.rps-builder-keys button.push{font-size:14px}
  .rps-feedback{min-height:125px;padding:7px 8px;grid-template-columns:minmax(0,1fr) 112px;gap:6px}.rps-feedback b{font-size:9px}.rps-feedback strong{font-size:33px}.rps-feedback span{font-size:11px}.rps-feedback small{font-size:8px}.rps-feedback button{min-height:66px;font-size:9.5px}
  .rps-timed-ready,.rps-timed-summary{min-height:120px;gap:4px;padding:8px}.rps-timed-ready>span,.rps-timed-summary>small{font-size:8px}.rps-timed-ready>strong,.rps-timed-summary>strong{font-size:40px}.rps-timed-ready p{font-size:8.5px;line-height:1.25}.rps-timed-ready button,.rps-timed-summary button{min-height:46px;font-size:12px}.rps-timed-summary>div{gap:12px}
}
@media (orientation:landscape) and (max-height:390px){
  .rps-workspace{grid-template-columns:minmax(0,52%) minmax(310px,48%)}
  .rps-topline{grid-template-columns:minmax(0,1fr) 96px}.rps-timer{min-height:43px}.rps-heading h1{font-size:12.5px}.rps-round{min-height:24px}.rps-round b{font-size:8px}
  .rps-tenkey-shell{grid-template-rows:34px minmax(0,1fr)}.rps-tenkey{grid-template-rows:repeat(4,minmax(44px,1fr))}.rps-tenkey button{min-height:44px}
  .rps-calc-card .rpc-count strong{font-size:50px}.rps-bet-name strong{font-size:33px}.rps-math b{font-size:24px}
}
@media (orientation:landscape) and (max-width:700px){
  .rps-workspace{grid-template-columns:minmax(0,51%) minmax(306px,49%)}.rps-bet-name strong{font-size:31px}.rps-bet-name.is-long strong{font-size:24px}.rps-calc-card .rpc-count strong{font-size:48px}.rps-math{grid-template-columns:minmax(48px,1fr) auto minmax(56px,1fr) auto minmax(48px,1fr)}.rps-math small{font-size:7.8px}.rps-math b{font-size:22px}.rps-tenkey button{font-size:24px}.rps-order-chip{width:44px;height:44px}
}

/* ======================================================================
   v4.8.1 — ROULETTE LAB10 / CASH & COLOR
   Legibility-first two-panel phone landscape, no timer.
   ====================================================================== */
body.roulette-exchange-active{margin:0!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;background:#050e0c!important}
body.roulette-exchange-active .app-shell,body.roulette-exchange-active #app{width:100vw!important;max-width:none!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.roulette-exchange-active #screen{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important}
body.roulette-exchange-active #screen.training-screen{height:100%!important;min-height:0!important;overflow:hidden!important}
body.roulette-exchange-active .bottom-nav{display:none!important}
body.roulette-exchange-active .roulette-training-top{flex:0 0 39px;min-height:39px;grid-template-columns:76px minmax(0,1fr) auto;padding:3px 7px}
body.roulette-exchange-active .roulette-training-top .back-link{min-height:29px;padding:5px 8px;font-size:10px}
body.roulette-exchange-active .roulette-training-top>div{min-width:0}
body.roulette-exchange-active .roulette-training-top>div small{font-size:8px}
body.roulette-exchange-active .roulette-training-top>div b{font-size:clamp(10px,1.4vw,15px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
body.roulette-exchange-active .roulette-training-top>span{font-size:10px;font-weight:950}
.rex-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 22% 44%,rgba(37,135,91,.14),transparent 48%),#050e0c}
.rex-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,53%) minmax(310px,47%);gap:6px;padding:5px 3px 3px;overflow:hidden}
.rex-stage,.rex-panel{min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(221,183,78,.32);border-radius:12px;background:linear-gradient(180deg,#09271d,#06140f)}
.rex-stage{padding:9px;display:grid;grid-template-rows:24px minmax(0,1fr) auto 40px;gap:6px;background:radial-gradient(circle at 52% 47%,#116344,#043626 80%)}
.rex-stage-top{display:flex;align-items:center;justify-content:space-between;color:#c1e0d2;font-size:11px;font-weight:950;letter-spacing:.05em}.rex-stage-top b{color:#ffe0a1;font-size:10px}
.rex-items{display:flex;flex-direction:column;min-height:0;overflow:hidden;justify-content:center;gap:7px}
.rex-item{min-width:0;min-height:0;flex:1;max-height:83px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 10px;border:1px solid rgba(250,234,169,.34);border-radius:10px;background:rgba(3,32,24,.85)}
.rex-item-icon{width:54px;height:45px;border:2px solid #e1d59d;display:grid;place-items:center;color:#ffe19d;font-size:30px;font-weight:900;border-radius:8px;background:linear-gradient(140deg,rgba(242,231,184,.24),rgba(15,65,46,.45))}.rex-item-icon.chip{width:46px;height:46px;border-radius:50%;border:4px dashed #f9e6af;box-shadow:inset 0 0 0 4px rgba(0,0,0,.2);margin-left:4px;font-size:21px}
.rex-item.color.blue .rex-item-icon{background:#286fc8}.rex-item.color.orange .rex-item-icon{background:#bc761c}.rex-item.color.purple .rex-item-icon{background:#8057b8}.rex-item.color.pink .rex-item-icon{background:#bc467f}
.rex-item>div:nth-child(2){min-width:0}.rex-item small{display:block;color:#b4d8c8;font-size:11px;font-weight:850}.rex-item strong{display:block;color:#fff1ad;font-size:clamp(23px,3.2vw,38px);line-height:1;white-space:nowrap;margin-top:3px}.rex-item>b{color:white;font-size:clamp(27px,3.9vw,44px);white-space:nowrap}
.rex-target{min-height:60px;padding:6px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:center;border:1px solid rgba(249,208,106,.37);border-radius:9px;background:rgba(0,24,20,.7);gap:2px 6px}
.rex-target small{grid-column:1;color:#b0d0bc;font-size:10px;font-weight:950}.rex-target>div{grid-column:1;color:#fff;font-size:clamp(15px,2vw,23px);font-weight:950;line-height:1.1}.rex-target strong{grid-column:2;grid-row:1/3;color:#ffe3a1;font-size:clamp(34px,4.4vw,52px);line-height:1}.rex-target strong em{font-size:10px;font-style:normal;white-space:nowrap}
.rex-markers{min-height:0;display:flex;align-items:stretch;gap:6px;overflow:hidden}.rex-marker{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:3px;border:1px solid rgba(243,222,157,.35);border-radius:8px;background:#12261f}.rex-marker i{width:20px;height:20px;flex:none;border-radius:50%;border:3px solid white;background:#447ed0}.rex-marker.orange i{background:#df912c}.rex-marker.purple i{background:#9d68d0}.rex-marker.pink i{background:#e264a0}.rex-marker b{font-size:23px;color:#fff}.rex-marker small{font-size:8px;color:#c3d3c6;font-weight:950}
.rex-house-note{align-self:center;margin:auto;color:#c3decf;font-size:10px;font-weight:950;text-align:center}
.rex-exception-icon{font-size:52px;font-weight:950;color:#ffb18c;text-align:center;line-height:1}.rex-exception-copy{font-size:clamp(18px,2.4vw,29px);font-weight:950;line-height:1.35;text-align:center;color:#fff8d9;padding:0 10px}
.rex-panel{display:flex;flex-direction:column;padding:7px 9px 6px;gap:5px}.rex-progress{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.13);padding:0 2px 4px;color:#b9d4cd;font-size:10px;font-weight:950}.rex-progress b{color:#ffe4a0;font-size:11px}.rex-phase{align-self:flex-start;color:#a8e9bf;border:1px solid rgba(96,211,154,.34);border-radius:99px;padding:3px 10px;font-size:10px;font-weight:950;letter-spacing:.05em;background:rgba(46,117,77,.16)}
.rex-panel h1{font-size:clamp(19px,2.4vw,28px);line-height:1.05;color:white;margin:0;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rex-panel>p{margin:0;color:#cedcd4;font-size:clamp(10px,1.18vw,12px);line-height:1.25}.rex-prompt{padding:5px 8px;border:1px solid rgba(93,197,222,.38);border-radius:8px;background:rgba(13,46,50,.7);color:#fff;font-size:clamp(12px,1.44vw,16px);font-weight:950;line-height:1.15}
.rex-control{min-height:0;flex:1;display:flex}.rex-control>*{min-width:0;width:100%;min-height:0}.rex-track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.rex-track i{height:4px;border-radius:99px;background:rgba(255,255,255,.13)}.rex-track i.done{background:#53ca8a}.rex-track i.active{background:#eed078}.rex-footer{font-size:8px;line-height:1.1;text-align:center;color:#91b1a2;font-weight:800}
.rex-pad{display:grid;grid-template-rows:44px minmax(0,1fr);gap:6px}.rex-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;padding:3px 8px;border:2px solid rgba(117,204,236,.56);border-radius:9px;background:#0e3136}.rex-entry small{font-size:10px;color:#bcdbdc;font-weight:950}.rex-entry strong{color:#fff3ae;text-align:right;font-size:clamp(29px,4vw,45px);line-height:1}.rex-entry em{font-style:normal;color:#f9dda0;font-size:10px;font-weight:950}
.rex-tenkey{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(45px,1fr));gap:5px}.rex-tenkey button{min-width:0;min-height:45px;padding:0;border:1px solid rgba(116,205,229,.48);border-radius:10px;background:linear-gradient(180deg,#164851,#0b3038);color:#fff;font-size:clamp(28px,3.3vw,39px);font-weight:950;touch-action:manipulation;cursor:pointer}.rex-tenkey button:active,.rex-action-list button:active{transform:scale(.985)}.rex-tenkey button.clear{font-size:12px;background:#403923;border-color:#bea45c;color:#ffe6a7}.rex-tenkey button.enter{font-size:15px;background:#185d43;border-color:#79d8a1}.rex-tenkey button:disabled{opacity:.3}
.rex-actions{display:flex;flex-direction:column;min-height:0;gap:7px}.rex-action-guide{flex:0 0 auto;padding:6px 9px;border:1px solid rgba(126,212,222,.3);border-radius:9px;background:#0b3135}.rex-action-guide small{font-size:10px;color:#9cd9e3;font-weight:900}.rex-action-guide strong{display:block;font-size:clamp(15px,1.8vw,20px);color:white}.rex-action-list{min-height:0;display:grid;grid-template-rows:repeat(3,minmax(47px,1fr));gap:7px;flex:1}.rex-action-list button{min-height:47px;padding:5px 11px;border:1px solid rgba(133,211,168,.43);border-radius:10px;background:linear-gradient(180deg,#16543b,#103a2b);color:#fff;text-align:left;font-size:clamp(13px,1.5vw,18px);font-weight:950;display:flex;align-items:center;justify-content:space-between;gap:4px;touch-action:manipulation;cursor:pointer}.rex-action-list button span{font-size:24px;color:#9ed9b3}.rex-warning{position:absolute;left:8px;right:8px;bottom:27px;background:#623029;border:1px solid #d28b78;border-radius:8px;padding:4px;color:white;font-size:10px;text-align:center;pointer-events:none;z-index:10}
.rex-feedback{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;padding:9px 11px;border:1px solid rgba(127,226,170,.42);border-radius:10px;background:#0e3c2b;overflow:hidden}.rex-feedback.wrong{border-color:#dc7f78;background:#43221f}.rex-feedback small{font-size:11px;color:#bdffe0;font-weight:950}.rex-feedback.wrong small{color:#ffbdb4}.rex-feedback strong{color:#fff4b4;font-size:clamp(23px,3.4vw,45px);line-height:1.05;overflow:hidden;text-overflow:ellipsis}.rex-feedback span{color:white;font-size:clamp(12px,1.35vw,16px);font-weight:950;line-height:1.15}.rex-feedback p{margin:0;color:#d1e2d5;font-size:clamp(9px,1.05vw,12px);line-height:1.2}.rex-feedback button{min-height:49px;margin-top:3px;border:1px solid #80c9e7;border-radius:9px;background:#16475d;color:#fff;font-size:clamp(12px,1.4vw,17px);font-weight:950;touch-action:manipulation}
body.roulette-exchange-active .roulette-result-screen{height:100%!important;min-height:0;overflow:hidden}
.rex-result .roulette-result-main{grid-template-columns:minmax(155px,25fr) minmax(0,75fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) 72px;gap:5px;overflow:hidden}.rex-result .roulette-result-hero{grid-column:1;grid-row:1/3;min-height:0}.rex-result .roulette-result-grid{grid-column:2;grid-row:1;min-height:0}.rex-result-detail{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-height:0}.rex-result-detail>div{min-width:0;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#10231d;display:flex;flex-direction:column;justify-content:center;text-align:center}.rex-result-detail small{font-size:9px;color:#aec3b6}.rex-result-detail strong{font-size:clamp(23px,3vw,34px);color:#fff}.rex-result-note{display:none}.rex-result .roulette-result-actions{grid-column:2;grid-row:3;align-self:stretch}
@media (orientation:landscape) and (max-height:440px){
 body.roulette-exchange-active .roulette-training-top{flex-basis:34px;min-height:34px;grid-template-columns:70px minmax(0,1fr) auto;padding:2px 6px}body.roulette-exchange-active .roulette-training-top .back-link{min-height:28px;font-size:9px}body.roulette-exchange-active .roulette-training-top>div small{font-size:7px}body.roulette-exchange-active .roulette-training-top>div b{font-size:12px}body.roulette-exchange-active .roulette-training-top>span{font-size:8px}
 .rex-workspace{grid-template-columns:minmax(0,51%) minmax(310px,49%);gap:4px;padding:3px 2px 1px}.rex-stage{padding:5px;grid-template-rows:17px minmax(0,1fr) auto 29px;gap:4px}.rex-stage-top{font-size:9px}.rex-stage-top b{font-size:8px}.rex-items{gap:5px}.rex-item{grid-template-columns:45px minmax(0,1fr) auto;max-height:72px;gap:6px;padding:3px 6px}.rex-item-icon{width:40px;height:35px;font-size:24px}.rex-item-icon.chip{width:35px;height:35px;font-size:16px;margin:0}.rex-item small{font-size:9px}.rex-item strong{font-size:clamp(20px,3vw,28px)}.rex-item>b{font-size:clamp(23px,3.5vw,35px)}
 .rex-target{min-height:48px;padding:4px 7px}.rex-target small{font-size:8px}.rex-target>div{font-size:15px}.rex-target strong{font-size:34px}.rex-markers{gap:4px}.rex-marker i{width:17px;height:17px}.rex-marker b{font-size:19px}.rex-marker small{font-size:7px}.rex-house-note{font-size:9px}.rex-exception-copy{font-size:21px}.rex-exception-icon{font-size:37px}
 .rex-panel{padding:4px 6px 3px;gap:3px}.rex-progress{font-size:8px;padding-bottom:2px}.rex-progress b{font-size:9px}.rex-phase{padding:2px 7px;font-size:8px}.rex-panel h1{font-size:17px}.rex-panel>p{display:none}.rex-prompt{padding:4px 7px;font-size:11.5px}.rex-track i{height:3px}.rex-footer{font-size:7px}
 .rex-pad{grid-template-rows:34px minmax(0,1fr);gap:4px}.rex-entry{padding:2px 7px}.rex-entry small{font-size:8px}.rex-entry strong{font-size:29px}.rex-entry em{font-size:8px}.rex-tenkey{grid-template-rows:repeat(4,minmax(43px,1fr));gap:4px}.rex-tenkey button{min-height:43px;border-radius:9px;font-size:27px}.rex-tenkey button.clear,.rex-tenkey button.enter{font-size:11px}
 .rex-actions{gap:4px}.rex-action-guide{padding:3px 6px}.rex-action-guide small{font-size:8px}.rex-action-guide strong{font-size:13px}.rex-action-list{gap:4px;grid-template-rows:repeat(3,minmax(45px,1fr))}.rex-action-list button{min-height:45px;padding:2px 8px;font-size:12px}.rex-feedback{padding:5px 7px;gap:3px}.rex-feedback small{font-size:9px}.rex-feedback strong{font-size:25px}.rex-feedback span{font-size:11px}.rex-feedback p{font-size:9px}.rex-feedback button{min-height:45px;font-size:11px}
}
@media (orientation:landscape) and (max-width:700px){.rex-workspace{grid-template-columns:minmax(0,51%) minmax(306px,49%)}.rex-panel h1{font-size:15px}.rex-prompt{font-size:11px}.rex-tenkey button{font-size:26px}.rex-item{grid-template-columns:38px minmax(0,1fr) auto;gap:4px}.rex-item-icon{width:35px;height:32px}.rex-item-icon.chip{width:32px;height:32px}.rex-item strong{font-size:20px}.rex-item>b{font-size:25px}.rex-result-detail small{font-size:8px}}
@media (orientation:portrait){body.roulette-exchange-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:#05080d;color:#fff}}

/* LAB10 final touch/readability hardening — text names accompany chip colors. */
.rex-marker small{white-space:nowrap;font-size:clamp(7px,.95vw,10px);font-weight:950}
.rex-stacks{display:block;color:#bde3c9;font-size:clamp(8px,.96vw,10px);line-height:1.15;font-weight:850;white-space:nowrap}
.rex-item:has(.rex-stacks) strong{margin-top:1px}
@media (orientation:landscape) and (max-height:440px){.rex-stacks{font-size:8px}}

/* v4.8.1: five visual progress markers, and an always-visible focused-practice notice. */
.rex-track{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (orientation:landscape) and (max-height:440px){.rex-footer{font-size:7.5px;line-height:1.15}}

/* v4.8.2 — LAB10 live dealer-view roulette table, tangible workspace and physical exchanges */
.rex-screen .rex-workspace{grid-template-columns:minmax(0,58%) minmax(0,42%);gap:5px}
.rex-screen .rex-table-stage{position:relative;padding:4px;display:grid;grid-template-rows:18px 38px minmax(105px,1fr) 36px 46px 26px;gap:3px;background:linear-gradient(150deg,#06442f,#052a20 60%,#041d17)}
.rex-table-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;color:#fce6a9}.rex-table-heading b{font-size:11px;white-space:nowrap}.rex-table-heading small{font-size:8px;color:#a9d9c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rex-zone,.rex-rack-slot,.rex-piece{touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;outline-offset:-2px}.rex-zone{border:1px dashed #669c82;border-radius:6px;background:rgba(3,37,29,.85);color:#fff;font-size:10px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:0;padding:2px;overflow:hidden}.rex-zone.active{border:2px solid #ffd36d;background:rgba(80,101,35,.67);box-shadow:0 0 0 1px rgba(237,202,92,.2),inset 0 0 18px rgba(247,209,104,.09)}.rex-zone:focus-visible,.rex-piece:focus-visible,.rex-rack-slot:focus-visible{outline:2px solid #ffdc8e}
.rex-player-deck{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:3px;min-height:0}.rex-player-deck [data-rex-zone="player"]{justify-content:space-between;padding:2px 5px}.rex-player-deck [data-rex-zone="player"]>span{font-size:9px;color:#f6d693}.rex-player-deck [data-rex-zone="player-out"]{font-size:8px;text-align:center;background:#104737}
.rex-piece{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:36px;min-height:28px;max-width:100%;padding:1px 3px;border:1px solid #dcc27e;border-radius:7px;background:#113a2e;color:white;z-index:5}.rex-piece b{font-size:10px;line-height:1.1;white-space:nowrap}.rex-piece.picked{outline:3px solid #ffdf71}.rex-piece.dragging{z-index:100;pointer-events:none;transform:translate(var(--drag-x),var(--drag-y)) scale(1.06);filter:drop-shadow(0 4px 7px #000)}.rex-token{width:22px;height:22px;flex:none;display:grid;place-items:center;background:#f0e4c7;color:#29200d;font-size:17px;border-radius:4px;border:2px solid #a88041;font-weight:950}.rex-token.value{border-radius:50%;background:#e4cc79}.rex-token.color{border-radius:50%;color:white;background:#2c82d0;border:2px dashed white}.rex-token.color.orange{background:#bb7919}.rex-token.color.purple{background:#895aca}.rex-token.color.pink{background:#bc4c85}.rex-empty{font-size:9px;color:#a6bcae}.rex-delivered{font-size:11px;color:#b3f3c2}
.rex-felt{position:relative;min-height:0;border:1px solid #d9c187;border-radius:7px;background:#075038;overflow:hidden}.rex-visual-table{position:absolute;inset:0;border:0;opacity:.94}.rex-visual-table .roulette-layout-base{width:100%;height:100%;inset:0;transform:rotate(180deg)}.rex-visual-table .roulette-number{font-size:8px}.rex-wheel{position:absolute;left:0;bottom:0;width:18%;height:38%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#081b14ed;z-index:3;border:1px solid #9d8d52;border-radius:5px}.rex-wheel-art{width:37px;height:37px;border:4px double #d3b96c;border-radius:50%;display:grid;place-items:center;background:repeating-conic-gradient(#0c0f0d 0 15deg,#ba2727 15deg 30deg)}.rex-wheel-art i{width:12px;height:12px;background:#b6a66e;border-radius:50%;border:2px solid #f2dfa4}.rex-wheel-art b{font-size:5px}.rex-wheel small{font-size:6px;color:#f1dba0}
.rex-rim-position{position:absolute;right:1%;bottom:5%;width:29%;height:26%;z-index:4}.rex-rim-position>.rex-zone{width:100%;height:100%;flex-direction:column;font-size:10px;border-style:solid;background:#173d34ee}.rex-rim-position small{max-width:100%;font-size:8px;white-space:nowrap}.rex-rim-position .rex-piece{min-height:21px;max-width:100%;font-size:8px}.rex-rim-position .rex-token{width:14px;height:14px;font-size:10px}
.rex-work-position{position:absolute;left:34%;top:9%;width:62%;height:43%;z-index:4}.rex-work-position>[data-rex-zone="work"]{height:100%;width:100%;display:flex;flex-direction:column;gap:2px;border:2px solid #d9a85f;background:#042c23eF;padding:2px;overflow:hidden}.rex-work-position [data-rex-zone="work"]>span{font-size:8px;color:#ffe2a6;white-space:nowrap}.rex-work-position [data-rex-zone="work"]>div{width:100%;display:flex;justify-content:center;align-items:center;min-height:0;gap:3px;flex:1;overflow:hidden}.rex-work-position .rex-piece{min-height:23px;padding:1px 2px}.rex-work-position .rex-token{height:15px;width:15px;font-size:9px}.rex-work-position .rex-piece b{font-size:8px}.rex-work-small{font-size:8px;color:#f7d999}.rex-work-pile{min-width:0;display:flex;gap:2px;align-items:center;justify-content:center;flex-wrap:wrap}.rex-fives{font-size:9px;color:#bce6cc}.rex-sort-positions{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#073525ed;padding:3px;z-index:8}.rex-sort-positions>.rex-zone{border-color:#ffd56e;font-size:8px}.rex-sort-pieces{position:absolute;bottom:-32px;left:0;right:0;display:flex;gap:4px;justify-content:center;z-index:9}.rex-sort-pieces .rex-piece{font-size:8px;min-height:22px}
.rex-build-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:2px}.rex-build-area>strong{font-size:15px;color:#ffe09d}.rex-build-area>strong small{font-size:9px;color:white}.rex-build-tools{display:flex;gap:2px;max-width:100%}.rex-build-tools button{font-size:10px;font-weight:950;color:#fff9e3;background:#1f6550;border:1px solid #7dbd93;border-radius:5px;min-width:29px;min-height:22px;padding:0 2px}.rex-build-tools [data-rex-build-confirm]{background:#a16a17}.rex-build-tools button:disabled{opacity:.3}
.rex-apron{display:grid;grid-template-columns:35% 1fr;gap:3px;min-height:0}.rex-apron-float{min-width:0;display:flex;justify-content:center;align-items:center;gap:3px;padding:2px;background:#09221c;border:1px solid #c1a66c;border-radius:5px}.rex-apron-float small{font-size:8px;color:#dec984}.rex-apron-float>span{font-size:8px;color:#aecfb9}.rex-apron-float .rex-piece{min-height:26px}.rex-apron-float .rex-piece b{font-size:10px}.rex-apron-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.rex-apron-tools .rex-zone{font-size:8px}
.rex-station-bar{display:grid;grid-template-columns:53% 1fr;gap:3px;min-height:0}.rex-indicator{border:1px solid #8b8c66;border-radius:5px;padding:2px;background:#0b291f;min-width:0;display:grid;grid-template-rows:11px 1fr}.rex-indicator small{font-size:8px;color:#f0dba8}.rex-indicator>div{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.rex-rack-slot{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;background:#102d24;color:#fff;border:1px solid #688e77;border-radius:4px;min-width:0;min-height:0}.rex-rack-slot i{width:12px;height:12px;border-radius:50%;background:#2772bd;border:2px solid #fff}.rex-rack-slot.orange i{background:#c5831c}.rex-rack-slot.purple i{background:#8554c0}.rex-rack-slot.pink i{background:#c95595}.rex-rack-slot span{font-size:7px;line-height:1}.rex-rack-slot b{font-size:9px;color:#f8d99d;line-height:1}.rex-rack-slot.active{outline:2px solid #ffd36d}.rex-rack-slot.has-marker{background:#244d3b}.rex-station-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;min-height:0}.rex-station-actions .rex-zone{font-size:8px;min-height:0}
.rex-movable-tray{display:flex;align-items:stretch;gap:3px;min-width:0;overflow:hidden}.rex-movable-tray .rex-zone,.rex-movable-tray .rex-piece{font-size:8px;min-width:30px;flex:1;min-height:0;padding:0 2px}.rex-movable-tray .rex-piece{flex:1.5}.rex-movable-tray .rex-token{width:17px;height:17px;font-size:10px}.rex-movable-tray .rex-piece b{font-size:8px}.rex-movable-tray .rex-zone:not(.active){opacity:.75}
.rex-screen .rex-panel{padding:4px 5px 3px;gap:3px}.rex-screen .rex-panel>p{display:none}.rex-screen .rex-prompt{padding:4px 5px;font-size:11px}.rex-screen .rex-control{min-height:0}.rex-work-instruction{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;background:linear-gradient(180deg,#123c36,#071c1a);border:1px solid #5da38d;border-radius:9px;text-align:center}.rex-work-instruction small{font-size:10px;color:#a6ddbf;font-weight:900}.rex-work-instruction strong{font-size:clamp(17px,2.1vw,24px);color:#fff3ae;line-height:1.18}.rex-work-instruction p{margin:0;font-size:11px;color:#dce6e2;line-height:1.35}.rex-work-status{background:#052419;border:1px solid #8b9468;border-radius:5px;padding:7px;width:100%;color:#fcda95;font-size:11px}.rex-error-banner{background:#632820;color:#fff0df;border:1px solid #d68e7c;border-radius:7px;padding:5px;font-size:10px}.rex-screen .rex-tenkey{grid-template-rows:repeat(4,minmax(44px,1fr))}
@media (orientation:landscape) and (max-height:440px){.rex-screen .rex-workspace{grid-template-columns:minmax(0,55%) minmax(0,45%)}.rex-screen .rex-table-stage{grid-template-rows:15px 33px minmax(92px,1fr) 32px 43px 23px;gap:2px;padding:3px}.rex-table-heading b{font-size:10px}.rex-table-heading small{font-size:7px}.rex-screen .rex-panel h1{font-size:16px}.rex-screen .rex-prompt{font-size:10px}.rex-screen .rex-footer{display:none}.rex-work-instruction{gap:5px;padding:5px}.rex-work-instruction strong{font-size:17px}.rex-work-instruction p{font-size:10px}.rex-work-status{font-size:10px;padding:4px}.rex-screen .rex-tenkey{grid-template-rows:repeat(4,minmax(43px,1fr))}.rex-screen .rex-tenkey button{min-height:43px}}
@media (orientation:landscape) and (max-width:700px){.rex-screen .rex-workspace{grid-template-columns:minmax(0,53%) minmax(0,47%)}.rex-player-deck{grid-template-columns:minmax(0,1fr) 80px}.rex-table-heading small{font-size:6px}.rex-wheel-art{width:30px;height:30px}.rex-screen .rex-panel h1{font-size:14px}.rex-screen .rex-prompt{font-size:10px}.rex-screen .rex-tenkey button{font-size:25px}}
.rex-note-fan{position:relative;width:48px;height:20px;display:inline-block;flex:none}.rex-note-fan i{position:absolute;top:0;left:calc(var(--n)*6px);width:17px;height:15px;border:1px solid #a3945c;background:linear-gradient(125deg,#d9d2a6,#f3ecd1);border-radius:2px;transform:rotate(-9deg);box-shadow:0 1px 2px #031c15}.rex-work-position .rex-note-fan{width:40px}.rex-work-position .rex-work-pile>.rex-piece{background:#224638}.rex-rack-slot .rex-piece{min-height:15px;min-width:20px;padding:0 2px;background:#715a27;border-color:#e1ca72}.rex-rack-slot .rex-piece b{font-size:8px}.rex-tray-hint{font-size:9px;color:#b7d6c8;align-self:center;margin:0 auto}.rex-movable-tray .rex-zone{min-width:80px;flex:1}.rex-movable-tray .rex-piece{flex:none;min-width:115px}
.rex-bank-panel{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:6px;padding:8px;border:1px solid #83bf9f;border-radius:10px;background:#0b2f25}.rex-bank-panel>small{font-size:11px;color:#e2efcb;font-weight:900;line-height:1.3;text-align:center}.rex-bank-score{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:4px;border:1px solid #8aaf83;border-radius:8px;background:#04251a}.rex-bank-score strong{font-size:clamp(28px,4vw,45px);line-height:1;color:#ffe8a0}.rex-bank-score em{font-style:normal;color:#b7dfb7;font-size:15px;font-weight:950}.rex-bank-keys{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(46px,1fr));gap:5px}.rex-bank-keys button{display:grid;place-items:center;align-content:center;gap:2px;border:1px solid #91d1a2;border-radius:9px;background:linear-gradient(180deg,#145b42,#0d3b2d);color:white;touch-action:manipulation;font-size:20px;font-weight:950;min-width:0;min-height:46px}.rex-bank-keys button i{font-size:17px;color:#e6cc76;line-height:1;font-style:normal}.rex-bank-keys button b{font-size:23px}.rex-bank-keys button.sub{grid-column:1;background:#4a3821;border-color:#c8ab70}.rex-bank-keys button.confirm{grid-column:2/4;background:#27664a;border-color:#92e4a2;font-size:14px}.rex-bank-keys button:disabled{opacity:.35}
@media (orientation:landscape) and (max-height:440px){.rex-bank-panel{padding:5px;gap:4px}.rex-bank-panel>small{font-size:9px}.rex-bank-score{padding:2px}.rex-bank-score strong{font-size:28px}.rex-bank-score em{font-size:11px}.rex-bank-keys{grid-template-rows:repeat(2,minmax(45px,1fr));gap:4px}.rex-bank-keys button{min-height:45px}}
.rex-table-heading button{flex:none;height:23px;min-width:57px;padding:0 6px;background:#193e39;color:#ffe3a0;border:1px solid #cfb570;border-radius:6px;font-size:10px;font-weight:950;touch-action:manipulation}.rex-screen .rex-table-stage{grid-template-rows:24px 38px minmax(99px,1fr) 36px 46px 26px}.rex-screen.rex-expanded .rex-workspace{grid-template-columns:minmax(0,1fr)}.rex-screen.rex-expanded .rex-panel{display:none}.rex-screen.rex-expanded .rex-wheel-art{width:45px;height:45px}.rex-screen.rex-expanded .rex-visual-table .roulette-number{font-size:12px}.rex-screen.rex-expanded .rex-work-position [data-rex-zone="work"]>span{font-size:12px}.rex-screen.rex-expanded .rex-work-position .rex-piece b{font-size:12px}.rex-screen.rex-expanded .rex-rack-slot span{font-size:10px}.rex-screen.rex-expanded .rex-rack-slot b{font-size:12px}.rex-screen.rex-expanded .rex-apron-tools .rex-zone,.rex-screen.rex-expanded .rex-station-actions .rex-zone{font-size:11px}
@media (orientation:landscape) and (max-height:440px){.rex-screen .rex-table-stage{grid-template-rows:23px 33px minmax(87px,1fr) 32px 43px 23px}.rex-table-heading button{height:23px;font-size:9px}.rex-table-heading small{display:none}}


/* v4.8.3 — Physical table correction (user review, 2026-09-27).
   BET fields must never be covered by the work station. The right-hand wheel
   is a separate apparatus; its zero-side rim stays connected to that wheel.
   The dealer-side work station is outside the wagering area, near 1ST DOZEN. */
.rex-screen .rex-felt{isolation:isolate;background:#064631}
.rex-screen .rex-visual-table{inset:auto;left:0;top:0;width:64%;height:100%;border-right:1px solid #d5bd83;border-radius:0;opacity:1;z-index:1}
.rex-screen .rex-visual-table .roulette-layout-base{inset:0;width:100%;height:100%;transform:rotate(180deg)}
.rex-screen .rex-wheel{left:auto;right:1.6%;top:1.5%;bottom:auto;width:33%;height:54%;z-index:3;border:2px solid #ba9f62;border-radius:42% 42% 12px 12px;background:radial-gradient(circle at 50% 30%,#254537,#0d261f 69%,#071910)}
.rex-screen .rex-wheel-art{width:clamp(45px,6.3vw,63px);height:clamp(45px,6.3vw,63px);border-width:4px}
.rex-screen .rex-wheel small{font-size:7px;color:#f2d6a3;font-weight:900}
.rex-screen .rex-rim-position{left:auto;right:1.6%;top:37%;bottom:auto;width:33%;height:19%;z-index:5}
.rex-screen .rex-rim-position>.rex-zone{background:#49341bee;border:2px solid #e1c17e;border-radius:8px;box-shadow:inset 0 0 9px #171008;font-size:9px}
.rex-screen .rex-rim-position .rex-zone b{font-size:9px;line-height:1}
.rex-screen .rex-rim-position .rex-zone small{font-size:7px;line-height:1}
.rex-screen .rex-work-position{left:auto;right:1.6%;top:59%;bottom:auto;width:33%;height:39%;z-index:4}
.rex-screen .rex-work-position>[data-rex-zone="work"]{background:linear-gradient(#164e3c,#082f26);border:2px solid #efce84;border-radius:8px}
.rex-screen .rex-work-position [data-rex-zone="work"]>span{font-size:clamp(7px,.85vw,10px);line-height:1.1;white-space:normal;text-align:center;font-weight:950}
.rex-screen .rex-work-position .rex-piece{min-height:18px;max-width:100%;padding:1px}
.rex-screen .rex-work-position .rex-piece b{font-size:8px}
.rex-screen .rex-work-position .rex-token{width:14px;height:14px;font-size:9px}
.rex-screen .rex-work-position .rex-build-area{width:100%;gap:1px}
.rex-screen .rex-work-position .rex-build-area>strong{font-size:15px}
.rex-screen .rex-work-position .rex-build-tools{display:none}/* large physical build buttons live in the right panel */
.rex-screen .rex-sort-positions{grid-template-columns:1fr 1fr;padding:2px;gap:2px}
.rex-screen .rex-sort-positions>.rex-zone{font-size:8px;white-space:normal;line-height:1.13}
.rex-screen .rex-sort-pieces{left:-5px;right:-5px;bottom:-28px;gap:2px}
.rex-screen .rex-sort-pieces .rex-piece{min-width:0;flex:1}
.rex-screen .rex-work-position .rex-note-fan{width:25px;flex:none}
.rex-screen .rex-work-position .rex-note-fan i{width:10px;left:calc(var(--n)*3px)}
.rex-screen.rex-expanded .rex-wheel-art{width:68px;height:68px}
.rex-screen.rex-expanded .rex-work-position [data-rex-zone="work"]>span{font-size:12px}
@media (orientation:landscape) and (max-width:700px){
 .rex-screen .rex-wheel-art{width:45px;height:45px}
 .rex-screen .rex-wheel small{font-size:6px}
 .rex-screen .rex-rim-position .rex-zone b{font-size:8px}
 .rex-screen .rex-work-position .rex-piece b{font-size:7px}
}


/* v4.8.4 — LAB10 true foreground drag + contextual blue source/target guides.
   The drag ghost lives directly under <body>, outside the roulette felt's
   overflow/stacking context. Never animate opacity to zero. */
.rex-drag-ghost{
 position:fixed!important;left:0;top:0;z-index:2147483647!important;
 pointer-events:none!important;touch-action:none!important;user-select:none!important;
 margin:0!important;max-width:none!important;overflow:visible!important;
 transform:translate3d(-50%,-50%,0) scale(1.10)!important;
 border:2px solid #73d5ff!important;background:#134a4a!important;
 box-shadow:0 0 0 3px rgba(58,184,255,.55),0 8px 24px rgba(0,0,0,.85)!important;
 opacity:1!important;filter:none!important;isolation:isolate;
}
.rex-screen .rex-piece.dragging{transform:none!important;pointer-events:none!important}
.rex-screen .rex-piece.rex-guide-source,
.rex-screen .rex-zone.rex-guide-target,
.rex-screen .rex-rack-slot.rex-guide-target,
.rex-screen [data-rex-build].rex-guide-target{
 outline:2px solid #6cd0ff!important;outline-offset:-2px!important;
 box-shadow:0 0 0 2px rgba(50,165,255,.55),0 0 13px rgba(50,176,255,.78),inset 0 0 9px rgba(42,175,255,.22)!important;
 animation:rex-blue-guide 1.65s ease-in-out infinite!important;
}
.rex-screen .rex-piece.rex-guide-source{z-index:12;border-color:#81dfff!important}
.rex-screen .rex-zone.rex-guide-target{border-color:#6cd0ff!important;background-color:rgba(10,89,114,.77)!important}
.rex-screen .rex-rack-slot.rex-guide-target{border-color:#6cd0ff!important;background-color:#124f67!important}
.rex-screen .rex-piece.picked{outline:3px solid #8de1ff!important;outline-offset:-2px;box-shadow:0 0 14px rgba(72,189,255,.9)!important}
@keyframes rex-blue-guide{
 0%,100%{filter:brightness(1);box-shadow:0 0 0 2px rgba(50,165,255,.45),0 0 8px rgba(50,176,255,.48),inset 0 0 7px rgba(42,175,255,.16)}
 50%{filter:brightness(1.17);box-shadow:0 0 0 3px rgba(101,216,255,.90),0 0 19px rgba(50,176,255,.95),inset 0 0 12px rgba(42,175,255,.40)}
}
@media (prefers-reduced-motion:reduce){
 .rex-screen .rex-piece.rex-guide-source,
 .rex-screen .rex-zone.rex-guide-target,
 .rex-screen .rex-rack-slot.rex-guide-target,
 .rex-screen [data-rex-build].rex-guide-target{animation:none!important}
}

/* v4.8.5 - LAB10 denomination sort: explicit sequential placement, no duplicate source after transfer. */
.rex-screen .rex-sort-positions{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 1fr;gap:3px;inset:0;z-index:8;padding:2px}
.rex-screen .rex-sort-positions>.rex-zone{display:flex;flex-direction:row;gap:3px;justify-content:center;align-items:center;min-height:0;padding:1px 3px;border:2px dashed #7d9e99;font-size:clamp(8px,1.1vw,11px);line-height:1.1;white-space:normal;text-align:center}
.rex-screen .rex-sort-positions>.rex-zone.active{border-style:solid}
.rex-screen .rex-sort-positions>.rex-zone:disabled{opacity:.72;cursor:default;filter:none!important}
.rex-screen .rex-sort-positions>.rex-zone .rex-sort-dest-number{background:#f0d58d;color:#17241c;border-radius:4px;display:grid;place-items:center;width:17px;height:18px;font-weight:950;flex:none}
.rex-screen .rex-sort-positions>.rex-zone b{font-size:clamp(9px,1.15vw,12px);color:#ffe7a0;white-space:nowrap}
.rex-screen .rex-sort-positions>.rex-zone small{font-size:clamp(8px,.95vw,10px);opacity:.82}
.rex-screen .rex-sort-positions>.rex-zone:disabled .rex-sort-placed{display:flex;align-items:center;gap:4px;color:#b5f8d1;font-size:clamp(9px,1.1vw,12px)}
.rex-screen .rex-sort-positions>.rex-zone:disabled .rex-sort-placed b{color:#e4ffd9}
.rex-screen .rex-sort-pieces{bottom:-32px;left:-5px;right:-5px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;z-index:12}
.rex-screen .rex-sort-source-label{font-size:clamp(7px,.9vw,9px);color:#ceefff;background:#073d43d9;border-radius:4px;padding:0 4px;line-height:1.1;white-space:nowrap}
.rex-screen .rex-sort-source-items{width:100%;display:flex;justify-content:center;align-items:center;gap:3px;min-width:0}
.rex-screen .rex-sort-source-items .rex-piece{flex:1;min-width:0;min-height:20px;max-width:130px}
.rex-screen .rex-sort-source-items .rex-piece:disabled{opacity:.40}
.rex-screen .rex-sort-source-items .rex-sort-done{flex:1;max-width:130px;display:grid;place-items:center;min-height:20px;border:1px solid #62b88c;border-radius:5px;background:#0e3e2e;color:#b8f6ca;font-weight:900;font-size:clamp(8px,1.1vw,11px)}
.rex-screen .rex-sort-instruction{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(3px,.85vh,7px);padding:7px 5px;background:linear-gradient(180deg,#103d40,#082522);border:2px solid #5daed3;border-radius:9px}
.rex-screen .rex-sort-instruction small{font-size:clamp(10px,1.25vw,13px);color:#a7e3ff;font-weight:900}
.rex-screen .rex-sort-instruction>strong{font-size:clamp(16px,2.1vw,24px);line-height:1.15;color:#fff0a8}
.rex-screen .rex-sort-current{width:100%;border:1px solid #63b1da;border-radius:8px;background:#123d4b;display:flex;justify-content:center;align-items:center;gap:9px;padding:5px}
.rex-screen .rex-sort-current span{color:#c2e8fc;font-size:clamp(11px,1.3vw,14px);font-weight:900}
.rex-screen .rex-sort-current b{font-size:clamp(23px,3vw,32px);color:#fff}
.rex-screen .rex-sort-current em{font-style:normal;font-size:.75em;color:#ffe49a}
.rex-screen .rex-sort-instruction p{font-size:clamp(11px,1.3vw,14px);line-height:1.28;color:#eefaff;margin:0}
.rex-screen .rex-sort-next{font-size:clamp(10px,1.15vw,13px);font-weight:800;color:#b8f3cc}
@media (orientation:landscape) and (max-height:390px){
 .rex-screen .rex-sort-instruction{gap:3px;padding:4px}
 .rex-screen .rex-sort-current{padding:2px}
 .rex-screen .rex-sort-instruction>strong{font-size:16px}
 .rex-screen .rex-sort-current b{font-size:23px}
 .rex-screen .rex-sort-instruction p{font-size:11px}
 .rex-screen .rex-sort-positions>.rex-zone{font-size:8px}
 .rex-screen .rex-sort-positions>.rex-zone b{font-size:9px}
}

/* v4.8.5 source is a dedicated bottom tray, never positioned outside or clipped by the felt. */
.rex-screen .rex-movable-tray.rex-sort-tray{padding:1px 3px;overflow:visible;min-width:0;background:#062e2d;border:1px solid #5ca2aa;border-radius:6px;z-index:15}
.rex-screen .rex-sort-tray .rex-sort-pieces{position:static;inset:auto;display:flex;flex-direction:row;gap:4px;align-items:center;justify-content:center;width:100%;height:100%;min-width:0}
.rex-screen .rex-sort-tray .rex-sort-source-label{flex:0 0 auto;font-size:clamp(7px,.92vw,10px);line-height:1.05;white-space:normal;max-width:25%;padding:1px 3px}
.rex-screen .rex-sort-tray .rex-sort-source-items{flex:1;min-width:0;height:100%;display:flex;gap:4px}
.rex-screen .rex-sort-tray .rex-sort-source-items .rex-piece{min-height:23px;max-width:none;font-size:10px;padding:0 3px;flex:1}
.rex-screen .rex-sort-tray .rex-sort-source-items .rex-piece .rex-token{height:18px;width:18px;font-size:12px}
.rex-screen .rex-sort-tray .rex-sort-source-items .rex-piece b{font-size:clamp(10px,1.25vw,13px)}
.rex-screen .rex-sort-tray .rex-sort-source-items .rex-sort-done{max-width:none;min-height:23px}
@media (orientation:landscape) and (max-width:700px){.rex-screen .rex-sort-tray .rex-sort-source-label{max-width:27%;font-size:7px}.rex-screen .rex-sort-tray .rex-sort-source-items .rex-piece b{font-size:10px}}

.rex-screen .rex-sort-positions>.rex-zone .rex-sort-zone-label{flex:1;min-width:0;font-size:clamp(8px,1vw,10px);line-height:1.04;font-weight:900;text-align:center}

/* v4.8.6 — LAB10: unambiguous player destination and real float return slot */
.rex-screen .rex-player-deck{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.rex-screen .rex-player-deck [data-rex-zone="player"]{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px!important;min-width:0;overflow:hidden}
.rex-screen .rex-player-deck [data-rex-zone="player"]>span{font-size:clamp(9px,1.1vw,12px);font-weight:900;color:#ffe5aa;flex:none}
.rex-screen .rex-customer-request{color:#fcffdf!important;background:#205a48;border:1px solid #9fdb9e;border-radius:5px;padding:2px 5px;font-size:clamp(9px,1.04vw,12px)!important;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54%}
.rex-screen .rex-apron-float [data-rex-zone="float-return"]{display:flex;align-items:center;justify-content:center;gap:1px;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;padding:1px 3px;font-size:clamp(8px,1.15vw,11px);font-weight:900;border:2px solid #7bd1ff;background:#103e49;color:#f4fcff}
.rex-screen .rex-apron-float [data-rex-zone="float-return"] b{font-size:clamp(8px,1.1vw,11px);line-height:1.1;text-align:center}
.rex-screen .rex-apron-float [data-rex-zone="float-return"] small{font-size:clamp(8px,.92vw,10px);line-height:1;color:#b6efff}
.rex-screen .rex-work-position .rex-work-pile{width:100%;max-height:100%;gap:2px}
.rex-screen .rex-work-position .rex-work-pile .rex-piece{max-width:100%;min-width:0;white-space:normal;line-height:1.1}
.rex-screen .rex-work-position .rex-work-pile .rex-piece b{font-size:clamp(8px,.95vw,11px);word-break:keep-all}
.rex-screen .rex-work-position .rex-fives{font-size:clamp(8px,.95vw,10px);white-space:nowrap}
.rex-screen .rex-indicator>small{font-size:clamp(8px,.9vw,10px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(orientation:landscape) and (max-width:700px){
 .rex-screen .rex-player-deck [data-rex-zone="player"]>span{font-size:9px}
 .rex-screen .rex-customer-request{font-size:9px!important;max-width:60%}
 .rex-screen .rex-apron-float [data-rex-zone="float-return"] b{font-size:8px}
}

/* v4.8.6 — Display color amount and denomination on separate unclipped lines. */
.rex-screen .rex-piece .rex-color-identity{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;line-height:1.03;gap:1px;white-space:nowrap}
.rex-screen .rex-piece .rex-color-identity b{font-size:clamp(8px,.95vw,11px);line-height:1.05;white-space:nowrap}
.rex-screen .rex-piece .rex-color-identity small{font-size:clamp(8px,.92vw,10px);font-weight:900;color:#fce1aa;line-height:1.05;white-space:nowrap}
.rex-screen .rex-work-position .rex-work-pile .rex-piece .rex-color-identity b,.rex-screen .rex-work-position .rex-work-pile .rex-piece .rex-color-identity small{font-size:clamp(8px,.95vw,10px)}

/* v4.9.0 — ROULETTE LAB11 / FULL ROUND MANAGEMENT */
body.roulette-flow-active{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;margin:0!important;padding:0!important;background:#06130f!important}
body.roulette-flow-active .app-shell,body.roulette-flow-active #app{height:100dvh!important;max-height:100dvh!important;width:100vw!important;max-width:none!important;border:0!important;border-radius:0!important;overflow:hidden!important;box-shadow:none!important}
body.roulette-flow-active #screen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;padding:max(3px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important}
body.roulette-flow-active .bottom-nav{display:none!important}
body.roulette-flow-active .roulette-training-top{flex:0 0 36px;min-height:36px;grid-template-columns:70px minmax(0,1fr) auto;padding:2px 5px}
body.roulette-flow-active .roulette-training-top .back-link{min-height:27px;padding:3px 7px;font-size:10px}
body.roulette-flow-active .roulette-training-top>div small{font-size:8px}
body.roulette-flow-active .roulette-training-top>div b{display:block;font-size:clamp(10px,1.5vw,15px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.roulette-flow-active .roulette-training-top>span{font-size:clamp(8px,1vw,11px)}
.rf-screen{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 26% 32%,#173c27,#07130f 70%)}
.rf-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,58%) minmax(0,42%);gap:5px;padding:3px 2px 2px;overflow:hidden}
.rf-stage,.rf-panel{min-width:0;min-height:0;border:1px solid #84724d;border-radius:10px;overflow:hidden;background:#081d17}
.rf-stage{display:grid;grid-template-rows:23px 42px minmax(0,1fr) 43px 24px;gap:3px;padding:4px;background:linear-gradient(145deg,#063b29,#05251b)}
.rf-stage-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:3px;color:#f5df9f}
.rf-stage-heading b{font-size:clamp(9px,1.2vw,12px);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rf-stage-heading>div{display:flex;gap:3px;flex:none}
.rf-stage-heading button{min-height:22px;border:1px solid #83afaa;border-radius:5px;background:#123e39;color:#fff;font-weight:900;font-size:clamp(9px,1.05vw,11px);padding:2px 5px;touch-action:manipulation}
.rf-players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-height:0}
.rf-zone{min-width:0;min-height:0;border:1px dashed #759b8e;background:#104435;color:#edfcf1;border-radius:6px;padding:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;overflow:hidden;touch-action:manipulation;cursor:pointer}
.rf-players>.rf-zone{background:#073326;border:1px solid #a4ac6d;justify-content:space-between;padding:3px 2px}
.rf-player-name{display:flex;align-items:center;justify-content:center;gap:3px;font-size:clamp(9px,1.1vw,12px);line-height:1;white-space:nowrap}
.rf-player-name i{width:9px;height:9px;flex:none;border:1.5px solid white;border-radius:50%}
.rf-player-name small{font-size:clamp(7px,.85vw,9px);color:#e8dba9}
.rf-blue i,.rf-chip.rf-blue{background:#3684f7}.rf-orange i,.rf-chip.rf-orange{background:#ef9234}.rf-purple i,.rf-chip.rf-purple{background:#9a68d9}
.rf-players>.rf-zone>small{font-size:9px;color:#c3e6d2;font-weight:900}
.rf-player-source{min-height:22px;width:97%;border:1px solid #9ed7ff;border-radius:6px;background:#184b6d;color:white;font-weight:950;font-size:clamp(9px,1.1vw,12px);touch-action:none}
.rf-player-source.cash{background:#765527;border-color:#f9d06f;color:white}
.rf-felt{position:relative;min-height:0;border:1.5px solid #dfc18c;border-radius:7px;display:flex;overflow:hidden;isolation:isolate;background:#054b32}
.rf-layout{position:absolute;left:0;top:0;bottom:0;width:65%;border-right:1px solid #e3cd95;isolation:isolate}
.rf-board{position:absolute;inset:0;border:0!important;border-radius:0!important;overflow:hidden}
.rf-board .roulette-layout-base{position:absolute;inset:0;width:100%;height:100%;transform:rotate(180deg)}
.rf-board .roulette-number{font-size:clamp(7px,.83vw,10px);font-weight:900}
.rf-chip-layer{position:absolute;inset:0;z-index:5;pointer-events:none}
.rf-chip-layer button{pointer-events:auto;position:absolute;translate:-50% -50%;touch-action:none;cursor:pointer}
.rf-chip{border:2px solid #fff8eb;box-shadow:0 2px 4px #000e,0 0 0 1px #091a18;border-radius:50%;width:clamp(17px,2.45vw,25px);height:clamp(17px,2.45vw,25px);padding:0;display:flex;align-items:center;justify-content:center;z-index:5;color:white;font-size:clamp(9px,1.23vw,13px);font-weight:950;text-shadow:0 1px 2px black}
.rf-chip>em{position:absolute;right:-3px;bottom:-5px;font-size:8px;background:#111b18;border-radius:4px;line-height:11px;padding:0 2px;color:#fff;font-style:normal}
.rf-chip.win:not(.paid){box-shadow:0 0 0 2px #e2bc5c,0 0 10px #c8b56c}
.rf-chip.collected{display:none}
.rf-chip.paid{opacity:.66;border-color:#91d5a8}
.rf-chip:focus-visible,.rf-zone:focus-visible{outline:2px solid #9ee5ff;outline-offset:2px}
.rf-pending-target,.rf-dolly-target{display:grid;place-items:center;width:clamp(25px,3.6vw,39px);height:clamp(25px,3.6vw,39px);border:2px solid #72c8ff;background:#153e51b8;color:white;font-weight:950;font-size:18px;border-radius:100%;z-index:8}
.rf-dolly-target{color:#fff0ac;border-color:#f3d989;background:#355a38aa}
.rf-dolly-on{width:clamp(27px,3.55vw,39px);height:clamp(27px,3.55vw,39px);border:2px solid #ffe5aa;border-radius:50%;background:#f2d27b;color:#19271c;font-size:21px;z-index:15;box-shadow:0 2px 9px #000c}
.rf-late{width:48px;height:26px;border:2px solid #fbb7a8;border-radius:6px;background:#a12f32;color:white;font-size:10px;font-weight:950;z-index:15}
.rf-right-table{position:absolute;left:65%;right:0;top:0;bottom:0;display:grid;grid-template-rows:minmax(0,51%) 16% minmax(0,33%);gap:2px;padding:2px}
.rf-wheel-stage{position:relative;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border:1px solid #a58f5b;background:radial-gradient(circle,#234e35,#0a1e19 80%);border-radius:50% 50% 7px 7px}
.rf-wheel-face{position:relative;width:min(80%,90px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:3px double #e8c98b;box-shadow:0 0 0 2px #493b26,0 2px 8px #000a;touch-action:none}
.rf-wheel-ring{position:absolute;inset:3px;border-radius:50%;border:4px solid #a97735;background:repeating-conic-gradient(#bc302d 0deg 9deg,#111817 9deg 18deg,#08613e 18deg 19deg);display:grid;place-items:center}
.rf-wheel-face.is-spinning .rf-wheel-ring{animation:rfWheelSpin 2.8s linear infinite}
.rf-wheel-inner{width:53%;aspect-ratio:1;border-radius:50%;border:2px solid #e1c484;background:#1d2a21;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:white}
.rf-wheel-inner b{font-size:clamp(12px,1.75vw,20px);line-height:1}
.rf-wheel-inner small{font-size:clamp(5px,.7vw,8px);line-height:1.15;white-space:nowrap}
.rf-ball{position:absolute;width:9px;height:9px;border-radius:50%;background:#eff5f3;left:calc(50% - 4px);top:0;box-shadow:0 0 4px #fff;z-index:2;opacity:0}
.rf-ball.moving{opacity:1;animation:rfBallOrbit 2s linear infinite;transform-origin:4px 42px}
@keyframes rfWheelSpin{to{transform:rotate(360deg)}}@keyframes rfBallOrbit{to{transform:rotate(-360deg)}}
.rf-wheel-label{color:#f6e0ab;font-size:clamp(7px,.86vw,9px);font-weight:900;line-height:1}
.rf-wheel-stage>.rf-zone{position:absolute;right:0;bottom:0;z-index:12;min-height:21px;width:100%;border-color:#e0bf7d;border-radius:5px;font-size:clamp(8px,1vw,10px);flex-direction:row;background:#594522ed}
.rf-dolly-source{font-weight:950;white-space:nowrap}
.rf-rim{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#3e301e;border:1px solid #c3a36b;border-radius:6px;color:#ecd59e;min-height:0}
.rf-rim small{font-size:clamp(7px,.85vw,9px);font-weight:950;line-height:1}
.rf-rim b{font-size:clamp(6px,.76vw,8px);font-weight:900;line-height:1.05;text-align:center}
.rf-work-space{min-height:0;border:1px solid #d7b873;border-radius:6px;background:linear-gradient(150deg,#195b40,#0a382b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 1px;color:white;text-align:center;touch-action:manipulation}
.rf-work-space small{font-size:clamp(7px,.82vw,9px);font-weight:950;line-height:1.1;color:#ffe4a3}
.rf-work-space b{font-size:clamp(8px,1vw,11px)}
.rf-work-space strong{font-size:clamp(14px,1.8vw,20px);color:#fff4a5}
.rf-work-space strong small{font-size:10px}
.rf-outgoing{min-height:25px;width:100%;max-width:100%;padding:2px;border:1px solid #98e9ff;border-radius:6px;background:#1a7185;color:white;font-size:clamp(9px,1.05vw,12px);font-weight:950;touch-action:none;cursor:pointer}
.rf-apron{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:3px;min-height:0}
.rf-float{display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid #ae9662;border-radius:6px;background:#1b2f27;padding:3px;min-width:0;overflow:hidden}
.rf-float small{color:#d9e5c7;font-size:clamp(8px,1vw,10px);font-weight:950;line-height:1}
.rf-float>div{display:flex;gap:3px;overflow:hidden}
.rf-bank-pill{font-weight:950;color:#fff;font-size:clamp(8px,.95vw,10px);padding:2px 4px;white-space:nowrap;border-radius:4px;background:#13517f}
.rf-bank-pill.rf-orange{background:#99531b}.rf-bank-pill.rf-purple{background:#684098}
.rf-apron .rf-zone{font-size:clamp(8px,1.05vw,11px);line-height:1.05;background:#144d3f}
.rf-apron .rf-zone small{font-size:8px;color:#bfe8d0}
.rf-table-status{min-height:0;display:flex;align-items:center;justify-content:space-around;gap:2px;border:1px solid #72886e;border-radius:4px;background:#071f17;color:#d1eadc;font-size:clamp(7px,.85vw,9px);font-weight:950;overflow:hidden}
.rf-table-status span{white-space:nowrap}
.rf-glow{border-color:#7ee2ff!important;box-shadow:0 0 0 2px #67cdf4b0,0 0 14px #28aef8ad!important;animation:rfPulse 1.65s ease-in-out infinite!important;z-index:22!important}
.rf-glow.rf-chip{filter:brightness(1.25)}
.rf-chip.picked,.rf-outgoing.picked,.rf-player-source.picked,.rf-dolly-on.picked{outline:3px solid #a0f4ff;outline-offset:2px;filter:brightness(1.15)}
@keyframes rfPulse{50%{box-shadow:0 0 0 3px #64d7ff80,0 0 20px #20b6ffec}}
@media(prefers-reduced-motion:reduce){.rf-glow{animation:none!important}.rf-wheel-face.is-spinning .rf-wheel-ring,.rf-ball.moving{animation:none}}
.rf-drag-ghost{position:fixed!important;left:0;top:0;translate:-50% -50%;pointer-events:none!important;z-index:2147483647!important;opacity:.95!important;transform:scale(1.12)!important;filter:drop-shadow(0 6px 8px #000c);display:grid!important;place-items:center}
.rf-panel{padding:6px;display:flex;flex-direction:column;gap:5px;background:linear-gradient(180deg,#092a22,#071611)}
.rf-panel-progress{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b4d5cb;font-weight:950}
.rf-panel-progress b{color:#ffe1a0}
.rf-progress-track{height:4px;background:#1d4436;border-radius:10px;overflow:hidden;flex:none}
.rf-progress-track i{display:block;height:100%;background:#61d59c;border-radius:10px;transition:width .2s}
.rf-phase-tag{color:#a4ebc5;background:#154632;border:1px solid #3c8866;padding:4px 9px;border-radius:20px;font-size:clamp(9px,1.03vw,11px);font-weight:950;align-self:flex-start}
.rf-panel h1{font-size:clamp(17px,2.13vw,27px);line-height:1.07;font-weight:950;color:white;margin:0;white-space:normal}
.rf-task{border:1px solid #4f9a96;border-radius:8px;background:#0e3333;color:#edfaf4;padding:6px 8px;font-weight:900;font-size:clamp(11px,1.4vw,15px);line-height:1.24;max-height:28%;overflow:auto}
.rf-control{min-height:0;flex:1;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.rf-control>*{width:100%;min-width:0}
.rf-primary{flex:1;min-height:47px;padding:6px 8px;border:2px solid #7ed3a1;border-radius:10px;background:linear-gradient(145deg,#246e4e,#154d3e);color:#fff;font-weight:950;font-size:clamp(15px,1.65vw,20px);touch-action:manipulation}
.rf-primary:disabled{opacity:.38}
.rf-hint-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:8px;background:#103b33;border:1px solid #4b9a9f;border-radius:9px;text-align:center}
.rf-hint-card strong{font-size:clamp(14px,1.7vw,19px);line-height:1.14;color:#fff3a4}
.rf-hint-card span{font-size:clamp(10px,1.24vw,14px);line-height:1.22;color:#dfefeb}
.rf-directions{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-height:0;flex:1}
.rf-directions button{min-width:0;border:2px solid #67b8b8;border-radius:11px;background:linear-gradient(140deg,#134958,#173b31);color:white;font-weight:950;font-size:clamp(36px,5vw,52px);touch-action:manipulation}
.rf-directions button small{display:block;font-size:clamp(10px,1.2vw,14px);line-height:1.18}
.rf-inline-tip{text-align:center;font-size:9px;color:#bdd9ce}
.rf-pad{flex:1;min-height:0;display:grid;grid-template-rows:42px minmax(0,1fr);gap:5px}
.rf-entry{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;padding:2px 8px;border:2px solid #70b6c6;border-radius:8px;background:#0d3436}
.rf-entry span{font-size:10px;color:#b6e1e4;font-weight:950}
.rf-entry strong{font-size:clamp(27px,3.5vw,42px);line-height:1;color:#fff3a5;text-align:center;min-width:0}
.rf-entry em{font-style:normal;font-size:9px;color:#e8d6a0}
.rf-entry>button{border:1px solid #6caeac;background:#21566b;color:white;border-radius:6px;font-size:15px;font-weight:900;padding:5px 12px}
.rf-keys{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:4px}
.rf-keys button{min-width:0;min-height:0;padding:0;border:1px solid #4f9caf;border-radius:8px;background:linear-gradient(#144950,#0c3038);color:white;font-weight:950;font-size:clamp(26px,3.15vw,37px);touch-action:manipulation}
.rf-keys .clear{font-size:clamp(10px,1.1vw,13px);background:#473b29;border-color:#cfb077}
.rf-keys .enter{font-size:clamp(11px,1.26vw,15px);background:#196547;border-color:#81dba4}
.rf-keys .enter:disabled{opacity:.4}
.rf-builder{flex:1;display:grid;grid-template-rows:57px minmax(0,1fr) 44px;gap:6px;min-height:0}
.rf-built{display:flex;align-items:center;justify-content:space-between;border:1px solid #68a6ac;border-radius:8px;background:#123e43;padding:4px 8px;color:white;font-weight:950;font-size:clamp(10px,1.2vw,14px)}
.rf-built strong{font-size:clamp(26px,3.3vw,38px);color:#fff1a8}
.rf-built small{font-size:12px;color:#bfe6db}
.rf-build-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:0}
.rf-build-keys button{font-size:clamp(22px,2.65vw,32px);font-weight:950;border:1px solid #69b6c3;border-radius:9px;background:#17545a;color:white;touch-action:manipulation}
.rf-builder>.rf-primary{min-height:44px;font-size:clamp(13px,1.5vw,18px)}
.rf-error{color:#fff2e7;background:#703329;border:1px solid #eea196;border-radius:8px;font-size:clamp(10px,1.12vw,13px);line-height:1.2;padding:4px 7px;font-weight:900;max-height:26%;overflow:auto}
.rf-panel-bottom{flex:none;display:flex;justify-content:space-between;border-top:1px solid #326045;padding-top:4px;font-size:9px;color:#9cbca8;font-weight:950}
.rf-panel-bottom b{color:#ffe29e}
.rf-screen.rf-expanded .rf-workspace{grid-template-columns:minmax(0,1fr) 0;gap:0}
.rf-screen.rf-expanded .rf-panel{display:none}
.rf-screen.rf-expanded .rf-board .roulette-number{font-size:clamp(10px,1.25vw,14px)}
.rf-screen.rf-expanded .rf-chip{width:clamp(24px,3.25vw,36px);height:clamp(24px,3.25vw,36px);font-size:clamp(13px,1.6vw,18px)}
.rf-screen.rf-expanded .rf-wheel-face{width:min(70%,112px)}
.rf-result{height:100%!important;min-height:0;overflow:hidden}
.rf-result-grid{display:grid;grid-template-columns:minmax(150px,24%) minmax(0,76%);gap:8px;flex:1;min-height:0;padding:7px}
.rf-result-hero{min-height:0;border:1px solid #c2a86a;border-radius:10px;background:radial-gradient(#24493a,#0a221a);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:white}
.rf-result-hero small{font-size:clamp(9px,1.08vw,13px);color:#f7dda1;font-weight:950}
.rf-result-hero strong{font-size:clamp(43px,5.8vw,80px);line-height:1;color:#ffe89c}
.rf-result-hero strong em{font-size:16px;font-style:normal}
.rf-result-hero b{font-size:clamp(17px,2vw,26px)}
.rf-result-hero span{font-size:clamp(11px,1.5vw,18px);color:#b9eec8}
.rf-result-detail{min-width:0;min-height:0;display:grid;grid-template-rows:67px minmax(0,1fr) 37px 43px;gap:5px}
.rf-round-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.rf-round-scores>div{display:flex;align-items:center;justify-content:space-around;flex-direction:column;border:1px solid #a68f62;background:#143b2f;border-radius:7px;min-width:0}
.rf-round-scores small{font-size:clamp(8px,.96vw,11px);color:#e7d19c;font-weight:900}
.rf-round-scores strong{color:white;font-size:clamp(21px,2.7vw,33px);line-height:1}
.rf-round-scores em{font-size:10px;color:#c8d8cf;font-style:normal}
.rf-result-categories{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}
.rf-result-categories>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #466856;border-radius:6px;background:#0e2f25}
.rf-result-categories small{font-size:clamp(8px,.94vw,11px);color:#bbd6c6;font-weight:900}
.rf-result-categories b{font-size:clamp(16px,2.05vw,25px);color:white;line-height:1}
.rf-result-categories span{font-size:8px;color:#f1d499}
.rf-result-footer{display:flex;align-items:center;justify-content:space-around;border:1px solid #4e7b5c;border-radius:6px;color:#c0d6c5;font-size:clamp(9px,1vw,12px);font-weight:900}
.rf-result-footer b{color:#ffdfa3;font-size:clamp(13px,1.5vw,18px)}
.rf-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rf-result-actions button{border:1px solid #8fc69d;border-radius:8px;background:#174b37;color:white;font-size:clamp(11px,1.3vw,15px);font-weight:950;touch-action:manipulation}
.rf-result-actions button:last-child{background:#7b612b;color:#fff5d9;border-color:#e9ca7c}
@media (orientation:landscape) and (max-height:440px){
 .rf-stage{grid-template-rows:20px 36px minmax(0,1fr) 34px 19px;gap:2px;padding:3px}.rf-stage-heading button{min-height:19px}
 .rf-players>.rf-zone{padding:1px}.rf-player-name{font-size:9px}.rf-player-name small{font-size:7px}.rf-player-source{min-height:20px;font-size:9px}
 .rf-wheel-face{width:min(68%,68px)}.rf-wheel-label{font-size:7px}.rf-wheel-inner b{font-size:13px}.rf-work-space small{font-size:7px}.rf-work-space b{font-size:8px}.rf-float small{font-size:8px}
 .rf-panel{gap:3px;padding:4px}.rf-panel-progress{font-size:9px}.rf-phase-tag{padding:2px 6px;font-size:9px}.rf-panel h1{font-size:clamp(16px,2vw,21px)}.rf-task{padding:4px 6px;font-size:clamp(10px,1.2vw,13px)}
 .rf-panel-bottom{font-size:8px;padding-top:2px}.rf-pad{grid-template-rows:34px minmax(0,1fr);gap:3px}.rf-keys{gap:3px}.rf-keys button{font-size:clamp(23px,3vw,29px)}.rf-primary{min-height:42px}
 .rf-builder{grid-template-rows:43px minmax(0,1fr) 38px;gap:4px}.rf-builder>.rf-primary{min-height:38px}.rf-built strong{font-size:26px}
 .rf-result-grid{padding:4px;gap:5px}.rf-result-detail{grid-template-rows:58px minmax(0,1fr) 31px 39px;gap:3px}
 .rf-round-scores strong{font-size:23px}.rf-result-categories b{font-size:16px}
}
@media (orientation:landscape) and (max-width:700px){
 .rf-workspace{grid-template-columns:minmax(0,52%) minmax(0,48%);gap:3px}.rf-stage-heading b{font-size:8px}.rf-stage-heading button{font-size:9px;padding:1px 3px}.rf-player-name small{font-size:6.5px}.rf-players>.rf-zone>small{font-size:8px}
 .rf-layout{width:65%}.rf-right-table{left:65%}.rf-chip{width:16px;height:16px;font-size:9px}.rf-chip>em{font-size:6px;bottom:-4px}.rf-table-status{font-size:6.5px}.rf-bank-pill{font-size:7px;padding:1px 2px}
 .rf-apron{grid-template-columns:minmax(0,1fr) 65px}.rf-work-space small{font-size:6.5px}.rf-task{max-height:31%}.rf-result-grid{grid-template-columns:minmax(118px,25%) minmax(0,75%)}
 .rf-wheel-face{width:min(65%,58px)}.rf-wheel-inner b{font-size:11px}.rf-wheel-inner small{font-size:5px}.rf-wheel-label{font-size:6px}
}
@media(orientation:portrait){body.roulette-flow-active .roulette-orientation-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;background:#05080d}}

/* Dolly protects the number without trapping taps meant for the winning stake. */
.rf-dolly-on{pointer-events:none!important}.rf-dolly-on.is-parkable{pointer-events:auto!important}


/* Stacked bets: the actionable next chip is always above other wagers. */
.rf-screen .rf-chip[data-rf-inactive="1"]{pointer-events:none!important}
.rf-screen .rf-chip.rf-next{z-index:40!important}
.rf-screen .rf-chip.rf-next:focus-visible{outline:3px solid #78d9ff;outline-offset:2px}

/* v4.9.1 — LAB11: wider live table; LAB03 ball physics & sound sync; tactile Dolly dock. */
.rf-screen .rf-workspace{grid-template-columns:minmax(0,64%) minmax(0,36%);gap:4px}
.rf-screen .rf-layout{width:66.5%}
.rf-screen .rf-right-table{left:66.5%;grid-template-rows:minmax(0,62%) 13% minmax(0,25%)}
.rf-screen .rf-board .roulette-number{font-size:clamp(8px,.97vw,11px)}
.rf-screen .rf-wheel-stage{position:relative;justify-content:flex-start;padding:2px 2px 29px;gap:0;border-radius:46% 46% 7px 7px}
.rf-screen .rf-wheel-face{width:min(86%,92px);height:auto;max-height:100%;flex:none;aspect-ratio:1;place-self:center;overflow:visible}
.rf-screen .rf-wheel-face.is-spinning .rf-wheel-ring{animation:rfWheelSpin 2.8s linear infinite}
.rf-screen .rf-wheel-face.is-settled .rf-wheel-ring{animation:none!important}
.rf-screen .rf-wheel-ring[data-rf-wheel-rotor]{will-change:transform}
.rf-screen .rf-ball-orbit{position:absolute;inset:6.5%;pointer-events:none;transform-origin:center;z-index:5;will-change:transform,inset}
.rf-screen .rf-ball-orbit .rf-ball{position:absolute;display:block;width:9px;height:9px;top:-4.5px;left:50%;border-radius:50%;background:#fafffb;border:1px solid #f9f6e6;box-shadow:0 0 6px #fff,0 1px 3px #000;opacity:1;will-change:transform}
.rf-screen .rf-wheel-label{position:absolute;left:0;right:0;bottom:28px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(8px,.92vw,10px);line-height:12px;color:#ffebb2}
.rf-screen .rf-dolly-dock{position:absolute;left:2px;right:2px;bottom:2px;z-index:19;display:flex;align-items:center;justify-content:center;height:26px;min-width:0;border:1px solid #e6c887;border-radius:6px;background:#5b4725;color:#fff5cc;font-weight:950;font-size:clamp(9px,1.1vw,12px);touch-action:manipulation;cursor:pointer}
.rf-screen .rf-dolly-dock:not(.is-active){border-color:#927e56;color:#d6c39c;opacity:.75}
.rf-screen .rf-dolly-pickup{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;padding:1px 2px;border:2px solid #7bd8ff;border-radius:5px;background:#1c5b6b;color:white;font-size:clamp(11px,1.2vw,14px);font-weight:950;touch-action:none;cursor:grab}
.rf-screen .rf-dolly-pickup:active{cursor:grabbing}
.rf-screen .rf-dolly-on.is-parkable{width:clamp(34px,4.5vw,43px);height:clamp(34px,4.5vw,43px);font-size:23px;z-index:50!important;touch-action:none;cursor:grab;box-shadow:0 0 0 4px #80d9ff6b,0 2px 9px #000c}
.rf-screen .rf-dolly-target{width:clamp(34px,4.7vw,43px);height:clamp(34px,4.7vw,43px);z-index:48;font-size:21px}
.rf-screen [data-rf-zone="dolly-park"]:focus-visible,.rf-screen [data-rf-source="dolly"]:focus-visible,.rf-screen [data-rf-source="dolly-on"]:focus-visible{outline:3px solid #85deff;outline-offset:1px}
@media (orientation:landscape) and (max-height:440px){
 .rf-screen .rf-workspace{grid-template-columns:minmax(0,63%) minmax(0,37%);gap:3px}
 .rf-screen .rf-wheel-stage{padding-bottom:26px}
 .rf-screen .rf-wheel-label{bottom:26px;font-size:8px;line-height:10px}
 .rf-screen .rf-dolly-dock{height:24px}
 .rf-screen .rf-wheel-face{width:min(91%,84px);max-height:calc(100% - 1px)}
 .rf-screen .rf-board .roulette-number{font-size:clamp(7px,1vw,10px)}
}
@media (orientation:landscape) and (max-width:700px){
 .rf-screen .rf-workspace{grid-template-columns:minmax(0,60%) minmax(0,40%);gap:3px}
 .rf-screen .rf-layout{width:66%}
 .rf-screen .rf-right-table{left:66%;grid-template-rows:minmax(0,62%) 13% minmax(0,25%)}
 .rf-screen .rf-wheel-face{width:min(92%,76px);max-height:100%}
 .rf-screen .rf-wheel-label{font-size:7px}
 .rf-screen .rf-dolly-dock{height:25px}
 .rf-screen .rf-dolly-on.is-parkable{width:35px;height:35px}
 .rf-screen .rf-dolly-target{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.rf-screen .rf-dolly-pickup.rf-glow,.rf-screen .rf-dolly-dock.rf-glow{animation:none!important;box-shadow:0 0 0 2px #7bdaff}}

/* v4.9.1 final hit-target adjustment: 34px actual Dolly pickup in the small landscape viewport. */
.rf-screen .rf-wheel-stage{padding-bottom:36px}
.rf-screen .rf-wheel-label{bottom:37px}
.rf-screen .rf-dolly-dock{height:34px}
@media (orientation:landscape) and (max-height:440px){
 .rf-screen .rf-wheel-stage{padding-bottom:35px}
 .rf-screen .rf-wheel-label{bottom:35px}
 .rf-screen .rf-dolly-dock{height:33px}
}
@media (orientation:landscape) and (max-width:700px){
 .rf-screen .rf-wheel-stage{padding-bottom:35px}
 .rf-screen .rf-wheel-label{bottom:35px}
 .rf-screen .rf-dolly-dock{height:33px}
}

/* Drag ghost must never intercept elementFromPoint, including Dolly clones. */
body > .rf-drag-ghost,body > .rf-drag-ghost.rf-dolly-on,body > .rf-drag-ghost.rf-dolly-on.is-parkable{pointer-events:none!important}

/* v4.10.0 — LAB12 final practical. No correct-answer glows or pre-revealed targets. */
body.roulette-exam-active .rf-workspace{grid-template-columns:minmax(0,63%) minmax(0,37%);gap:3px}
.re-screen .rf-stage{position:relative}
.re-screen .rf-players.re-preflight{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.re-screen .re-open-check{height:100%;min-width:0;padding:1px 2px;border:1px solid #cda96b;border-radius:6px;background:#154737;color:#fff4cf;font-weight:950;font-size:clamp(9px,1.03vw,12px);line-height:1.02;touch-action:manipulation}
.re-screen .re-open-check:disabled{opacity:.6;background:#244d32;color:#b7dfbc}
.re-screen .rf-chip.win:not(.paid){box-shadow:0 2px 4px #000e,0 0 0 1px #091a18!important}
.re-screen .rf-chip.paid{pointer-events:none!important}
.re-screen .rf-chip.rf-next{z-index:5!important}
.re-screen .rf-pending-target,.re-screen .rf-dolly-target{border:0!important;background:transparent!important;box-shadow:none!important;color:transparent!important;outline:none!important;z-index:25;min-width:29px;min-height:29px}
.re-screen .rf-chip.picked{outline:2px solid #fff0aa;outline-offset:1px}
.re-screen .rf-zone.rf-glow,.re-screen .rf-chip.rf-glow,.re-screen .rf-player-source.rf-glow,.re-screen .rf-dolly-dock.rf-glow{animation:none!important;box-shadow:none!important}
.re-screen .rf-rim{gap:2px;overflow:hidden;padding:2px}
.re-screen .rf-rim>.rf-zone,.re-screen .re-marker-chip{min-height:17px;width:100%;padding:1px;border:1px solid #b6a37a;border-radius:4px;background:#675033;color:#fff2d1;font-size:clamp(7px,.9vw,10px);font-weight:950;line-height:1.05;touch-action:none}
.re-screen .rf-rim .re-marker-chip{cursor:grab}
.re-screen .rf-rim small{font-size:clamp(7px,.79vw,9px);white-space:nowrap}
.re-screen .rf-apron>.re-marker-chip{font-size:clamp(8px,.9vw,11px)}
.re-screen .rf-float>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re-screen .rf-right-table{grid-template-rows:minmax(0,61%) 17% minmax(0,22%)}
.re-screen .rf-stage-heading>b{font-size:clamp(9px,1.12vw,12px)}
.re-screen .rf-panel h1{font-size:clamp(17px,2.0vw,25px)}
.re-screen .rf-task{font-size:clamp(11px,1.35vw,14px);line-height:1.2}
.re-screen .rf-panel-bottom{font-size:clamp(8px,.93vw,10px)}
.re-result .rf-result-detail{grid-template-rows:minmax(59px,23%) minmax(27px,13%) minmax(0,1fr) minmax(34px,15%);gap:4px}
.re-result .rf-round-scores{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
.re-result .rf-round-scores>div{min-width:0;padding:2px 1px}
.re-result .rf-round-scores small{font-size:clamp(7px,.8vw,10px)}
.re-result .rf-round-scores strong{font-size:clamp(15px,1.83vw,23px);line-height:1.08;white-space:nowrap}
.re-result .rf-round-scores em{font-size:8px}
.re-result .re-exam-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-height:0}
.re-result .re-exam-summary>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;overflow:hidden;border:1px solid #537b61;background:#112e27;border-radius:5px;font-size:clamp(7px,.8vw,10px);color:#cfe1d1;font-weight:900;text-align:center}
.re-result .re-exam-summary b{font-size:clamp(12px,1.4vw,18px);color:white}
.re-result .re-review{min-height:0;display:flex;flex-direction:column;gap:2px;overflow:auto;background:#0d2a24;border:1px solid #476d58;border-radius:6px;padding:3px 5px;color:#e7f0e8;font-size:clamp(8px,.93vw,11px)}
.re-result .re-review>div{display:flex;gap:8px;align-items:center;padding:2px 0;border-bottom:1px solid #2b4638}
.re-result .re-review>div b{color:#ffc993;flex:none;font-size:inherit}
.re-result .re-review>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.re-result .re-pass{color:#8ff0a6}.re-result .re-fail{color:#ffc17a}
@media(orientation:landscape) and (max-width:700px){
 body.roulette-exam-active .rf-workspace{grid-template-columns:minmax(0,60%) minmax(0,40%)}
 .re-screen .rf-stage-heading>b{font-size:8px}
 .re-screen .re-open-check{font-size:8px}
 .re-screen .rf-task{font-size:10.5px}
 .re-result .rf-result-grid{grid-template-columns:minmax(114px,25%) minmax(0,75%)}
 .re-result .rf-round-scores strong{font-size:15px}
 .re-result .re-exam-summary>span{font-size:7px}
 .re-result .re-review{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.re-screen *, .re-result *{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

/* v4.10.1 — LAB12 usability: readable real table, non-revealing interaction cues. */
body.roulette-exam-active .rf-workspace{grid-template-columns:minmax(0,66%) minmax(0,34%);gap:3px}
.re-screen .rf-stage{grid-template-rows:23px 42px minmax(0,1fr) 43px 24px}
.re-screen .rf-layout{width:66%}
.re-screen .rf-right-table{left:66%;grid-template-rows:minmax(0,61%) 17% minmax(0,22%)}
.re-screen .rf-board .roulette-number{font-size:clamp(9px,1.08vw,13px)}
.re-screen .rf-chip{width:clamp(20px,2.6vw,28px);height:clamp(20px,2.6vw,28px)}
.re-screen .rf-chip>em{font-size:clamp(8px,.82vw,10px);bottom:-6px;padding:1px 3px;z-index:2}
.re-screen .rf-wheel-stage{padding-bottom:35px}
.re-screen .rf-wheel-face,.re-screen.rf-expanded .rf-wheel-face{
  box-sizing:border-box!important;flex:0 0 auto!important;
  inline-size:min(86%, 18dvh, 96px)!important;
  block-size:min(18dvh, 96px)!important;
  width:min(86%, 18dvh, 96px)!important;
  height:min(18dvh, 96px)!important;
  min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
  aspect-ratio:1 / 1!important;border-radius:50%!important;align-self:center;
}
.re-screen .rf-wheel-stage .rf-wheel-label{display:none!important}
.re-screen .rf-wheel-stage{border-radius:44% 44% 7px 7px}
.re-screen .rf-dolly-pickup{width:40px!important;max-width:100%;height:100%;padding:0!important;border-radius:50%!important;margin:auto;font-size:24px!important;line-height:1;flex:none}
.re-screen .rf-dolly-dock{justify-content:center}
body>.rf-drag-ghost.re-dolly-drag-icon{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;aspect-ratio:1!important;white-space:nowrap!important;border-radius:50%!important;border:2px solid #ffe9ae!important;background:#efce77!important;color:#19291c!important;font-size:25px!important;line-height:1!important;padding:0!important;box-shadow:0 0 0 3px #64cfff,0 5px 11px #000a!important;overflow:hidden!important}
.re-screen .rf-late{width:auto;min-width:82px;max-width:calc(100% - 12px);height:auto;min-height:25px;padding:2px 5px;font-size:clamp(8px,.95vw,11px);white-space:normal}
.re-screen .re-dolly-owner{position:absolute;translate:-50% 0;transform:translateY(19px);pointer-events:none;z-index:58;max-width:110px;border:1px solid #99d8ff;border-radius:6px;background:#123c65f2;color:white;padding:2px 4px;font-size:clamp(8px,.94vw,11px);font-weight:950;line-height:1.05;white-space:nowrap;text-shadow:0 1px 2px #0019;box-shadow:0 2px 7px #0007}
.re-screen .re-picture-batch{position:absolute;left:3px;bottom:3px;max-width:calc(100% - 6px);min-height:29px;z-index:90;padding:4px 8px;border:2px solid #7dcaff;border-radius:7px;background:#174e75;color:white;font-size:clamp(9px,1.1vw,12px);font-weight:950;line-height:1.1;box-shadow:0 2px 7px #0009;touch-action:manipulation;pointer-events:auto}
/* Blue shows available manipulation, never singles out the winning bet in assessment. */
.re-screen .rf-zone.rf-glow,.re-screen .rf-chip.rf-glow,.re-screen .rf-player-source.rf-glow,.re-screen .rf-dolly-dock.rf-glow,
.re-screen .rf-work-space.rf-glow,.re-screen .rf-outgoing.rf-glow,.re-screen .rf-dolly-pickup.rf-glow,.re-screen .rf-dolly-on.rf-glow,
.re-screen .rf-pending-target.rf-glow,.re-screen .rf-dolly-target.rf-glow,.re-screen .re-marker-chip.rf-glow{
  animation:reTouchPulse 1.6s ease-in-out infinite!important;
  box-shadow:0 0 0 2px #71ccff,0 0 13px 2px #56baff9c!important;
  border-color:#9adeff!important;
}
.re-screen .rf-chip.re-actionable:not(.picked){animation:reTouchPulse 1.8s ease-in-out infinite!important;box-shadow:0 0 0 1.5px #5dbfffee,0 0 9px #3fa8ff99!important}
.re-screen .rf-chip.picked{outline:2px solid #eafaff!important;box-shadow:0 0 0 3px #5dbfff!important}
@keyframes reTouchPulse{0%,100%{filter:brightness(1);box-shadow:0 0 0 1.5px #72caff,0 0 4px #56baff78}50%{filter:brightness(1.17);box-shadow:0 0 0 3px #8adaff,0 0 15px #44adffee}}
@media(orientation:landscape) and (max-height:440px){
 .re-screen .rf-stage{grid-template-rows:20px 36px minmax(0,1fr) 34px 19px}
 .re-screen .rf-wheel-face,.re-screen.rf-expanded .rf-wheel-face{inline-size:min(86%,17dvh,84px)!important;block-size:min(17dvh,84px)!important;width:min(86%,17dvh,84px)!important;height:min(17dvh,84px)!important}
 .re-screen .rf-board .roulette-number{font-size:clamp(8px,1.05vw,11px)}
 .re-screen .rf-chip{width:clamp(18px,2.6vw,25px);height:clamp(18px,2.6vw,25px)}
 .re-screen .re-dolly-owner{transform:translateY(15px)}
}
@media(orientation:landscape) and (max-width:700px){
 body.roulette-exam-active .rf-workspace{grid-template-columns:minmax(0,64%) minmax(0,36%)}
 .re-screen .rf-wheel-face,.re-screen.rf-expanded .rf-wheel-face{inline-size:min(83%,16dvh,72px)!important;block-size:min(16dvh,72px)!important;width:min(83%,16dvh,72px)!important;height:min(16dvh,72px)!important}
 .re-screen .rf-chip{width:18px;height:18px}
 .re-screen .re-picture-batch{font-size:9px;min-height:27px}
 .re-screen .re-dolly-owner{font-size:8px;max-width:90px}
}
@media(prefers-reduced-motion:reduce){
 .re-screen .rf-glow,.re-screen .re-actionable{animation:none!important;filter:none!important;outline:2px solid #80d6ff!important}
}
/* The generic chip-layer translates its buttons; the batch action is a fixed, full label. */
.re-screen .rf-chip-layer .re-picture-batch{translate:none!important;transform:none!important;inset:auto auto 3px 3px;white-space:normal;text-align:center;max-width:calc(100% - 6px);width:calc(100% - 6px)}

/* v4.10.2 — LAB12 finale occupies TWO standard practice grid cells. */
.roulette-grid > .lab-training-item.final-item{grid-column:1 / -1;min-width:0}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card{
  position:relative;display:flex;flex-direction:column;width:100%;height:165px!important;min-height:165px!important;
  border:1px solid rgba(221,183,89,.68)!important;
  background:radial-gradient(circle at 88% 8%,rgba(224,178,76,.2),transparent 40%),linear-gradient(125deg,#112c3a,#0b2240 65%,#171b28)!important;
  box-shadow:inset 0 1px 0 rgba(255,236,184,.13),0 0 16px rgba(76,150,217,.13)!important;
  padding:13px 18px!important
}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card .tc-icon{font-size:30px!important;margin-top:5px!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card h3{font-size:19px!important;min-height:0!important;line-height:1.12!important;margin:6px 22px 4px 0!important;color:#ffdf8b!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card>small{font-size:11px!important;line-height:1.35!important;min-height:0!important;color:#e0edf7!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card .lab-card-no{font-size:12px!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card .lab-card-stats{margin-top:auto!important;padding-top:7px!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card .lab-card-stats b{font-size:10px!important}
.roulette-grid > .lab-training-item.final-item .lab-path-card.training-card .lab-card-stats span{font-size:9px!important}
@media(orientation:landscape) and (max-height:420px){
 .roulette-grid > .lab-training-item.final-item .lab-path-card.training-card{height:155px!important;min-height:155px!important;padding:11px 14px!important}
 .roulette-grid > .lab-training-item.final-item .lab-path-card.training-card h3{font-size:17px!important}
 .roulette-grid > .lab-training-item.final-item .lab-path-card.training-card>small{font-size:10px!important}
}

/* v4.10.3 — LAB12 equipment check: pulsing only uninspected actionable buttons. */
.re-screen .re-open-check.re-open-active{
  position:relative;z-index:2;border:2px solid #65c9ff!important;
  background:linear-gradient(180deg,#145a73,#0d344b)!important;
  color:#f5fcff!important;
  box-shadow:0 0 0 2px rgba(21,151,255,.34),0 0 12px rgba(40,171,255,.78),inset 0 0 8px rgba(58,171,254,.25)!important;
  animation:re-open-pulse 1.35s ease-in-out infinite!important;
}
.re-screen .re-open-check.is-done{animation:none!important;border-color:#537866!important;box-shadow:none!important}
@keyframes re-open-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(65,177,255,.25),0 0 5px rgba(40,156,255,.38),inset 0 0 3px rgba(65,176,255,.18)}
  50%{box-shadow:0 0 0 3px rgba(65,177,255,.53),0 0 17px rgba(40,171,255,.92),inset 0 0 10px rgba(65,176,255,.4)}
}
@media(prefers-reduced-motion:reduce){.re-screen .re-open-check.re-open-active{animation:none!important;box-shadow:0 0 0 3px #60c7ff,0 0 10px rgba(40,171,255,.66)!important}}


/* v4.10.5 — MATCH ROULETTE LEARN BLUE TO ROULETTE LAB */
.learn-game-jump{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.learn-game-jump button{display:flex;align-items:center;gap:5px;min-height:36px;padding:7px 10px;border:1px solid rgba(211,180,113,.32);border-radius:999px;background:linear-gradient(165deg,rgba(28,37,31,.96),rgba(12,17,14,.98));color:#ecd8a7;font:800 10px/1.2 var(--sans,system-ui);cursor:pointer}
.learn-game-jump button:first-child{border-color:rgba(91,170,255,.65);background:linear-gradient(140deg,rgba(24,64,134,.9),rgba(10,24,55,.96));color:#d6eeff}
.learn-game-jump small{color:#9fbaa9;font:750 9px var(--mono,monospace)}
.learn-game-jump button:first-child small{color:#a9dcff}
.learn-game-jump button:focus-visible{outline:2px solid #e9d6a5;outline-offset:3px}
.learn-game-heading[id]{scroll-margin-top:80px}
.roulette-heading{margin-top:21px}
.roulette-heading strong,.roulette-heading .learn-game-suit{color:#a9dcff}
.roulette-heading small{color:#8fd0ff}
.roulette-learn-card{border-color:rgba(91,170,255,.55)!important;background:radial-gradient(circle at 95% 0%,rgba(92,164,232,.17),transparent 37%),linear-gradient(150deg,#112d5f,#0a1630 72%)!important}
.roulette-learn-card .course-icon{border-color:rgba(91,170,255,.63)!important;background:linear-gradient(180deg,#214e9a,#102b65)!important;color:#d9f1ff!important}
.roulette-learn-card h3{color:#a9dcff}
.learn-next-card.roulette{border-color:rgba(91,170,255,.62);background:radial-gradient(circle at 96% 0%,rgba(92,164,232,.16),transparent 37%),linear-gradient(180deg,rgba(16,42,85,.96),rgba(8,18,42,.98))}
@media(max-width:400px){.learn-game-jump{gap:5px}.learn-game-jump button{font-size:9px;min-height:34px;padding:6px 8px}.learn-game-jump small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.learn-game-jump button{scroll-behavior:auto}}

/* v4.10.6 — LV75 VIP and LV99 LEGEND outfits (existing pixel-art system). */
.character-portrait.outfit-vip{border-color:rgba(237,188,79,.88);box-shadow:inset 0 0 20px rgba(229,166,58,.19),0 0 20px rgba(233,185,64,.15)}
.character-portrait.outfit-legend{border-color:rgba(255,123,92,.94);box-shadow:inset 0 0 22px rgba(186,49,55,.26),0 0 22px rgba(237,90,59,.20)}
.character-outfit-card.outfit-vip{border-color:rgba(234,187,73,.52);background:linear-gradient(150deg,rgba(63,46,21,.76),rgba(8,9,11,.98))}
.character-outfit-card.outfit-legend{border-color:rgba(244,125,84,.65);background:linear-gradient(150deg,rgba(76,26,29,.72),rgba(11,7,12,.98))}
.character-outfit-card .character-outfit-level{position:absolute;left:5px;top:5px;z-index:5;font-size:7px;font-weight:900;font-style:normal;color:#f0ce75;text-shadow:0 1px 4px #000;pointer-events:none}
.character-outfit-card.outfit-legend .character-outfit-level{color:#ffab83}

/* v4.10.7 — LV99 secret preview; actual sprite appears only after LV99. */
.character-outfit-card.outfit-legend.secret-locked{opacity:1;filter:none;border-color:rgba(220,126,97,.55);background:linear-gradient(160deg,rgba(41,22,33,.96),rgba(10,8,15,.99))}
.character-outfit-card.outfit-legend.secret-locked .character-portrait.secret-outfit{display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(175,71,98,.20),transparent 63%),linear-gradient(145deg,#2c1d2e,#0d0b14);border:1px dashed rgba(255,174,124,.70);box-shadow:inset 0 0 20px rgba(0,0,0,.38),0 0 15px rgba(184,71,56,.12)}
.character-outfit-card.outfit-legend.secret-locked .character-portrait.secret-outfit strong{display:block;font:900 clamp(26px,7vw,44px)/1 var(--mono,monospace);color:#f3ca93;text-shadow:0 0 16px rgba(255,163,102,.48)}
.character-outfit-card.outfit-legend.secret-locked b{color:#ebc28c}
.character-outfit-card.outfit-legend.secret-locked small{color:#b4a197}
.character-outfit-card.outfit-legend.secret-locked>i{color:#d6987c}
/* Keep long localized outfit names contained in the two-column mobile cards. */
.character-outfit-card>span{max-width:100%;overflow-wrap:anywhere}
.character-outfit-card>span>b{max-width:100%;overflow-wrap:anywhere;word-break:break-word}

/* v4.11.0 — Original casino insignia and compact academy directories. */
.academy-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.academy-icon{display:block;width:26px;height:26px;flex:none;overflow:visible}
body{
  background:
    radial-gradient(ellipse at 50% -12%,rgba(24,104,70,.31),transparent 46%),
    repeating-linear-gradient(125deg,transparent 0 28px,rgba(241,207,125,.012) 29px 30px),
    linear-gradient(160deg,#070b09,#0a1711 56%,#080b0a);
}
.academy-hub-active .app-shell{position:relative;isolation:isolate;background:linear-gradient(155deg,#0c1c14,#09120e 48%,#080d0a)}
.academy-hub-active .app-shell::before{
  content:"";position:absolute;z-index:0;top:0;left:0;right:0;height:min(88dvh,760px);pointer-events:none;
  background:radial-gradient(ellipse at 48% 9%,rgba(68,134,91,.15),transparent 58%),repeating-linear-gradient(0deg,transparent 0 25px,rgba(234,196,102,.018) 26px 27px);
  animation:academyGlow 9s ease-in-out infinite alternate;
}
@keyframes academyGlow{from{opacity:.6}to{opacity:1}}
.academy-hub-active .screen{position:relative;z-index:1}
.academy-hub-active .topbar{padding-bottom:8px}
.academy-hub-active .brand-small strong{font-size:16px}
.academy-hub-active .brand-small span{letter-spacing:.13em}
.academy-hub-active .icon-btn{width:38px;height:38px;border-radius:12px}
.bottom-nav{
  height:calc(76px + env(safe-area-inset-bottom));
  padding:6px 7px calc(6px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(224,183,93,.42);
  background:linear-gradient(180deg,rgba(17,37,27,.97),rgba(4,10,7,.98));
  box-shadow:0 -11px 34px rgba(0,0,0,.3),inset 0 1px rgba(255,232,173,.06);
}
.bottom-nav .nav-item{position:relative;min-height:55px;gap:3px;color:#bcb9a9;font:800 10px/1.1 var(--sans);letter-spacing:.08em;transition:color .2s,background .2s,transform .2s}
.bottom-nav .nav-icon{width:31px;height:31px;transition:transform .22s ease}
.bottom-nav .nav-icon .academy-icon{width:29px;height:29px}
.bottom-nav .nav-item.active{color:#ffe2a0;background:linear-gradient(180deg,rgba(207,160,63,.17),rgba(207,160,63,.05));box-shadow:inset 0 0 0 1px rgba(242,203,113,.32),0 0 20px rgba(222,183,76,.10)}
.bottom-nav .nav-item.active::before{content:"";position:absolute;top:2px;width:23px;height:2px;border-radius:4px;background:#f7d787;box-shadow:0 0 9px rgba(244,196,92,.6)}
.bottom-nav .nav-item.active .nav-icon{transform:translateY(-2px)}
.bottom-nav .nav-item:focus-visible,.academy-game-switch-item:focus-visible,.academy-lab-tile:focus-visible,.academy-course-tile:focus-visible,.academy-home-launch-item:focus-visible,.academy-next-strip:focus-visible,.academy-detail button:focus-visible{outline:2px solid #ffde91;outline-offset:2px}

.academy-home-launch{position:relative;overflow:hidden;padding:12px;border:1px solid rgba(232,191,99,.5);border-radius:18px;background:radial-gradient(circle at 95% 0%,rgba(208,157,57,.15),transparent 40%),linear-gradient(140deg,#153424,#0b1912);box-shadow:0 10px 26px rgba(0,0,0,.24)}
.academy-home-launch::before{content:"";position:absolute;right:-30px;top:-35px;width:135px;height:135px;border:1px solid rgba(236,200,119,.09);border-radius:50%;pointer-events:none}
.academy-home-launch-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.academy-home-launch-title b{color:#ffe0a0;font:900 13px var(--serif)}
.academy-home-launch-title span{color:#baaf91;font-size:10px}
.academy-home-launch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.academy-home-launch-item{min-width:0;min-height:64px;display:grid;justify-items:center;align-content:center;gap:4px;padding:5px 2px;border:1px solid rgba(243,214,148,.25);border-radius:12px;background:rgba(3,12,8,.55);color:#e4d4aa;transition:transform .18s,border-color .18s,background .18s}
.academy-home-launch-item .academy-icon{width:27px;height:27px}
.academy-home-launch-item span{font:850 9px/1.1 var(--sans);white-space:nowrap;letter-spacing:.015em}
.academy-home-launch-item.roulette{color:#9ad6ff}.academy-home-launch-item.holdem{color:#9ddaba}.academy-home-launch-item.blackjack{color:#f2d393}.academy-home-launch-item.baccarat{color:#e8b2a4}
.academy-home-launch-item:active,.academy-game-switch-item:active,.academy-lab-tile:active,.academy-course-tile:active{transform:scale(.97)}
.academy-home-launch-item:hover{border-color:rgba(249,220,148,.75);background:rgba(255,218,130,.1)}
.home-hero-v1111{min-height:192px;margin-top:10px;border-radius:20px}
.home-hero-v1111::before{background-position:center 37%}
.home-hero-v1111 .home-hero-localized{min-height:69px;padding:7px 9px;gap:4px;border-radius:12px}
.home-hero-v1111 .home-hero-localized-copy{font-size:clamp(12px,3.45vw,15px)}
.home-hero-v1111 .home-hero-localized-sub{font-size:7px}
.home-level-card{margin-top:9px!important}
.home-next-badge-card{margin-top:8px!important}
.academy-hub-active .gold-frame{box-shadow:inset 0 1px rgba(255,236,176,.07),0 10px 26px rgba(0,0,0,.22)}

.academy-directory-active .screen{padding:calc(9px + env(safe-area-inset-top)) 12px calc(88px + env(safe-area-inset-bottom))}
.academy-page-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 1px 9px}
.academy-page-title small{display:block;color:#acbb9d;font:800 9px/1.2 var(--sans);letter-spacing:.17em}
.academy-page-title h1{margin:2px 0 0;color:#f7db9a;font:900 28px/1 var(--serif);letter-spacing:.045em}
.academy-page-mark{width:43px;height:43px;border:1px solid rgba(232,188,92,.48);border-radius:13px;display:grid;place-items:center;color:#f5d487;background:linear-gradient(145deg,rgba(53,79,54,.8),rgba(13,25,17,.9));box-shadow:inset 0 0 12px rgba(238,196,100,.1)}
.academy-page-mark .academy-icon{width:30px;height:30px}
.academy-game-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 9px}
.academy-game-switch-item{min-width:0;min-height:65px;display:grid;grid-template-columns:1fr auto;grid-template-rows:27px 17px;align-items:center;padding:7px 4px;border:1px solid rgba(222,186,107,.25);border-radius:12px;background:linear-gradient(165deg,#15231a,#0a120d);color:#a8a99c;text-align:center;transition:transform .18s,border-color .2s,background .2s}
.academy-game-switch-item .academy-icon{grid-column:1/-1;justify-self:center;width:24px;height:24px}
.academy-game-switch-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:850 8px/1 var(--sans);letter-spacing:0}
.academy-game-switch-item small{font:800 8px/1 var(--sans);color:#a9a088;white-space:nowrap}
.academy-game-switch-item.active{color:#f9dfaa;border-color:#f1c66d;background:linear-gradient(150deg,#365640,#172d20);box-shadow:inset 0 1px rgba(255,231,165,.19),0 0 14px rgba(207,164,77,.13)}
.academy-game-switch-item.roulette.active{color:#c6e9ff;border-color:#77bdf5;background:linear-gradient(150deg,#22436a,#0d2443)}
.academy-game-switch-item.holdem.active{color:#bce8cc;border-color:#7acb9b}
.academy-game-switch-item.baccarat.active{color:#ffddd4;border-color:#d89587;background:linear-gradient(150deg,#4c2a29,#231717)}
.academy-game-switch-item.active small{color:inherit}
.academy-lab-directory,.academy-learn-directory{position:relative;padding:12px 10px 10px;border:1px solid rgba(227,190,109,.47);border-radius:18px;background:radial-gradient(circle at 90% 0%,rgba(223,170,73,.09),transparent 36%),linear-gradient(165deg,#14251b,#09140f);box-shadow:inset 0 1px rgba(245,217,153,.08),0 12px 30px rgba(0,0,0,.2)}
.academy-lab-directory.roulette,.academy-learn-directory.roulette{border-color:rgba(98,172,232,.58);background:radial-gradient(circle at 90% 0%,rgba(93,165,230,.17),transparent 38%),linear-gradient(165deg,#112b40,#091a29)}
.academy-lab-directory.holdem,.academy-learn-directory.holdem{border-color:rgba(105,190,135,.52)}
.academy-lab-directory.baccarat,.academy-learn-directory.baccarat{border-color:rgba(211,143,128,.52);background:radial-gradient(circle at 90% 0%,rgba(201,112,99,.13),transparent 36%),linear-gradient(165deg,#2d1f20,#171312)}
.academy-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;margin:0 2px 10px}
.academy-directory-heading small{color:#b7aa8d;font:800 8px/1.2 var(--sans);letter-spacing:.12em}
.academy-directory-heading h2{margin:2px 0 0;color:#f5dda1;font:900 18px/1.1 var(--serif)}
.academy-lab-directory.roulette .academy-directory-heading h2,.academy-learn-directory.roulette .academy-directory-heading h2{color:#c9eaff}
.academy-directory-progress{text-align:right;white-space:nowrap}
.academy-directory-progress b{display:block;color:#f6d786;font:900 18px/1 var(--serif)}
.academy-directory-progress b span{font-size:12px;color:#b5b3a3}
.academy-directory-progress small{font-size:8px}
.academy-lab-grid,.academy-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.academy-lab-tile,.academy-course-tile{min-width:0;min-height:72px;display:flex;flex-direction:column;align-items:stretch;padding:7px 8px;border:1px solid rgba(216,186,118,.23);border-radius:11px;background:linear-gradient(150deg,rgba(25,41,30,.95),rgba(7,17,12,.95));color:#f0e7d0;text-align:left;animation:academyTileIn .28s ease both;animation-delay:calc(var(--tile-index,0) * 18ms);transition:transform .18s,border-color .18s,background .18s}
.academy-lab-directory.roulette .academy-lab-tile,.academy-learn-directory.roulette .academy-course-tile{background:linear-gradient(150deg,rgba(26,53,80,.95),rgba(9,25,42,.95));border-color:rgba(135,191,238,.22)}
.academy-lab-directory.baccarat .academy-lab-tile,.academy-learn-directory.baccarat .academy-course-tile{background:linear-gradient(150deg,rgba(60,39,39,.92),rgba(24,18,18,.95))}
.academy-lab-tile:hover,.academy-course-tile:hover{border-color:rgba(255,224,155,.77)}
.academy-lab-tile-top,.academy-course-tile>span{display:flex;justify-content:space-between;align-items:center;min-height:18px}
.academy-lab-tile-top b,.academy-course-tile>span b{font:900 18px/1 var(--serif);color:#f0c97b}
.academy-lab-tile-top i{width:6px;height:6px;border-radius:50%;background:#736c5c;box-shadow:0 0 0 2px rgba(255,255,255,.06)}
.academy-lab-tile.started .academy-lab-tile-top i{background:#83cf9d}
.academy-lab-tile.mastered .academy-lab-tile-top i{background:#f5d579;box-shadow:0 0 8px rgba(245,213,121,.6)}
.academy-lab-tile.final{border-color:rgba(235,193,95,.57);background:linear-gradient(145deg,#42351c,#17221a)}
.academy-lab-tile strong,.academy-course-tile strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;margin-top:3px;font:850 10.5px/1.24 var(--sans);overflow-wrap:anywhere}
.academy-lab-tile small{margin-top:auto;color:#aab9a7;font:700 8px/1 var(--sans)}
.academy-lab-tile.mastered small,.academy-course-tile.complete i{color:#ffdf91}
.academy-lab-instruction{margin:9px 2px 0;color:#b4bdad;font-size:10px;line-height:1.3;text-align:center}
.academy-next-strip,.academy-daily-strip{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:8px;padding:7px 10px;border:1px solid rgba(225,191,115,.38);border-radius:12px;background:linear-gradient(145deg,rgba(43,52,32,.94),rgba(13,25,18,.96));color:#f2e0b0;text-align:left}
.academy-next-strip>span:first-child,.academy-daily-strip>span:first-child{color:#f1cd7d}
.academy-next-strip .academy-icon,.academy-daily-strip .academy-icon{width:26px;height:26px}
.academy-next-strip>span:nth-child(2){min-width:0;flex:1}
.academy-next-strip small{display:block;color:#b3aa87;font:750 8px/1.2 var(--sans);letter-spacing:.1em}
.academy-next-strip b{display:block;overflow:hidden;color:#f4dfad;font:850 12px/1.2 var(--sans);text-overflow:ellipsis;white-space:nowrap}
.academy-next-strip em,.academy-daily-strip em{margin-left:auto;color:#f4d78c;font-size:22px;font-style:normal}
.academy-daily-strip{min-height:42px;margin-top:5px;background:rgba(17,32,23,.85)}
.academy-daily-strip b{font:800 11px var(--sans)}
.academy-daily-strip .academy-icon{width:21px;height:21px}
.academy-learn-switch{grid-template-columns:repeat(5,minmax(0,1fr))}
.academy-learn-switch .academy-game-switch-item{min-height:64px;padding-left:2px;padding-right:2px}
.academy-learn-switch .academy-game-switch-item span{font-size:7.3px}
.academy-course-tile{min-height:68px}
.academy-course-tile>span i{color:#a8aa9f;font:900 14px/1 var(--sans);font-style:normal}
.academy-course-tile.complete{border-color:rgba(133,207,151,.52)}
.academy-learn-source{margin-top:9px;padding:11px 12px;display:flex;flex-direction:column;gap:3px}
.academy-learn-source b{color:#f6d586;font:900 12px var(--serif)}
.academy-learn-source span{color:#b7b8a8;font-size:10px;line-height:1.4}
.academy-detail-backdrop{animation:academyFadeIn .16s ease both}
.academy-detail{position:relative;max-height:min(80dvh,620px);padding:22px;border-color:#e3bb68;background:radial-gradient(circle at 90% 0%,rgba(238,189,85,.18),transparent 42%),linear-gradient(150deg,#193322,#0b1510 65%);animation:academySheetIn .24s ease both}
.academy-detail.roulette{border-color:#78bbec;background:radial-gradient(circle at 90% 0%,rgba(97,166,225,.2),transparent 44%),linear-gradient(150deg,#16344b,#091925 70%)}
.academy-detail.baccarat{border-color:#d49383;background:radial-gradient(circle at 90% 0%,rgba(212,145,124,.16),transparent 44%),linear-gradient(150deg,#372524,#171312 70%)}
.academy-detail-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:1px solid rgba(255,221,148,.43);border-radius:11px;background:rgba(0,0,0,.22);color:#ffdf9e;font-size:25px;line-height:1}
.academy-detail-eyebrow{display:flex;align-items:center;gap:8px;margin-right:35px;color:#f4d088;font:900 10px/1.2 var(--sans);letter-spacing:.12em}
.academy-detail-eyebrow .academy-icon{width:26px;height:26px}
.academy-detail h2{margin:13px 30px 8px 0;font-size:24px;line-height:1.2}
.academy-detail p{margin:0;color:#e1ddcc;font-size:13px;line-height:1.6}
.academy-detail-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 8px}
.academy-detail-info>span{min-width:0;padding:11px;border:1px solid rgba(231,197,125,.24);border-radius:10px;background:rgba(3,11,8,.34)}
.academy-detail-info small{display:block;margin-bottom:4px;color:#afa98f;font-size:9px}
.academy-detail-info b{display:block;overflow-wrap:anywhere;color:#f4e0ae;font-size:12px;line-height:1.4}
.academy-detail-status{margin:4px 0 15px;color:#b9c8af;font-size:11px}
.academy-detail-start{width:100%;min-height:50px;font-size:15px}
.academy-detail-review{display:flex;align-items:center;gap:8px;width:100%;min-height:45px;margin-top:8px;padding:8px 12px;border:1px solid rgba(226,193,116,.35);border-radius:11px;background:rgba(8,20,15,.7);color:#f1daab;font-size:11px;text-align:left}
.academy-detail-review .academy-icon{width:22px;height:22px}
.academy-detail-review>span{flex:1}
.my-tab .academy-icon{width:18px;height:18px}
.my-tab span{display:grid;place-items:center}
.modal:not(.academy-detail){border-color:rgba(228,192,111,.57);background:radial-gradient(circle at 90% 0%,rgba(199,160,75,.11),transparent 40%),linear-gradient(155deg,#14241a,#0a110d 70%)}
.modal-backdrop:not(.academy-detail-backdrop) .modal{animation:academySheetIn .22s ease both}
.btn{transition:filter .18s ease,box-shadow .18s ease,transform .18s ease}
.btn:not(:disabled):hover{filter:brightness(1.08)}
.btn:focus-visible{outline:2px solid #ffde91;outline-offset:3px}
.toast{border-color:rgba(239,202,117,.56);background:linear-gradient(145deg,#1e3527,#101a14);box-shadow:0 12px 28px rgba(0,0,0,.38)}
@keyframes academyTileIn{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes academyFadeIn{from{opacity:0}to{opacity:1}}
@keyframes academySheetIn{from{opacity:.65;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:360px){
  .academy-directory-active .screen{padding-left:8px;padding-right:8px}
  .academy-game-switch-item span{font-size:7px}
  .academy-learn-switch .academy-game-switch-item span{font-size:6.5px}
  .academy-lab-tile,.academy-course-tile{padding:6px;min-height:68px}
  .academy-lab-tile strong,.academy-course-tile strong{font-size:9.7px}
  .academy-home-launch-item span{font-size:7.8px}
}
@media(max-height:720px){
  .academy-page-title{margin-bottom:6px}
  .academy-page-title h1{font-size:25px}
  .academy-game-switch{margin-bottom:6px}
  .academy-game-switch-item{min-height:55px;padding-top:4px;padding-bottom:4px}
  .academy-lab-directory,.academy-learn-directory{padding-top:9px;padding-bottom:8px}
  .academy-directory-heading{min-height:36px;margin-bottom:6px}
  .academy-lab-tile,.academy-course-tile{min-height:61px}
  .academy-lab-instruction{margin-top:6px}
}
@media(orientation:portrait) and (max-height:620px){
  .academy-directory-active .screen{padding-top:calc(5px + env(safe-area-inset-top))}
  .academy-directory-active .topbar{padding:0 2px 4px}
  .academy-directory-active .brand-small span{font-size:8px}
  .academy-page-title{margin:0 1px 5px}
  .academy-page-title h1{font-size:22px}
  .academy-page-mark{width:32px;height:32px}
  .academy-page-mark .academy-icon{width:23px;height:23px}
  .academy-game-switch-item{min-height:46px;grid-template-rows:20px 13px;padding:3px 2px}
  .academy-game-switch-item .academy-icon{width:19px;height:19px}
  .academy-directory-heading{min-height:29px;margin-bottom:4px}
  .academy-directory-heading h2{font-size:16px}
  .academy-lab-grid,.academy-course-grid{gap:4px}
  .academy-lab-tile,.academy-course-tile{min-height:54px;padding:5px 6px}
  .academy-lab-tile-top b,.academy-course-tile>span b{font-size:15px}
  .academy-lab-tile strong,.academy-course-tile strong{font-size:9.5px;line-height:1.15}
  .academy-lab-instruction{display:none}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
  body.academy-directory-active{padding:0}
  .academy-directory-active .app-shell{min-height:100dvh;border-radius:0}
  .academy-directory-active .screen{padding:6px 66px 8px 8px}
  .academy-directory-active .topbar{height:28px;padding:0 1px 3px}
  .academy-directory-active .brand-small strong{font-size:12px}
  .academy-directory-active .brand-small span{display:none}
  .academy-directory-active .icon-btn{width:26px;height:26px;font-size:14px}
  .academy-directory-active .bottom-nav{left:auto;right:max(0px,calc((100vw - 460px)/2));top:0;bottom:0;transform:none;width:57px;height:100dvh;padding:5px 3px;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);border-top:0;border-left:1px solid rgba(224,183,93,.42);border-radius:0}
  .academy-directory-active .bottom-nav .nav-item{min-height:0;font-size:8px}
  .academy-directory-active .bottom-nav .nav-icon,.academy-directory-active .bottom-nav .nav-icon .academy-icon{width:22px;height:22px}
  .academy-page-title{margin:0 0 5px}
  .academy-page-title h1{font-size:19px}
  .academy-page-title small{font-size:7px}
  .academy-page-mark{display:none}
  .academy-game-switch-item{min-height:37px;display:flex;justify-content:center;gap:4px;padding:3px 2px}
  .academy-game-switch-item .academy-icon{width:17px;height:17px}
  .academy-game-switch-item span{font-size:7px}
  .academy-game-switch-item small{font-size:7px}
  .academy-lab-directory,.academy-learn-directory{padding:7px}
  .academy-directory-heading{min-height:25px;margin-bottom:4px}
  .academy-directory-heading h2{font-size:14px}
  .academy-directory-progress b{font-size:14px}
  .academy-lab-grid,.academy-course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .academy-lab-tile,.academy-course-tile{min-height:51px;padding:4px 5px}
  .academy-lab-tile-top b,.academy-course-tile>span b{font-size:14px}
  .academy-lab-tile strong,.academy-course-tile strong{font-size:8px;line-height:1.15}
  .academy-lab-tile small{font-size:7px}
  .academy-lab-instruction{display:none}
  .academy-next-strip{min-height:35px;margin-top:5px;padding:3px 8px}
  .academy-daily-strip{min-height:32px;margin-top:3px;padding:3px 8px}
}
@media(prefers-reduced-motion:reduce){
  .academy-hub-active .app-shell::before,.academy-lab-tile,.academy-course-tile,.academy-detail,.academy-detail-backdrop{animation:none!important}
  .modal-backdrop .modal{animation:none!important}
  .academy-home-launch-item,.academy-game-switch-item,.academy-lab-tile,.academy-course-tile,.bottom-nav .nav-item,.bottom-nav .nav-icon,.btn{transition:none!important}
}

/* v4.11.1 — Colorful casino stage. Scoped to the academy hub screens. */
body.academy-hub-active{
  background:radial-gradient(ellipse at 50% -12%,#523076 0%,#241537 38%,#090b19 76%);
}
.academy-hub-active .app-shell{
  background:radial-gradient(circle at 15% 2%,rgba(229,61,177,.14),transparent 38%),
    radial-gradient(circle at 95% 33%,rgba(58,173,239,.12),transparent 39%),
    linear-gradient(155deg,#1b1231,#10152c 46%,#0b1023);
}
.academy-hub-active .app-shell::before{
  height:100%;opacity:1;animation:academyAurora 9s ease-in-out infinite alternate;
  background:radial-gradient(circle at 3% 6%,rgba(255,83,177,.17),transparent 29%),
    radial-gradient(circle at 100% 22%,rgba(34,202,238,.16),transparent 30%),
    radial-gradient(circle at 60% 65%,rgba(135,77,224,.11),transparent 43%);
}
.academy-hub-active .brand-small strong{color:#fff2cf;text-shadow:0 0 14px rgba(255,156,211,.38)}
.academy-hub-active .brand-small span{color:#e5b7f9}
.academy-hub-active .icon-btn{border-color:rgba(222,148,255,.55);background:rgba(26,15,48,.86);color:#fff0b8;box-shadow:0 0 15px rgba(187,69,235,.13)}
.academy-hub-active .gold-frame{border-color:rgba(240,179,241,.5);box-shadow:inset 0 1px rgba(255,255,255,.13),0 13px 28px rgba(2,3,25,.29)}

.home-hero-v1111.academy-showcase{
  min-height:236px;margin:0;border:1px solid rgba(255,215,154,.72);border-radius:23px;
  box-shadow:0 0 0 3px rgba(167,67,215,.11),0 20px 36px rgba(6,2,25,.4),0 0 38px rgba(209,75,214,.19);
}
.home-hero-v1111.academy-showcase::before{
  background:url("./assets/home-hero-neon-v4111.webp") center 41%/cover no-repeat;
  filter:saturate(1.1) brightness(.91);
  transform:scale(1.03);animation:academyStageDrift 13s ease-in-out infinite alternate;
}
.home-hero-v1111.academy-showcase::after{
  background:radial-gradient(ellipse at 50% 54%,rgba(7,5,27,.3),rgba(7,5,27,.02) 46%,transparent 72%),
    linear-gradient(180deg,rgba(14,3,31,.56),transparent 31%,rgba(15,6,30,.12) 65%,rgba(8,5,25,.92));
}
.academy-showcase-kicker,.academy-showcase-foot{position:absolute;z-index:4;left:13px;right:13px;display:flex;align-items:center;justify-content:center;color:#fff1d6;text-align:center;text-shadow:0 2px 10px #1b0827}
.academy-showcase-kicker{top:11px;gap:8px;font:900 10px/1.2 var(--sans);letter-spacing:.16em}
.academy-showcase-kicker span{color:#ff9fe8;font-size:15px;filter:drop-shadow(0 0 7px #ff73cd)}
.academy-showcase-foot{bottom:12px;justify-content:space-between;color:#ffe1a6;font:850 8px/1 var(--sans);letter-spacing:.08em}
.academy-showcase-foot b{color:#ff87df}
.home-hero-v1111.academy-showcase .home-hero-localized{
  top:52%;width:min(61%,285px);min-height:0;padding:0;border:0;border-radius:0;
  background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;
}
.home-hero-v1111.academy-showcase .home-hero-localized::before,
.home-hero-v1111.academy-showcase .home-hero-localized::after{display:none}
.home-hero-v1111.academy-showcase .home-hero-localized-copy{
  color:#fff6f8;font:900 clamp(19px,5.5vw,27px)/1.22 var(--serif);letter-spacing:.035em;
  text-shadow:0 3px 2px #170c2a,0 0 20px #170827,0 0 36px rgba(240,120,235,.65);
}
.home-hero-v1111.academy-showcase .home-hero-localized-sub{
  margin-top:5px;color:#ffe3a7;font:900 9px/1.3 var(--sans);letter-spacing:.1em;text-shadow:0 2px 9px #150522;
}
.home-hero-v1111.academy-showcase .home-hero-localized-sub span{color:#ff8de2;margin:0 3px}
.academy-showcase-sparks{position:absolute;z-index:3;inset:0;pointer-events:none}
.academy-showcase-sparks i{position:absolute;width:5px;height:5px;transform:rotate(45deg);background:#fff6d5;box-shadow:0 0 9px 3px #ffabdd;animation:academySpark 3.7s ease-in-out infinite}
.academy-showcase-sparks i:nth-child(1){left:8%;top:31%;animation-delay:.3s}
.academy-showcase-sparks i:nth-child(2){left:34%;top:15%;width:3px;height:3px;animation-delay:1.1s}
.academy-showcase-sparks i:nth-child(3){right:17%;top:47%;animation-delay:2.5s}
.academy-showcase-sparks i:nth-child(4){right:38%;bottom:20%;width:3px;height:3px;animation-delay:1.8s}
.academy-showcase-sparks i:nth-child(5){left:22%;bottom:16%;animation-delay:3.2s}

.academy-home-launch{
  z-index:2;margin:-9px 2px 0;padding:15px 10px 11px;border:1px solid rgba(229,151,246,.58);
  border-radius:20px;background:radial-gradient(circle at 50% 0%,rgba(236,82,193,.28),transparent 60%),linear-gradient(150deg,#27173e,#11172d 72%);
  box-shadow:0 15px 27px rgba(5,3,28,.38),inset 0 1px rgba(255,255,255,.13);
}
.academy-home-launch::before{right:-35px;top:-52px;width:150px;height:150px;border-color:rgba(247,161,243,.14)}
.academy-home-launch-title{margin:0 5px 10px;align-items:center}
.academy-home-launch-title b{color:#ffe7ac;font:900 14px var(--serif);text-shadow:0 0 13px rgba(253,203,102,.25)}
.academy-home-launch-title span{color:#efb8ea;font:800 9px var(--sans);letter-spacing:.07em}
.academy-home-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.academy-home-launch-item{
  --launch-a:#5b4dcb;--launch-b:#20385e;--launch-c:#a5e7ff;
  position:relative;isolation:isolate;min-height:81px;display:flex;align-items:center;justify-content:flex-start;gap:9px;
  padding:10px 8px 10px 10px;border:1px solid color-mix(in srgb,var(--launch-c) 68%,transparent);
  border-radius:15px;background:radial-gradient(circle at 5% 0%,color-mix(in srgb,var(--launch-c) 26%,transparent),transparent 60%),linear-gradient(120deg,var(--launch-a),var(--launch-b));
  color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.22),0 7px 17px rgba(2,3,25,.31);
  text-align:left;overflow:hidden;transition:transform .24s ease,filter .24s ease,box-shadow .24s ease;
}
.academy-home-launch-item::after{content:"";position:absolute;z-index:-1;top:-75%;left:-70%;width:50%;height:245%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.19),transparent);transition:left .45s ease}
.academy-home-launch-item:hover::after,.academy-home-launch-item:focus-visible::after{left:125%}
.academy-home-launch-item.roulette{--launch-a:#066eab;--launch-b:#163783;--launch-c:#75e9ff;color:#fff}
.academy-home-launch-item.holdem{--launch-a:#06795f;--launch-b:#134b66;--launch-c:#72ffc9;color:#fff}
.academy-home-launch-item.blackjack{--launch-a:#a85d13;--launch-b:#703058;--launch-c:#ffe178;color:#fff}
.academy-home-launch-item.baccarat{--launch-a:#a83877;--launch-b:#653570;--launch-c:#ffb4db;color:#fff}
.academy-home-launch-item:hover{filter:brightness(1.14);box-shadow:0 0 25px color-mix(in srgb,var(--launch-c) 34%,transparent),inset 0 1px rgba(255,255,255,.3)}
.academy-home-launch-item:active{transform:scale(.965)}
.academy-launch-glyph{flex:none;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:16px;background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.25),rgba(5,7,27,.17) 70%);box-shadow:inset 0 0 15px rgba(255,255,255,.15),0 4px 13px rgba(0,0,0,.15)}
.academy-launch-glyph .academy-icon{width:37px;height:37px;filter:drop-shadow(0 0 5px var(--launch-c));stroke-width:1.9}
.academy-home-launch-item .academy-launch-glyph{animation:academyLaunchBreath 4s ease-in-out infinite}
.academy-home-launch-item:nth-child(2) .academy-launch-glyph{animation-delay:1s}
.academy-home-launch-item:nth-child(3) .academy-launch-glyph{animation-delay:2s}
.academy-home-launch-item:nth-child(4) .academy-launch-glyph{animation-delay:3s}
.academy-launch-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.academy-launch-copy b{overflow:hidden;font:950 12px/1.1 var(--sans);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.academy-launch-copy small{color:#ffebbf;font:850 9px/1 var(--sans);letter-spacing:.08em}
.academy-launch-arrow{margin-left:auto;align-self:flex-start;color:#fff7dc;font:900 18px/1 var(--sans);opacity:.9}
.home-daily-card{
  margin-top:11px!important;border-color:rgba(252,182,121,.73)!important;border-radius:19px;
  background:radial-gradient(circle at 89% 15%,rgba(255,213,132,.32),transparent 28%),linear-gradient(135deg,#7e265c,#8c3254 51%,#6e314c);
  box-shadow:0 12px 30px rgba(112,27,94,.29),inset 0 1px rgba(255,255,255,.2)!important;
}
.home-daily-card::before{content:"✦";right:6px;top:-30px;color:rgba(255,230,158,.18);font-size:124px}
.home-daily-card .big-title{color:#fff0b7;text-shadow:0 2px 8px #671f59}
.home-daily-card .subtle{color:#ffe0e5}
.home-daily-card .btn-primary{color:#342144;border-color:#fff2c1;background:linear-gradient(120deg,#fff2bf,#ffba86);box-shadow:0 6px 0 #6d315b,0 10px 22px rgba(30,6,55,.3)}
.dealer-rank-card{border-color:rgba(122,214,250,.6)!important;background:radial-gradient(circle at 95% 18%,rgba(93,189,247,.3),transparent 38%),linear-gradient(120deg,#223963,#223056 65%,#1a284b)!important}
.dealer-rank-card .home-level-copy b{color:#ffe49e}
.home-next-badge-card{border-color:rgba(252,180,231,.52)!important;background:linear-gradient(120deg,#3b264f,#1c274b)!important}
.home-overall-progress{background:linear-gradient(120deg,#222b55,#18233e)!important}
.home-next-card.continue{background:linear-gradient(145deg,#294377,#172e4e)!important}
.home-next-card.recommended{background:linear-gradient(145deg,#345b50,#1b3442)!important}

.bottom-nav{
  border-top:1px solid rgba(240,147,242,.6);background:linear-gradient(180deg,rgba(26,19,53,.97),rgba(11,12,33,.99));
  box-shadow:0 -11px 35px rgba(3,5,26,.48),inset 0 1px rgba(255,255,255,.11);
}
.bottom-nav .nav-item{--nav-glow:#ffb7dd;color:#c6c6dc}
.bottom-nav .nav-item[data-route="home"]{--nav-glow:#ffb7dd}
.bottom-nav .nav-item[data-route="learn"]{--nav-glow:#87e9c6}
.bottom-nav .nav-item[data-route="lab"]{--nav-glow:#8fddff}
.bottom-nav .nav-item[data-route="my"]{--nav-glow:#ffd47d}
.bottom-nav .nav-item.active{
  color:var(--nav-glow);border-radius:14px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--nav-glow) 24%,transparent),transparent 64%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-glow) 65%,transparent),0 0 20px color-mix(in srgb,var(--nav-glow) 19%,transparent);
}
.bottom-nav .nav-item.active::before{background:var(--nav-glow);box-shadow:0 0 11px var(--nav-glow)}
.bottom-nav .nav-item.active .nav-icon{animation:academyNavPop .48s cubic-bezier(.2,1.6,.3,1) both}
.bottom-nav .nav-item.active .academy-icon{filter:drop-shadow(0 0 7px var(--nav-glow))}

.academy-page-title h1{color:#fff0bc;text-shadow:0 0 22px rgba(234,137,235,.42)}
.academy-page-title small{color:#d7a8e7}
.academy-page-mark{border-color:#d88df2;background:linear-gradient(145deg,#63386c,#292659);color:#fff3c7;box-shadow:0 0 20px rgba(204,101,244,.22)}
.academy-game-switch-item{
  --game-light:#dfbdf2;--game-dark:#51336a;--game-deep:#24254f;
  border-color:color-mix(in srgb,var(--game-light) 60%,transparent);
  background:linear-gradient(145deg,var(--game-dark),var(--game-deep));color:#fff0f8;
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 11px rgba(3,5,30,.18);
}
.academy-game-switch-item.roulette{--game-light:#7ce8ff;--game-dark:#12679b;--game-deep:#253874}
.academy-game-switch-item.holdem{--game-light:#88ffcb;--game-dark:#14795e;--game-deep:#225267}
.academy-game-switch-item.blackjack{--game-light:#ffdb83;--game-dark:#956026;--game-deep:#6d3766}
.academy-game-switch-item.baccarat{--game-light:#ffb5de;--game-dark:#a1417b;--game-deep:#603979}
.academy-game-switch-item.common{--game-light:#d9c5ff;--game-dark:#6b4baa;--game-deep:#3e3879}
.academy-game-switch-item .academy-icon{filter:drop-shadow(0 0 3px var(--game-light))}
.academy-game-switch-item small{color:#efe7ff}
.academy-game-switch-item.active,.academy-game-switch-item.roulette.active,.academy-game-switch-item.holdem.active,.academy-game-switch-item.blackjack.active,.academy-game-switch-item.baccarat.active,.academy-game-switch-item.common.active{
  transform:translateY(-3px);color:#fff;border-color:var(--game-light);
  background:radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--game-light) 40%,transparent),transparent 70%),linear-gradient(145deg,var(--game-dark),var(--game-deep));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--game-light) 28%,transparent),0 8px 23px color-mix(in srgb,var(--game-light) 25%,transparent),inset 0 1px rgba(255,255,255,.28);
}
.academy-game-switch-item.active .academy-icon{animation:academySelectedIcon .65s cubic-bezier(.2,1.5,.4,1) both}
.academy-lab-directory,.academy-learn-directory,
.academy-lab-directory.roulette,.academy-learn-directory.roulette,
.academy-lab-directory.baccarat,.academy-learn-directory.baccarat{
  --directory-light:#f2c982;--directory-dark:#302453;
  border-color:color-mix(in srgb,var(--directory-light) 70%,transparent);
  background:radial-gradient(circle at 93% 1%,color-mix(in srgb,var(--directory-light) 24%,transparent),transparent 42%),linear-gradient(150deg,var(--directory-dark),#141c3d 76%);
  box-shadow:0 15px 30px rgba(3,4,28,.28),inset 0 1px rgba(255,255,255,.13);
}
.academy-lab-directory.roulette,.academy-learn-directory.roulette{--directory-light:#72e4ff;--directory-dark:#17365f}
.academy-lab-directory.holdem,.academy-learn-directory.holdem{--directory-light:#83ffd0;--directory-dark:#20544f}
.academy-lab-directory.blackjack,.academy-learn-directory.blackjack{--directory-light:#ffe298;--directory-dark:#5a355b}
.academy-lab-directory.baccarat,.academy-learn-directory.baccarat{--directory-light:#ffb4dc;--directory-dark:#65315c}
.academy-lab-directory.common,.academy-learn-directory.common{--directory-light:#d6c2ff;--directory-dark:#443468}
.academy-directory-heading h2,.academy-lab-directory.roulette .academy-directory-heading h2,.academy-learn-directory.roulette .academy-directory-heading h2{color:#fff3cd;text-shadow:0 0 14px var(--directory-light)}
.academy-directory-progress b{color:var(--directory-light)}
.academy-lab-tile,.academy-course-tile,
.academy-lab-directory.roulette .academy-lab-tile,.academy-learn-directory.roulette .academy-course-tile,
.academy-lab-directory.baccarat .academy-lab-tile,.academy-learn-directory.baccarat .academy-course-tile{
  --tile-tint:#8b70d4;border-color:color-mix(in srgb,var(--directory-light) 44%,transparent);
  background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--tile-tint) 45%,transparent),transparent 57%),linear-gradient(150deg,color-mix(in srgb,var(--directory-dark) 88%,#121631),#131d3c);
  box-shadow:inset 0 1px rgba(255,255,255,.1),0 5px 12px rgba(3,4,26,.21);
  animation:academyTileIn .42s cubic-bezier(.18,.8,.24,1) both;
}
.academy-lab-tile:nth-child(4n+2),.academy-course-tile:nth-child(4n+2){--tile-tint:#e271be}
.academy-lab-tile:nth-child(4n+3),.academy-course-tile:nth-child(4n+3){--tile-tint:#44afd2}
.academy-lab-tile:nth-child(4n+4),.academy-course-tile:nth-child(4n+4){--tile-tint:#dda868}
.academy-lab-tile:hover,.academy-course-tile:hover{transform:translateY(-3px);border-color:var(--directory-light);filter:brightness(1.12)}
.academy-lab-tile-top b,.academy-course-tile>span b{color:var(--directory-light);text-shadow:0 0 9px color-mix(in srgb,var(--directory-light) 60%,transparent)}
.academy-lab-tile strong,.academy-course-tile strong{color:#fff6f5}
.academy-lab-tile.final{border-color:#ffd68b!important;background:radial-gradient(circle at 100% 0%,rgba(253,194,103,.35),transparent 67%),linear-gradient(145deg,#79504f,#453054)!important;box-shadow:0 0 17px rgba(250,191,111,.18)}
.academy-next-strip{background:linear-gradient(115deg,#683866,#253b67);border-color:rgba(239,179,245,.65)}
.academy-daily-strip{background:linear-gradient(115deg,#694260,#3c3765);border-color:rgba(252,206,158,.5)}
.academy-learn-source{background:linear-gradient(115deg,#302454,#1e294c)!important}
.academy-detail,.academy-detail.roulette,.academy-detail.baccarat{
  border-color:#dfa5f6;background:radial-gradient(circle at 100% 0%,rgba(232,100,199,.3),transparent 40%),linear-gradient(150deg,#33224f,#142b51 76%);
  box-shadow:0 20px 60px rgba(4,3,26,.55),0 0 28px rgba(224,137,246,.15);
}
.academy-detail.roulette{border-color:#7ee3ff}
.academy-detail.baccarat{border-color:#ffb2da}
.academy-detail-info>span{background:rgba(12,15,48,.48);border-color:rgba(220,182,252,.3)}
.academy-detail-review{background:#243757;border-color:#94b9ec}
.academy-detail-start{background:linear-gradient(110deg,#ffeab1,#ffabce);border-color:#ffe2ab;color:#28193b;box-shadow:0 7px 20px rgba(250,130,206,.22)}
.my-v1114-head{border-radius:18px;padding:17px 15px;background:radial-gradient(circle at 92% 20%,rgba(238,144,239,.39),transparent 38%),linear-gradient(110deg,#4d275b,#202e60);border:1px solid rgba(245,171,246,.51)}
.my-v1114-head h1{color:#fff0b5;text-shadow:0 0 18px rgba(255,165,234,.5)}
.my-tab-content.overview .gold-frame{border-color:rgba(220,176,245,.49)}
.my-v1114-head .kicker{color:#ffd3ee}
.my-v1114-head p{color:#f1d9f0}
.my-head-level{border-color:#e3a7e7;background:linear-gradient(150deg,#7c477d,#4e366e)}
.my-head-level small{color:#ffe2b9}.my-head-level strong{color:#fff4cd}
.my-tabbar{border-color:rgba(212,159,241,.62);background:rgba(32,25,61,.96)}
.my-tab{color:#d2c5df}.my-tab.active{background:linear-gradient(120deg,#ffeac1,#ffc59a);box-shadow:0 4px 15px rgba(255,185,166,.24)}
.my-level-hero{border-color:rgba(192,165,255,.7)!important;background:radial-gradient(circle at 92% 0%,rgba(193,132,254,.34),transparent 36%),linear-gradient(130deg,#4b3879,#273565 82%)}
.my-level-mark{border-color:#e1b4f7;background:radial-gradient(circle,#8266a5,#373258 72%);box-shadow:0 0 19px rgba(210,160,252,.24),inset 0 0 0 4px rgba(255,255,255,.09)}
.my-level-mark span{color:#ffdab4}.my-level-mark strong{color:#fff3c3}
.my-level-main h2{color:#fff4ce}.my-level-main p{color:#d8cce8}
.my-xp-track i,.my-collection-track i,.my-game-progress-track i{background:linear-gradient(90deg,#70d6ed,#ffbddc)}
.my-character-card,.my-character-card.kasinon{border-color:rgba(122,214,250,.6)!important;background:radial-gradient(circle at 13% 10%,rgba(105,209,251,.25),transparent 35%),linear-gradient(140deg,#294477,#26325c 72%)}
.my-character-copy .kicker{color:#bceaff}.my-character-copy h3{color:#fff0c7}.my-character-copy p{color:#d8e9f4}
.my-character-equipped span,.my-character-equipped b,.my-character-level span,.my-character-level b{border-color:rgba(170,221,255,.35);color:#e9e5f5;background:rgba(13,29,66,.4)}
.my-character-card>em{color:#ffe7af}
.dealer-rank-path{border-color:rgba(214,165,246,.58)!important;background:linear-gradient(120deg,#493363,#28365d)!important}
.my-overview-kpis>div{border-color:rgba(203,170,249,.45);background:linear-gradient(150deg,#413665,#2b3159)}
.my-overview-kpis small{color:#e0d1ea}.my-overview-kpis strong{color:#fff0c5}
.my-section-heading>div span{color:#ffe1aa}.my-section-heading>div small{color:#bea8d5}
.my-game-card.holdem{border-color:rgba(107,245,197,.65);background:linear-gradient(120deg,#176c5e,#1a4458 75%)}
.my-game-card.blackjack{border-color:rgba(255,215,142,.65);background:linear-gradient(120deg,#79523c,#513861 75%)}
.my-game-card.baccarat{border-color:rgba(255,168,220,.65);background:linear-gradient(120deg,#8e3f75,#513b77 75%)}
.my-game-card.roulette{border-color:rgba(118,221,252,.65);background:linear-gradient(120deg,#1b7093,#283f75 75%)}
.my-game-title small,.my-game-card em{color:#e5dfed}.my-game-title h3{color:#fff1ce}
.my-game-kpis>div{background:rgba(17,20,55,.25);border-color:rgba(255,255,255,.16)}
.my-game-kpis strong{color:#fff3d5}.my-game-kpis small{color:#e2d5e6}

@keyframes academyAurora{from{opacity:.55;transform:translateY(-10px)}to{opacity:1;transform:translateY(10px)}}
@keyframes academyStageDrift{from{transform:scale(1.03) translateX(-.5%)}to{transform:scale(1.09) translateX(.5%)}}
@keyframes academySpark{0%,100%{opacity:.2;transform:scale(.6) rotate(45deg)}45%{opacity:1;transform:scale(1.55) rotate(45deg)}}
@keyframes academyLaunchBreath{0%,100%{box-shadow:inset 0 0 15px rgba(255,255,255,.15),0 4px 13px rgba(0,0,0,.15)}50%{box-shadow:inset 0 0 17px rgba(255,255,255,.3),0 0 15px color-mix(in srgb,var(--launch-c) 45%,transparent)}}
@keyframes academyNavPop{0%{transform:translateY(4px) scale(.72)}60%{transform:translateY(-4px) scale(1.14)}100%{transform:translateY(-2px) scale(1)}}
@keyframes academySelectedIcon{0%{transform:translateY(5px) scale(.75)}70%{transform:translateY(-3px) scale(1.13)}100%{transform:none}}
@media(max-width:360px){
  .home-hero-v1111.academy-showcase{min-height:211px}
  .home-hero-v1111.academy-showcase .home-hero-localized-copy{font-size:18px}
  .academy-home-launch-item{gap:5px;padding:7px;min-height:72px}
  .academy-launch-glyph{width:41px;height:41px;border-radius:12px}
  .academy-launch-glyph .academy-icon{width:29px;height:29px}
  .academy-launch-copy b{font-size:10px}
  .academy-launch-copy small{font-size:8px}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
  .academy-directory-active .bottom-nav{background:linear-gradient(180deg,#211740,#10112e);border-left-color:#c58be7}
}
@media(prefers-reduced-motion:reduce){
  .academy-hub-active .app-shell::before,.home-hero-v1111.academy-showcase::before,
  .academy-showcase-sparks i,.bottom-nav .nav-item.active .nav-icon,.academy-game-switch-item.active .academy-icon,
  .academy-home-launch-item .academy-launch-glyph,.academy-lab-tile,.academy-course-tile{animation:none!important}
  .academy-home-launch-item,.academy-game-switch-item,.academy-lab-tile,.academy-course-tile{transition:none!important}
}

/* v4.13.1 — eight distinct progressive rank emblems; four columns × two rows */
.dealer-rank-ladder{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.dealer-rank-step{padding:7px 2px 6px;min-height:73px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.dealer-rank-step span{width:32px;height:34px;display:flex;align-items:center;justify-content:center;flex:none}
.dealer-rank-art{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.dealer-rank-step b{font-size:8px;line-height:1.13;margin-top:4px;max-width:100%;color:#d6cba9}
.dealer-rank-step small{font-size:7px;line-height:1.15;margin-top:3px;color:#a8a18d}
.dealer-rank-step.current{background:radial-gradient(circle at 50% 5%,rgba(242,202,108,.13),transparent 75%),rgba(213,168,75,.07);box-shadow:inset 0 0 0 1px rgba(213,168,75,.13),0 0 11px rgba(211,176,91,.08)}
.my-level-crown{width:41px;height:41px;right:12px;top:11px;opacity:.64}
.my-level-crown .dealer-rank-art{width:41px;height:41px}
.level-up-crown .dealer-rank-art{height:58%;width:58%;margin:auto}
.exam-progression-rank-icon .dealer-rank-art{height:60px;width:60px;margin:0 auto}
@media(max-width:380px){.dealer-rank-ladder{gap:3px}.dealer-rank-step{min-height:66px;padding:5px 1px}.dealer-rank-step span{width:29px;height:29px}.dealer-rank-step b{font-size:7px}.dealer-rank-step small{font-size:6px}}

/* v4.13.2 — ensure the real rank emblem appears in the HOME rank card. */
.dealer-rank-card .rank-badge.dealer-rank-emblem{display:grid;place-items:center;overflow:hidden}
.dealer-rank-card .rank-badge.dealer-rank-emblem>.dealer-rank-art{width:44px;height:44px;max-width:90%;max-height:90%;object-fit:contain;flex:none}
