
:root {
  --r69-bg: #030712;
  --r69-panel: #111827;
  --r69-border: rgba(148,163,184,.18);
  --r69-border-strong: rgba(239,68,68,.35);
  --r69-text: #f8fafc;
}
html { scroll-behavior: smooth; }
body.r69-admin, body.r69-user, body.r69-game, body.r69-auth { font-family: 'Inter', sans-serif; color: var(--r69-text); }
.r69-glass { background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(3,7,18,.94)); border:1px solid var(--r69-border); box-shadow:0 16px 40px rgba(0,0,0,.28); }
.r69-panel { background: linear-gradient(180deg, rgba(17,24,39,.72), rgba(3,7,18,.78)); border:1px solid var(--r69-border); box-shadow:0 16px 40px rgba(0,0,0,.22); backdrop-filter: blur(3px); }
.r69-card-hover { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.r69-card-hover:hover { transform: translateY(-3px); border-color: var(--r69-border-strong); box-shadow:0 20px 45px rgba(0,0,0,.34); }
.r69-sidebar-link { transition: all .2s ease; }
.r69-sidebar-link:hover { transform: translateX(4px); }
.r69-sidebar-link.active { background: linear-gradient(90deg, rgba(220,38,38,.96), rgba(185,28,28,.92)); color:#fff; box-shadow:0 10px 20px rgba(220,38,38,.2); }
.r69-sidebar-link.active i { color:#fff !important; }
.r69-stat-card { background: linear-gradient(135deg, rgba(17,24,39,.96), rgba(31,41,55,.96)); border:1px solid var(--r69-border); }
.r69-stat-icon { width:3rem; height:3rem; border-radius:1rem; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); }
.r69-table-wrap { overflow-x:auto; }
.r69-table { min-width:100%; border-collapse:separate; border-spacing:0; }
.r69-table thead th { font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; color:#cbd5e1; }
.r69-table tbody tr { transition: background-color .2s ease; }
.r69-table tbody tr:hover { background: rgba(30,41,59,.64); }
.r69-badge { display:inline-flex; align-items:center; gap:.35rem; border-radius:9999px; padding:.3rem .7rem; font-size:.75rem; font-weight:600; }
.r69-action-link { display:inline-flex; align-items:center; gap:.45rem; font-size:.875rem; }
.r69-kpi-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1rem; }
.r69-filter-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1rem; }
.r69-admin-main { background: radial-gradient(circle at top left, rgba(127,29,29,.22), transparent 28%), linear-gradient(180deg, #020617, #030712); }
.r69-game-shell { width:100%; max-width:1200px; display:grid; gap:1.5rem; }
.r69-game-topbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.r69-game-players { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); }
.r69-decks-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.r69-deck-card { padding:.9rem; border-radius:1.25rem; background:rgba(17,24,39,.62); border:1px solid rgba(148,163,184,.14); backdrop-filter: blur(2px); }
.r69-deck-image { width:100%; max-width:150px; margin:0 auto; }
.r69-auth-card { background:rgba(17,24,39,.9); border:1px solid rgba(148,163,184,.18); box-shadow:0 20px 50px rgba(0,0,0,.35); }

.r69-play-header { gap:.65rem; }
.r69-play-logo { width:clamp(7.5rem, 22vw, 10.5rem); height:auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)); }
.r69-turn-display { font-size:clamp(1.15rem, 2vw, 1.65rem); }
.r69-decks-layout { display:grid; gap:1rem; }
.r69-decks-row { display:grid; gap:1rem; }
.r69-decks-row-top { grid-template-columns:repeat(3,minmax(0,1fr)); }
.r69-decks-row-bottom { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:680px; margin:0 auto; }
.r69-deck-card { min-height:100%; }
.r69-game-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; margin-top:1.25rem; }
.r69-btn-restart { background:linear-gradient(90deg,#16a34a,#15803d); color:#fff; border-color:rgba(34,197,94,.24); }
.r69-btn-dashboard { background:linear-gradient(90deg,#2563eb,#1d4ed8); color:#fff; border-color:rgba(59,130,246,.24); }
.r69-btn-exit { background:linear-gradient(90deg,#ea580c,#c2410c); color:#fff; border-color:rgba(249,115,22,.24); }
@media (min-width:640px){ .r69-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.r69-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.r69-game-players{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;}.r69-decks-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:1024px){ .r69-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.r69-filter-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.r69-decks-grid{grid-template-columns:repeat(5,minmax(0,1fr));}.r69-game-shell{max-width:1080px;}}
@media (max-width:1023px){ body.r69-admin, body.r69-user{overflow:auto;} .r69-sidebar-collapse{width:100%;max-width:100%;}}
@media (max-width:767px){ .r69-admin-topbar-search{display:none;} .r69-auth-card,.r69-panel,.r69-glass{border-radius:1.25rem;} }

input[type=range] { accent-color:#dc2626; }
.r69-table td, .r69-table th { vertical-align: top; }
@media (max-width: 1279px){
  .r69-table-wrap { -webkit-overflow-scrolling: touch; }
}
@media (max-width: 767px){
  .r69-kpi-grid, .r69-filter-grid, .r69-game-players, .r69-decks-grid { gap: .875rem; }
}

.r69-inline-alert { display:flex; gap:.9rem; align-items:flex-start; padding:1rem 1.1rem; border-radius:1.25rem; border:1px solid rgba(148,163,184,.16); background:rgba(2,6,23,.72); box-shadow:0 16px 30px rgba(0,0,0,.2); }
.r69-inline-alert__icon { width:2.2rem; height:2.2rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.r69-inline-alert.success { border-color:rgba(16,185,129,.28); background:linear-gradient(180deg, rgba(6,78,59,.28), rgba(2,6,23,.78)); }
.r69-inline-alert.success .r69-inline-alert__icon { background:rgba(16,185,129,.18); color:#6ee7b7; }
.r69-inline-alert.error { border-color:rgba(239,68,68,.32); background:linear-gradient(180deg, rgba(127,29,29,.30), rgba(2,6,23,.82)); }
.r69-inline-alert.error .r69-inline-alert__icon { background:rgba(239,68,68,.16); color:#fca5a5; }
.r69-inline-alert.warning { border-color:rgba(245,158,11,.32); background:linear-gradient(180deg, rgba(120,53,15,.28), rgba(2,6,23,.82)); }
.r69-inline-alert.warning .r69-inline-alert__icon { background:rgba(245,158,11,.16); color:#fcd34d; }
.r69-inline-alert.info { border-color:rgba(59,130,246,.28); background:linear-gradient(180deg, rgba(30,64,175,.22), rgba(2,6,23,.82)); }
.r69-inline-alert.info .r69-inline-alert__icon { background:rgba(59,130,246,.16); color:#93c5fd; }

.r69-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2.2rem 1.25rem; text-align:center; border:1px dashed rgba(148,163,184,.18); border-radius:1.5rem; background:linear-gradient(180deg, rgba(15,23,42,.55), rgba(2,6,23,.85)); }
.r69-empty-state.compact { padding:1.4rem 1rem; }
.r69-empty-state__icon { width:4rem; height:4rem; border-radius:1.4rem; display:inline-flex; align-items:center; justify-content:center; color:#fda4af; background:rgba(127,29,29,.22); border:1px solid rgba(239,68,68,.18); font-size:1.35rem; }

.r69-toast-stack { position:fixed; top:1rem; right:1rem; z-index:11000; display:flex; flex-direction:column; gap:.8rem; width:min(92vw, 380px); }
.r69-toast { position:relative; display:flex; gap:.8rem; align-items:flex-start; border-radius:1.2rem; padding:1rem 1rem .95rem; background:linear-gradient(180deg, rgba(15,23,42,.97), rgba(2,6,23,.98)); border:1px solid rgba(148,163,184,.16); box-shadow:0 20px 40px rgba(0,0,0,.34); color:#f8fafc; overflow:hidden; transform:translateX(18px); opacity:0; transition:opacity .24s ease, transform .24s ease; }
.r69-toast.show { opacity:1; transform:translateX(0); }
.r69-toast__icon { width:2.35rem; height:2.35rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.r69-toast__title { font-size:.9rem; font-weight:700; }
.r69-toast__message { margin-top:.15rem; font-size:.84rem; color:#cbd5e1; line-height:1.45; }
.r69-toast__close { margin-left:auto; color:#94a3b8; background:none; border:none; cursor:pointer; padding:.1rem; }
.r69-toast__progress { position:absolute; left:0; bottom:0; height:3px; width:100%; transform-origin:left center; }
.r69-toast.success .r69-toast__icon { background:rgba(16,185,129,.16); color:#6ee7b7; }
.r69-toast.success .r69-toast__progress { background:#10b981; }
.r69-toast.error .r69-toast__icon { background:rgba(239,68,68,.16); color:#fca5a5; }
.r69-toast.error .r69-toast__progress { background:#ef4444; }
.r69-toast.warning .r69-toast__icon { background:rgba(245,158,11,.16); color:#fcd34d; }
.r69-toast.warning .r69-toast__progress { background:#f59e0b; }
.r69-toast.info .r69-toast__icon { background:rgba(59,130,246,.16); color:#93c5fd; }
.r69-toast.info .r69-toast__progress { background:#3b82f6; }

.r69-modal-backdrop { position:fixed; inset:0; background:rgba(2,6,23,.78); backdrop-filter:blur(6px); z-index:12000; display:flex; align-items:center; justify-content:center; padding:1rem; opacity:0; transition:opacity .22s ease; }
.r69-modal-backdrop.show { opacity:1; }
.r69-modal { width:min(100%, 470px); border-radius:1.7rem; border:1px solid rgba(148,163,184,.16); background:linear-gradient(180deg, rgba(17,24,39,.98), rgba(2,6,23,.99)); box-shadow:0 28px 60px rgba(0,0,0,.45); color:#fff; transform:translateY(12px) scale(.98); transition:transform .22s ease; overflow:hidden; }
.r69-modal-backdrop.show .r69-modal { transform:translateY(0) scale(1); }
.r69-modal__body { padding:1.4rem 1.35rem 1.2rem; }
.r69-modal__head { display:flex; gap:.9rem; align-items:flex-start; }
.r69-modal__icon { width:3rem; height:3rem; border-radius:1rem; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.r69-modal__title { font-size:1.15rem; font-weight:800; }
.r69-modal__message { margin-top:.35rem; color:#cbd5e1; line-height:1.55; font-size:.94rem; }
.r69-modal__actions { display:flex; gap:.75rem; justify-content:flex-end; padding:0 1.35rem 1.35rem; flex-wrap:wrap; }
.r69-btn { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:44px; padding:.7rem 1.1rem; border-radius:1rem; font-weight:700; transition:.2s ease; border:1px solid transparent; }
.r69-btn:hover { transform:translateY(-1px); }
.r69-btn-secondary { background:rgba(30,41,59,.88); border-color:rgba(148,163,184,.16); color:#e2e8f0; }
.r69-btn-primary { background:linear-gradient(90deg, #dc2626, #b91c1c); color:#fff; }
.r69-modal.success .r69-modal__icon { background:rgba(16,185,129,.16); color:#6ee7b7; }
.r69-modal.error .r69-modal__icon { background:rgba(239,68,68,.16); color:#fca5a5; }
.r69-modal.warning .r69-modal__icon { background:rgba(245,158,11,.16); color:#fcd34d; }
.r69-modal.info .r69-modal__icon { background:rgba(59,130,246,.16); color:#93c5fd; }

.r69-modal__logo { width:100%; height:100%; object-fit:contain; display:block; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35)); }
.r69-modal.warning .r69-modal__icon { padding:.3rem; background:rgba(220,38,38,.16); color:#fecaca; }
.r69-modal.warning .r69-modal__message { color:#e5e7eb; }

@media (max-width: 767px){
  .r69-toast-stack { left:.75rem; right:.75rem; width:auto; top:.75rem; }
  .r69-modal__actions .r69-btn { width:100%; }
}


.r69-status-badge { display:inline-flex; align-items:center; gap:.4rem; padding:.38rem .78rem; border-radius:999px; font-size:.75rem; font-weight:700; border:1px solid rgba(148,163,184,.16); }
.r69-status-badge.success { color:#a7f3d0; background:rgba(16,185,129,.14); border-color:rgba(16,185,129,.22); }
.r69-status-badge.danger { color:#fca5a5; background:rgba(239,68,68,.14); border-color:rgba(239,68,68,.22); }
.r69-status-badge.warning { color:#fde68a; background:rgba(245,158,11,.14); border-color:rgba(245,158,11,.22); }
.r69-status-badge.info { color:#93c5fd; background:rgba(59,130,246,.14); border-color:rgba(59,130,246,.22); }
.r69-status-badge.primary { color:#fda4af; background:rgba(225,29,72,.14); border-color:rgba(225,29,72,.22); }
.r69-status-badge.neutral { color:#cbd5e1; background:rgba(148,163,184,.10); }

.r69-pagination { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.4rem; border-top:1px solid rgba(148,163,184,.12); flex-wrap:wrap; }
.r69-pagination__meta { color:#94a3b8; font-size:.92rem; }
.r69-pagination__nav { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.r69-pagination__item { min-width:42px; height:42px; padding:0 .85rem; display:inline-flex; align-items:center; justify-content:center; border-radius:1rem; background:rgba(15,23,42,.9); border:1px solid rgba(148,163,184,.14); color:#e2e8f0; font-weight:700; transition:.2s ease; }
.r69-pagination__item:hover { transform:translateY(-1px); border-color:rgba(239,68,68,.28); }
.r69-pagination__item.active { background:linear-gradient(90deg,#dc2626,#b91c1c); border-color:transparent; color:#fff; }

.r69-field { display:flex; flex-direction:column; gap:.5rem; }
.r69-field.is-valid input, .r69-field.is-valid select, .r69-field.is-valid textarea { border-color:rgba(16,185,129,.38)!important; box-shadow:0 0 0 3px rgba(16,185,129,.08); }
.r69-field.is-invalid input, .r69-field.is-invalid select, .r69-field.is-invalid textarea { border-color:rgba(239,68,68,.42)!important; box-shadow:0 0 0 3px rgba(239,68,68,.08); }
.r69-field-help { font-size:.78rem; line-height:1.35; min-height:1rem; color:#64748b; }
.r69-field-help.success { color:#6ee7b7; }
.r69-field-help.error { color:#fca5a5; }

.r69-input-valid, .r69-input-invalid { transition:border-color .18s ease, box-shadow .18s ease; }
.r69-page-busy { cursor:progress; }
.r69-loader-overlay { position:fixed; inset:0; background:rgba(2,6,23,.55); backdrop-filter:blur(4px); z-index:11500; display:flex; align-items:center; justify-content:center; }

.r69-skeleton { position:relative; overflow:hidden; background:rgba(30,41,59,.75); }
.r69-skeleton::after { content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent); animation:r69Shimmer 1.3s infinite; }
@keyframes r69Shimmer { 100% { transform:translateX(100%); } }

.r69-table tbody tr td .r69-action-link,
.r69-table tbody tr td button.r69-action-link { white-space:nowrap; }
.r69-btn[disabled], .r69-action-link[disabled] { opacity:.65; pointer-events:none; }

@media (max-width:767px){
  .r69-pagination { padding:1rem; }
  .r69-pagination__item { min-width:38px; height:38px; border-radius:.85rem; }
}


.r69-lock-scroll{overflow:hidden;}
.r69-icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.88);color:#e2e8f0;transition:.2s ease;}
.r69-icon-btn:hover{transform:translateY(-1px);border-color:rgba(239,68,68,.28);}
.r69-drawer-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:70;}
.r69-drawer-backdrop.is-open{opacity:1;pointer-events:auto;}

@media (max-width:1023px){
  .r69-mobile-drawer{position:fixed!important;left:0;top:0;bottom:0;max-width:22rem;width:min(88vw,22rem)!important;z-index:80;transform:translateX(-100%);transition:transform .24s ease,opacity .24s ease;display:flex!important;overflow-y:auto;}
  .r69-mobile-drawer.is-open{transform:translateX(0);}
  .r69-admin-main{padding-bottom:5.5rem;}
}

@media (max-width:767px){
  .r69-game-shell{padding:1rem;gap:1rem;border-radius:1.5rem;}
  .r69-game-topbar h1{font-size:1.9rem;line-height:1.05;}
  .r69-game-players{grid-template-columns:1fr;}
  .r69-decks-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #card-container{width:min(92vw,22rem)!important;}
  #popup-content{padding:1rem!important;}
}

@media (max-width:420px){
  .r69-decks-grid{grid-template-columns:1fr;}
}


@media (max-width:767px){
  .r69-play-logo{width:clamp(8.5rem, 34vw, 11rem);}
  .r69-turn-display{font-size:1.8rem;line-height:1.15;}
  .r69-game-players .r69-panel{padding:1rem;}
  .r69-game-players table th,.r69-game-players table td{padding:1rem .85rem;}
  .r69-decks-row-top{grid-template-columns:repeat(3,minmax(0,1fr));}
  .r69-decks-row-bottom{grid-template-columns:repeat(2,minmax(0,1fr));}
  .r69-deck-card{padding:.65rem;border-radius:1rem;}
  .r69-deck-image{max-width:100px;}
  .r69-game-actions{grid-template-columns:1fr;position:sticky;bottom:.5rem;z-index:25;padding-top:.35rem;background:linear-gradient(180deg,rgba(3,7,18,0),rgba(3,7,18,.92) 35%,rgba(3,7,18,.98));}
  .r69-game-actions .r69-btn{width:100%;min-height:50px;border-radius:1rem;}
}

@media (max-width:480px){
  .r69-game-shell{padding:.85rem;}
  .r69-play-header{margin-top:.25rem;}
  .r69-decks-layout{gap:.85rem;}
  .r69-decks-row{gap:.75rem;}
  .r69-deck-image{max-width:88px;}
  .r69-deck-card p{font-size:.82rem;line-height:1.2;}
}


.r69-play-footer{position:sticky;bottom:0;z-index:45;width:100%;padding:.75rem 0 calc(.85rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.86) 30%,rgba(2,6,23,.98));backdrop-filter:blur(10px);}
.r69-play-footer__inner{width:min(100%,56rem);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:0 1rem;}
.r69-footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:54px;padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);font-weight:800;color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.28);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;text-decoration:none;}
.r69-footer-btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
.r69-footer-btn__icon{width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.r69-footer-btn__icon svg{width:100%;height:100%;}
.r69-footer-btn__label{white-space:nowrap;}
.r69-footer-btn--restart{background:linear-gradient(135deg,#16a34a,#15803d);}
.r69-footer-btn--dashboard{background:linear-gradient(135deg,#2563eb,#1d4ed8);}
.r69-footer-btn--exit{background:linear-gradient(135deg,#ea580c,#c2410c);}

@media (max-width:767px){
  .r69-game-shell{padding-bottom:.35rem;}
  .r69-play-footer{padding-top:.6rem;}
  .r69-play-footer__inner{gap:.55rem;padding:0 .85rem;}
  .r69-footer-btn{min-height:52px;padding:.85rem .7rem;border-radius:.95rem;}
  .r69-footer-btn__label{display:none;}
  .r69-footer-btn__icon{width:1.35rem;height:1.35rem;}
}
