:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1615;--panel:#172322;--line:#2b413d;--text:#eef5f1;--muted:#a8bdb5;--green:#aee9bd;--player:#7cc4ff;--banker:#ffb36b;--tie:#aee9bd;--gap:12px;font-family:Geist,Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0}[hidden]{display:none!important}h1{letter-spacing:-.02em;margin:0;font-size:1.15rem}h2{margin:0;font-size:.9rem}h3{margin:0;font-size:.85rem}p{margin:6px 0}.hint,.odds-label span{color:var(--muted);font-size:.78rem}.positive,.status{color:var(--green);font-size:.85rem}.alert{color:#ffd3c8;background:#412825;border-radius:8px;padding:8px 10px;font-size:.85rem}.odds-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;min-width:0;padding:12px}button,.button{font:inherit;border:1px solid var(--line);min-height:30px;color:var(--text);cursor:pointer;background:#223531;border-radius:7px;padding:5px 9px;font-size:.75rem;font-weight:600;line-height:1.2}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true],.primary{background:var(--green);color:#11231a;border-color:var(--green)}button:focus-visible,.button:focus-within{outline-offset:2px;outline:2px solid #e4d59a}.actions,.chips{flex-wrap:wrap;gap:6px;display:flex}.panel .actions{margin-top:8px}.upload{place-items:center;display:inline-grid;position:relative;overflow:hidden}.upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.start{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:100%;padding:16px;display:grid}.start h1{font-size:1.8rem}.layout{gap:var(--gap);height:100vh;padding:var(--gap);grid-template-columns:30% minmax(0,1fr);display:grid}.left{gap:var(--gap);grid-template-rows:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.right{gap:var(--gap);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.stats{font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:600}.right .alert,.right .status{margin:0}.odds{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.odds-card{border-top:3px solid var(--line)}.odds-card.banker{border-top-color:var(--banker)}.odds-card.player{border-top-color:var(--player)}.odds-card.tie{border-top-color:var(--tie)}.odds strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(1.4rem,3vw,2.6rem);display:block}.strategy{gap:var(--gap);flex-direction:column;flex:1;min-height:0;display:flex}.strategy-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.methods{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.result{margin-top:10px}.miss-bar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.miss-bar.on{color:#ffd9a8}.tiny{min-height:22px;padding:2px 7px;font-size:.68rem}.bet-log{flex-direction:column;flex:1;min-height:160px;display:flex}.bet-table{flex:1;min-height:0;margin-top:6px;overflow:auto}.bet-table thead th{background:var(--panel);position:sticky;top:0}.bet-table thead tr+tr th{top:26px}.bet-table th[colspan]{text-align:center;border-left:1px solid var(--line)}.bet-table td:nth-child(3),.bet-table td:nth-child(6),.bet-table tr+tr th:first-child,.bet-table tr+tr th:nth-child(4){border-left:1px solid var(--line)}.bet-table small{color:var(--muted)}.side{font-weight:700}.side.banker{color:var(--banker)}.side.player{color:var(--player)}.side.tie{color:var(--tie)}.strategy .up{color:var(--green)}.strategy .down{color:#ff8f7a}.strategy .muted{color:var(--muted)}.base{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.base input{border:1px solid var(--line);width:84px;min-height:30px;color:var(--text);font:inherit;background:#0f1a19;border-radius:7px;padding:4px 8px;font-size:.8rem}.next-bet{border:1px solid var(--line);border-left:6px solid var(--line);background:#111c1b;border-radius:10px;margin-top:8px;padding:10px 12px}.next-bet.banker{border-left-color:var(--banker)}.next-bet.player{border-left-color:var(--player)}.next-bet.target{border-left-color:var(--green)}.next-bet.stop-loss{border-left-color:#ff8f7a}.next-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.next-bet strong{font-variant-numeric:tabular-nums;margin:4px 0;font-size:clamp(1.3rem,2.4vw,2.2rem);line-height:1.15;display:block}.next-bet.banker strong{color:var(--banker)}.next-bet.player strong{color:var(--player)}.next-bet p{margin:4px 0 0;font-size:.9rem}.next-bet p.hint{font-size:.78rem}.ladders{gap:6px;margin-top:12px;display:grid}.ladder{grid-template-columns:64px repeat(7,minmax(0,1fr));align-items:center;gap:5px;display:grid}.ladder span{color:var(--muted);font-size:.72rem}.ladder b{text-align:center;border:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:6px;padding:6px 0;font-size:.85rem}.ladder b.here{background:var(--green);border-color:var(--green);color:#11231a}.net{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.25rem;display:block}.net.up{color:var(--green)}.net.down{color:#ff8f7a}.meter{background:linear-gradient(90deg, #5a2f2a, #23332f var(--zero,39.4%), #2f5a3c);border-radius:4px;height:8px;margin-top:10px;position:relative}.meter i{background:var(--text);border-radius:2px;width:4px;height:16px;margin-left:-2px;position:absolute;top:-4px}.meter u{background:var(--muted);width:1px;height:8px;position:absolute;top:0}.meter-ends{justify-content:space-between;display:flex}.strategy table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:.82rem}.strategy th,.strategy td{text-align:left;border-bottom:1px solid var(--line);padding:5px 6px}.strategy thead th,.strategy tbody th{color:var(--muted);font-weight:600}.limits{justify-content:flex-start;gap:14px;font-size:.78rem}.base input.wide{width:120px}.bank{margin:4px 0 0;font-size:.9rem}.account{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}a{color:var(--green)}a.button{place-items:center;text-decoration:none;display:inline-grid}a.button.primary{color:#11231a}.button.low{color:#ffd3c8;border-color:#ff8f7a}.start .account{justify-content:center}.page{max-width:1200px;padding:var(--gap);gap:var(--gap);margin:0 auto;display:grid}.form{gap:10px;display:grid}.form label{color:var(--muted);text-align:left;gap:4px;font-size:.78rem;display:grid}.form input,.form select,.form textarea,input.short{border:1px solid var(--line);min-height:34px;color:var(--text);font:inherit;background:#0f1a19;border-radius:7px;width:100%;padding:6px 9px;font-size:.88rem}.form input[type=file]{padding:5px}.form.inline{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;margin-top:10px}.form p{margin:-4px 0 2px}input.short{width:90px;min-height:30px}.auth{width:min(380px,100vw - 32px);padding:22px}.auth h1{font-size:1.4rem}.auth button{min-height:38px;font-size:.9rem}.cards{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.cards.four{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.big{font-variant-numeric:tabular-nums;margin:4px 0;font-size:1.8rem;display:block}.pay-row{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-top:8px;display:flex}.pay-row>div{flex:1;min-width:200px}.qr{background:#fff;border-radius:8px;width:200px;max-width:100%;display:block}.steps{gap:4px;margin:0;padding-left:18px;display:grid}.table{margin-top:8px;overflow:auto}.table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.table th{color:var(--muted);white-space:nowrap;font-weight:600}.table small,.muted{color:var(--muted)}.table .actions{margin:0}.table .up{color:var(--green)}.table .down{color:#ff8f7a}.tag{background:#2b413d;border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.tag.pending{color:#ffe6a8;background:#5a4a1f}.tag.approved,.tag.active{color:var(--green);background:#24482f}.tag.rejected,.tag.blocked{color:#ffd3c8;background:#5a2f2a}.thumb{border:1px solid var(--line);background:0 0;min-height:0;padding:0}.thumb img{object-fit:cover;border-radius:6px;width:64px;height:64px;display:block}.zoom{z-index:20;cursor:zoom-out;background:#000000d9;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.zoom img{border-radius:8px;max-width:100%;max-height:calc(100vh - 32px)}.capture{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:auto}.capture>.actions,.capture .panel .actions{margin-top:0}.capture p{margin:0}.stage{flex:auto;place-items:center;min-height:140px;display:grid;container-type:size}.stage-empty{text-align:center}.frame{width:min(100cqw, calc(100cqh * var(--ar,1.7778)));height:min(100cqh, calc(100cqw / var(--ar,1.7778)));position:relative}.frame video,.frame canvas{background:#080e0d;border-radius:8px;width:100%;height:100%;display:block}.frame canvas{touch-action:none;cursor:crosshair}.selection{border:2px solid var(--green);pointer-events:none;position:absolute}.zone{pointer-events:none;border:2px dashed #e4d59a;border-radius:6px;position:absolute}.zone.current{border-style:solid}.zone span{white-space:nowrap;color:#11231a;background:#e4d59a;border-radius:4px 4px 0 0;padding:1px 5px;font-size:.65rem;font-weight:700;position:absolute;bottom:100%;left:-2px}.zone.player,.card-box.player{border-color:var(--player)}.zone.player span{background:var(--player)}.zone.banker,.card-box.banker{border-color:var(--banker)}.zone.banker span{background:var(--banker)}.card-box{pointer-events:none;border:2px solid;border-radius:3px;position:absolute}.setup .chips{margin:0}.slider{align-items:center;gap:8px;margin-top:6px;font-size:.78rem;display:flex}.slider input{flex:1}.toggle{align-items:center;gap:6px;font-size:.78rem;display:flex}.toggle input{width:15px;height:15px;accent-color:var(--green)}.reading{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.capture .hint{font-size:.75rem}.last-capture{border-top:1px solid var(--line);padding-top:8px}.last-capture>img{border-radius:8px;width:100%;display:block}.crops{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.crop{border:2px solid;justify-items:center;gap:2px;min-height:0;padding:3px;display:grid}.crop.player{border-color:var(--player)}.crop.banker{border-color:var(--banker)}.crop img{background:#fff;border-radius:3px;height:40px;display:block}.no-crop{width:50px;height:40px;color:var(--muted);place-items:center;font-size:.65rem;display:grid}.crop-rank{font-size:.75rem;font-weight:700}.crop-source{color:var(--muted);font-size:.6rem;font-weight:500}.show-last{align-self:flex-start}.history{flex-direction:column;min-height:0;display:flex}.history ol{min-height:0;color:var(--muted);flex:1;margin:8px 0 0;padding-left:30px;font-size:.8rem;overflow:auto}.history li{padding:3px 0}.winner{color:var(--text);font-weight:600}.log-drawer{top:56px;right:var(--gap);width:min(400px, calc(100vw - 2 * var(--gap)));z-index:10;max-height:calc(100vh - 68px);position:fixed;overflow:auto;box-shadow:0 12px 40px #00000080}.hands>div{border-radius:8px;align-items:center;gap:8px;padding:4px;display:flex}.active-hand{background:#1f302b}.keypad{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.keypad button{min-width:36px}@media (max-width:900px){.layout{grid-template-columns:1fr;height:auto;min-height:100vh}.left{grid-template-rows:auto}.capture{min-height:60vh}.history{max-height:50vh}.odds{gap:6px}.odds .panel{padding:9px}.methods{grid-template-columns:1fr}}.right{overflow:auto}.page .panel>h2{margin-bottom:8px}
