*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:#06200f;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#fff;overflow:hidden;user-select:none}
#app{display:flex;flex-direction:column;height:100dvh;max-width:560px;margin:auto;background:radial-gradient(ellipse at 50% 35%,#1b7a45 0%,#0e5430 55%,#083a20 100%);box-shadow:0 0 60px #000}
header{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;background:#0006;border-bottom:2px solid #c9a227}
.brand{font-weight:900;letter-spacing:3px;color:#f3d35b;flex:1}.brand span{color:#fff;margin-left:4px}
.bank{background:#000a;padding:6px 12px;border-radius:20px;border:1px solid #c9a227;font-size:15px}
.icon{background:none;border:none;font-size:22px;padding:4px;color:#fff}
main{flex:1;position:relative;display:flex;flex-direction:column;justify-content:space-around;padding:8px}
.rules{position:absolute;top:44%;left:0;right:0;text-align:center;font-size:9px;letter-spacing:1px;color:#ffffff40;pointer-events:none}
.shoe{position:absolute;right:10px;top:8px;font-size:34px;color:#b22;text-align:center;line-height:1}.shoe small{display:block;font-size:10px;color:#fff9}
.zone{min-height:150px}.label{text-align:center;font-size:13px;color:#fffc;margin-bottom:6px}
.tot{display:inline-block;background:#000a;border-radius:10px;padding:1px 8px;margin-left:4px;font-weight:700}
.hand{display:flex;justify-content:center;min-height:112px;position:relative}
.hands{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.phand{display:flex;flex-direction:column;align-items:center;padding:4px;border-radius:12px;border:2px solid transparent;transition:.2s}
.phand.active{border-color:#f3d35b;box-shadow:0 0 16px #f3d35b80}.phand .hand{min-height:112px}
.phand .info{font-size:13px;margin-top:4px}.res{font-weight:800;margin-left:4px}.win{color:#7fff9f}.lose{color:#ff8a8a}.push{color:#ddd}
.card{width:72px;height:104px;border-radius:8px;background:#fff;color:#111;position:relative;margin-left:-38px;box-shadow:0 3px 8px #0008;
 animation:deal .45s cubic-bezier(.2,.8,.3,1.1) both;perspective:600px}
.hand .card:first-child{margin-left:0}
.card.red{color:#c8102e}.card .tl{position:absolute;top:4px;left:6px;font-weight:800;font-size:18px;line-height:1;text-align:center}
.card .ct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:38px}
.card .br{position:absolute;bottom:4px;right:6px;transform:rotate(180deg);font-weight:800;font-size:18px;line-height:1;text-align:center}
.card.back{background:repeating-linear-gradient(45deg,#a01825 0 6px,#7d0f1b 6px 12px);border:4px solid #fff}
.card.back>*{display:none}.card.flip{animation:flip .4s ease both}
@keyframes deal{from{transform:translate(160px,-260px) rotate(25deg);opacity:0}to{transform:none;opacity:1}}
@keyframes flip{0%{transform:rotateY(90deg)}100%{transform:rotateY(0)}}
.msg{text-align:center;font-size:20px;font-weight:800;min-height:28px;text-shadow:0 2px 6px #000;transition:transform .2s}.msg.pop{animation:pop .5s}
@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
footer{padding:10px 10px calc(env(safe-area-inset-bottom) + 12px);background:#0007;border-top:2px solid #c9a227}
.betline{text-align:center;margin-bottom:8px;font-size:16px}
button{font:inherit;cursor:pointer;touch-action:manipulation}
.small{background:#ffffff22;color:#fff;border:1px solid #fff5;border-radius:14px;padding:4px 12px;margin-left:6px;font-size:13px}.danger{background:#a0182588}
.chips{display:flex;justify-content:center;gap:12px;margin-bottom:10px}
.chip{width:62px;height:62px;border-radius:50%;border:5px dashed #fff;color:#fff;font-weight:900;font-size:16px;box-shadow:0 4px 0 #0007,inset 0 0 0 4px #0003;transition:transform .1s}
.chip:active{transform:translateY(3px) scale(.95)}.c5{background:#c8102e}.c25{background:#13804a}.c100{background:#222}.c500{background:#6a2bb5}
.chip:disabled{opacity:.35}
.big,#actBar button,#insBar button{width:100%;padding:16px;border:none;border-radius:14px;font-size:19px;font-weight:800;background:linear-gradient(#f7d965,#c9a227);color:#3a2a00;box-shadow:0 4px 0 #7a5f0c}
.big:disabled,#actBar button:disabled{opacity:.35}
#actBar,#insBar{display:flex;gap:8px;align-items:center}#actBar button{padding:16px 4px;font-size:17px}#actBar .ghost{flex:0 0 54px;background:#ffffff22;color:#fff;box-shadow:none}
#insBar span{flex:1.3;font-weight:700;text-align:center}
.hidden{display:none!important}
.hint{position:absolute;left:50%;transform:translateX(-50%);top:38%;white-space:nowrap;background:#000d;border:1px solid #f3d35b;padding:8px 16px;border-radius:20px;font-weight:700;color:#f3d35b;z-index:5}
.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:9}
.card-panel{background:#0e5430;border:2px solid #c9a227;border-radius:16px;padding:20px;width:86%;max-width:360px}
.card-panel h2{margin:0 0 10px;color:#f3d35b}.card-panel .row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #fff2}
@media (max-height:680px){.card{width:60px;height:88px;margin-left:-32px}.zone{min-height:120px}.hand,.phand .hand{min-height:92px}.chip{width:54px;height:54px}}

.cpanel{position:absolute;left:8px;top:8px;background:#000a;border:1px solid #c9a227;border-radius:10px;padding:6px 10px;font-size:12px;line-height:1.5;z-index:4}
.cpanel b{color:#f3d35b}.note{font-size:12px;color:#fffb}.row select,.row input[type=checkbox]{transform:scale(1.3)}
#quizIn{width:100%;font-size:28px;text-align:center;padding:8px;border-radius:10px;border:2px solid #c9a227;margin:6px 0}
.qbtns{display:flex;gap:8px;justify-content:center;margin-bottom:8px}.fb{min-height:40px;font-weight:700;text-align:center}
