/* Chasing Originals — game suite styling */
:root{
  --og-bg:#0b0e1a;
  --og-surface:#121628;
  --og-surface-2:#171c31;
  --og-line:#242b45;
  --og-text:#eef1fb;
  --og-muted:#8b93b4;
  --og-accent:#37f5b6;
  --og-accent-2:#4c8dff;
  --og-danger:#ff5c72;
  --og-radius:12px;
}

.og-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(4,6,14,.72);backdrop-filter:blur(6px);font-family:Arial,Helvetica,sans-serif}
.og-overlay.is-open{display:flex;animation:og-fade .18s ease}
@keyframes og-fade{from{opacity:0}to{opacity:1}}

.og-modal{width:min(1100px,100%);max-height:92vh;display:flex;flex-direction:column;background:var(--og-bg);border:1px solid var(--og-line);border-radius:18px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.55);animation:og-rise .22s ease}
@keyframes og-rise{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}

.og-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--og-surface);border-bottom:1px solid var(--og-line);flex-wrap:wrap}
.og-tabs{display:flex;gap:6px;flex-wrap:wrap}
.og-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--og-muted);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.og-tab:hover{color:var(--og-text);background:var(--og-surface-2)}
.og-tab.is-active{color:#04120c;background:var(--og-accent);border-color:var(--og-accent);box-shadow:0 0 18px rgba(55,245,182,.28),inset 0 1px rgba(255,255,255,.35)}
.og-modal{background:linear-gradient(145deg,#10162b 0%,#080b16 72%);border-color:rgba(76,141,255,.42)}
.og-panel,.og-fair{box-shadow:0 12px 36px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.04)}
.og-view{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 15%,rgba(76,141,255,.2),transparent 34%),radial-gradient(circle at 80% 90%,rgba(55,245,182,.12),transparent 32%),#0c1020;box-shadow:inset 0 0 60px rgba(76,141,255,.08)}
.og-view::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.055) 44%,transparent 55%);transform:translateX(-120%);animation:og-sheen 7s ease-in-out infinite}
@keyframes og-sheen{0%,55%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}
.og-view>*{position:relative;z-index:1}
.og-play{background:linear-gradient(100deg,var(--og-accent),#7dffd5 48%,var(--og-accent));background-size:200% 100%;box-shadow:0 0 24px rgba(55,245,182,.22);transition:background-position .35s,filter .15s,transform .1s,box-shadow .15s}
.og-play:hover{background-position:100% 0;box-shadow:0 0 30px rgba(55,245,182,.38)}
.og-dice-value,.og-limbo-readout{ text-shadow:0 0 24px rgba(76,141,255,.25)}
.og-keno-cell.is-picked{box-shadow:0 0 18px rgba(76,141,255,.45),inset 0 1px rgba(255,255,255,.35)}
.og-plinko-slot.is-hot{box-shadow:0 0 14px rgba(55,245,182,.45)}
@media(prefers-reduced-motion:reduce){.og-view::before{animation:none}}
.og-top-right{display:flex;align-items:center;gap:8px}
.og-balance{display:flex;align-items:center;gap:7px;padding:8px 14px;background:var(--og-surface-2);border:1px solid var(--og-line);border-radius:9px;font-weight:800;color:var(--og-text)}
.og-coin{color:var(--og-accent)}
.og-icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--og-line);border-radius:9px;background:var(--og-surface-2);color:var(--og-text);font-size:15px;cursor:pointer;transition:background .15s,color .15s}
.og-icon-btn:hover{background:#20263f}
.og-icon-btn.is-off{color:var(--og-muted)}
.og-close:hover{background:var(--og-danger);color:#fff;border-color:var(--og-danger)}

.og-stage{overflow:auto;padding:18px}
.og-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}
.og-right{display:flex;flex-direction:column;gap:14px;min-width:0}

.og-panel{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--og-surface);border:1px solid var(--og-line);border-radius:var(--og-radius)}
.og-field{display:flex;flex-direction:column;gap:6px}
.og-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--og-muted)}
.og-input-row{display:flex;align-items:center;gap:6px;background:var(--og-bg);border:1px solid var(--og-line);border-radius:9px;padding:0 10px}
.og-input-row .og-coin{font-size:14px}
.og-input{width:100%;background:var(--og-bg);border:1px solid var(--og-line);border-radius:9px;padding:11px 12px;color:var(--og-text);font-size:15px;font-weight:700;outline:none;transition:border-color .15s,box-shadow .15s}
.og-input-row .og-input{border:0;padding:11px 4px;background:transparent}
.og-input:focus,.og-input-row:focus-within{border-color:var(--og-accent);box-shadow:0 0 0 3px rgba(55,245,182,.14)}
select.og-input{cursor:pointer}
.og-suffix{color:var(--og-muted);font-weight:800;padding-right:6px}
.og-chip{padding:8px 12px;border:1px solid var(--og-line);border-radius:8px;background:var(--og-surface-2);color:var(--og-text);font-weight:800;font-size:13px;cursor:pointer;transition:background .15s,transform .1s}
.og-chip:hover{background:#20263f}
.og-chip:active{transform:scale(.96)}
.og-chip-wide{flex:1;text-align:center}
.og-btn-row{display:flex;gap:8px}

.og-play{margin-top:2px;padding:15px;border:0;border-radius:10px;background:var(--og-accent);color:#04120c;font-size:16px;font-weight:900;cursor:pointer;transition:filter .15s,transform .1s,opacity .15s}
.og-play:hover{filter:brightness(1.06)}
.og-play:active{transform:translateY(1px)}
.og-play:disabled{opacity:.55;cursor:progress}

.og-msg{min-height:18px;margin:0;font-size:13px;font-weight:700;color:var(--og-muted)}
.og-msg.is-win{color:var(--og-accent)}
.og-msg.is-error{color:var(--og-danger)}

.og-extra{display:flex;flex-direction:column;gap:12px}
.og-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.og-stat{display:flex;flex-direction:column;gap:3px;padding:9px 11px;background:var(--og-bg);border:1px solid var(--og-line);border-radius:9px}
.og-stat span{font-size:11px;color:var(--og-muted);text-transform:uppercase;letter-spacing:.04em}
.og-stat strong{font-size:15px;color:var(--og-text)}

.og-toggle{display:flex;gap:0;border:1px solid var(--og-line);border-radius:9px;overflow:hidden}
.og-toggle button{flex:1;padding:11px;border:0;background:var(--og-bg);color:var(--og-muted);font-weight:800;cursor:pointer;transition:background .15s,color .15s}
.og-toggle button.is-active{background:var(--og-accent-2);color:#fff}

.og-view{display:flex;flex-direction:column;gap:16px;padding:18px;min-height:320px;background:radial-gradient(120% 120% at 50% 0,#141a30 0,#0c1020 60%);border:1px solid var(--og-line);border-radius:var(--og-radius)}
.og-view-center{align-items:center;justify-content:center;text-align:center}

/* Dice */
.og-dice-readout{display:flex;justify-content:center}
.og-dice-value{font-size:44px;font-weight:900;color:var(--og-text)}
.og-dice-value.is-win{color:var(--og-accent)}
.og-dice-value.is-lose{color:var(--og-danger)}
.og-dice-track{position:relative;height:16px;margin:34px 6px 8px;border-radius:10px;background:var(--og-danger);cursor:pointer}
.og-dice-fill{position:absolute;top:0;bottom:0;background:var(--og-accent);border-radius:10px}
.og-dice-thumb{position:absolute;top:50%;width:18px;height:34px;border-radius:6px;background:#fff;border:2px solid var(--og-accent-2);transform:translate(-50%,-50%);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.og-dice-marker{position:absolute;top:-30px;width:2px;height:26px;background:#fff;transform:translateX(-50%);opacity:0;transition:left .35s cubic-bezier(.2,.8,.2,1)}
.og-dice-marker.is-visible{opacity:1}
.og-dice-marker.is-visible::after{content:'';position:absolute;top:-9px;left:50%;width:11px;height:11px;border-radius:50%;transform:translateX(-50%);background:#fff}
.og-dice-marker.is-win::after{background:var(--og-accent)}
.og-dice-marker.is-lose::after{background:var(--og-danger)}
.og-dice-scale{position:absolute;left:0;right:0;top:22px;display:flex;justify-content:space-between;color:var(--og-muted);font-size:11px;font-weight:700}
.og-target-row{display:flex;justify-content:center;margin-top:18px}
.og-field-sm{max-width:160px}

/* Limbo */
.og-limbo-readout{font-size:72px;font-weight:900;color:var(--og-text);letter-spacing:-.02em;transition:color .2s}
.og-limbo-readout.is-win{color:var(--og-accent);text-shadow:0 0 30px rgba(55,245,182,.4)}
.og-limbo-readout.is-lose{color:var(--og-danger)}
.og-limbo-caption{min-height:20px;color:var(--og-muted);font-weight:700}

/* Keno */
.og-keno-board{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;width:100%}
.og-keno-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--og-line);border-radius:9px;background:var(--og-surface-2);color:var(--og-text);font-size:15px;font-weight:800;cursor:pointer;transition:transform .1s,background .15s,box-shadow .15s}
.og-keno-cell:hover{background:#232a45;transform:translateY(-1px)}
.og-keno-cell.is-picked{background:var(--og-accent-2);border-color:var(--og-accent-2);color:#fff}
.og-keno-cell.is-hit{background:var(--og-accent);border-color:var(--og-accent);color:#04120c;box-shadow:0 0 16px rgba(55,245,182,.5);animation:og-pop .25s ease}
.og-keno-cell.is-drawn{background:#2a3150;border-color:#3a436a;color:var(--og-muted)}
@keyframes og-pop{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.og-pay-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:10px;background:var(--og-bg);border:1px solid var(--og-line);border-radius:9px;max-height:180px;overflow:auto}
.og-pay-title{grid-column:1/-1;font-size:12px;font-weight:800;color:var(--og-muted);text-transform:uppercase}
.og-pay-cell{display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--og-surface-2);border-radius:7px;text-align:center}
.og-pay-cell span{font-size:10px;color:var(--og-muted)}
.og-pay-cell strong{font-size:13px;color:var(--og-text)}
.og-pay-empty{font-size:12px;color:var(--og-muted)}
.og-chip-wide{white-space:nowrap}

/* Plinko */
.og-plinko-canvas{width:100%;max-width:560px;display:block}
.og-plinko-slots{display:flex;gap:3px;width:100%;max-width:560px;margin-top:6px}
.og-plinko-slot{flex:1;text-align:center;padding:6px 2px;border-radius:6px;background:var(--og-surface-2);color:var(--og-text);font-size:11px;font-weight:800}
.og-plinko-slot.is-hot{background:linear-gradient(180deg,var(--og-accent),#1fae7f);color:#04120c}
.og-plinko-slot.is-cold{background:#242b45;color:var(--og-muted)}

/* Fairness footer */
.og-fair{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--og-surface);border:1px solid var(--og-line);border-radius:var(--og-radius)}
.og-fair-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--og-muted)}
.og-fair-row code{color:var(--og-text);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}
.og-fair-rotate{align-self:flex-start;margin-top:4px;padding:7px 12px;border:1px solid var(--og-line);border-radius:8px;background:var(--og-surface-2);color:var(--og-text);font-weight:700;font-size:12px;cursor:pointer}
.og-fair-rotate:hover{background:#20263f}

/* Admin */
.og-admin{display:flex;flex-direction:column;gap:14px}
.og-admin-title{margin:0;font-size:22px;color:var(--og-text)}
.og-admin-sub{margin:8px 0 0;font-size:14px;color:var(--og-muted);font-weight:700}
.og-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.og-admin-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.og-admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.og-admin-actions .og-play{flex:0 0 auto;margin-top:0}

@media(max-width:820px){
  .og-layout{grid-template-columns:1fr}
  .og-limbo-readout{font-size:52px}
  .og-keno-board{grid-template-columns:repeat(8,1fr);gap:5px}
  .og-keno-cell{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .og-overlay.is-open,.og-modal,.og-keno-cell.is-hit{animation:none}
  .og-dice-marker{transition:none}
}
