:root,html[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#60a5fa;--accent-5:#60a5fa0d;--accent-10:#60a5fa1a;--accent-15:#60a5fa26;--accent-20:#60a5fa33;--accent-25:#60a5fa40;--accent-30:#60a5fa4d;--accent-40:#60a5fa66;--accent-50:#60a5fa80;--accent-bg:#60a5fa26;--accent-border:#60a5fa80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}html[data-theme=light]{--text:#4a4458;--text-h:#1a1a2e;--bg:#f8f9fa;--border:#dee2e6;--code-bg:#f4f3ec;--accent:#2563eb;--accent-5:#2563eb0d;--accent-10:#2563eb1a;--accent-15:#2563eb26;--accent-20:#2563eb33;--accent-25:#2563eb40;--accent-30:#2563eb4d;--accent-40:#2563eb66;--accent-50:#2563eb80;--accent-bg:#2563eb1a;--accent-border:#2563eb66;--social-bg:#fffc;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}body{cursor:url(/cursor.png) 0 0,auto;margin:0}a,button,[role=button],.quick-link-item,.icon-link,.music-icon-only,.playlist-item{cursor:url(/cursor.png) 0 0,pointer}@media (width<=767px){body,a,button,[role=button],.quick-link-item,.icon-link,.music-icon-only,.playlist-item{cursor:auto}}#root{text-align:center;box-sizing:border-box;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}@keyframes hexSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}canvas#tsparticles{animation:.6s ease-out particleFadeIn;pointer-events:none!important}@keyframes particleFadeIn{0%{opacity:0}to{opacity:1}}.app-root{background-color:var(--bg);width:100%;min-height:100vh;position:relative}.navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#00000059;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-left{align-items:center;gap:10px;display:flex}.navbar-title{color:var(--text-h);letter-spacing:.5px;font-size:1rem;font-weight:700}.navbar-right{align-items:center;gap:10px;display:flex}.navbar .theme-toggle{color:#ffffffd9;background:#ffffff14}.navbar .theme-toggle:hover{color:#fff;background:#60a5fa4d}.navbar .particle-selector{position:relative}.navbar .preset-btn{-webkit-backdrop-filter:blur(12px);color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;height:36px;padding:4px 12px;font-size:.78rem}.navbar .preset-btn:hover{color:#fff;background:#60a5fa4d;border-color:#60a5fa80}.page-layout{z-index:1;box-sizing:border-box;grid-template-columns:320px 1fr;align-content:center;gap:20px;max-width:1100px;min-height:100dvh;margin:0 auto;padding:80px 40px 40px;display:grid;position:relative;overflow-x:hidden}.col-left,.col-right{flex-direction:column;justify-content:center;gap:16px;display:flex}.right-top{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel-card{-webkit-backdrop-filter:blur(24px);color:var(--text-h,#f3f4f6);background:#0006;border:1px solid #ffffff14;border-radius:24px;padding:22px;transition:all .3s;box-shadow:0 4px 24px #0003}.panel-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 32px #0000004d,0 0 20px #60a5fa0f}.logo-area{align-items:center;gap:12px;display:flex}.logo-avatar{background:#ffffff1a;border:2px solid #ffffff26;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.logo-img{object-fit:cover;width:100%;height:100%}.logo-info{flex-direction:column;gap:2px;display:flex}.logo-title{color:var(--text-h,#f3f4f6);letter-spacing:.5px;margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.logo-subtitle{color:var(--text);letter-spacing:2px;text-transform:uppercase;opacity:.7;font-size:.75rem}.profile-text{color:var(--text);text-align:left;margin:0 0 10px;font-size:.82rem;line-height:1.7}.profile-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-tag{background:var(--accent-10);border:1px solid var(--accent-20);color:var(--accent);letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:.68rem}.card-quote{justify-content:center;align-items:center;display:flex}.card-time{flex-direction:column;align-items:center;gap:6px;display:flex}.clock-weather-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;padding:5px;display:flex}.clock-weather-row>:only-child{margin:0 auto}[data-theme=light] .panel-card{color:#1a1a2e;background:#ffffffbf;border-color:#0000000f;border-radius:24px;box-shadow:0 4px 20px #0000000f}[data-theme=light] .panel-card:hover{border-color:#2563eb33;transform:translateY(-2px);box-shadow:0 8px 28px #2563eb14,0 0 16px #2563eb0a}[data-theme=light] .logo-avatar{background:#60a5fa14;border-color:#60a5fa33}[data-theme=light] .logo-title{color:#1a1a2e}[data-theme=light] .logo-subtitle{color:#1a1a2e80}[data-theme=light] .profile-text{color:#1a1a2ea6}[data-theme=light] .profile-tag{background:var(--accent-10);border-color:var(--accent-20);color:var(--accent)}[data-theme=light] .navbar{background:#ffffffbf;border-bottom:1px solid #0000000f}[data-theme=light] .navbar-title{color:#1a1a2e}[data-theme=light] .navbar .theme-toggle{color:#1a1a2e;background:#0000000a;border:1px solid #0000000f}[data-theme=light] .navbar .theme-toggle:hover{color:#2563eb;background:#60a5fa1a}[data-theme=light] .navbar .preset-btn{color:#1a1a2e;background:#0000000a;border-color:#0000000f}[data-theme=light] .navbar .preset-btn:hover{color:#2563eb;background:#60a5fa1a;border-color:#60a5fa40}[data-theme=light] .navbar .preset-dropdown{background:#fffffff7;border-color:#00000014;box-shadow:0 8px 32px #0000001a}[data-theme=light] .navbar .preset-option{color:#1a1a2e}[data-theme=light] .navbar .preset-option:hover{color:#2563eb;background:#60a5fa14}[data-theme=light] .navbar .preset-option.active{color:#2563eb;background:#60a5fa1a;font-weight:600}[data-theme=light] .weather{color:#1a1a2e;background:#60a5fa0f;border-color:#60a5fa26}[data-theme=light] .search-form{background:#60a5fa0d;border-color:#60a5fa26}[data-theme=light] .search-input{color:#1a1a2e}@media (width<=1024px){.page-layout{grid-template-columns:1fr;gap:16px;max-width:720px;padding:80px 28px 28px}.col-left{grid-template-columns:1fr 1fr;gap:14px;display:grid;position:static}.right-top{grid-template-columns:1fr 1fr;gap:14px}.panel-card{border-radius:22px;padding:20px}.clock-weather-row{justify-content:space-between;gap:1.5rem}}@media (width<=600px){.navbar{padding:0 14px}.page-layout{grid-template-columns:1fr;gap:12px;padding:76px 14px 14px}.col-left{grid-template-columns:1fr;gap:12px;display:grid;position:static}.right-top{grid-template-columns:1fr;gap:12px}.panel-card{border-radius:18px;padding:16px}.navbar .preset-name{display:none}.navbar-title{font-size:.85rem}.clock-weather-row{justify-content:space-between;gap:2rem}}@media (width<=400px){.navbar{padding:0 10px}.navbar-title{font-size:.78rem}.navbar-right{gap:6px}.page-layout{gap:10px;padding:72px 12px 12px}.panel-card{border-radius:16px;padding:14px}.clock-weather-row{justify-content:center;gap:12px}}.clock-container{z-index:2;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.clock-date{letter-spacing:2px;color:var(--text);opacity:.8;font-family:Orbitron,monospace;font-size:.85rem;line-height:1.2}.clock-time{color:var(--accent);letter-spacing:4px;text-shadow:0 0 30px var(--accent-border), 0 0 60px #8b5cf64d;font-variant-numeric:tabular-nums;font-family:Orbitron,monospace;font-size:2.2rem;font-weight:700;line-height:1}@media (width<=480px){.clock-container{gap:2px}.clock-date{letter-spacing:2px;font-size:.7rem}.clock-time{font-size:1.6rem}}@media (width>=768px){.clock-time{font-size:2.4rem}}@media (width<=400px){.clock-time{font-size:1.5rem}.clock-date{letter-spacing:1px;font-size:.65rem}}.icon-group{z-index:2;pointer-events:auto;justify-content:center;gap:1.2rem;margin:0;display:flex;position:relative}.icon-wrapper{justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-link{color:var(--icon-color,#fffc);justify-content:center;align-items:center;font-size:1.6rem;text-decoration:none;transition:all .3s;display:flex}[data-theme=light] .icon-link{--icon-color:#1e1e32b3}.icon-link:hover{color:var(--accent);filter:drop-shadow(0 0 10px var(--accent-border));transform:scale(1.15)}[data-theme=light] .icon-link:hover{color:#2563eb;filter:drop-shadow(0 0 8px #60a5fa80)}.icon-link.active{color:var(--accent);filter:drop-shadow(0 0 10px var(--accent-border));transform:scale(1.15)}.tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;letter-spacing:1px;white-space:nowrap;border:1px solid var(--accent-border);box-shadow:0 0 20px var(--accent-bg);pointer-events:none;z-index:100;background:#0f0f14f2;border-radius:8px;padding:6px 14px;font-family:Orbitron,monospace;font-size:.8rem;animation:.2s tooltipFadeIn;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.tooltip:after{content:"";border:6px solid #0000;border-top-color:#0f0f14f2;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(5px)}to{opacity:1;transform:translate(-50%)translateY(0)}}[data-theme=light] .tooltip{color:#1a1a2e;background:#fffffff2;box-shadow:0 4px 20px #8b5cf633}[data-theme=light] .tooltip:after{border-top-color:#fffffff2}.info-popup{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--accent-border);text-align:center;z-index:1000;min-width:140px;max-width:160px;box-shadow:0 0 30px var(--accent-bg), 0 8px 30px #0006;background:#0f0f14f2;border-radius:12px;padding:.8rem 1rem;animation:.25s popupSlideIn;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.popup-arrow{border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid var(--accent-border);width:0;height:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.popup-arrow:after{content:"";border-top:5px solid #0f0f14f2;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;bottom:1px;left:-5px}.popup-icon{margin-bottom:.3rem;font-size:1.8rem}.popup-label{color:#ffffff80;letter-spacing:1px;text-transform:uppercase;margin-bottom:.3rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.7rem}.popup-value{color:var(--accent);text-shadow:0 0 10px var(--accent-border);margin-bottom:.6rem;font-family:Orbitron,monospace;font-size:1rem;font-weight:700}.copy-btn{border:1px solid var(--accent-border);color:var(--accent);cursor:pointer;background:#8b5cf633;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;margin:0 auto;font-size:.9rem;transition:all .3s;display:flex}.copy-btn:hover{background:var(--accent-bg);transform:scale(1.05)}.copy-btn.copied{color:#22c55e;background:#22c55e33;border-color:#22c55e}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}[data-theme=light] .info-popup{background:#fffffff7;border-color:#60a5fa33;box-shadow:0 0 30px #8b5cf61f,0 10px 40px #0000001a}[data-theme=light] .popup-arrow{border-top-color:#60a5fa40}[data-theme=light] .popup-arrow:after{border-top-color:#fffffff7}[data-theme=light] .popup-label{color:#4a445899;font-family:system-ui,-apple-system,Segoe UI,sans-serif}[data-theme=light] .popup-value{color:#7c3aed;text-shadow:none}[data-theme=light] .copy-btn{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed40}@media (width>=768px){.icon-group{gap:1.8rem}.icon-link{font-size:1.8rem}}.theme-toggle{-webkit-backdrop-filter:blur(12px);color:#ffffffd9;cursor:pointer;background:#00000073;border:none;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.05rem;transition:all .25s;display:flex}.theme-toggle:hover{color:#fff;background:#60a5fa66;transform:scale(1.08)}.theme-toggle-wrapper{position:relative}.theme-menu{-webkit-backdrop-filter:blur(16px);z-index:1000;background:#1e1e28f2;border:1px solid #ffffff1a;border-radius:12px;min-width:140px;padding:6px;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0006}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-menu-item{color:#fffc;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:.88rem;transition:all .2s;display:flex}.theme-menu-item:hover{color:#fff;background:#aa3bff33}.theme-menu-item.active{color:#60a5fa;background:#60a5fa40}.theme-menu-icon{text-align:center;width:20px;font-size:.95rem}.theme-menu-label{flex:1}.theme-menu-check{color:#60a5fa;font-size:.8rem}@media (width<=768px){.theme-toggle{width:38px;height:38px;font-size:1rem}}.music-player{z-index:1000;pointer-events:none;position:fixed;bottom:1.5rem;left:1.5rem}.music-icon-only{background:var(--social-bg);-webkit-backdrop-filter:blur(10px);width:48px;height:48px;box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.music-icon-only:hover{transform:scale(1.1);box-shadow:0 0 20px #60a5fa66}.music-icon-only.has-error{animation:1.5s infinite errorPulse}.music-icon-only .music-icon.error,.music-icon-sm.error{color:#ef4444}@keyframes errorPulse{0%,to{box-shadow:0 0 8px #ef44444d}50%{box-shadow:0 0 20px #ef444499}}.music-icon-only .music-icon{color:var(--accent);font-size:1.2rem}.music-icon-only .music-icon.spinning{animation:2s linear infinite iconSpin}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-expanded{background:var(--social-bg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow);pointer-events:auto;opacity:0;visibility:hidden;border-radius:16px;min-width:340px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;overflow:hidden;transform:translateY(20px)scale(.95)}.music-player.expanded .music-expanded{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.music-player.expanded .music-icon-only{opacity:0;pointer-events:none;transform:scale(.5)}.close-btn{width:24px;height:24px;color:var(--text);cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:8px;right:8px}.close-btn:hover{color:#fff;background:#fff3}.close-btn svg{font-size:.7rem}.progress-container{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff1a;border-radius:2px;height:4px;margin-top:8px;margin-left:8px;margin-right:60px;transition:height .15s;position:relative}.progress-container:hover{height:6px}.progress-container.dragging{cursor:grabbing;height:8px}.progress-bar{background:linear-gradient(90deg, var(--accent), #ff6b9d);border-radius:2px;height:100%;transition:width 50ms linear;position:relative}.progress-container.dragging .progress-bar{transition:none}.progress-bar:after{content:"";opacity:0;background:#fff;border-radius:50%;width:10px;height:10px;transition:opacity .2s,transform .15s;position:absolute;top:50%;right:-4px;transform:translateY(-50%);box-shadow:0 0 4px #0000004d}.progress-container:hover .progress-bar:after,.progress-container.dragging .progress-bar:after{opacity:1}.progress-container.dragging .progress-bar:after{right:-6px;transform:translateY(-50%)scale(1.3)}.progress-hover-time{color:#fff;pointer-events:none;white-space:nowrap;z-index:10;background:#000000d9;border-radius:4px;padding:4px 8px;font-size:.72rem;position:absolute;bottom:14px;transform:translate(-50%)}.spectrum-canvas{box-sizing:border-box;opacity:.7;pointer-events:none;width:100%;height:40px;padding:0 8px;transition:opacity .3s;display:block}.music-player.expanded .spectrum-canvas{opacity:.85}.controls{align-items:center;gap:.6rem;padding:.75rem;display:flex}.play-btn{background:var(--accent);color:#fff;cursor:pointer;z-index:10;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex;position:relative}.play-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px #60a5fa66}.play-btn:active{transform:scale(.95)}.play-btn:disabled{opacity:.7;cursor:not-allowed}.play-btn svg{margin-left:2px;font-size:.9rem}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.song-info{flex:1;align-items:center;gap:.5rem;min-width:0;transition:opacity .2s;display:flex}.song-info.transitioning{opacity:.5}.music-icon-sm{color:var(--accent);flex-shrink:0;font-size:.9rem}.song-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.song-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.song-artist{color:var(--text);opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.control-buttons{align-items:center;gap:4px;display:flex}.ctrl-btn{width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.ctrl-btn:hover{color:var(--accent);background:#ffffff1a}.ctrl-btn svg{font-size:.7rem}.mode-btn.active{color:var(--accent)}.mode-btn.active svg{animation:1s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.time-display{color:var(--text);font-variant-numeric:tabular-nums;opacity:.8;flex-shrink:0;font-size:.72rem}.time-separator{opacity:.5;margin:0 .1rem}.volume-control{flex-shrink:0;align-items:center;gap:2px;display:flex}.volume-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.volume-btn:hover{color:var(--accent);background:#ffffff1a}.volume-btn svg{font-size:.75rem}.volume-slider-container{align-items:center;display:flex;position:relative}.volume-slider{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:50px;height:4px;transition:height .15s}.volume-slider:hover{height:6px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:10px;height:10px;transition:transform .15s;box-shadow:0 0 4px #60a5fa80}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-hover-value{color:#fff;pointer-events:none;white-space:nowrap;z-index:10;background:#000000d9;border-radius:4px;padding:3px 6px;font-size:.65rem;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.playlist-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.playlist-btn:hover{color:var(--accent);background:#ffffff1a}.playlist-btn.active{color:var(--accent);background:#60a5fa33}.playlist-btn svg{font-size:.75rem}.playlist{border-top:1px solid #ffffff1a;max-height:200px;padding:4px 0;overflow-y:auto}.playlist::-webkit-scrollbar{width:4px}.playlist::-webkit-scrollbar-track{background:0 0}.playlist::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.playlist-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;transition:background .15s;display:flex}.playlist-item:hover{background:#ffffff0d}.playlist-item.playing{background:#60a5fa1a}.playlist-index{color:var(--text);opacity:.4;text-align:center;flex-shrink:0;width:16px;font-size:.7rem}.playlist-item.playing .playlist-index{opacity:0}.playing-indicator{color:var(--accent);text-align:center;flex-shrink:0;width:16px;font-size:.5rem;animation:1s infinite playingPulse}@keyframes playingPulse{0%,to{opacity:1}50%{opacity:.5}}.playlist-song{flex-direction:column;gap:1px;min-width:0;display:flex}.playlist-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.playlist-item.playing .playlist-name{color:var(--accent)}.playlist-artist{color:var(--text);opacity:.6;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.lyrics-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.lyrics-btn:hover{color:var(--accent);background:#ffffff1a}.lyrics-btn.active{color:var(--accent);background:#60a5fa33}.lyrics-btn svg{font-size:.75rem}.lyric-bar-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.lyric-bar-btn:hover{color:var(--accent);background:#ffffff1a}.lyric-bar-btn.active{color:var(--accent);background:#60a5fa33}.lyric-bar-btn svg{font-size:.7rem}.lyric-bar{pointer-events:auto;z-index:999;background:0 0;align-items:center;gap:12px;width:340px;min-height:60px;animation:.3s slideUp;display:flex;position:fixed;bottom:180px;left:1.5rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lyric-bar-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex;overflow:hidden}.lyric-bar-current{color:var(--text-h);word-break:break-all;align-items:center;font-size:1rem;font-weight:600;line-height:1.5;animation:.3s lyricFade;display:flex}.lyric-char-active{color:var(--accent);text-shadow:0 0 12px var(--accent), 0 0 20px #60a5fa80;transition:all .15s}.lyric-char-pending{color:var(--text-h);opacity:.8}@keyframes lyricFade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.lyric-bar-next{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.4;overflow:hidden}.lyric-bar-empty{color:#ffffff80;font-size:.85rem;font-style:italic}.lyric-bar-close{width:28px;height:28px;color:var(--text);cursor:pointer;background:#ffffff26;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lyric-bar-close:hover{color:var(--accent);background:#ffffff40}.lyric-bar-close svg{font-size:.7rem}.lyrics-container{scroll-behavior:smooth;border-top:1px solid #ffffff1a;max-height:180px;padding:8px 12px;overflow-y:auto}.lyrics-container::-webkit-scrollbar{width:4px}.lyrics-container::-webkit-scrollbar-track{background:0 0}.lyrics-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.lyric-line{color:var(--text);opacity:.5;text-align:center;padding:4px 0;font-size:.8rem;line-height:1.4;transition:all .3s}.lyric-line.active{color:var(--accent);opacity:1;font-weight:500;transform:scale(1.05)}.lyric-line .lyric-char-active{color:var(--accent);text-shadow:0 0 8px var(--accent)}.lyric-line .lyric-char-pending{color:var(--text);opacity:.7}.lyric-line.past{opacity:.35}.lyric-line.empty{color:var(--text);opacity:.4;font-style:italic}.lyric-panel-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.lyric-panel-btn:hover{color:var(--accent);background:#ffffff1a}.lyric-panel-btn.active{color:var(--accent);background:#60a5fa33}.lyric-panel-btn svg{font-size:.7rem}.lyric-fullscreen-panel{-webkit-backdrop-filter:blur(30px);z-index:999;pointer-events:auto;background:linear-gradient(135deg,#0f0f1ef7,#050514f2);flex-direction:column;animation:.35s panelFadeIn;display:flex;position:fixed;inset:0}[data-theme=light] .lyric-fullscreen-panel{background:linear-gradient(135deg,#f5f0fff7,#fff8faf2)}@keyframes panelFadeIn{0%{opacity:0}to{opacity:1}}.lyric-panel-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:24px 36px;display:flex}[data-theme=light] .lyric-panel-header{border-bottom-color:#00000014}.lyric-panel-song{flex-direction:column;gap:4px;display:flex}.lyric-panel-name{color:var(--text-h);letter-spacing:.3px;font-size:1.25rem;font-weight:600}.lyric-panel-artist{color:var(--text);opacity:.6;font-size:.85rem}.lyric-panel-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.lyric-panel-close:hover{color:#fff;background:#ffffff26}.lyric-panel-close svg{font-size:1rem}.lyric-panel-content{scroll-behavior:smooth;flex-direction:column;flex:1;align-items:center;padding:50px 30px;display:flex;overflow-y:auto}.lyric-panel-line{color:var(--text);opacity:.35;text-align:center;letter-spacing:.5px;-webkit-font-smoothing:antialiased;width:100%;max-width:750px;padding:18px 24px;font-size:1.6rem;font-weight:350;line-height:1.7;transition:all .5s cubic-bezier(.4,0,.2,1)}.lyric-panel-line.active{opacity:1;color:var(--accent);text-shadow:0 0 30px #60a5fa66,0 0 60px #60a5fa26;letter-spacing:1px;font-size:2rem;font-weight:600;transform:scale(1.06)}.lyric-panel-line .lyric-char-active{color:var(--accent);text-shadow:0 0 20px var(--accent), 0 0 40px #60a5fa4d;transition:all .12s}.lyric-panel-line .lyric-char-pending{color:inherit;opacity:.7}.lyric-panel-line.past{opacity:.2;font-size:1.35rem;font-weight:300}.lyric-panel-line.empty{color:var(--text);opacity:.35;font-size:1.2rem;font-style:italic}.lyric-panel-content::-webkit-scrollbar{width:4px}.lyric-panel-content::-webkit-scrollbar-track{background:0 0}.lyric-panel-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}[data-theme=light] .lyric-panel-content::-webkit-scrollbar-thumb{background:#0000001a}@media (width<=768px){.lyric-panel-line{padding:12px 16px;font-size:1.2rem}.lyric-panel-line.active{font-size:1.4rem}.lyric-panel-line.past{font-size:1rem}.lyric-panel-header{padding:15px 20px}.lyric-panel-name{font-size:1rem}.music-player{bottom:1rem;left:1rem}.music-icon-only{width:44px;height:44px}.music-expanded{min-width:280px;max-width:calc(100vw - 2rem)}.time-display,.volume-slider,.volume-btn,.volume-control{display:none}.control-buttons{gap:4px}.ctrl-btn{width:32px;height:32px}.ctrl-btn svg{font-size:.75rem}.playlist{max-height:160px}.lyrics-container{max-height:140px}.lyric-line{font-size:.75rem}.close-btn{width:32px;height:32px}.close-btn svg{font-size:.85rem}.play-btn{width:38px;height:38px}.play-btn svg{font-size:.8rem}.progress-container{height:6px;margin-right:10px}.progress-container:hover{height:8px}.song-name{font-size:.8rem}.song-artist{font-size:.62rem}.spectrum-canvas{height:30px}.controls{gap:.4rem;padding:.6rem}.lyrics-btn,.lyric-bar-btn,.lyric-panel-btn,.playlist-btn{width:32px;height:32px}.lyrics-btn svg,.lyric-bar-btn svg,.lyric-panel-btn svg,.playlist-btn svg{font-size:.8rem}.lyric-bar{width:calc(100vw - 2rem);bottom:80px;left:1rem}.lyric-bar-next{display:none}.lyric-bar-current{font-size:.9rem}.lyric-bar-next{font-size:.72rem}}@media (width<=420px){.music-expanded{min-width:260px;max-width:calc(100vw - 2rem)}.controls{gap:.25rem;padding:.5rem}.play-btn{width:34px;height:34px}.ctrl-btn,.lyrics-btn,.lyric-bar-btn,.lyric-panel-btn,.playlist-btn{width:28px;height:28px}}.quote-container{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;justify-content:center;gap:.35rem;min-height:60px;padding:.7rem 1rem;display:flex}.quote-container:hover{background:#ffffff0d;transform:scale(1.01)}.quote-container .quote-text,.quote-container .quote-author{transition:opacity .4s,transform .4s}.quote-container.fading .quote-text,.quote-container.fading .quote-author{opacity:0;transform:translateY(-6px)}.quote-container:not(.fading) .quote-text,.quote-container:not(.fading) .quote-author{opacity:1;transform:translateY(0)}.quote-text{color:var(--text);-webkit-line-clamp:3;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;font-size:.88rem;font-style:italic;line-height:1.55;display:-webkit-box;overflow:hidden}.quote-author{color:var(--accent);opacity:.8;text-align:right;flex-shrink:0;font-size:.75rem}@media (width<=600px){.quote-text{-webkit-line-clamp:4;font-size:.82rem}}.search-box{width:100%}.search-form{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:0;padding:4px;transition:all .3s;display:flex}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 16px #aa3bff33}.search-engine-btn{width:36px;height:34px;color:var(--accent);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex;position:relative}.search-engine-btn:hover{background:#aa3bff26;transform:scale(1.1)}.search-input{min-width:0;color:var(--text);letter-spacing:.5px;background:0 0;border:none;outline:none;flex:1;padding:8px 10px;font-size:.88rem}.search-input::placeholder{color:var(--text);opacity:.4}.search-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:34px;font-size:.9rem;transition:all .3s;display:flex}.search-submit:hover{transform:scale(1.08);box-shadow:0 0 12px #aa3bff80}.search-engine-label{text-align:center;color:var(--text);opacity:0;letter-spacing:1px;height:0;margin-top:4px;font-size:.68rem;transition:opacity .25s;overflow:hidden}.search-box:hover .search-engine-label{opacity:.35;height:auto}.search-box.compact{width:auto}.search-box.compact .search-toggle{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:all .3s;display:flex}.search-box.compact .search-toggle:hover{border-color:var(--accent);color:var(--accent);background:#aa3bff33;transform:scale(1.05)}.search-box.compact.expanded .search-form{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--accent-border);width:280px;box-shadow:0 0 30px var(--accent-bg), 0 10px 40px #0006;z-index:1000;background:#141419f2;border-radius:14px;padding:6px;animation:.25s searchExpand;position:absolute;top:calc(100% + 8px);right:0}.search-box.compact .search-input{padding:6px 8px;font-size:.85rem}.search-box.compact .search-engine-btn,.search-box.compact .search-submit{width:32px;height:32px;font-size:.9rem}.search-collapse{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;transition:all .2s;display:flex}.search-collapse:hover{color:#fffc;background:#ffffff1a}[data-theme=light] .search-box.compact.expanded .search-form{background:#fffffff2;box-shadow:0 0 20px #8b5cf626,0 10px 40px #0000001a}[data-theme=light] .search-box.compact .search-toggle{color:#1a1a2e99;background:#fffc;border-color:#8b5cf633}[data-theme=light] .search-box.compact .search-toggle:hover{border-color:var(--accent);color:var(--accent);background:#8b5cf61a}@keyframes searchExpand{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=767px){.search-engine-btn,.search-submit{width:32px;height:30px;font-size:.85rem}.search-input{padding:6px 8px;font-size:.82rem}}.quick-links{width:100%}.quick-links-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));justify-content:center;gap:8px;display:grid}h3{color:var(--text-h);margin-top:0;margin-bottom:1rem;font-size:1.2rem}.quick-link-item{cursor:pointer;text-align:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:6px 12px;text-decoration:none;transition:all .25s;display:flex}.quick-link-item:hover{border-color:var(--accent);background:#aa3bff1f;transform:translateY(-2px);box-shadow:0 4px 16px #aa3bff26}.quick-link-icon{color:var(--text);opacity:.85;align-items:center;font-size:.9rem;transition:all .25s;display:flex}[data-theme=light] .quick-link-item{background:#0000000a;border-color:#00000014}[data-theme=light] .quick-link-item:hover{background:#60a5fa1a;border-color:#60a5fa66;box-shadow:0 4px 16px #60a5fa1f}[data-theme=light] .quick-link-icon,[data-theme=light] .quick-link-name{color:var(--text)}[data-theme=light] .quick-link-item:hover .quick-link-icon{color:var(--accent)}[data-theme=light] .quick-link-item[data-color=\#24292e]:hover .quick-link-icon{color:#24292e}[data-theme=light] .quick-link-item[data-color=\#00a1d6]:hover .quick-link-icon{color:#00a1d6}[data-theme=light] .quick-link-item[data-color=\#0084ff]:hover .quick-link-icon{color:#0084ff}[data-theme=light] .quick-link-item[data-color=\#ff0000]:hover .quick-link-icon{color:red}[data-theme=light] .quick-link-item[data-color=\#1da1f2]:hover .quick-link-icon{color:#1da1f2}[data-theme=light] .quick-link-item[data-color=\#1b2838]:hover .quick-link-icon{color:#1b2838}[data-theme=light] .quick-link-item[data-color=\#ff4500]:hover .quick-link-icon{color:#ff4500}[data-theme=dark] .quick-link-item[data-color=\#24292e]:hover .quick-link-icon{color:#e8e8e8}[data-theme=dark] .quick-link-item[data-color=\#00a1d6]:hover .quick-link-icon{color:#00d2ff}[data-theme=dark] .quick-link-item[data-color=\#0084ff]:hover .quick-link-icon{color:#1da1f2}[data-theme=dark] .quick-link-item[data-color=\#ff0000]:hover .quick-link-icon{color:#f44}[data-theme=dark] .quick-link-item[data-color=\#1da1f2]:hover .quick-link-icon{color:#4da6ff}[data-theme=dark] .quick-link-item[data-color=\#1b2838]:hover .quick-link-icon{color:#66c0f4}[data-theme=dark] .quick-link-item[data-color=\#ff4500]:hover .quick-link-icon{color:coral}[data-theme=light] .quick-link-item:hover .quick-link-name{color:var(--text-h)}.quick-link-name{color:var(--text);opacity:.75;letter-spacing:.3px;white-space:nowrap;font-size:.75rem;transition:opacity .25s}.quick-link-item:hover .quick-link-name{opacity:1;color:var(--text-h)}@media (width<=767px){.quick-links-grid{gap:6px}.quick-link-item{gap:4px;padding:5px 9px}.quick-link-icon{font-size:.82rem}.quick-link-name{font-size:.7rem}}.weather{cursor:default;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;transition:all .3s;display:flex}.weather:hover{border-color:var(--accent);background:#aa3bff14}.weather-location-icon{color:var(--accent);opacity:.8;font-size:.6rem}.weather-city{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:100px;font-size:.75rem;font-weight:500;overflow:hidden}.weather-divider{color:var(--text);opacity:.25;font-size:.7rem}.weather-icon{font-size:1rem;line-height:1}.weather-temp{color:var(--text-h);letter-spacing:.5px;font-size:.8rem;font-weight:600}.weather-loading{color:var(--text);opacity:.7;align-items:center;gap:6px;font-size:.78rem;display:flex}.weather-spin{color:var(--accent);animation:1.5s linear infinite spin}@media (width<=767px){.weather{flex-wrap:wrap;justify-content:center;gap:3px;padding:3px 8px}.weather-location-icon{font-size:.55rem}.weather-city{max-width:80px;font-size:.68rem}.weather-icon{font-size:.9rem}.weather-temp{font-size:.72rem}}.greeting{color:var(--text-h);letter-spacing:2px;opacity:.9;font-size:1rem;font-weight:600}@media (width<=767px){.greeting{letter-spacing:1px;font-size:.88rem}}.particle-selector{align-items:center;gap:4px;display:flex;position:relative}.selector-label{color:var(--text);opacity:.6;letter-spacing:.5px;text-transform:uppercase;font-size:.72rem}.preset-btn{color:var(--text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;transition:all .25s;display:flex}.preset-btn:hover{border-color:var(--accent);color:var(--text-h);background:#60a5fa1a}.preset-icon{font-size:.8rem;line-height:1}.preset-name{letter-spacing:.3px;font-weight:500}.preset-arrow{opacity:.6;font-size:.65rem;transition:transform .25s}.preset-arrow.open{transform:rotate(180deg)}.preset-dropdown{-webkit-backdrop-filter:blur(16px);z-index:2000;background:#0f0f14f2;border:1px solid #ffffff1a;border-radius:12px;min-width:130px;padding:5px;animation:.2s presetFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #00000080}@keyframes presetFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.preset-overlay{z-index:1999;position:fixed;inset:0}.preset-option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-size:.82rem;transition:all .15s;display:flex}.preset-option:hover{color:var(--text-h);background:#60a5fa26}.preset-option.active{color:var(--accent);background:#60a5fa33;font-weight:600}.option-icon{text-align:center;flex-shrink:0;width:18px;font-size:.95rem}@media (width<=767px){.selector-label{display:none}.preset-btn{padding:3px 8px;font-size:.72rem}.preset-name{display:none}.preset-dropdown{min-width:110px}.preset-option{padding:6px 10px;font-size:.78rem}}.click-heart{pointer-events:none;z-index:99999;position:fixed;transform:translate(-50%,-50%)}.heart-icon{display:block;overflow:visible}.heart-icon path{fill:url(#heartGrad)}.click-heart.enter .heart-icon{animation:1s ease-out forwards heartBurst}.click-heart.enter .heart-icon path{animation:.4s ease-out forwards heartColorRise}@keyframes heartBurst{0%{filter:brightness(.2)saturate(0);opacity:0;transform:translate(0)scale(.1)}8%{opacity:1}25%{transform:translate(calc(var(--dx,0px) * .6), calc(var(--dy,0px) * .6)) scale(1.2);filter:brightness(1.4)saturate(1.3)drop-shadow(0 0 14px #ff6496b3)}50%{transform:translate(var(--dx,0px), var(--dy,0px)) scale(.95);filter:brightness(1.05)saturate()drop-shadow(0 0 5px #ff649640);opacity:1}70%{transform:translate(var(--dx,0px), calc(var(--dy,0px) - 5px)) scale(.9);filter:brightness(.9)saturate(.8);opacity:.8}to{transform:translate(var(--dx,0px), calc(var(--dy,0px) - 18px)) scale(.8);filter:brightness(.5)saturate(.3);opacity:0}}@keyframes heartColorRise{0%{fill:#999}25%{fill:#ffb3c6}to{fill:#ff4d7a}}.click-heart.fade .heart-icon{animation:.5s ease-out forwards heartFadeOut}@keyframes heartFadeOut{0%{transform:translate(var(--dx,0px), calc(var(--dy,0px) - 5px)) scale(.95);filter:brightness(1.1)saturate()drop-shadow(0 0 6px #ff64964d);opacity:1}to{transform:translate(var(--dx,0px), calc(var(--dy,0px) - 20px)) scale(.85);filter:brightness(.6)saturate(.5);opacity:0}}.click-heart.hold.glow .heart-icon{animation:.6s ease-in-out infinite heartHoldGlow}@keyframes heartHoldGlow{0%,to{filter:brightness(1.2)saturate(1.2)drop-shadow(0 0 12px #ff508299)drop-shadow(0 0 28px #ff508259);transform:scale(1.05)}50%{filter:brightness(1.5)saturate(1.4)drop-shadow(0 0 20px #ff5082e6)drop-shadow(0 0 40px #ff508280)drop-shadow(0 0 60px #ff508240);transform:scale(1.15)}}.click-heart.hold.fade .heart-icon{animation:1s ease-out forwards holdHeartFade}@keyframes holdHeartFade{0%{filter:brightness(1.2)saturate(1.2)drop-shadow(0 0 12px #ff508299);opacity:1;transform:scale(1.05)}to{filter:brightness(.4)saturate(0);opacity:0;transform:scale(.5)translateY(-30px)}}.sparkle{width:var(--size,4px);height:var(--size,4px);margin-top:calc(var(--size,4px) / -2);margin-left:calc(var(--size,4px) / -2);pointer-events:none;opacity:0;background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #ffc8dccc}.click-heart.enter .sparkle{animation:sparkleBurst 1s ease-out var(--delay,0s) forwards}@keyframes sparkleBurst{0%{opacity:1;transform:translate(0)scale(.2)}10%{opacity:1}30%{transform:translate(calc(var(--dx,20px) * 2.2), calc(var(--dy,-20px) * 2.2)) scale(.6);opacity:.8}50%{opacity:.4}to{transform:translate(calc(var(--dx,20px) * 2.2), calc(var(--dy,-20px) * 2.2)) scale(.2);opacity:0}}.click-heart.hold.glow .sparkle{animation:sparkleHoldTwinkle .5s ease-in-out infinite var(--delay,0s)}@keyframes sparkleHoldTwinkle{0%,to{transform:translate(calc(var(--dx,20px) * 2), calc(var(--dy,-20px) * 2)) scale(1);opacity:.5}50%{transform:translate(calc(var(--dx,20px) * 2), calc(var(--dy,-20px) * 2)) scale(1.6);opacity:1;box-shadow:0 0 8px #ff6496,0 0 16px #ff649699}}.meteor-shower-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-star{background:#fff;border-radius:50%;animation:3s ease-in-out infinite starTwinkle;position:absolute}[data-theme=light] .bg-star{background:#d97706;animation-name:starTwinkleLight;box-shadow:0 0 3px #d9770666}@keyframes starTwinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes starTwinkleLight{0%,to{opacity:.15}50%{opacity:.5}}.meteor-trail{filter:drop-shadow(0 0 6px #fffc);height:2px;animation:meteorFall var(--duration,.6s) linear forwards;background:linear-gradient(90deg,#0000,#fff);border-radius:100%;position:absolute}[data-theme=light] .meteor-trail{filter:drop-shadow(0 0 6px #d9770680);background:linear-gradient(90deg,#0000,#d97706)}@keyframes meteorFall{0%{transform:rotate(var(--angle,35deg)) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:rotate(var(--angle,35deg)) translateX(800px);opacity:0}}
