.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#ff6b35,#4ecdc4)}.avatar-small{width:32px;height:32px;font-size:12px}.avatar-medium{width:40px;height:40px;font-size:14px}.avatar-large{width:64px;height:64px;font-size:24px}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-initials{color:#fff;font-weight:700;text-transform:uppercase}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #168acd;--tg-theme-button-color: #3390ec;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);min-height:100vh;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.app{min-height:100vh;padding:0 0 20px}.app-header{padding:16px;text-align:center;position:sticky;top:0;background:var(--tg-theme-bg-color);z-index:10;display:flex;align-items:center;justify-content:center;gap:12px}.app-header h1{font-size:20px;font-weight:600;margin:0}.info-btn{position:absolute;right:16px;background:var(--tg-theme-button-color);border:none;padding:0;width:32px;height:32px;cursor:pointer;color:var(--tg-theme-button-text-color);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:opacity .2s ease}.info-btn:hover{opacity:.85}.info-btn:active{transform:scale(.95)}.week-selector{margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.week-selector::-webkit-scrollbar{display:none}.week-buttons{display:flex;gap:8px;padding:0 16px 8px}.week-btn{padding:8px 16px;border-radius:20px;border:1.5px solid var(--tg-theme-hint-color);background:transparent;color:var(--tg-theme-text-color);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease;flex-shrink:0}.week-btn:hover{border-color:var(--tg-theme-button-color)}.week-btn.active{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border-color:var(--tg-theme-button-color)}.card-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}@media(max-width:320px){.card-gallery{grid-template-columns:1fr}}.card-item{background:var(--tg-theme-secondary-bg-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.card-item:active{transform:scale(.98)}.card-header{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.card-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-username{font-size:12px;color:var(--tg-theme-hint-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-image-container{position:relative;aspect-ratio:2/3;overflow:hidden}.card-image-container img{width:100%;height:100%;object-fit:cover}.card-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color) 25%,var(--tg-theme-bg-color) 50%,var(--tg-theme-secondary-bg-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color);font-size:12px}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--tg-theme-secondary-bg-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:var(--tg-theme-hint-color);font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:var(--tg-theme-hint-color)}.error-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.error-content{text-align:center;max-width:300px}.error-icon{width:60px;height:60px;border-radius:50%;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color);font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.error-content p{color:var(--tg-theme-hint-color);font-size:14px;line-height:1.5}.card-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.card-zoom-content{max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.card-zoom-content img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:12px;box-shadow:0 4px 20px #0000004d}.card-zoom-info{text-align:center;color:#fff}.card-zoom-name{display:block;font-size:18px;font-weight:600;margin-bottom:4px}.card-zoom-username{display:block;font-size:14px;opacity:.7}.card-carousel-track{display:flex;align-items:center;justify-content:center;width:100%;height:100%;will-change:transform;touch-action:pan-y pinch-zoom}.card-carousel-item{position:absolute;display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.card-carousel-item img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:12px;box-shadow:0 4px 20px #0000004d;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.card-prev{transform:translate(calc(-100vw - 20px));opacity:.6}.card-current{transform:translate(0)}.card-next{transform:translate(calc(100vw + 20px));opacity:.6}.card-carousel-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;pointer-events:none}.card-actions{display:flex;gap:12px;margin-top:8px}.card-action-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.card-action-btn:hover{opacity:.85}.card-action-btn:active{transform:scale(.95)}.card-action-btn svg{width:18px;height:18px;flex-shrink:0}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.info-modal{background:var(--tg-theme-bg-color);border-radius:16px 16px 0 0;width:100%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--tg-theme-secondary-bg-color);flex-shrink:0}.info-tabs{display:flex;gap:8px}.info-tab{padding:8px 16px;border-radius:20px;border:none;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.info-tab.active{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.info-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.info-close-btn:hover{background:var(--tg-theme-hint-color);color:var(--tg-theme-bg-color)}.info-modal-content{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.info-content h2{font-size:20px;font-weight:700;margin-bottom:8px}.info-content h3{font-size:16px;font-weight:600;margin-top:24px;margin-bottom:12px;color:var(--tg-theme-button-color)}.info-content h4{font-size:14px;font-weight:600;margin-top:16px;margin-bottom:8px}.info-content p{font-size:14px;line-height:1.5;color:var(--tg-theme-hint-color);margin-bottom:8px}.info-content ul{list-style:none;padding:0;margin:0 0 12px}.info-content ul li{font-size:14px;padding:4px 0 4px 16px;position:relative;color:var(--tg-theme-text-color)}.info-content ul li:before{content:"•";position:absolute;left:0;color:var(--tg-theme-hint-color)}.info-content ul.penalties li:before{color:#ef4444}.modifier-desc{font-size:13px!important;margin-bottom:4px!important}.badges-list{display:flex;flex-direction:column;gap:8px}.badges-list li{display:flex;align-items:center;gap:8px;padding:8px 12px!important;background:var(--tg-theme-secondary-bg-color);border-radius:8px}.badges-list li:before{display:none}.badge-icon{font-size:18px}.badge-name{font-weight:600;min-width:90px}.badge-desc{font-size:12px;color:var(--tg-theme-hint-color)}.badges-list.negative li{background:#ef44441a}.tiers-list li{display:flex;align-items:center;gap:8px;padding:6px 0!important}.tiers-list li:before{display:none}.tier-score{display:inline-block;min-width:40px;padding:2px 8px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border-radius:4px;font-size:12px;font-weight:600;text-align:center}.metric-card{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:12px 16px;margin-bottom:12px}.metric-card h4{margin-top:0;margin-bottom:4px;color:var(--tg-theme-button-color)}.metric-card p{margin-bottom:8px}.metric-card ul{margin-bottom:0}.tech-card{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:12px 16px;margin-bottom:12px}.tech-card h4{margin-top:0;margin-bottom:8px}.tech-card code{display:block;font-size:11px;background:#0000001a;padding:6px 10px;border-radius:6px;margin-bottom:8px;font-family:SF Mono,Monaco,Courier New,monospace;word-break:break-all}.tech-card ul{margin-bottom:0}.method-label{font-size:13px!important;font-style:italic}.formula{margin:12px 0}.formula code{margin-bottom:4px}.k-values li{display:flex;justify-content:space-between;padding:4px 0!important}.k-values li:before{display:none}.k-values li span:first-child{font-weight:500}.k-values li span:last-child{color:var(--tg-theme-hint-color);font-size:13px}.note{font-size:13px!important;font-style:italic;margin-top:12px!important}.card-reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1a1a2e,#0f0f1a);display:flex;align-items:center;justify-content:center;z-index:300;perspective:1200px}.sparkle-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.card-reveal-container{position:relative;transform-style:preserve-3d;padding:20px}.card-reveal-inner{position:relative;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.4,0,.2,1)}.card-reveal-inner.flipped{transform:rotateY(180deg)}.card-reveal-front,.card-reveal-back{backface-visibility:hidden;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.card-reveal-back{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#2d2d44,#1a1a2e,#0f0f1a);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.card-reveal-front{transform:rotateY(180deg)}.card-reveal-front img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:12px}.card-reveal-back:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(255,215,0,.3);border-radius:12px;pointer-events:none}.card-reveal-back-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,215,0,.1) 10px,rgba(255,215,0,.1) 20px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,215,0,.1) 10px,rgba(255,215,0,.1) 20px)}.card-reveal-back-logo{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.card-reveal-back-logo span{font-size:24px;font-weight:800;letter-spacing:4px;color:#ffd70099;text-shadow:0 0 20px rgba(255,215,0,.3);text-transform:uppercase}.card-reveal-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:24px;background:radial-gradient(ellipse at center,rgba(255,215,0,.3) 0%,transparent 70%);opacity:0;pointer-events:none;z-index:-1}.card-reveal-inner.flipped .card-reveal-glow{animation:glowAppear .5s ease-out .6s forwards,glowPulse 2s ease-in-out 1.1s infinite}@keyframes glowAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.card-reveal-hint{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#fff9;font-size:14px;animation:hintFade 2s ease-in-out infinite;white-space:nowrap}@keyframes hintFade{0%,to{opacity:.4}50%{opacity:.8}}.card-reveal-actions{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:10px;animation:fadeIn .3s ease-out}.card-reveal-actions .card-action-btn{background:var(--tg-theme-button-color, #3390ec);padding:10px 16px;font-size:13px}.card-reveal-actions .card-action-btn-secondary{background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 16px;text-align:center;gap:16px;background:var(--tg-theme-bg-color);opacity:1!important;visibility:visible!important}.error-boundary-fallback .fallback-icon{font-size:64px;animation:pulse 1.5s ease-in-out infinite}.error-boundary-fallback .fallback-title{color:var(--tg-theme-text-color);font-size:18px;font-weight:700}.error-boundary-fallback .fallback-message{color:var(--tg-theme-hint-color);font-size:14px;max-width:300px;line-height:1.5}.error-display{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 16px;text-align:center;gap:16px;background:var(--tg-theme-bg-color);opacity:1!important;visibility:visible!important}.error-display-icon{font-size:64px;animation:pulse 1.5s ease-in-out infinite}.error-display-title{color:var(--tg-theme-text-color);font-size:18px;font-weight:700}.error-display-message{color:var(--tg-theme-hint-color);font-size:14px;max-width:300px;line-height:1.5}.error-display-actions{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap;justify-content:center}.error-display-actions .btn{min-width:120px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);padding:8px 16px;border-radius:6px;border:none;font-weight:600;cursor:pointer}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}
