.modal{--modal-bg: #f8fafc;--modal-bg-header: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);--modal-bg-footer: #f8fafc;--modal-border: #e2e8f0;--modal-border-accent: #22c55e;--modal-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);--modal-radius: 12px;--modal-text-strong: #0f172a;--modal-text-primary: #334155;--modal-text-muted: #64748b;--modal-text-accent: #16a34a;--modal-spacing-xs: .5rem;--modal-spacing-sm: .75rem;--modal-spacing-md: 1rem;--modal-spacing-lg: 1.5rem;--modal-spacing-xl: 2rem}.modal-backdrop{position:fixed;inset:0;z-index:var(--modal-layer, 40000);display:flex;align-items:center;justify-content:center;padding:var(--modal-spacing-lg);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background-color:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:backdropEnter .25s cubic-bezier(.4,0,.2,1) forwards}body.landing>.modal-backdrop{position:fixed!important;inset:0!important;z-index:var(--modal-layer, 40000)!important;display:flex!important;width:100vw!important;min-height:100dvh;margin:0!important}.modal{position:relative;width:min(100%,600px);height:auto;max-height:min(90vh,calc(100dvh - (var(--modal-spacing-lg) * 2)));min-height:0;display:flex;flex-direction:column;background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);animation:modalEnter .35s cubic-bezier(.16,1,.3,1) .05s forwards;margin:auto}.modal--wide{width:min(100%,900px)}.modal--lg,.modal--session{width:min(100%,720px)}.modal--xl{width:min(100%,980px)}.modal__header{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--modal-spacing-md);padding:var(--modal-spacing-lg) var(--modal-spacing-xl);background:var(--modal-bg-header);border-bottom:1px solid var(--modal-border)}.modal__header:before{content:"";position:absolute;top:0;left:var(--modal-spacing-xl);right:var(--modal-spacing-xl);height:3px;background:linear-gradient(90deg,var(--modal-border-accent),#38bdf8,var(--modal-border-accent));border-radius:0 0 8px 8px;opacity:.8}.modal__titles{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:0}.modal__header-meta{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.modal__eyebrow{display:inline-flex;align-items:center;gap:.375rem;margin:0;padding:.25rem .625rem;width:fit-content;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--modal-text-accent);background:#22c55e1a;border-radius:8px}.modal__header h3{margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--modal-text-strong);line-height:1.25}.modal__subhead{margin:0;font-size:.9375rem;color:var(--modal-text-muted);line-height:1.5}.modal__subtitle{margin:.5rem 0 0;padding:.375rem .75rem;width:fit-content;font-size:.8125rem;font-weight:500;color:var(--modal-text-primary);background:#64748b14;border-radius:8px}.modal__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.modal-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .75rem;font-size:.75rem;font-weight:600;line-height:1;border-radius:12px;border:1px solid rgba(34,197,94,.25);background:#22c55e14;color:var(--modal-text-accent);transition:all .15s ease}.modal-chip:hover{background:#22c55e1f;border-color:#22c55e66}.modal-chip--muted{border-color:var(--modal-border);background:#64748b0f;color:var(--modal-text-muted)}.modal__close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;color:var(--modal-text-muted);background:transparent;border:1px solid var(--modal-border);border-radius:10px;cursor:pointer;transition:all .15s ease}.modal__close:hover{color:var(--modal-text-strong);background:#64748b14;border-color:#cbd5e1}.modal__close:focus{outline:none;box-shadow:0 0 0 3px #22c55e33;border-color:var(--modal-border-accent)}.modal__close svg{width:18px;height:18px}.modal__body{flex:1 1 auto;min-height:0;max-height:100%;display:flex;flex-direction:column;gap:var(--modal-spacing-lg);padding:var(--modal-spacing-xl);width:fit-content;max-width:100%;align-self:center;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.modal__body--paneled,.wheel-prize-list-modal--game .modal__body{width:auto;max-width:none;align-self:stretch}.modal__body .admin-card.admin-section{overflow:visible}.modal__body::-webkit-scrollbar{width:6px}.modal__body::-webkit-scrollbar-track{background:transparent}.modal__body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.modal__body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal__panel{display:flex;flex-direction:column;gap:var(--modal-spacing-md);padding:var(--modal-spacing-lg);background:#f8fafc;border:1px solid var(--modal-border);border-radius:12px;transition:border-color .15s ease}.modal__panel:focus-within{border-color:var(--modal-border-accent)}.modal__panel--highlight{background:linear-gradient(135deg,#22c55e0a,#38bdf80a);border-color:#22c55e33}.modal__panel--preview{background:linear-gradient(135deg,#fafbfc,#f1f5f9);border-style:dashed}.modal__panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--modal-spacing-sm)}.modal__panel-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--modal-text-strong);letter-spacing:-.01em}.modal__panel-badge{display:inline-flex;align-items:center;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;color:var(--modal-text-muted);background:#64748b1a;border-radius:8px}.modal__panel-description{margin:0;font-size:.875rem;color:var(--modal-text-muted);line-height:1.5}.modal__summary{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--modal-spacing-md);padding:var(--modal-spacing-lg);background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid var(--modal-border);border-radius:12px}.modal__summary-title{margin:0;font-size:1rem;font-weight:600;color:var(--modal-text-strong)}.modal__summary-copy{margin:0;font-size:.875rem;color:var(--modal-text-muted);line-height:1.5}.modal__summary-list{margin:0;padding-left:1.25rem;display:grid;gap:.5rem;font-size:.875rem;color:var(--modal-text-primary)}.modal__footer,.modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--modal-spacing-sm);padding:var(--modal-spacing-md) var(--modal-spacing-xl);background:var(--modal-bg-footer);border-top:1px solid var(--modal-border)}.modal__actions--spread{justify-content:space-between}.modal__actions .btn{min-width:100px}.modal .form-row,.modal .form-group{display:flex;flex-direction:column;gap:.375rem}.modal .form-row__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.modal .input-label,.modal .form-label{font-size:.8125rem;font-weight:600;color:var(--modal-text-primary)}.modal .helper{font-size:.75rem;color:var(--modal-text-muted)}.modal .input,.modal .form-input{width:100%;padding:.625rem .875rem;font-size:.875rem;color:var(--modal-text-strong);background:#f8fafc;border:1px solid var(--modal-border);border-radius:8px;transition:all .15s ease}.modal .input:hover,.modal .form-input:hover{border-color:#cbd5e1}.modal .input:focus,.modal .form-input:focus{outline:none;border-color:var(--modal-border-accent);box-shadow:0 0 0 3px #22c55e26}.modal .input::placeholder,.modal .form-input::placeholder{color:#94a3b8}.modal .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--modal-spacing-md)}.rarity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--modal-spacing-md)}.rarity-item{display:flex;flex-direction:column;gap:.5rem;padding:var(--modal-spacing-md);background:#f8fafc;border:1px solid var(--modal-border);border-radius:10px;transition:all .15s ease}.rarity-item:hover{border-color:#22c55e4d;box-shadow:0 2px 8px #0000000a}.rarity-item:focus-within{border-color:var(--modal-border-accent);box-shadow:0 0 0 3px #22c55e1a}.rarity-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--modal-text-primary)}.alert{display:flex;align-items:flex-start;gap:var(--modal-spacing-sm);padding:var(--modal-spacing-md);border-radius:10px;border:1px solid}.alert--error{background:#ef44440f;border-color:#ef444433;color:#dc2626}.alert--success{background:#22c55e0f;border-color:#22c55e33;color:#16a34a}.alert--warning{background:#fbbf240f;border-color:#fbbf2433;color:#d97706}.alert--info{background:#3b82f60f;border-color:#3b82f633;color:#2563eb}.alert p{margin:0;font-size:.875rem;line-height:1.5}@keyframes backdropEnter{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.modal-backdrop{padding:var(--modal-spacing-md);align-items:center}.modal{width:100%;height:auto;max-height:calc(100dvh - (var(--modal-spacing-md) * 2))}.modal__header{padding:var(--modal-spacing-md) var(--modal-spacing-lg)}.modal__header:before{left:var(--modal-spacing-lg);right:var(--modal-spacing-lg)}.modal__header h3{font-size:1.125rem}.modal__header-meta{align-self:flex-start}.modal__body{width:auto;max-width:none;align-self:stretch;padding:var(--modal-spacing-lg);gap:var(--modal-spacing-md)}.modal__panel{padding:var(--modal-spacing-md)}.modal__footer,.modal__actions{padding:var(--modal-spacing-md) var(--modal-spacing-lg);flex-direction:column}.modal__actions .btn{width:100%}.modal .form-grid,.rarity-grid{grid-template-columns:1fr}}@media(max-width:480px){.modal-backdrop{padding:var(--modal-spacing-sm)}.modal{max-height:calc(100dvh - (var(--modal-spacing-sm) * 2))}.modal__header{padding:var(--modal-spacing-sm) var(--modal-spacing-md)}.modal__header:before{left:var(--modal-spacing-md);right:var(--modal-spacing-md)}.modal__header h3{font-size:1rem}.modal__body{padding:var(--modal-spacing-md)}.modal__chips{gap:.375rem}.modal-chip{font-size:.6875rem;padding:.25rem .5rem}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal,.modal__panel,.rarity-item,.modal-chip{animation:none;transition:none}.modal{opacity:1;transform:none}}@media(prefers-contrast:high){.modal{border-width:2px}.modal__header{border-bottom-width:2px}.modal__footer,.modal__actions{border-top-width:2px}.modal__panel{border-width:2px}}.modal__close:focus-visible{outline:2px solid var(--modal-border-accent);outline-offset:2px}
