*{box-sizing:border-box}:root{--bg:#f6f7fb;--card:#fff;--ink:#1a2a4a;--muted:#556;--tile:#eef1fb;--tile-hover:#dde4ff;--primary:#2d5bff;--primary-d:#1b48e3;--secondary:#8a93a6;--secondary-d:#727a8d;--good:#22c55e}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:12px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:8px}.logo{height:32px}.meta{display:flex;align-items:center;gap:14px;font-weight:600}.icon-btn{background:var(--card);border:1px solid #e6e8f2;border-radius:10px;min-width:36px;height:36px;padding:0 8px;font-weight:800;cursor:pointer;font-size:14px}.icon-btn{background:var(--card);border:1px solid #e6e8f2;border-radius:10px;min-width:60px;height:36px;padding:0 12px;font-weight:800;cursor:pointer;font-size:14px;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:4px}.main-container{padding:16px;display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 120px)}.nav-buttons{display:flex;justify-content:center;gap:12px;padding:12px 20px;background:var(--bg);border-bottom:1px solid #e6e8f2}.nav-buttons .icon-btn{min-width:150px;height:50px;padding:10px 20px;font-size:18px;font-weight:700}.card{background:var(--card);width:min(760px,92vw);margin:10px auto 32px;padding:24px;border-radius:16px;box-shadow:0 12px 28px #00000014;max-width:500px;width:100%}#theme{color:var(--ink);margin:0 0 4px;font-weight:600;font-size:18px}.drag-instruction{color:var(--muted);margin:0 0 10px;font-size:15px;font-weight:500}#theme{font-size:23px}.drag-instruction{font-size:19px}.list{list-style:none;padding:0;margin:12px 0 16px}.list li{background:var(--tile);margin:10px 0;padding:14px 16px;border-radius:12px;cursor:grab;-webkit-user-select:none;user-select:none;font-size:21px;transition:background .2s,transform .08s,opacity .2s;touch-action:none;position:relative}.list li:hover{background:var(--tile-hover)}.list li.selected{background:#e0f2fe;border:2px solid var(--primary);box-shadow:0 0 0 2px #2d5bff33}.list li.selected:after{content:"Tap another item to swap";position:absolute;top:-30px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:10}.actions{display:flex;gap:10px;margin:6px 0}.btn{padding:10px 14px;border-radius:10px;border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:700;transition:background .2s,transform .1s}.btn:hover{background:var(--primary-d)}.btn:active{transform:translateY(1px)}.btn.btn-secondary{background:var(--secondary)}.btn.btn-secondary:hover{background:var(--secondary-d)}.status{min-height:24px;margin:10px 0;color:var(--ink);font-weight:700}@keyframes celebrate{0%{transform:scale(1) rotate(0);background:var(--tile)}25%{transform:scale(1.1) rotate(-2deg);background:#22c55e}50%{transform:scale(1.15) rotate(2deg);background:#16a34a}75%{transform:scale(1.1) rotate(-1deg);background:#22c55e}to{transform:scale(1) rotate(0);background:#22c55e}}@keyframes pulse{0%,to{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 10px #22c55e00}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.list li.victory{animation:celebrate .8s ease-out forwards,pulse 1.5s ease-out .3s;color:#fff!important;font-weight:700;border:2px solid #16a34a}.list li.victory:nth-child(1){animation-delay:0s}.list li.victory:nth-child(2){animation-delay:.1s}.list li.victory:nth-child(3){animation-delay:.2s}.list li.victory:nth-child(4){animation-delay:.3s}.list li.victory:nth-child(5){animation-delay:.4s}.confetti-piece{position:fixed;width:8px;height:8px;background:#22c55e;animation:confetti 2s ease-out forwards;pointer-events:none;z-index:1000}.rank-feedback{position:fixed;top:20px;left:50%;transform:translate(-50%) scale(0);background:#1a202cf2;color:#fff;padding:20px 30px;border-radius:16px;box-shadow:0 20px 40px #0000004d;z-index:2000;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);max-width:90vw;word-wrap:break-word}.rank-feedback.show{opacity:1;transform:translate(-50%) scale(1)}.rank-feedback.hide{opacity:0;transform:translate(-50%) scale(.8)}.rank-score{font-size:28px;font-weight:800;color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,.6);animation:glow 1.5s ease-in-out;margin-bottom:8px}.rank-placement{font-size:18px;font-weight:600;color:#e2e8f0;margin-bottom:6px}.rank-deltas{font-size:16px;font-weight:600;color:#22c55e}.rank-delta{display:inline-block;margin:0 8px;animation:bounce-up .8s ease-out .3s both}@keyframes glow{0%,to{text-shadow:0 0 20px rgba(251,191,36,.6)}50%{text-shadow:0 0 30px rgba(251,191,36,1),0 0 40px rgba(251,191,36,.8)}}@keyframes bounce-up{0%{opacity:0;transform:translateY(20px)}60%{opacity:1;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.rank-confetti{position:fixed;width:6px;height:6px;pointer-events:none;z-index:1500;animation:rank-confetti-fall 2s ease-out forwards}@keyframes rank-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.status.victory-text{color:#22c55e;font-size:18px;font-weight:800;text-shadow:0 2px 4px rgba(34,197,94,.3);animation:pulse 2s ease-out}.card--tall{min-height:70vh}.muted{color:var(--muted)}.board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;width:100%;margin:8px 0 12px}.col{display:grid;gap:12px}.tile{cursor:pointer;border:2px solid transparent;border-radius:12px;overflow:hidden}.tile img{width:100%;height:180px;object-fit:cover;border-radius:12px;display:block}.tile.selected{border-color:var(--primary);background:var(--tile-hover)}.wires{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.path{stroke:var(--primary);stroke-width:3;fill:none;opacity:.8}@media (max-width: 820px){.board{grid-template-columns:1fr 1fr;gap:40px}.tile img{height:150px}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;background:#00000059;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.show{display:flex}.modal-content{background:var(--card);width:min(560px,92vw);border-radius:16px;padding:22px;box-shadow:0 20px 50px #0003}.help-steps{margin:0 0 16px 18px}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.meta-date{font-size:12px;color:var(--muted, #6b7280);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:12px 0 18px}.stat{background:#f2f4ff;border-radius:12px;padding:12px;text-align:center}.stat-num{font-size:24px;font-weight:800}.leaderboard-section{margin-top:24px;padding-top:20px;border-top:2px solid #e6e8f2}.leaderboard-section h3{margin:0 0 16px;color:var(--ink);font-size:18px}.lb-divider{height:2px;background:linear-gradient(90deg,var(--primary),transparent);margin:20px 0 16px;border-radius:1px}.lb-consent{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;cursor:pointer}.lb-consent input[type=checkbox]{width:16px;height:16px}#lbUsernameSection{margin-bottom:16px}#lbUsername{width:100%;max-width:200px;padding:8px 12px;border:2px solid #e6e8f2;border-radius:8px;font-size:14px;margin-bottom:8px}#lbUsername:focus{outline:none;border-color:var(--primary)}.lb-disclaimer{font-size:12px;color:var(--muted);margin:0;line-height:1.4}.lb-buttons{display:flex;gap:10px;flex-wrap:wrap}.lb-buttons .btn{font-size:14px;padding:8px 16px}.lb-modal .modal-content{max-width:600px}#lbContent{max-height:60vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.lb-actions{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid #e6e8f2}.btn-share{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--primary) 0%,#5a7cff 100%);color:#fff;border:none;font-weight:700;transition:all .2s ease}.btn-share:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2d5bff4d}.btn-share .btn-icon{font-size:18px;line-height:1}.view-leaderboard-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-weight:700;border:none;box-shadow:0 4px 12px #22c55e33}.view-leaderboard-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e4d}#lbContent::-webkit-scrollbar{width:8px}#lbContent::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}#lbContent::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}#lbContent::-webkit-scrollbar-thumb:hover{background:var(--primary-d)}.lb-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.lb-table-wrapper::-webkit-scrollbar{height:8px}.lb-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.lb-table-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.lb-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.lb-main-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #e6e8f2}.lb-main-tab{background:none;border:none;padding:12px 20px;cursor:pointer;font-weight:700;font-size:16px;color:var(--muted);border-bottom:3px solid transparent;transition:all .2s}.lb-main-tab:hover{color:var(--ink)}.lb-main-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.lb-header{text-align:center;margin-bottom:16px;color:var(--muted)}.lb-table{width:100%;border-collapse:collapse;margin-bottom:16px}.lb-table th,.lb-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e6e8f2}.lb-table th{background:var(--tile);font-weight:700;font-size:14px;color:var(--ink)}.lb-table td{font-size:14px}.lb-rank{width:50px;text-align:center!important;font-weight:700}.lb-name{font-weight:600}.lb-location{width:140px;font-size:13px;color:var(--muted)}.lb-location-content{display:flex;flex-direction:column;gap:2px}.lb-location-line1{font-weight:600}.lb-location-line2{font-size:11px;font-weight:600;opacity:.8}.lb-row:hover{background:var(--tile-hover)}.lb-disabled,.lb-error,.lb-empty{text-align:center;padding:32px 16px;color:var(--muted)}.lb-disabled p:first-child,.lb-error p:first-child,.lb-empty p:first-child{font-size:18px;margin-bottom:8px}.loading{text-align:center;padding:32px;color:var(--muted)}.gate-modal .modal-content{max-width:480px}.gate-subtitle{color:var(--muted);margin:0 0 20px;font-size:16px}.post-solve-prompt .modal-content{max-width:500px;text-align:center;animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1)}.post-solve-prompt h2{font-size:32px;margin-bottom:12px;color:var(--ink)}.post-solve-prompt .gate-subtitle{font-size:18px;line-height:1.5;margin-bottom:24px}@keyframes bounce-in{0%{opacity:0;transform:scale(.8) translateY(20px)}60%{opacity:1;transform:scale(1.05) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.gate-form{margin-bottom:16px}.gate-input{width:100%;padding:12px 16px;border:2px solid #e6e8f2;border-radius:10px;font-size:16px;margin-bottom:8px}.gate-input:focus{outline:none;border-color:var(--primary)}.gate-help{font-size:12px;color:var(--muted);margin:0 0 16px}.gate-location{margin-bottom:16px}.gate-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer;font-size:14px}.gate-checkbox input[type=checkbox]{width:16px;height:16px}.gate-city-input{width:100%;padding:8px 12px;border:1px solid #e6e8f2;border-radius:6px;font-size:14px;margin-bottom:6px}.gate-city-input:focus{outline:none;border-color:var(--primary)}.gate-location-help{font-size:11px;color:var(--muted);margin:0;font-style:italic}.gate-buttons{display:flex;gap:12px;flex-wrap:wrap}.gate-error{background:#fee;color:#c33;padding:12px;border-radius:8px;font-size:14px;margin-top:12px}@media (max-width: 768px){.rank-feedback{top:10px;padding:16px 20px;max-width:95vw}.rank-score{font-size:24px}.rank-placement{font-size:16px}.rank-deltas{font-size:14px}.main-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:calc(100vh - 120px)}.card{margin:0;flex:1;display:flex;flex-direction:column;justify-content:space-between}.topbar{padding:8px 12px}.meta{gap:8px}.main-container{padding:12px 8px 16px}.card{padding:16px;max-width:none;width:100%}.nav-buttons{padding:6px 12px 4px;gap:6px}.nav-buttons .icon-btn{min-width:90px;font-size:14px;padding:8px 10px;height:42px}#theme{font-size:25px;text-align:center}.drag-instruction{text-align:center;font-size:21px}.list li{padding:12px 14px;font-size:22px}.actions{justify-content:center;gap:12px}.btn{padding:12px 18px;font-size:16px}}@media (max-width: 480px){.card{padding:14px}.nav-buttons{flex-wrap:wrap;gap:3px;padding:4px 8px 2px}.nav-buttons .icon-btn{min-width:70px;font-size:13px;padding:6px 8px;height:38px;flex:1}.list li{padding:10px 12px;font-size:16px}#theme{font-size:23px}.drag-instruction{font-size:19px}.main-container{padding:8px 6px 12px}}.lb-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #e6e8f2}.lb-tab{background:none;border:none;padding:12px 16px;cursor:pointer;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:all .2s}.lb-tab:hover{color:var(--ink)}.lb-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.lb-date{color:var(--muted);font-size:14px;margin:0 0 16px;text-align:center}.lb-subtitle{font-size:12px;color:var(--muted);text-align:center;margin:0 0 16px;font-style:italic}.lb-orderup-rank{width:120px;text-align:center!important;font-weight:700;color:var(--primary)}.lb-time,.lb-attempts,.lb-games{width:80px;text-align:center!important;font-weight:600}.lb-current-player{background-color:#fff8c5!important;font-weight:700}.lb-today-entry{background-color:#d4f4dd!important}.lb-today-entry.lb-current-player{background-color:#b8f2c8!important;font-weight:700}.lb-glow{animation:rowGlow 1.5s ease-out}@keyframes rowGlow{0%{background-color:#fffb91;box-shadow:0 0 10px gold}to{background-color:#fff8c5;box-shadow:none}}.lb-glow.lb-today-entry{animation:rowGlowToday 1.5s ease-out}@keyframes rowGlowToday{0%{background-color:#8ff0ab;box-shadow:0 0 10px #22c55e}to{background-color:#d4f4dd;box-shadow:none}}.lb-glow.lb-today-entry.lb-current-player{animation:rowGlowTodayCurrent 1.5s ease-out}@keyframes rowGlowTodayCurrent{0%{background-color:#5ee88a;box-shadow:0 0 15px #22c55e}to{background-color:#b8f2c8;box-shadow:none}}.lb-note{font-size:.8rem;color:#888;margin-bottom:.5rem;text-align:center;font-style:italic}.pacesetter{background:linear-gradient(45deg,gold,#ffed4e);color:#8b5a00;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;text-transform:uppercase;margin-left:6px}.toast{position:fixed;top:20px;right:20px;background:var(--primary);color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;transform:translate(100%);transition:transform .3s ease;z-index:1000;max-width:300px}.toast.show{transform:translate(0)}.rank-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;transform:scale(.8);transition:all .3s ease}.rank-modal.show{opacity:1;transform:scale(1)}.rank-content{background:var(--card);padding:40px 32px;border-radius:20px;text-align:center;max-width:500px;width:90vw;box-shadow:0 25px 50px #0000004d}.rank-title{font-size:32px;font-weight:800;color:var(--primary);margin:0 0 16px;text-shadow:0 2px 4px rgba(45,91,255,.2)}.rank-score{font-size:18px;font-weight:600;color:var(--ink);margin:0 0 12px}.rank-subtitle{font-size:16px;color:var(--muted);margin:0}@media (max-width: 600px){.lb-buttons{flex-direction:column}#lbContent{max-height:55vh}.lb-table-wrapper{overflow-x:auto;margin:0 -8px;padding:0 8px}.lb-table{font-size:11px;min-width:100%;display:table}.lb-table th,.lb-table td{padding:8px 4px;white-space:nowrap}.lb-rank{width:35px;padding:8px 4px}.lb-name{min-width:90px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.lb-location{width:100px;font-size:10px;padding:6px 4px!important}.lb-location-line1{font-size:10px;line-height:1.2}.lb-location-line2{font-size:9px;line-height:1.2}.lb-orderup-rank{width:85px;font-size:11px}.lb-actions{flex-direction:column;gap:10px}.lb-actions .btn{width:100%}.lb-time{width:50px;font-size:11px}.lb-attempts{width:55px;font-size:11px}.gate-buttons{flex-direction:column}.toast{right:10px;left:10px;max-width:none}}.streak{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;transition:all .3s ease}.streak-fire{width:24px;height:24px;flex-shrink:0}.streak-count{color:var(--primary);font-weight:800;font-size:16px}.streak-milestone-badge{margin-left:4px;animation:milestone-pulse 1s ease-in-out infinite}@keyframes milestone-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.streak-danger{animation:danger-shake .5s ease-in-out infinite}@keyframes danger-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.streak-broken{opacity:.6}.streak-icon{font-size:20px;animation:heartbreak .8s ease-out}@keyframes heartbreak{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.3) rotate(-10deg)}to{transform:scale(1) rotate(0)}}.streak-modal .modal-content{text-align:center;max-width:460px;animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1)}.streak-broken-animation{margin:0 auto 20px;animation:shake .6s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.broken-fire{opacity:.3}.streak-broken-message{font-size:20px;font-weight:700;color:var(--ink);margin:16px 0 12px}.streak-encouragement{color:var(--muted);font-size:16px;margin:0 0 24px}.milestone-modal .modal-content{text-align:center;max-width:480px}.milestone-animation{position:relative;margin:0 auto 24px;height:150px;display:flex;align-items:center;justify-content:center}.milestone-number{font-size:80px;font-weight:900;color:var(--primary);text-shadow:0 4px 10px rgba(45,91,255,.3);animation:milestone-zoom 1s cubic-bezier(.34,1.56,.64,1)}@keyframes milestone-zoom{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.milestone-emoji{position:absolute;font-size:60px;animation:emoji-float 2s ease-in-out infinite}@keyframes emoji-float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.milestone-message{font-size:22px;font-weight:700;color:var(--ink);margin:16px 0 12px}.milestone-encouragement{color:var(--muted);font-size:16px;margin:0 0 24px}.perfect-solve-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,gold,#ffed4e);color:#8b5a00;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:800;text-transform:uppercase;margin-left:8px;box-shadow:0 2px 8px #ffd70066;animation:badge-shine 2s ease-in-out infinite}@keyframes badge-shine{0%,to{box-shadow:0 2px 8px #ffd70066}50%{box-shadow:0 4px 16px #ffd700cc}}.perfect-solve-star{animation:star-spin 1s ease-out}@keyframes star-spin{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}.perfect-confetti{position:fixed;width:10px;height:10px;pointer-events:none;z-index:1500;animation:perfect-confetti-fall 2.5s ease-out forwards}@keyframes perfect-confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.achievement-notification{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,var(--card),#f0f4ff);border:2px solid var(--primary);border-radius:16px;padding:16px 20px;box-shadow:0 10px 30px #0003;max-width:320px;z-index:2500;transform:translate(150%);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.achievement-notification.show{transform:translate(0)}.achievement-notification.hide{transform:translate(150%)}.achievement-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.achievement-icon{font-size:32px}.achievement-title{font-size:14px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.achievement-name{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 4px}.achievement-description{font-size:14px;color:var(--muted);margin:0}@media (max-width: 768px){.achievement-notification{right:10px;left:10px;max-width:none;top:70px}.streak{font-size:12px;gap:4px}.streak-fire{width:20px;height:20px}.streak-count{font-size:14px}}.share-modal .modal-content{max-width:480px;text-align:center}.share-modal-content h2{margin:0 0 20px;color:var(--ink);font-size:24px}.share-result-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:24px;margin:16px 0;box-shadow:0 10px 30px #0003;color:#fff}.share-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.share-date{font-size:14px;font-weight:600;opacity:.9}.share-perfect-badge{background:#ffd7004d;border:2px solid #ffd700;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:800;text-transform:uppercase}.share-card-body{margin-bottom:16px}.share-theme{font-size:18px;font-weight:700;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.share-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.share-stat{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px 8px}.share-stat-label{font-size:11px;text-transform:uppercase;opacity:.8;margin-bottom:4px;font-weight:600}.share-stat-value{font-size:20px;font-weight:800}.share-rank{background:#ffd70033;border:2px solid rgba(255,215,0,.5);padding:8px;border-radius:10px;font-size:14px;font-weight:700}.share-card-footer{font-size:12px;opacity:.7;font-weight:600;text-transform:uppercase;letter-spacing:1px}.share-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.share-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);min-width:140px}.share-close-btn{width:100%}.share-toast{background:#22c55e}@media (max-width: 480px){.share-result-card{padding:20px}.share-theme{font-size:16px}.share-stats{gap:8px}.share-stat{padding:10px 6px}.share-stat-value{font-size:18px}.share-buttons{flex-direction:column}.share-btn-primary{width:100%}}.achievements-modal .modal-content{max-width:700px;max-height:85vh;overflow-y:auto}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:20px 0}.achievement-card{background:var(--tile);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;border:2px solid transparent}.achievement-earned{background:linear-gradient(135deg,#f0f4ff,#e0e7ff);border-color:var(--primary);box-shadow:0 4px 12px #2d5bff26}.achievement-locked{opacity:.5;filter:grayscale(100%)}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.achievement-earned:hover{box-shadow:0 8px 20px #2d5bff40}.achievement-card-icon{font-size:48px;margin-bottom:12px}.achievement-card-name{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px}.achievement-card-description{font-size:13px;color:var(--muted);line-height:1.4}.achievement-earned-date{font-size:11px;color:var(--primary);font-weight:600;margin-top:8px;text-transform:uppercase;letter-spacing:.5px}.achievements-summary{grid-column:1 / -1;background:linear-gradient(135deg,var(--primary),#5a7cff);color:#fff;padding:20px;border-radius:16px;margin-bottom:16px}.achievements-progress{display:flex;flex-direction:column;gap:12px}.achievements-progress-bar{height:12px;background:#ffffff4d;border-radius:6px;overflow:hidden}.achievements-progress-fill{height:100%;background:linear-gradient(90deg,gold,#ffed4e);border-radius:6px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.achievements-progress-text{font-size:18px;font-weight:700;text-align:center}.achievement-confetti{position:fixed;pointer-events:none;z-index:2000;animation:achievement-confetti-fall 2.5s ease-out forwards}@keyframes achievement-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 768px){.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.achievement-card{padding:12px}.achievement-card-icon{font-size:36px}.achievement-card-name{font-size:14px}.achievement-card-description{font-size:12px}.achievements-summary{padding:16px}.achievements-progress-text{font-size:16px}}@media (max-width: 480px){.achievements-grid{grid-template-columns:1fr}.achievement-card{flex-direction:row;text-align:left;gap:12px}.achievement-card-icon{font-size:40px;margin-bottom:0}}.powerups-modal .modal-content{max-width:600px}.powerups-subtitle{text-align:center;color:var(--muted);margin:0 0 20px;font-size:16px}.powerups-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0}.powerup-card{background:linear-gradient(135deg,#f0f4ff,#e0e7ff);border:2px solid var(--primary);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.powerup-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2d5bff33}.powerup-icon{font-size:48px;flex-shrink:0}.powerup-content{flex:1}.powerup-name{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px}.powerup-description{font-size:14px;color:var(--muted);margin-bottom:12px;line-height:1.4}.powerup-inventory{margin-bottom:8px}.powerup-count{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:6px}.powerup-count-bar{height:8px;background:#2d5bff33;border-radius:4px;overflow:hidden}.powerup-count-fill{height:100%;background:linear-gradient(90deg,var(--primary),#5a7cff);border-radius:4px;transition:width .4s ease}.powerup-stats{font-size:12px;color:var(--muted);font-weight:600}.powerups-info{background:#f9fafb;border-radius:12px;padding:16px;margin:20px 0 16px}.powerups-refresh{font-size:14px;color:var(--ink);font-weight:600;margin:0 0 8px;text-align:center}.powerups-note{font-size:13px;color:var(--muted);margin:0;text-align:center;font-style:italic}.powerup-notification{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,var(--primary),#5a7cff);color:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 10px 30px #0003;max-width:320px;z-index:2500;transform:translate(150%);transition:transform .5s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:12px}.powerup-notification.show{transform:translate(0)}.powerup-notification.hide{transform:translate(150%)}.powerup-notification-icon{font-size:36px;flex-shrink:0}.powerup-notification-name{font-size:16px;font-weight:700;margin-bottom:4px}.powerup-notification-desc{font-size:13px;opacity:.9}.powerup-buttons{display:flex;gap:8px;justify-content:center;margin:12px 0}.powerup-btn{background:linear-gradient(135deg,var(--primary),#5a7cff);border:none;border-radius:12px;padding:10px 16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;position:relative}.powerup-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2d5bff66}.powerup-btn.disabled{opacity:.4;cursor:not-allowed}.powerup-btn-icon{font-size:24px}.powerup-btn-count{background:#ffffff4d;color:#fff;font-weight:700;font-size:12px;padding:2px 6px;border-radius:6px;min-width:20px;text-align:center}@media (max-width: 768px){.powerup-notification{right:10px;left:10px;max-width:none;top:70px}.powerup-card{padding:16px}.powerup-icon{font-size:40px}.powerup-name{font-size:16px}}@media (max-width: 480px){.powerup-buttons{gap:6px}.powerup-btn{padding:8px 12px}.powerup-btn-icon{font-size:20px}}.post-game-actions{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#f6f7fbfa 85%,#f6f7fb00);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px 16px 32px;transform:translateY(100%);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:999;box-shadow:0 -8px 32px #00000014}.post-game-actions.show{transform:translateY(0);opacity:1}.post-game-actions-header{text-align:center;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:16px}.post-game-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:800px;margin:0 auto}.post-game-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;background:var(--card);border:2px solid #e6e8f2;border-radius:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000000f;min-height:120px}.post-game-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f;border-color:var(--primary)}.post-game-btn:active{transform:translateY(0)}.post-game-btn .btn-icon{font-size:32px;line-height:1}.post-game-btn .btn-label{font-size:16px;font-weight:700;color:var(--ink);text-align:center}.post-game-btn .btn-subtitle{font-size:13px;font-weight:500;color:var(--muted);text-align:center}.post-game-btn.share-btn{border-color:var(--primary);background:linear-gradient(135deg,var(--primary) 0%,#5a7cff 100%)}.post-game-btn.share-btn .btn-label,.post-game-btn.share-btn .btn-subtitle{color:#fff}.post-game-actions.highlight-share .share-btn{animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 8px 20px #2d5bff4d;transform:scale(1)}50%{box-shadow:0 12px 32px #2d5bff80;transform:scale(1.02)}}.rank-comparison{font-size:14px;color:var(--muted);margin-top:8px;text-align:center}.rank-comparison strong{color:var(--ink);font-weight:700}@media (max-width: 768px){.post-game-buttons{grid-template-columns:1fr;gap:10px}.post-game-btn{min-height:100px;padding:16px 12px}.post-game-btn .btn-icon{font-size:28px}.post-game-btn .btn-label{font-size:15px}.post-game-btn .btn-subtitle{font-size:12px}.post-game-actions-header{font-size:18px}}
