input,select,textarea{font-size:16px!important}@media screen and (max-width: 768px){input,select,textarea{font-size:16px!important}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{width:100%;height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:Noto Sans Lao,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#4A90E2 0%,#2E5C8A 100%);color:#333;padding:0;margin:0;width:100%;min-height:100vh;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:auto!important;position:relative;width:100%;height:auto;touch-action:auto;-webkit-overflow-scrolling:touch}.container{max-width:1400px;margin:0 auto;padding:2rem 1rem}.header{text-align:center;margin-bottom:3rem;padding:2rem;background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 10px 40px #0003}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:1rem}.logo{display:flex;align-items:center;justify-content:center;gap:1rem}.logo-image{width:clamp(60px,10vw,100px);height:auto;object-fit:contain}.logo-icon{font-size:clamp(2.5rem,6vw,4rem)}.header h1{color:#2c3e50;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;margin:0;border:none;padding:0;background:linear-gradient(135deg,#4A90E2 0%,#2E5C8A 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:clamp(1rem,2.5vw,1.5rem);color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.2rem}.loading,.error{text-align:center;padding:3rem 2rem;font-size:1.5rem;font-weight:600;background:rgba(255,255,255,.95);border-radius:15px;box-shadow:0 8px 32px #0000001a;animation:fadeUp .4s ease both}.error{color:#dc3545;background:#ffe6e6}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:2rem}.card{background:rgba(255,255,255,.98);border-radius:20px;box-shadow:0 10px 30px #00000026;overflow:hidden;transition:transform .28s cubic-bezier(.34,1.2,.64,1),box-shadow .28s ease,border-color .2s ease;border:2px solid transparent;will-change:transform}.card:hover{transform:translateY(-10px) scale(1.01);box-shadow:0 20px 55px #00000038;border-color:#4a90e2}.card.pending{border-color:#ffc107;background:linear-gradient(135deg,#fff9e6 0%,#ffffff 100%)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#4A90E2 0%,#2E5C8A 100%);color:#fff}.date-badge{font-size:clamp(.875rem,2vw,1rem);font-weight:600;display:flex;align-items:center;gap:.5rem}.lot-number{font-size:clamp(.875rem,2vw,1.1rem);font-weight:700;background:rgba(255,255,255,.2);padding:.4rem .8rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pending-content{text-align:center;padding:3rem 2rem}.pending-icon{font-size:clamp(3rem,8vw,5rem);margin-bottom:1rem}.pending-text{font-size:clamp(1.5rem,4vw,2rem);color:#ffc107;font-weight:700;margin-bottom:2rem}.countdown-container{background:linear-gradient(135deg,#ffc107 0%,#ff9800 100%);padding:1.5rem;border-radius:15px;box-shadow:0 5px 20px #ffc1074d;transition:box-shadow .3s ease}.countdown-label{font-size:clamp(.875rem,2vw,1.1rem);color:#000000b3;font-weight:600;margin-bottom:.75rem}.countdown-timer{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;letter-spacing:.1rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.result-content{padding:2rem 1.5rem}.main-number{text-align:center;margin-bottom:2rem}.number-label{font-size:clamp(.875rem,2vw,1rem);color:#666;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1rem}.number-item.large{width:100%;text-align:center}.number-item.large .number-value{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#4a90e2}.three-digit-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0;text-align:center}.three-digit-label{font-size:clamp(.875rem,2vw,1rem);color:#666;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1rem}.three-digit-number{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,rgba(5,150,105,.1) 100%);padding:1rem 2rem;border-radius:15px;display:inline-block;min-width:150px;box-shadow:0 4px 15px #10b98133}.win-number{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:900;color:#dc3545;letter-spacing:.2rem;text-shadow:3px 3px 6px rgba(220,53,69,.2);padding:1rem;background:linear-gradient(135deg,#ffe6e6 0%,#fff5f5 100%);border-radius:15px;border:3px solid #dc3545;transition:transform .2s ease,box-shadow .2s ease}.win-number:hover{transform:scale(1.04);box-shadow:0 6px 20px #dc354540}.animal-zodiac{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:1.5rem;background:linear-gradient(135deg,#4A90E2 0%,#2E5C8A 100%);border-radius:15px;margin-bottom:2rem;box-shadow:0 5px 20px #4a90e24d;animation:fadeUp .5s ease both;transition:transform .2s ease}.animal-zodiac:hover{transform:scale(1.02)}.animal-icon{font-size:clamp(2.5rem,6vw,4rem);filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.animal-name{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.number-breakdown{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;background:#f8f9fa;padding:1.5rem;border-radius:15px}.breakdown-section{text-align:center}.breakdown-label{font-size:clamp(.875rem,2vw,1.1rem);font-weight:700;color:#4a90e2;margin-bottom:1rem;text-transform:uppercase}.breakdown-numbers{display:flex;flex-direction:column;gap:.75rem}.number-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:white;padding:.75rem 1rem;border-radius:10px;box-shadow:0 2px 8px #0000000d}.number-type{font-size:clamp(.75rem,1.8vw,.9rem);color:#666;font-weight:600}.number-value{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;color:#2c3e50;min-width:3rem;text-align:right}.breakdown-divider{width:2px;background:linear-gradient(180deg,transparent 0%,#4A90E2 50%,transparent 100%)}.seo-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.container{padding:1rem .5rem}.header{padding:1.5rem 1rem;margin-bottom:2rem}.header-top{flex-direction:column;text-align:center}.logo{width:100%;justify-content:center}.card{border-radius:15px}.result-content{padding:1.5rem 1rem}.number-breakdown{grid-template-columns:1fr;gap:1rem}.breakdown-divider{display:none}.breakdown-section:first-child{padding-bottom:1rem;border-bottom:2px solid #4A90E2}.animal-zodiac{flex-direction:row;padding:1.25rem}}@media (min-width: 641px) and (max-width: 1024px){.results-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (min-width: 1025px){.results-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.logout-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:9999}.logout-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080}.logout-modal-content{position:relative;background:#ffffff;border-radius:16px;padding:24px;max-width:400px;width:90%;margin:0 16px;z-index:10;box-shadow:0 20px 60px #0000004d;animation:fadeInScale .3s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.logout-modal-body{text-align:center;margin-bottom:24px}.logout-icon-wrapper{margin:0 auto 16px;width:64px;height:64px;background:rgba(239,68,68,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ef4444}.logout-modal-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:8px;font-family:Noto Sans Lao,sans-serif}.logout-modal-description{font-size:.95rem;color:#6b7280;font-family:Noto Sans Lao,sans-serif}.logout-modal-actions{display:flex;gap:12px}.btn-cancel,.btn-confirm-logout{flex:1;padding:12px 16px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Noto Sans Lao,sans-serif}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.btn-confirm-logout{background:#ef4444;color:#fff}.btn-confirm-logout:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-cancel:active,.btn-confirm-logout:active{transform:translateY(0)}.auth-buttons{display:flex;gap:1rem;align-items:center}.auth-buttons.user-logged-in{gap:.75rem}.user-info{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.2);padding:.6rem 1rem;border-radius:10px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-info svg{flex-shrink:0}.user-details{display:flex;flex-direction:column;gap:.2rem}.user-name{font-weight:700;font-size:.9rem}.user-balance{font-size:.8rem;opacity:.9;font-weight:600}.btn-buy{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;background:linear-gradient(135deg,#28a745 0%,#20803a 100%);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Noto Sans Lao,sans-serif;font-size:.95rem;box-shadow:0 4px 15px #28a7454d}.btn-buy:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.btn-logout{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:rgba(220,53,69,.9);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Noto Sans Lao,sans-serif;font-size:.9rem}.btn-logout:hover{background:rgba(220,53,69,1);transform:translateY(-2px)}.btn-login,.btn-register{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Noto Sans Lao,sans-serif}.btn-login{background:rgba(74,144,226,.1);color:#4a90e2;border:2px solid #4A90E2}.btn-login:hover{background:#4A90E2;color:#fff}.btn-register{background:linear-gradient(135deg,#4A90E2 0%,#2E5C8A 100%);color:#fff;box-shadow:0 4px 15px #4a90e24d}.btn-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a90e266}@media (max-width: 640px){.auth-buttons{gap:.5rem}.btn-login,.btn-register{padding:.6rem 1rem;font-size:.9rem}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #4a90e266}50%{box-shadow:0 0 0 8px #4a90e200}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes numberPop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.animate-fade-up{animation:fadeUp .45s ease both}.animate-fade-in{animation:fadeIn .3s ease both}.animate-slide-down{animation:slideDown .35s ease both}.animate-scale-in{animation:scaleIn .3s ease both}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-number-pop{animation:numberPop .5s cubic-bezier(.34,1.56,.64,1) both}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.12s}.stagger-children>*:nth-child(3){animation-delay:.19s}.stagger-children>*:nth-child(4){animation-delay:.26s}.stagger-children>*:nth-child(5){animation-delay:.33s}.stagger-children>*:nth-child(n+6){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,#e8ecef 25%,#f5f7fa 50%,#e8ecef 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:8px}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-block{height:120px;border-radius:16px}.page-spinner{display:flex;align-items:center;justify-content:center;min-height:220px;flex-direction:column;gap:14px;color:#ffffffd9;font-size:.95rem}.page-spinner:before{content:"";width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.modal-enter{animation:scaleIn .28s cubic-bezier(.34,1.2,.64,1) both}.modal-overlay-enter{animation:fadeIn .22s ease both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
