:root{--color-bg:#0a0a0f;--color-surface:#12121a;--color-surface-2:#1c1c28;--color-border:#2a2a3a;--color-text:#e2e2f0;--color-text-muted:#6b6b8a;--color-text-heading:#f5f5ff;--color-accent:#aa3bff;--color-accent-glow:#aa3bff59;--reel-item-height:72px;--reel-window-rows:3;--reel-window-height:calc(var(--reel-item-height) * var(--reel-window-rows));--font-sans:system-ui, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 24px #0009;--shadow-lg:0 8px 48px #000c}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100svh;margin:0;font-size:16px;line-height:1.5}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--color-text-heading);margin:0}p{margin:0}button{cursor:pointer;font:inherit}ul{margin:0;padding:0;list-style:none}.modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg), 0 0 48px var(--color-accent-glow);border-radius:16px;width:100%;max-width:560px;max-height:90svh;padding:32px;animation:.22s ease-out modal-in;overflow-y:auto}.modal-title{text-align:center;color:var(--color-text-heading);letter-spacing:-.02em;margin-bottom:24px;font-size:24px;font-weight:700}@keyframes modal-in{0%{opacity:0;transform:scale(.93)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.btn{letter-spacing:.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:opacity .15s,box-shadow .15s,transform 80ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--md{padding:10px 20px;font-size:14px}.btn--lg{padding:16px 40px;font-size:18px}.btn--primary{background:var(--color-accent);color:#fff;box-shadow:0 0 16px var(--color-accent-glow)}.btn--primary:hover:not(:disabled){box-shadow:0 0 28px var(--color-accent-glow), 0 0 8px var(--color-accent-glow)}.btn--ghost{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.difficulty-option{background:var(--color-surface-2);border:2px solid var(--color-border);text-align:left;width:100%;color:var(--color-text);border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.difficulty-option:hover{border-color:var(--color-accent)}.difficulty-option--selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent), 0 0 16px var(--color-accent-glow)}.difficulty-option__label{color:var(--color-text-heading);font-size:18px;font-weight:700}.difficulty-option__description{color:var(--color-text-muted);font-size:13px}.difficulty-option__badge{background:var(--color-border);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-self:flex-end;margin-top:4px;padding:2px 8px;font-size:11px}.difficulty-modal-options{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.difficulty-modal-footer{justify-content:center;display:flex}.reel{flex-direction:column;align-items:center;gap:10px;display:flex}.reel-label{letter-spacing:.2em;text-transform:uppercase;color:var(--reel-color,var(--color-accent));font-size:10px;font-weight:700}.reel-window{width:160px;height:var(--reel-window-height);border:2px solid var(--reel-color,var(--color-accent));box-shadow:0 0 12px var(--reel-color-glow,var(--color-accent-glow)), inset 0 0 24px #0009;background:var(--color-surface);border-radius:10px;position:relative;overflow:hidden}.reel-window:before,.reel-window:after{content:"";z-index:2;pointer-events:none;height:38%;position:absolute;left:0;right:0}.reel-window:before{background:linear-gradient(to bottom, var(--color-surface) 0%, transparent 100%);top:0}.reel-window:after{background:linear-gradient(to top, var(--color-surface) 0%, transparent 100%);bottom:0}.reel-window-highlight{left:0;right:0;top:var(--reel-item-height);height:var(--reel-item-height);border-top:1px solid var(--reel-color,var(--color-accent));border-bottom:1px solid var(--reel-color,var(--color-accent));z-index:1;pointer-events:none;opacity:.6;background:#ffffff08;position:absolute}.reel-strip{transition:none;position:absolute;top:0;left:0;right:0}.reel-strip--spinning{animation:reel-spin var(--reel-spin-duration,2s) cubic-bezier(.2, 0, 0, 1) forwards;transition:none}@keyframes reel-spin{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--reel-final-y)))}}.reel-item{height:var(--reel-item-height);text-align:center;color:var(--color-text);justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:600;line-height:1.2;display:flex}.reel-item--result{color:var(--reel-color,var(--color-accent));text-shadow:0 0 10px var(--reel-color-glow,var(--color-accent-glow))}.spin-button-wrapper{flex-direction:column;align-items:center;display:flex}.spin-button.btn--lg{letter-spacing:.14em;min-width:200px;box-shadow:0 0 32px var(--color-accent-glow), 0 0 8px var(--color-accent-glow);border-radius:50px;font-size:20px}.spin-button.btn--lg:not(:disabled):hover{box-shadow:0 0 56px var(--color-accent-glow), 0 0 16px var(--color-accent-glow);transform:scale(1.04)}.spin-button--active.btn--lg:disabled{opacity:.65;animation:.9s ease-in-out infinite spin-pulse}@keyframes spin-pulse{0%,to{box-shadow:0 0 16px var(--color-accent-glow)}50%{box-shadow:0 0 40px var(--color-accent-glow), 0 0 12px var(--color-accent-glow)}}.slot-machine{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg), 0 0 80px #aa3bff0f;border-radius:24px;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:900px;padding:40px 40px 36px;display:flex}.slot-machine-header{letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.slot-machine-reels{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;display:flex}.slot-machine-controls{flex-direction:column;align-items:center;gap:14px;display:flex}.slot-machine-results-modal{flex-direction:column;align-items:center;gap:24px;display:flex}.slot-machine-results{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.slot-machine-result-card{background:var(--color-surface-2);border:1px solid var(--reel-color,var(--color-border));text-align:center;border-radius:12px;flex:1;min-width:160px;max-width:240px;padding:14px 18px}.slot-machine-result-card__category{text-transform:uppercase;letter-spacing:.15em;color:var(--reel-color,var(--color-text-muted));margin-bottom:6px;font-size:10px;font-weight:700}.slot-machine-result-card__item{color:var(--color-text-heading);margin-bottom:4px;font-size:16px;font-weight:700}.slot-machine-result-card__description{color:var(--color-text-muted);font-size:12px;line-height:1.4}.slot-machine-page{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:40px 16px;display:flex}.slot-machine-page-header{text-align:center;flex-direction:column;gap:6px;display:flex}.slot-machine-page-title{letter-spacing:-.03em;color:var(--color-text-heading);font-size:clamp(28px,5vw,42px);font-weight:800}.slot-machine-difficulty-section{justify-content:space-between;align-items:center;display:flex}.difficulty-chip{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:12px;padding:5px 14px;transition:border-color .15s;display:inline-flex}.difficulty-chip:hover{border-color:var(--color-text-muted)}.difficulty-chip__label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:700;transition:color .15s}.difficulty-chip:hover .difficulty-chip__label{color:var(--color-text-heading)}.difficulty-chip__change{letter-spacing:.04em;color:var(--color-text-muted);opacity:.6;margin-left:auto;font-size:11px;font-weight:500;transition:opacity .15s}.difficulty-chip:hover .difficulty-chip__change{opacity:1}
