*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:2px solid #f3f4f6;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%)}body{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#d946ef 100%);min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app-layout{width:100%;min-height:100vh;display:flex}.sidebar{z-index:100;background:#fff;flex-direction:column;width:380px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 20px #0000001a}.sidebar-header{z-index:10;background:linear-gradient(135deg,#f9fafb 0%,#fff 100%);border-bottom:2px solid #f3f4f6;justify-content:space-between;align-items:center;padding:24px 20px;display:flex;position:sticky;top:0}.sidebar-header h1{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#d946ef 100%);-webkit-text-fill-color:transparent;text-align:left;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5em;font-weight:800}.github-link{color:#6b7280;border-radius:8px;align-items:center;padding:8px;text-decoration:none;transition:all .3s;display:flex}.github-link:hover{color:#1f2937;background:#6366f11a;transform:scale(1.1)}.github-link svg{display:block}.sidebar-content{flex:1;padding:20px;overflow-y:auto}.main-content{background:#fffffff2;flex:1;width:calc(100% - 380px);min-height:100vh;margin-left:380px;padding:32px}.welcome-message{background:#fff;border-radius:16px;max-width:800px;margin:60px auto;padding:40px;animation:.6s ease-in fadeIn;box-shadow:0 8px 24px #0000001a}.welcome-message h2{color:#1f2937;margin-bottom:16px;font-size:2em}.welcome-message>p{color:#4b5563;margin-bottom:32px;font-size:1.1em;line-height:1.6}.tips{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border-left:4px solid #8b5cf6;border-radius:12px;padding:24px}.tips h3{color:#1f2937;margin-bottom:16px;font-size:1.3em;font-weight:700}.tips ul{padding:0;list-style:none}.tips li{color:#4b5563;margin-bottom:8px;padding-left:28px;font-size:1em;line-height:1.8;position:relative}.tips li:before{content:"✓";color:#8b5cf6;font-size:1.2em;font-weight:700;position:absolute;left:0}.statistics-section{background:linear-gradient(135deg,#f9fafb 0%,#fff 100%);border-radius:16px;margin-top:48px;padding:32px;box-shadow:0 4px 20px #00000014}.statistics-section h3{color:#1f2937;text-align:center;margin-bottom:24px;font-size:1.5em;font-weight:600}.statistics-section h4{color:#374151;border-bottom:2px solid #e5e7eb;margin-bottom:16px;padding-bottom:8px;font-size:1.1em;font-weight:600}.statistics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px;display:grid}.statistics-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 12px #0000000f}.statistics-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.stat-item:last-child{border-bottom:none;padding-bottom:0}.stat-label{color:#6b7280;font-size:.9em;font-weight:500}.stat-value{color:#1f2937;font-size:1em;font-weight:600}.stat-value.total{color:#8b5cf6;font-size:1.1em}.stat-value.unavailable{color:#ef4444}.overall-statistics{background:#fff;border:2px solid #8b5cf6;border-radius:12px;padding:24px;box-shadow:0 2px 12px #0000000f}.overall-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px;display:grid}.overall-stat-item{background:#f9fafb;border-radius:8px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.overall-stat-item.highlight{background:linear-gradient(135deg,#fdf4ff 0%,#fae8ff 100%);border:1px solid #e9d5ff}.overall-stat-item .stat-label{color:#6b7280;font-size:.85em}.overall-stat-item .stat-value{color:#1f2937;font-size:1.15em}.overall-stat-item.highlight .stat-value{color:#7c3aed}.stat-detail{color:#6b7280;font-size:.85em;font-weight:400}.content-footer{text-align:center;color:#6b7280;border-top:2px solid #f3f4f6;margin-top:48px;padding:32px 24px}.content-footer p{margin:8px 0;font-size:.95em}.made-with-love{color:#9ca3af;font-size:.85em!important}.container{max-width:none;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0;animation:none}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}h2{color:#1f2937;align-items:center;gap:8px;margin-top:0;margin-bottom:24px;font-size:1.75em;font-weight:700;display:flex}.sidebar .input-group{margin-bottom:20px}.sidebar .input-group label{color:#1f2937;margin-bottom:8px;font-size:.9em;font-weight:600;display:block}.sidebar .input-group input[type=text],.sidebar .input-group select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.sidebar .input-group input[type=text]:focus,.sidebar .input-group select:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf61a}.input-section{display:none}.region-search{margin-bottom:16px}.search-input{background:#fff url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%239ca3af\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"></circle><path d=\"m21 21-4.35-4.35\"></path></svg>") 12px no-repeat;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 14px 10px 40px;font-size:14px;transition:all .3s}.search-input:focus{border-color:#8b5cf6;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #8b5cf61a}.region-categories{flex-direction:column;gap:12px;display:flex}.category-section{background:#fff;border:2px solid #e5e7eb;border-radius:10px;transition:all .3s;overflow:hidden}.category-section:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.category-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.category-header:hover{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%)}.category-title{color:#1f2937;align-items:center;gap:8px;font-size:.9em;font-weight:700;display:flex}.category-icon{font-size:1.2em}.region-count{color:#6b7280;margin-left:4px;font-size:.85em;font-weight:500}.category-actions{align-items:center;gap:10px;display:flex}.btn-select-all{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:none;border-radius:5px;padding:4px 10px;font-size:.75em;font-weight:600;transition:all .2s}.btn-select-all:hover{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);transform:scale(1.05);box-shadow:0 2px 8px #8b5cf666}.expand-icon{color:#8b5cf6;font-size:.9em;font-weight:700;transition:transform .2s}.category-content{background:#fff;padding:14px}.region-checkboxes{flex-direction:column;gap:8px;display:flex}.region-checkboxes label{cursor:pointer;background:#f9fafb;border:2px solid #e5e7eb;border-radius:6px;align-items:center;padding:8px 10px;font-size:.85em;transition:all .2s;display:flex}.region-checkboxes label:hover{background-color:#f3f4f6;border-color:#8b5cf6;transform:translate(2px)}.region-checkboxes input[type=checkbox]{cursor:pointer;accent-color:#8b5cf6;flex-shrink:0;width:16px;height:16px;margin-right:8px}.region-label{align-items:center;gap:6px;display:inline-flex}.currency-tag{color:#fff;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border-radius:4px;margin-left:2px;padding:2px 6px;font-size:.7em;font-weight:700}.checkbox-label{cursor:pointer;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;align-items:center;width:100%;padding:10px 14px;font-size:.9em;font-weight:500;transition:all .2s;display:inline-flex}.checkbox-label:hover{background-color:#f3f4f6;border-color:#8b5cf6}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#8b5cf6;width:18px;height:18px;margin-right:10px}.checkbox-label span{-webkit-user-select:none;user-select:none}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#d946ef 100%);border:none;border-radius:10px;width:100%;margin-top:8px;padding:14px 20px;font-size:16px;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 16px #8b5cf64d}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:not(:disabled):before{left:100%}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf680}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.error-message{color:#991b1b;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-left:4px solid #dc2626;border-radius:12px;margin-bottom:24px;padding:18px 20px;font-weight:500;box-shadow:0 4px 12px #dc262626}.loading{text-align:center;padding:60px}.loading p{color:#1f2937;margin:12px 0;font-size:18px;font-weight:500}.progress-details{background:#f9fafb;border-radius:12px;margin-top:24px;padding:24px;box-shadow:0 2px 8px #0000000d}.progress-stage{color:#6366f1!important;margin-bottom:8px!important;font-size:20px!important;font-weight:700!important}.progress-step{color:#4b5563!important;margin-bottom:16px!important;font-size:16px!important}.progress-bar-container{background:#e5e7eb;border-radius:16px;width:100%;height:32px;margin:12px 0;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-bar{background:linear-gradient(90deg,#8b5cf6 0%,#6366f1 100%);border-radius:16px;height:100%;transition:width .3s;box-shadow:0 2px 8px #8b5cf666}.progress-text{color:#1f2937;z-index:1;font-size:14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-info{margin-top:16px}.progress-info p{color:#6b7280!important;margin:8px 0!important;font-size:14px!important}.loading-hint{color:#6b7280!important;margin-top:20px!important;font-size:14px!important}.spinner{border:4px solid #f3f4f6;border-top-color:#8b5cf6;border-radius:50%;width:60px;height:60px;margin:0 auto 24px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.results-section{animation:.6s ease-in fadeIn}.results-section h2{color:#fff;background:linear-gradient(135deg,#1f2937 0%,#374151 100%);border-radius:12px;margin-bottom:24px;padding:16px 24px;box-shadow:0 4px 12px #0000001a}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.table-container{scrollbar-gutter:stable;border:1px solid #e5e7eb;border-radius:12px;overflow:auto hidden;box-shadow:0 8px 24px #0000001f}.table-container::-webkit-scrollbar{height:12px}.table-container::-webkit-scrollbar-track{background:#f9fafb;border-radius:0 0 12px 12px}.table-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:2px solid #f9fafb;border-radius:10px}.table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%)}table{border-collapse:collapse;background:#fff;width:100%;min-width:100%;display:table}thead{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#d946ef 100%)}th{text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;padding:18px;font-size:.85em;font-weight:700}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s;position:relative}th.sortable:hover{background:#ffffff1a}.sort-icon{opacity:.8;margin-left:6px;font-size:.9em}td{border-bottom:1px solid #f3f4f6;padding:16px 18px}tbody tr{transition:all .2s}tbody tr:hover{background-color:#f9fafb;transform:scale(1.001);box-shadow:0 2px 8px #0000000f}tbody tr:last-child td{border-bottom:none}.game-name{color:#1f2937;max-width:400px;font-weight:600}.game-link{color:#1f2937;align-items:center;text-decoration:none;transition:all .2s;display:inline-flex;position:relative}.game-link:hover{color:#8b5cf6;text-decoration:none}.game-link:hover strong{text-decoration:underline}.game-link:after{content:"🔗";opacity:0;margin-left:8px;font-size:.8em;transition:opacity .2s}.game-link:hover:after{opacity:.7}.price-min{color:#10b981;font-size:1.05em;font-weight:700}.price-max{color:#ef4444;font-size:1.05em;font-weight:700}.price-with-region{flex-direction:column;gap:4px;display:flex}.price-value{font-size:1.05em;font-weight:700}.region-info{opacity:.8;font-size:.8em;font-weight:400}.price-diff{color:#f59e0b;font-size:1.1em;font-weight:700}.price-unavailable{color:#9ca3af;font-style:italic}.price-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.raw-price{color:#1f2937;font-size:1.1em;font-weight:700}.raw-original-price{align-items:center;gap:6px;font-size:.85em;display:flex}.converted-price{color:#6b7280;margin-top:2px;font-size:.8em;font-style:italic}.price-with-discount{flex-direction:column;gap:4px;display:flex}.current-price{font-size:1.05em;font-weight:600}.original-price{color:#6b7280;font-size:.8em}.line-through{color:#9ca3af;text-decoration:line-through}.discount-badge{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:5px;padding:3px 8px;font-size:.85em;font-weight:700;box-shadow:0 2px 4px #10b9814d}@media (max-width:768px){.app-layout{flex-direction:column}.sidebar{width:100%;max-height:none;position:relative}.sidebar-header h1{text-align:center;font-size:1.3em}.main-content{width:100%;margin-left:0;padding:20px}h2{font-size:1.4em}.sidebar-content{max-height:70vh;overflow-y:auto}.region-checkboxes{gap:6px}.category-header{padding:10px 12px}.category-title{font-size:.85em}.btn-select-all{padding:3px 8px;font-size:.7em}table{font-size:13px}th,td{padding:10px 8px}th{font-size:.75em}.sort-icon{margin-top:2px;margin-left:0;display:block}.loading{padding:40px 20px}.spinner{width:50px;height:50px}}@media (max-width:480px){.sidebar-header h1{font-size:1.1em}.sidebar-content{padding:16px}.btn-primary{padding:12px 16px;font-size:14px}.main-content{padding:16px}}html{scroll-behavior:smooth}::selection{color:#fff;background:#8b5cf6}::selection{color:#fff;background:#8b5cf6}:focus-visible{outline-offset:2px;outline:2px solid #8b5cf6}tbody tr:nth-child(2n){background-color:#fafafa}tbody tr:nth-child(2n):hover{background-color:#f9fafb}td:not(.game-name):not(.price-min):not(.price-max):not(.price-diff){position:relative}td:not(.game-name):not(.price-min):not(.price-max):not(.price-diff):hover:after{content:"";pointer-events:none;background:#8b5cf60d;position:absolute;inset:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading p{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.btn-primary:active:not(:disabled),.btn-select-all:active{transform:scale(.95)}input::placeholder,select::placeholder{color:#9ca3af}.hint-text{color:#6b7280;margin-top:6px;font-size:.85em;font-style:italic}.badge{border-radius:12px;padding:4px 10px;font-size:.8em;font-weight:600;line-height:1;display:inline-block}.badge-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.badge-warning{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.badge-danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.badge-info{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}
