@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Patrick+Hand&display=swap";.odds-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.odds-modal{background:var(--color-bg-primary);border:2px solid var(--color-text-secondary);border-radius:12px;max-width:500px;width:100%;max-height:85vh;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;display:flex;flex-direction:column;font-family:var(--font-body)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.odds-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px dashed var(--color-text-secondary);background:transparent}.odds-modal-header h2{margin:0;font-size:1.8rem;color:var(--color-highlight);font-weight:400;font-family:var(--font-display)}.odds-modal-close{background:transparent;border:2px solid var(--color-text-secondary);color:var(--color-text-secondary);font-size:1.2rem;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.odds-modal-close:hover{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);transform:scale(1.1)}.odds-modal-content{padding:25px;overflow-y:auto;color:var(--color-text-primary)}.odds-section{margin-bottom:25px;background:var(--color-bg-secondary);padding:15px;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.odds-section:last-child{margin-bottom:0}.odds-section h3{font-size:1.2rem;color:var(--color-text-primary);margin:0 0 15px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1);font-family:var(--font-display)}.odds-explanation{color:var(--color-text-primary);font-size:.95rem;line-height:1.5;margin:0 0 15px}.odds-highlight{display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-primary);padding:15px 20px;border-radius:8px;border:1px solid var(--color-accent)}.odds-label{color:var(--color-text-secondary);font-size:.95rem;font-weight:600}.odds-value{color:var(--color-accent);font-size:1.5rem;font-weight:700;font-family:var(--font-display)}.odds-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.odds-info-item{background:var(--color-bg-primary);padding:15px;border-radius:8px;text-align:center;border:1px solid rgba(0,0,0,.05)}.info-label{display:block;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-weight:600}.info-value{display:block;color:var(--color-text-primary);font-size:1.3rem;font-weight:700;font-family:var(--font-display)}.odds-table-container{overflow-x:auto;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.odds-table{width:100%;border-collapse:collapse;background:var(--color-bg-primary)}.odds-table th,.odds-table td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(0,0,0,.05)}.odds-table th{color:var(--color-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;background:var(--color-bg-secondary)}.odds-table td{color:var(--color-text-primary);font-size:.9rem}.odds-table tr:last-child td{border-bottom:none}.odds-table tr:hover td{background:#00000005}.prize-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prize-emoji{font-size:1.3rem}.prize-name{font-weight:600;color:var(--color-text-primary)}.prize-value{color:var(--color-text-secondary);font-size:.8rem}.chance-cell{font-weight:600;color:var(--color-highlight)}.odds-cell{color:var(--color-text-secondary)}.no-prizes-message{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:20px}.odds-disclaimer{background:#ffffff80;padding:15px;border-radius:8px;margin-top:20px;border:1px dashed var(--color-text-secondary)}.odds-disclaimer p{margin:0;font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}@media(max-width:480px){.odds-modal-backdrop{padding:10px}.odds-modal{max-height:90vh}.odds-modal-header{padding:15px 20px}.odds-modal-header h2{font-size:1.5rem}.odds-modal-content{padding:20px}.odds-info-grid{grid-template-columns:repeat(3,1fr);gap:8px}.odds-info-item{padding:10px 8px}.info-label{font-size:.65rem}.info-value{font-size:1.1rem}.prize-cell{flex-direction:column;align-items:flex-start;gap:4px}.prize-emoji{font-size:1.5rem}.odds-table th,.odds-table td{padding:10px 8px}}.store-page{animation:fadeIn .5s ease-out;padding:20px 20px 80px;max-width:1200px;margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.store-header{text-align:center;margin-bottom:30px;background:#0006;padding:55px 15px 15px;border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative}.back-to-stores-btn{position:absolute;left:15px;top:10px;padding:.5rem 1rem;background:#fff3;color:var(--color-text-primary, #fff);border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.back-to-stores-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translate(-2px)}.store-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-highlight);margin:0 0 5px;text-shadow:2px 2px 0px var(--color-bg-primary)}.store-subtitle{font-family:var(--font-body);font-size:1.1rem;color:var(--color-text-secondary);margin:0}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:30px}.ticket-card{background:var(--color-card-bg);border:1px solid var(--color-bg-secondary);border-radius:4px;padding:20px;box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;position:relative}.ticket-card:hover{transform:translateY(-5px) rotate(1deg);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.ticket-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;border-bottom:1px dashed var(--color-text-secondary);padding-bottom:8px}.ticket-card-title{font-family:var(--font-display);font-size:1.6rem;color:var(--color-highlight);margin:0;line-height:1.2}.ticket-card-header-actions{display:flex;align-items:center;gap:8px}.odds-info-btn{background:transparent;border:1px solid var(--color-text-secondary);color:var(--color-text-secondary);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.odds-info-btn:hover{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);transform:scale(1.1)}.owned-badge{background:var(--color-bg-secondary);color:var(--color-accent);font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:12px;border:1px solid var(--color-accent)}.ticket-card-description{font-size:1rem;color:var(--color-text-primary);margin:0 0 15px;line-height:1.5}.ticket-card-info{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.ticket-areas,.ticket-win-condition{font-size:.85rem;color:#555;padding:5px 10px;background:#0000000d;border-radius:8px}.ticket-card-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;padding-top:15px;border-top:1px solid rgba(0,0,0,.1)}.price-tag{display:flex;align-items:center;gap:6px}.price-icon{font-size:1.5rem}.price-amount{font-size:1.4rem;font-weight:700;color:#b8860b}.price-label{font-size:.9rem;color:#888}.purchase-buttons{display:flex;gap:10px}.purchase-btn{padding:10px 18px;font-size:.95rem;font-weight:600;border:none;border-radius:25px;cursor:pointer;transition:all .3s ease}.purchase-btn.single{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;box-shadow:0 4px 12px #11998e4d}.purchase-btn.single:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 18px #11998e66}.purchase-btn.pack{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.purchase-btn.pack:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 18px #667eea66}.purchase-btn.disabled{background:linear-gradient(135deg,#999,#bbb);cursor:not-allowed;box-shadow:none}.store-footer{text-align:center;padding-top:20px;border-top:2px dashed rgba(0,0,0,.1)}.go-to-inventory-btn{padding:15px 35px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#e94560,#ff6b9d);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #e9456066}.go-to-inventory-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #e9456080}@media(max-width:768px){.store-title{font-size:1.6rem}.ticket-grid{grid-template-columns:1fr}.ticket-card-actions{flex-direction:column;align-items:stretch}.price-tag,.purchase-buttons{justify-content:center}}@media(max-width:480px){.store-title{font-size:1.4rem}.store-subtitle{font-size:1rem}.ticket-card{padding:15px}.ticket-card-title{font-size:1.1rem}.purchase-btn{padding:8px 14px;font-size:.85rem}.go-to-inventory-btn{padding:12px 25px;font-size:1rem}}.ticket-tabs{display:flex;justify-content:center;gap:15px;margin-bottom:30px}.ticket-tab{padding:10px 25px;font-family:var(--font-display);font-size:1.2rem;font-weight:400;border:1px solid var(--color-bg-secondary);border-radius:6px;cursor:pointer;background:var(--color-bg-secondary);color:var(--color-text-secondary);transition:all .2s ease}.ticket-tab:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.ticket-tab.active{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);box-shadow:var(--shadow-sm);font-weight:700}.store-selection-page{padding:1.5rem;max-width:1200px;margin:0 auto;min-height:calc(100vh - 80px)}.store-selection-header{text-align:center;margin-bottom:2rem}.store-selection-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary, #2c1810)}.store-selection-subtitle{font-size:1rem;color:var(--text-secondary, #8b7355);margin:0}.stores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.store-card{background:linear-gradient(135deg,#f8f4ef,#ede4d8);border:2px solid #d4c4b0;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden}.store-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(139,115,85,.05) 100%);pointer-events:none}.store-card.unlocked:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026;border-color:#b89968}.store-card.locked{opacity:.7;cursor:not-allowed;background:linear-gradient(135deg,#e8e4df,#d4cbc0)}.store-card.locked:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px);pointer-events:none}.store-card-icon{font-size:3rem;text-align:center;margin-bottom:1rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.store-card.locked .store-card-icon{filter:grayscale(100%) opacity(.5)}.store-card-name{font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 .75rem;color:var(--text-primary, #2c1810)}.store-card-description{text-align:center;color:var(--text-secondary, #8b7355);margin:0 0 1.5rem;line-height:1.5;min-height:3em}.store-card-info{position:relative;z-index:1}.store-price-range{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;background:#fff9;border-radius:8px;margin-bottom:1rem}.price-label{font-weight:600;color:var(--text-secondary, #8b7355)}.price-value{font-weight:700;color:var(--gold-color, #d4a853);font-size:1.1rem}.store-enter-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d4a853,#b89968);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.store-enter-btn:hover{background:linear-gradient(135deg,#e0b864,#c9a779);transform:translateY(-1px);box-shadow:0 4px 8px #00000040}.store-locked-info{position:relative;z-index:1;text-align:center;padding:1rem;background:#fff6;border-radius:8px;border:1px dashed #a89378}.lock-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.unlock-requirement,.unlock-progress{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:.5rem 0}.requirement-label,.progress-label{font-weight:600;color:var(--text-secondary, #8b7355);font-size:.9rem}.requirement-value{font-weight:700;color:var(--text-primary, #2c1810)}.progress-value{font-weight:700;color:var(--gold-color, #d4a853)}@media(max-width:768px){.store-selection-page{padding:1rem}.stores-grid{grid-template-columns:1fr;gap:1rem}.store-selection-title{font-size:1.5rem}.store-card{padding:1.25rem}.store-card-icon{font-size:2.5rem}.store-card-name{font-size:1.25rem}}.hand-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hand-modal{background:var(--color-bg-primary);border:2px solid var(--color-text-secondary);border-radius:12px;padding:24px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);font-family:var(--font-body)}.hand-modal-title{text-align:center;margin:0 0 20px;font-family:var(--font-display);font-size:1.8rem;color:var(--color-highlight);border-bottom:1px dashed var(--color-text-secondary);padding-bottom:10px}.hand-empty{text-align:center;padding:20px;color:var(--color-text-secondary)}.empty-hand-icon{font-size:3rem;margin-bottom:16px;opacity:.7}.hand-empty p{margin:8px 0;color:var(--color-text-primary)}.empty-hint{font-size:.9rem;color:var(--color-text-secondary)}.hand-progress{margin-bottom:16px}.hand-count{display:block;text-align:center;margin-bottom:8px;color:var(--color-text-primary);font-weight:600}.hand-progress-bar{height:10px;background:var(--color-bg-secondary);border-radius:5px;overflow:hidden;border:1px solid rgba(0,0,0,.1)}.hand-progress-fill{height:100%;background:var(--color-success);border-radius:5px;transition:width .3s ease}.hand-tickets{max-height:200px;overflow-y:auto;margin-bottom:16px;border:1px solid var(--color-bg-secondary);border-radius:8px;background:var(--color-bg-secondary)}.hand-ticket-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid rgba(0,0,0,.05)}.hand-ticket-item:last-child{border-bottom:none}.ticket-main-info{display:flex;align-items:center;gap:12px}.ticket-index{font-size:.85rem;color:var(--color-text-secondary);min-width:25px}.ticket-layout-name{flex:1;color:var(--color-text-primary);font-weight:600;font-family:var(--font-display)}.ticket-prize{color:var(--color-highlight);font-weight:700}.ticket-effect-info{display:flex;flex-direction:column;gap:4px;padding-left:37px;font-size:.85rem}.effect-type{color:var(--color-accent);font-weight:600}.effect-notes{color:var(--color-text-secondary);font-style:italic}.effect-value{color:var(--color-success);font-weight:700}.hand-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-bg-primary);border:2px solid var(--color-highlight);border-radius:8px;margin-bottom:20px}.total-label{font-size:1.1rem;font-family:var(--font-display);color:var(--color-text-primary)}.total-value{font-size:1.4rem;font-weight:700;color:var(--color-highlight)}.hand-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.cash-out-hand-btn{padding:14px 24px;font-family:var(--font-display);font-size:1.2rem;font-weight:700;background:var(--color-success);color:var(--color-bg-primary);border:none;border-radius:6px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.cash-out-hand-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.continue-scratching-btn{padding:12px 20px;font-size:1rem;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.continue-scratching-btn:hover{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.hand-full-message{text-align:center;color:var(--color-danger);font-weight:700;padding:8px;background:#ffffff80;border-radius:4px}.hand-secondary-actions{display:flex;justify-content:center;padding-top:12px;border-top:1px solid #3a3a5a}.discard-hand-btn{padding:8px 16px;font-size:.85rem;background:transparent;color:#888;border:1px solid #555;border-radius:4px;cursor:pointer;transition:color .2s,border-color .2s}.discard-hand-btn:hover{color:#e74c3c;border-color:#e74c3c}.hand-close-btn{width:100%;padding:12px;font-size:1rem;background:#3a3a6a;color:#ddd;border:none;border-radius:8px;cursor:pointer;margin-top:16px}.hand-close-btn:hover{background:#4a4a7a}.floating-hand-btn{position:fixed;bottom:20px;left:20px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f0c040,#d4a030);border:2px solid #fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;z-index:100;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.floating-hand-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006}.floating-hand-btn.has-tickets{animation:pulse 2s infinite}.hand-badge{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;font-size:.75rem;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #1a1a2e}@keyframes pulse{0%,to{box-shadow:0 4px 12px #f0c04066}50%{box-shadow:0 4px 20px #f0c040b3}}.inventory-page{animation:fadeIn .5s ease-out;padding:20px 20px 80px;max-width:1200px;margin:0 auto}.inventory-header{text-align:center;margin-bottom:30px;background:#0006;padding:15px;border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.inventory-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-highlight);margin:0 0 5px;text-shadow:2px 2px 0px var(--color-bg-primary)}.inventory-subtitle{font-family:var(--font-body);font-size:1.1rem;color:var(--color-text-secondary);margin:0}.hand-full-banner,.active-hand-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;margin-bottom:20px;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;font-family:var(--font-display)}.hand-full-banner{background:var(--color-danger);color:var(--color-bg-primary);border:1px solid rgba(0,0,0,.2);box-shadow:var(--shadow-sm)}.hand-full-banner:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.active-hand-banner{background:var(--color-accent);color:var(--color-bg-primary);border:1px solid rgba(0,0,0,.2);box-shadow:var(--shadow-sm)}.active-hand-banner:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.banner-icon{font-size:1.5rem}.banner-text{font-weight:600;font-size:1.1rem}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:30px}.inventory-ticket-card{background:var(--color-card-bg);border:1px solid var(--color-bg-secondary);border-radius:4px;padding:20px;box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease}.inventory-ticket-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.inventory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:1px dashed var(--color-text-secondary);padding-bottom:8px}.inventory-card-title{font-family:var(--font-display);font-size:1.6rem;color:var(--color-highlight);margin:0}.inventory-card-header-actions{display:flex;align-items:center;gap:8px}.inventory-ticket-card .odds-info-btn{background:transparent;border:1px solid var(--color-text-secondary);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s ease}.inventory-ticket-card .odds-info-btn:hover{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);transform:scale(1.1)}.ticket-count-badge{background:var(--color-bg-secondary);color:var(--color-accent);font-size:1rem;font-weight:700;padding:4px 12px;border-radius:12px;border:1px solid var(--color-accent);box-shadow:none}.inventory-card-description{font-size:1rem;color:var(--color-text-primary);margin:0 0 15px;line-height:1.5}.inventory-card-info{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.inventory-card-info .info-item{font-size:.9rem;color:var(--color-text-secondary);padding:5px 10px;background:var(--color-bg-primary);border-radius:4px;border:1px solid var(--color-bg-secondary)}.scratch-ticket-btn{width:100%;padding:12px 20px;font-family:var(--font-display);font-size:1.3rem;font-weight:400;background:var(--color-success);color:var(--color-bg-primary);border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:1px}.scratch-ticket-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);filter:brightness(1.1)}.scratch-ticket-btn:active{transform:translateY(0)}.scratch-ticket-btn.disabled,.scratch-ticket-btn:disabled{background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:not-allowed;box-shadow:none;transform:none;opacity:.7}.empty-inventory{text-align:center;padding:50px 20px;background:#0006;border-radius:12px;margin-bottom:30px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px dashed var(--color-text-secondary)}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.empty-message{font-family:var(--font-display);font-size:1.8rem;color:var(--color-text-secondary);margin:0 0 25px}.go-to-store-btn{padding:15px 35px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #667eea66}.go-to-store-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea80}.go-to-store-btn.secondary{background:linear-gradient(135deg,#e94560,#ff6b9d);box-shadow:0 6px 20px #e9456066}.go-to-store-btn.secondary:hover{box-shadow:0 8px 25px #e9456080}.inventory-footer{text-align:center;padding-top:20px;border-top:2px dashed rgba(0,0,0,.1)}@media(max-width:768px){.inventory-title{font-size:1.6rem}.inventory-grid{grid-template-columns:1fr}}@media(max-width:480px){.inventory-title{font-size:1.4rem}.inventory-subtitle{font-size:1rem}.inventory-ticket-card{padding:15px}.inventory-card-title{font-size:1.1rem}.scratch-ticket-btn{padding:12px 18px;font-size:1rem}.go-to-store-btn{padding:12px 25px;font-size:1rem}.empty-icon{font-size:3rem}.empty-message{font-size:1.1rem}}.betting-selector-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.betting-selector{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:30px;max-width:600px;width:100%;box-shadow:0 10px 40px #00000080;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.betting-title{font-size:28px;font-weight:700;color:gold;text-align:center;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.betting-subtitle{color:#aaa;text-align:center;margin:0 0 20px;font-size:14px}.player-gold-display{background:#ffd7001a;border:2px solid #ffd700;border-radius:10px;padding:15px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.gold-label{color:gold;font-weight:700;font-size:16px}.gold-amount{color:#fff;font-size:20px;font-weight:700}.insufficient-funds-warning{background:#f003;border:2px solid #ff4444;border-radius:10px;padding:15px;color:#f66;text-align:center;margin-bottom:20px;font-weight:700}.bet-options{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.bet-option{position:relative;background:linear-gradient(135deg,#2a2a4e,#1e1e3f);border:3px solid #444;border-radius:15px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left}.bet-option:hover:not(.disabled){border-color:gold;transform:translateY(-3px);box-shadow:0 8px 20px #ffd7004d}.bet-option.selected{border-color:gold;background:linear-gradient(135deg,#3a3a6e,#2e2e5f);box-shadow:0 0 20px #ffd70066}.bet-option.disabled{opacity:.5;cursor:not-allowed;border-color:#333}.bet-badge{position:absolute;top:-12px;right:20px;background:gold;color:#1a1a2e;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:700;box-shadow:0 4px 10px #0000004d}.bet-amount{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.bet-cost-label{color:#aaa;font-size:14px;font-weight:600}.bet-cost-value{color:gold;font-size:20px;font-weight:700}.bet-description{color:#fff;font-size:16px;font-weight:700;margin-bottom:10px}.bet-condition{color:#88f;font-size:13px;margin-bottom:8px;font-style:italic}.bet-multiplier{color:#4f4;font-size:18px;font-weight:700;margin-bottom:8px}.bet-refund-notice{color:#4f4;font-size:13px;font-weight:600}.insufficient-funds-label{color:#f66;font-size:13px;font-weight:700;margin-top:8px}.betting-actions{display:flex;gap:15px;justify-content:center}.cancel-bet-button,.confirm-bet-button{padding:15px 30px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;border:none;flex:1}.cancel-bet-button{background:#555;color:#fff}.cancel-bet-button:hover{background:#666}.confirm-bet-button{background:linear-gradient(135deg,gold,#ffb700);color:#1a1a2e}.confirm-bet-button:hover:not(:disabled){background:linear-gradient(135deg,#ffe44d,#ffc700);transform:translateY(-2px);box-shadow:0 8px 20px #ffd70066}.confirm-bet-button:disabled{background:#444;color:#777;cursor:not-allowed}@media(max-width:768px){.betting-selector{padding:12px;max-height:95vh;overflow-y:auto}.betting-title{font-size:20px;margin:0 0 6px}.betting-subtitle{font-size:12px;margin:0 0 10px}.player-gold-display{padding:8px 10px;margin-bottom:10px}.gold-label{font-size:13px}.gold-amount{font-size:15px}.bet-options{gap:8px;margin-bottom:12px}.bet-option{padding:10px}.bet-badge{padding:3px 10px;font-size:11px;top:-8px}.bet-amount{margin-bottom:6px;padding-bottom:6px}.bet-cost-label{font-size:12px}.bet-cost-value{font-size:15px}.bet-description{font-size:13px;margin-bottom:5px}.bet-condition{font-size:11px;margin-bottom:4px}.bet-multiplier{font-size:14px;margin-bottom:4px}.bet-refund-notice{font-size:11px}.insufficient-funds-label{font-size:11px;margin-top:5px}.betting-actions{flex-direction:column;gap:8px}.cancel-bet-button,.confirm-bet-button{width:100%;padding:10px 16px;font-size:13px}}.scratch-page{animation:fadeIn .3s ease-out;position:relative;min-height:100vh;padding-bottom:20px}.scratch-floating-nav{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px;z-index:50;pointer-events:none}.scratch-floating-nav>*{pointer-events:auto}.floating-back-btn,.floating-scratcher-btn{width:50px;height:50px;border-radius:50%;border:4px solid var(--color-bg-secondary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .2s ease}.floating-back-btn{background:var(--color-bg-primary);color:var(--color-text-primary)}.floating-back-btn:hover{transform:scale(1.1);background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.floating-scratcher-btn{background:var(--color-bg-primary);color:var(--color-accent)}.floating-scratcher-btn:hover{transform:scale(1.1);background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.floating-scratcher-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.scratcher-popup-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:flex-end;padding:70px 20px 20px;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scratcher-popup{background:var(--color-bg-primary);border:2px solid var(--color-accent);border-radius:8px;padding:15px;box-shadow:var(--shadow-lg);min-width:200px}.scratcher-popup h4{margin:0 0 15px;font-family:var(--font-display);font-size:1.4rem;color:var(--color-text-primary);text-align:center;border-bottom:1px dashed var(--color-text-secondary);padding-bottom:8px}.scratcher-options{display:flex;flex-direction:column;gap:10px}.scratcher-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-bg-secondary);border-radius:6px;background:var(--color-bg-secondary);cursor:pointer;transition:all .2s ease}.scratcher-option:hover{border-color:var(--color-accent);background:var(--color-bg-primary)}.scratcher-option.active{background:var(--color-accent);border-color:var(--color-accent)}.scratcher-option.active .scratcher-name{color:var(--color-bg-primary)}.scratcher-symbol{font-size:1.4rem}.scratcher-name{font-family:var(--font-display);font-size:1.1rem;color:var(--color-text-primary)}.ticket-wrapper{margin:50px 0 10px;display:flex;justify-content:center}.loading-state{text-align:center;padding:60px 20px}.loading-spinner{font-size:4rem;animation:spin 1s linear infinite;display:inline-block;margin-bottom:20px}.loading-state p{font-size:1.2rem;color:#666}.scratch-instructions{text-align:center;margin-top:10px}.scratch-instructions p{font-size:.9rem;color:#666;background:#667eea1a;padding:10px 20px;border-radius:20px;display:inline-block}.completion-section-compact{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:15px;animation:slideUp .3s ease-out}.completion-section-compact .turn-in-btn,.completion-section-compact .add-to-hand-btn{width:100%;max-width:280px}.add-to-hand-btn{padding:14px 35px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#f0c040,#d4a030);color:#1a1a2e;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 25px #f0c04066;display:flex;align-items:center;justify-content:center;gap:8px}.add-to-hand-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #f0c04080}.add-to-hand-btn:active{transform:translateY(0)}.add-to-hand-btn.secondary{background:linear-gradient(135deg,#3a3a6a,#2a2a5a);color:#f0c040;border:2px solid #f0c040;box-shadow:none}.add-to-hand-btn.secondary:hover{background:linear-gradient(135deg,#4a4a7a,#3a3a6a)}.hand-count-hint{font-size:.85rem;opacity:.8}.hand-full-warning{text-align:center;background:#f0c0401a;border:2px solid rgba(240,192,64,.3);border-radius:12px;padding:16px;max-width:280px}.hand-full-warning p{margin:0 0 8px;color:#f0c040}.hand-full-warning p:first-child{font-weight:700;font-size:1.1rem}.view-hand-btn{padding:10px 24px;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#f0c040,#d4a030);color:#1a1a2e;border:none;border-radius:25px;cursor:pointer;margin-top:8px;transition:all .2s ease}.view-hand-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f0c04066}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.prize-info-btn{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #667eea66;transition:all .2s ease}.prize-info-btn:hover{transform:scale(1.1)}.prize-details-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200}.prize-details-popup{background:#fff;border-radius:20px;padding:20px;max-width:320px;width:100%;box-shadow:0 15px 50px #0000004d;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.prize-details-popup h4{margin:0 0 15px;font-size:1.3rem;color:#333;text-align:center}.prizes-preview{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.prize-detail-item{display:flex;align-items:center;gap:10px;padding:10px;background:#f5f7fa;border-radius:10px}.prize-detail-item.has-hand-effect{background:linear-gradient(135deg,#9333ea1a,#a855f71a);border:2px solid rgba(147,51,234,.3)}.prize-emoji{font-size:1.5rem}.prize-info{flex:1;display:flex;flex-direction:column;gap:4px}.prize-name{font-weight:500;color:#333}.hand-effect-indicator{font-size:.85rem;color:#9333ea;font-weight:600}.prize-value{font-weight:700;color:#b8860b}.total-gold{text-align:center;font-size:1.2rem;font-weight:700;color:#b8860b;margin:0 0 15px}.close-popup-btn{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.close-popup-btn:hover{opacity:.9}.turn-in-btn{padding:14px 35px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 25px #11998e66;animation:pulse 2s ease-in-out infinite}.turn-in-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #11998e80}.turn-in-btn:active{transform:translateY(0)}.non-winning-message{text-align:center;padding:20px;background:#fffffff2;border:2px solid rgba(102,126,234,.3);border-radius:12px;margin-bottom:15px;max-width:280px;box-shadow:0 4px 12px #0000001a}.no-win-text{font-size:1.2rem;font-weight:600;color:#333;margin:0 0 8px}.better-luck-text{font-size:1rem;color:#666;margin:0}.non-winning-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.scratch-another-btn,.return-to-inventory-btn{padding:14px 28px;font-size:1rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.scratch-another-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.scratch-another-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.return-to-inventory-btn{background:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-accent)}.return-to-inventory-btn:hover{background:var(--color-accent);color:var(--color-bg-primary);transform:translateY(-2px)}.scratch-another-btn:active,.return-to-inventory-btn:active{transform:translateY(0)}@media(max-width:480px){.ticket-wrapper{margin-top:45px}.floating-back-btn,.floating-scratcher-btn{width:40px;height:40px;font-size:1.2rem}.turn-in-btn{padding:12px 28px;font-size:1rem}.prize-info-btn{width:40px;height:40px;font-size:1rem}.scratch-instructions p{font-size:.85rem;padding:8px 16px}.scratch-another-btn,.return-to-inventory-btn{padding:12px 24px;font-size:.95rem}}@media(prefers-reduced-motion:reduce){.turn-in-btn,.loading-spinner,.completion-section-compact,.prize-details-popup{animation:none}}.coffee-shop-hub{position:relative;width:100%;height:100%;min-height:100vh;overflow:hidden;animation:fadeIn .8s ease-out}.hub-title{position:absolute;top:15%;width:100%;text-align:center;pointer-events:none;z-index:10}.hub-title h1{font-family:var(--font-display);font-size:5rem;color:var(--color-highlight);text-shadow:4px 4px 0 var(--color-bg-primary);margin:0;transform:rotate(-3deg);animation:float 6s ease-in-out infinite}.hub-title span{font-size:1.5rem;color:var(--color-text-secondary);background:var(--color-bg-primary);display:inline-block;padding:5px 15px;border-radius:4px;margin-top:10px;box-shadow:var(--shadow-sm);animation:float 6s ease-in-out infinite}.hub-title span{display:block;font-size:1.5rem;color:var(--color-text-secondary);background:var(--color-bg-primary);display:inline-block;padding:5px 15px;border-radius:4px;margin-top:10px;box-shadow:var(--shadow-sm)}.hub-interactive-zone{position:absolute;border:2px dashed rgba(255,255,255,.3);background:#0003;border-radius:20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hub-interactive-zone:hover{background:#ffffff1a;border-color:var(--color-accent);transform:scale(1.02);box-shadow:0 0 30px var(--color-accent)}.zone-label{font-family:var(--font-display);font-size:2rem;margin-top:10px;text-shadow:2px 2px 4px black;opacity:0;transform:translateY(10px);transition:all .3s ease}.hub-interactive-zone:hover .zone-label{opacity:1;transform:translateY(0)}.zone-icon{font-size:4rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5))}.zone-counter{bottom:20%;right:15%;width:250px;height:200px}.zone-table{bottom:15%;left:15%;width:300px;height:250px}@keyframes float{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}@media(max-width:768px){.hub-title h1{font-size:3.5rem}.hub-interactive-zone{width:90%;left:5%;right:5%;height:150px;border:2px solid rgba(255,255,255,.2);background:#0006;opacity:1}.zone-label{opacity:1;transform:translateY(0);font-size:1.5rem}.zone-counter{bottom:50%;margin-bottom:20px}.zone-table{bottom:20%}}.settings-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-modal{background:var(--color-bg-primary);border:2px solid var(--color-text-secondary);border-radius:12px;padding:30px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;color:var(--color-text-primary);font-family:var(--font-body)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px dashed var(--color-text-secondary);padding-bottom:15px}.settings-header h2{margin:0;font-family:var(--font-display);font-size:2rem;color:var(--color-highlight)}.close-button{background:transparent;border:2px solid var(--color-text-secondary);color:var(--color-text-secondary);font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.settings-content{display:flex;flex-direction:column;gap:20px}.settings-section{background:var(--color-bg-secondary);border-radius:8px;padding:20px;border:1px solid rgba(0,0,0,.05)}.settings-section h3{margin:0 0 10px;font-family:var(--font-display);font-size:1.2rem;color:var(--color-text-primary)}.settings-description{margin:0 0 15px;font-size:.95rem;color:var(--color-text-primary)}.capability-list{display:flex;flex-direction:column;gap:12px}.capability-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--color-bg-primary);border-radius:6px;border:1px solid rgba(0,0,0,.1)}.capability-name{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--color-text-primary)}.capability-status{font-weight:700;font-size:.9rem;color:var(--color-success)}.reset-button{background:var(--color-danger);border:none;color:#fff;font-family:var(--font-display);font-size:1.1rem;padding:12px 24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;justify-content:center;box-shadow:var(--shadow-sm)}.reset-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.settings-note{font-size:.8rem;color:var(--color-text-secondary);text-align:center;margin-top:10px}@media(max-width:600px){.settings-modal{width:95%;padding:20px;max-height:90vh}.settings-header h2{font-size:24px}.settings-section{padding:15px}.capability-item{flex-direction:column;align-items:flex-start;gap:10px}.capability-status{align-self:flex-start}}.loading-screen{position:fixed;inset:0;background:linear-gradient(135deg,#1a0f2e,#2d1b4e);display:flex;align-items:center;justify-content:center;z-index:10000}.loading-content{text-align:center;padding:2rem}.loading-spinner{width:60px;height:60px;margin:0 auto 2rem;border:4px solid rgba(255,215,0,.2);border-top:4px solid #ffd700;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-title{color:gold;font-size:1.5rem;margin:0 0 .5rem;font-weight:700}.loading-subtitle{color:#ffffffb3;font-size:1rem;margin:0}.error-screen{position:fixed;inset:0;background:linear-gradient(135deg,#2d1b1b,#4e1b2d);display:flex;align-items:center;justify-content:center;z-index:10000}.error-content{text-align:center;padding:2rem;max-width:500px}.error-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-title{color:#ff6b6b;font-size:1.75rem;margin:0 0 1rem;font-weight:700}.error-message{color:#ffffffe6;font-size:1rem;margin:0 0 2rem;line-height:1.5}.retry-button{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #0000004d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0006}.retry-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000004d}.error-hint{color:#ffffff80;font-size:.875rem;margin:1.5rem 0 0;font-style:italic}.app{width:100%;height:100vh;overflow:hidden;position:relative;background-image:url(/assets/bg-cafe-XXzuOHm5.png);background-size:cover;background-position:center}.app:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.4) 100%)}.container{position:relative;width:100%;height:100%;max-width:none;margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0;display:flex;flex-direction:column;z-index:2;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-accent) var(--color-bg-secondary)}.container::-webkit-scrollbar{width:8px}.container::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.container::-webkit-scrollbar-thumb{background-color:var(--color-accent);border-radius:4px}.header-section{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px;position:relative;padding:10px}.title{font-family:var(--font-display);font-size:3.5rem;text-align:center;color:var(--color-highlight);margin:0;font-weight:400;text-shadow:2px 2px 0px var(--color-bg-primary);letter-spacing:2px}.settings-button{background:var(--color-bg-secondary);border:2px solid var(--color-accent);color:var(--color-accent);font-size:24px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-sm)}.settings-button:hover{transform:scale(1.1) rotate(90deg);background:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-md)}.settings-button:active{transform:scale(.95) rotate(90deg)}.subtitle{text-align:center;color:var(--color-text-secondary);font-size:1.2rem;margin-bottom:20px;font-family:var(--font-display)}.layout-selector{text-align:center;margin-bottom:20px}.layout-selector label{font-size:1rem;font-weight:600;color:#333;margin-right:10px}.layout-selector select{padding:8px 16px;font-size:1rem;border:2px solid #667eea;border-radius:8px;background:#fff;color:#333;cursor:pointer;transition:all .3s ease}.layout-selector select:hover{border-color:#764ba2;box-shadow:0 2px 8px #667eea4d}.layout-selector select:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #667eea33}.ticket-wrapper{margin:30px 0;display:flex;justify-content:center}.scratch-ticket-css{position:relative;width:400px;max-width:100%}.scratch-token{position:absolute;font-size:2rem;pointer-events:none;transform:translate(-50%,-50%);z-index:1000;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));animation:rotate .5s linear infinite}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.ticket-container{position:relative;width:100%;cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="%23ffd700" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>') 16 16,pointer;touch-action:none;border-radius:4px;overflow:hidden;box-shadow:0 15px 35px #0006,0 5px 15px #0003;transform:rotate(-1deg);transition:transform .3s ease;background-color:#fff}.ticket-container:active{transform:rotate(0) scale(.98)}.ticket-content{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border:4px solid #e94560;border-radius:20px}.ticket-header{background:linear-gradient(135deg,#e94560,#ff6b9d);padding:15px;text-align:center;border-bottom:3px solid #ffd700}.ticket-title{margin:0;font-size:1.5rem;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:2px}.scratch-areas{position:relative;width:100%;height:300px;background:#e94560}.ticket-container.with-background .ticket-content{background:none!important;border:none!important}.ticket-container.with-background .scratch-areas{height:0;padding-bottom:150%;background:transparent}.scratch-area{position:absolute;background:transparent;box-sizing:border-box}.ticket-container:not(.with-background) .scratch-area{background:linear-gradient(135deg,#667eea,#764ba2)}.area-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.scratch-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,silver,#e0e0e0,silver);z-index:1}.overlay-pattern{width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(160,160,160,.4) 8px,rgba(160,160,160,.4) 16px);display:flex;align-items:center;justify-content:center}.overlay-text{font-size:18px;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:3px}.prize-display{text-align:center;color:#fff;padding:10px}.prize-emoji{font-size:2.5rem;margin-bottom:5px;animation:bounce .6s ease-in-out;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.prize-name{font-size:1.2rem;font-weight:700;margin-bottom:5px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.prize-value{font-size:1.1rem;font-weight:600;color:gold;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.win-animation{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:999}.confetti{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,gold,#ff6b9d,#667eea,#38ef7d);animation:confetti-fall 2s ease-out forwards;opacity:1}.confetti:nth-child(1){left:10%;animation-delay:0s;background:gold}.confetti:nth-child(2){left:30%;animation-delay:.1s;background:#ff6b9d}.confetti:nth-child(3){left:50%;animation-delay:.2s;background:#667eea}.confetti:nth-child(4){left:70%;animation-delay:.15s;background:#38ef7d}.confetti:nth-child(5){left:90%;animation-delay:.05s;background:#e94560}@keyframes confetti-fall{0%{top:-10%;transform:rotate(0);opacity:1}to{top:110%;transform:rotate(720deg);opacity:0}}.reveal-message{margin-top:20px;padding:20px;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:10px;text-align:center;color:#fff;animation:slideIn .5s ease-out,pulse 1s ease-in-out .5s}.reveal-message p{margin:5px 0;font-size:1.2rem;font-weight:600}.reveal-message p:first-child{font-size:1.5rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.new-ticket-button{display:block;margin:30px auto;padding:18px 50px;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#e94560,#ff6b9d);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #e9456066}.new-ticket-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #e9456080;background:linear-gradient(135deg,#ff6b9d,#e94560)}.new-ticket-button:active{transform:translateY(0)}.completion-badge{margin-top:20px;padding:15px 30px;background:linear-gradient(135deg,gold,#ffed4e);border-radius:15px;text-align:center;animation:slideIn .5s ease-out;box-shadow:0 4px 15px #ffd70066}.completion-badge p{margin:0;font-size:1.3rem;font-weight:700;color:#1a1a2e;text-shadow:1px 1px 2px rgba(255,255,255,.5)}.gold-won{font-size:1.5rem!important;margin-top:10px!important;color:#b8860b!important}.user-state-display{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:15px;margin-bottom:20px;box-shadow:0 4px 15px #0003}.gold-display{display:flex;align-items:center;gap:8px}.gold-icon{font-size:1.8rem;animation:pulse-gold 2s ease-in-out infinite}@keyframes pulse-gold{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.gold-amount{font-size:1.5rem;font-weight:800;color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.gold-label{font-size:.9rem;color:#888;font-weight:600}.stats-display{display:flex;gap:15px}.stat-item{font-size:1rem;color:#ccc;padding:5px 10px;background:#ffffff1a;border-radius:8px;cursor:help}.achievements-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#667eea,#764ba2);padding:30px 40px;border-radius:20px;box-shadow:0 10px 50px #00000080;z-index:2000;text-align:center;animation:achievement-pop .5s ease-out;cursor:pointer}@keyframes achievement-pop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}70%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.achievements-popup h3{margin:0 0 15px;font-size:1.5rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.achievement-item{padding:10px 20px;background:#fff3;border-radius:10px;margin:10px 0;font-size:1.2rem;color:#fff;font-weight:600}.achievement-dismiss{margin:15px 0 0;font-size:.9rem;color:#ffffffb3;cursor:pointer}.ticket-info{display:flex;justify-content:center;gap:20px;margin-bottom:20px;padding:10px 15px;background:#0000000d;border-radius:10px}.ticket-count,.ticket-cost{font-size:1rem;font-weight:600;color:#333}.purchase-prompt{margin:30px 0;padding:30px;background:linear-gradient(135deg,#f5f7fa,#e4e7eb);border-radius:20px;text-align:center;box-shadow:0 4px 15px #0000001a}.purchase-message{font-size:1.2rem;color:#555;margin-bottom:20px}.purchase-button{display:inline-block;padding:15px 40px;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #11998e66}.purchase-button:hover:not(.disabled){transform:translateY(-3px);box-shadow:0 8px 25px #11998e80}.purchase-button:active:not(.disabled){transform:translateY(0)}.purchase-button.disabled{background:linear-gradient(135deg,#999,#bbb);cursor:not-allowed;box-shadow:none}.insufficient-funds{margin-top:15px;color:#e94560;font-weight:600;font-size:.95rem}.start-prompt{margin:30px 0;text-align:center}.start-button{display:inline-block;padding:20px 50px;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #667eea66;animation:pulse 2s ease-in-out infinite}.start-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea80}.start-button:active{transform:translateY(0)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.container{padding:20px}.header-section{gap:10px}.title{font-size:2rem}.settings-button{width:45px;height:45px;font-size:22px}.subtitle{font-size:1rem}.scratch-ticket-css{width:100%}.scratch-areas{height:270px}.ticket-title{font-size:1.3rem}.prize-emoji{font-size:2rem}.prize-name{font-size:1rem}.prize-value{font-size:.95rem}.overlay-text{font-size:16px}}@media(max-width:480px){.app{padding:10px}.container{padding:15px}.header-section{gap:8px}.title{font-size:1.5rem}.settings-button{width:40px;height:40px;font-size:20px}.subtitle{font-size:.9rem}.scratch-areas{height:250px}.ticket-title{font-size:1.1rem;padding:12px}.prize-emoji{font-size:1.8rem}.prize-name{font-size:.9rem}.prize-value{font-size:.85rem}.new-ticket-button{padding:15px 35px;font-size:1.1rem}.completion-badge p{font-size:1.1rem}.overlay-text{font-size:14px;letter-spacing:2px}}.game-header{background:var(--color-bg-secondary);padding:10px 15px;border-bottom:2px solid var(--color-bg-primary);margin-bottom:0;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:800px;margin:0 auto}.header-nav{display:flex;gap:15px;flex:1 1 auto;justify-content:flex-start}.nav-button{padding:6px 12px;font-family:var(--font-display);font-size:1.1rem;font-weight:400;background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all .3s ease;position:relative}.nav-button:hover{color:var(--color-accent);transform:translateY(-2px);background:transparent}.nav-button.active{color:var(--color-highlight);background:transparent;box-shadow:none;border-color:transparent}.nav-button.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--color-accent)}.header-right{display:flex;align-items:center;gap:15px;flex:0 0 auto}.header-gold{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0003;border-radius:20px;border:1px solid rgba(255,255,255,.05)}.header-gold .gold-icon{font-size:1.1rem}.header-gold .gold-amount{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--color-accent);text-shadow:none}.header-settings-button{background:transparent;border:none;color:var(--color-text-secondary);font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.header-settings-button:hover{color:var(--color-highlight);background:#ffffff1a;transform:rotate(90deg)}@media(max-width:768px){.game-header{padding:8px 12px}.header-content{gap:8px}.nav-button{padding:5px 10px;font-size:.8rem}.header-gold{padding:4px 8px}.header-gold .gold-amount{font-size:.9rem}.header-settings-button{width:28px;height:28px;font-size:14px}}@media(max-width:480px){.game-header{padding:6px 10px;top:5px}.nav-button{padding:4px 8px;font-size:.75rem}.header-gold{padding:3px 6px}.header-gold .gold-icon{font-size:.9rem}.header-gold .gold-amount{font-size:.85rem}.header-settings-button{width:26px;height:26px;font-size:12px}}:root{--font-display: "Patrick Hand", cursive;--font-body: "Nunito", sans-serif;--color-bg-primary: #2C241B;--color-bg-secondary: #4A3B2F;--color-text-primary: #E0D4C3;--color-text-secondary: #B0A090;--color-accent: #D4A373;--color-highlight: #F5E6CA;--color-success: #8BA888;--color-danger: #C96E6E;--color-card-bg: rgba(44, 36, 27, .95);--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 8px rgba(0,0,0,.4);--shadow-lg: 0 8px 16px rgba(0,0,0,.5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}
