.ptr--ptr{box-shadow:none!important}.ptr--box{padding:10px}.ptr--text{color:var(--secondary)!important;font-family:fira code,monospace;font-size:.9rem;opacity:.8}.ios-hint{color:var(--secondary);font-family:fira code,monospace;font-size:.75rem;margin-top:8px;opacity:.8;line-height:1.4}.ptr--icon{color:var(--accent)!important}.btn-load-more{display:block;width:100%;max-width:300px;margin:30px auto;background:0 0;border:1px solid var(--secondary);color:var(--secondary);padding:12px 24px;font-family:fira code,monospace;text-transform:uppercase;letter-spacing:1px;font-size:.85rem;cursor:pointer;opacity:.8;transition:all .3s ease}.btn-load-more:hover{border-color:var(--accent);color:var(--accent);opacity:1;box-shadow:0 0 10px rgba(0,0,0,.2)}.btn-load-more:disabled{border-color:#555;color:#555;cursor:wait;opacity:.5}#push-btn.subscribed{background-color:var(--secondary);color:var(--primary);border-color:var(--secondary)}#push-btn.subscribed:hover{background-color:#ef4444;color:#fff;border-color:#ef4444;content:"Cancelar"}#notes-container{border-left:2px dashed var(--accent);margin-left:10px;padding-left:20px;margin-top:30px;display:block}.note-card{position:relative;margin-bottom:25px;background:rgba(255,255,255,5%);padding:15px;border:1px solid #616161;border-radius:2px;transition:transform .2s ease,box-shadow .2s ease}.note-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.note-temporary{border:2px dashed #7f7f7f;opacity:.8}.note-temporary:hover{border-color:var(--accent);opacity:1}.note-card::before{content:">";position:absolute;left:-29px;top:15px;color:var(--accent);font-weight:700;background:var(--background);padding:2px 0}.note-date{font-family:fira code,monospace;font-size:.8rem;color:var(--accent);margin-bottom:10px;display:block;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.note-body{line-height:1.6}.translation-indicator{font-size:.75em;color:var(--secondary);cursor:help;margin-left:5px;opacity:.8}#tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:40px;opacity:0;animation:fadeIn .5s ease-in-out forwards}#lastfm-container,#trakt-container,#games-container{width:100%}.lastfm-card{max-width:none;height:100%}.lastfm-card{background:rgba(255,255,255,5%);border:1px solid #616161;border-radius:2px;padding:15px;max-width:400px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}.lastfm-header{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--secondary);margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px;flex-shrink:0}.lastfm-content{display:flex;align-items:center;gap:15px;text-decoration:none;color:inherit;transition:transform .2s ease;flex-grow:1}.lastfm-content:hover{transform:translateX(5px)}.lastfm-art,.trakt-icon{width:85px;height:85px;border-radius:6px;object-fit:cover;box-shadow:0 4px 6px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1)!important;box-sizing:border-box;display:block;flex-shrink:0}.trakt-icon{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,5%));display:flex;align-items:center;justify-content:center;font-size:42px;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1}.lastfm-info{flex:1;overflow:hidden}.lastfm-song{font-weight:700;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.1em;margin-bottom:4px}.lastfm-artist{font-size:.95em;opacity:.8}.lastfm-equalizer{display:flex;gap:2px;height:15px;align-items:flex-end}.bar{width:3px;background:var(--accent);animation:equalizer 1s infinite ease-in-out}.bar:nth-child(1){animation-delay:0s;height:60%}.bar:nth-child(2){animation-delay:.2s;height:100%}.bar:nth-child(3){animation-delay:.4s;height:50%}@keyframes equalizer{0%{transform:scaleY(1)}50%{transform:scaleY(.5)}100%{transform:scaleY(1)}}@keyframes fadeIn{to{opacity:1}}.loading-widget{display:flex;justify-content:center;align-items:center;height:100%;min-height:100px;color:var(--secondary);font-family:fira code,monospace;opacity:.7;font-size:.9em;animation:blink 1.5s infinite}@keyframes blink{0%,100%{opacity:.4}50%{opacity:.8}}@keyframes contentFadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.fade-in-content{animation:contentFadeIn .5s ease-out forwards}