@import"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;600;700&display=swap";*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tg-theme-bg-color, #1a1a1a);color:var(--tg-theme-text-color, #ffffff)}:root{--tg-theme-bg-color: #1a1a1a;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #aaaaaa;--tg-theme-link-color: #6ab7ff;--tg-theme-button-color: #6ab7ff;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #2a2a2a}#root{width:100%;min-height:100vh}a{color:var(--tg-theme-link-color, #6ab7ff);text-decoration:none}a:hover{text-decoration:underline}button{border:none;border-radius:8px;padding:12px 16px;font-size:16px;font-weight:500;font-family:inherit;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:opacity .2s;outline:none}button:hover{opacity:.8}button:active{opacity:.6}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3,h4,h5,h6,p,ul,ol{margin:0;padding:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-theme-hint-color, #708499);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--tg-theme-text-color, #000000)}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--tg-theme-secondary-bg-color, #2a2a2a);padding:8px 0;z-index:100}.app-browser .tab-bar{left:auto;right:auto;width:100%;max-width:600px;margin:0 auto;border-radius:0}@media (max-width: 600px){.app-browser .tab-bar{max-width:100%;left:0;right:0}}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;background:none;border:none;cursor:pointer;transition:opacity .2s;color:var(--tg-theme-hint-color, #aaaaaa);font-family:inherit}.tab-item:hover{opacity:.8}.tab-item-active{color:var(--tg-theme-link-color, #2481cc)}.tab-icon{font-size:20px;margin-bottom:2px}.tab-label{font-size:12px;font-weight:400;line-height:1}@media (max-width: 480px){.tab-bar{padding:6px 0}.tab-item{padding:6px 2px}.tab-icon{font-size:18px}.tab-label{font-size:11px}}.app-content{padding-bottom:80px}.global-player{position:fixed;bottom:80px;left:0;right:0;background:var(--tg-theme-secondary-bg-color, #2a2a2a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:99;transform:translateY(100%);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.global-player.visible{transform:translateY(0);opacity:1}.app-browser .global-player{left:auto;right:auto;width:100%;max-width:600px;margin:0 auto;border-radius:0}@media (max-width: 600px){.app-browser .global-player{max-width:100%;left:0;right:0}}.player-content{display:flex;align-items:center;padding:12px 16px;gap:12px;min-height:70px;position:relative}.player-track-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer;transition:opacity .2s}.player-track-info:hover{opacity:.8}.track-cover{width:48px;height:48px;border-radius:8px;overflow:hidden;background:var(--tg-theme-button-color, #6ab7ff);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.track-cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{font-size:20px;color:var(--tg-theme-button-text-color, #ffffff);animation:pulse 2s infinite}.track-details{min-width:0;flex:1}.track-title{font-weight:600;font-size:14px;color:var(--tg-theme-text-color, #ffffff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 4px;line-height:1.2}.track-artist{font-size:12px;color:var(--tg-theme-hint-color, #aaaaaa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.2}.bottom-progress-container{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--tg-theme-hint-color, #708499);opacity:.3}.bottom-progress-bar{height:100%;background:var(--tg-theme-link-color, #2481cc);transition:width .3s ease}.player-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.control-btn{width:44px;height:44px;border:none;border-radius:22px;background:var(--tg-theme-button-color, #6ab7ff);color:var(--tg-theme-button-text-color, #ffffff);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,background-color .2s,opacity .2s;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #0000001a}.control-btn:hover:not(:disabled){transform:scale(1.05);opacity:.9}.control-btn:active:not(:disabled){transform:scale(.95)}.control-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.play-pause-btn{background:var(--tg-theme-link-color, #2481cc);font-size:18px;width:48px;height:48px}.previous-btn,.next-btn{font-size:14px;width:36px;height:36px}.close-btn{background:var(--tg-theme-hint-color, #aaaaaa);font-size:12px;width:32px;height:32px}.loading-indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--tg-theme-hint-color, #aaaaaa);opacity:.3}.loading-bar{height:100%;background:var(--tg-theme-link-color, #2481cc);animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.app-browser .loading-indicator{left:auto;right:auto;width:100%;max-width:600px;margin:0 auto}@media (max-width: 600px){.app-browser .loading-indicator{left:0;right:0;max-width:100%}}.fullscreen-player{position:fixed;inset:0;background:var(--tg-theme-bg-color, #1a1a1a);z-index:200;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.app-browser .fullscreen-player{left:auto;right:auto;width:100%;max-width:600px;margin:0 auto;border-radius:0}@media (max-width: 600px){.app-browser .fullscreen-player{max-width:100%;left:0;right:0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--tg-theme-hint-color, #aaaaaa)}.fullscreen-header h2{font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #ffffff);margin:0}.back-btn,.menu-btn{width:40px;height:40px;border:none;border-radius:20px;background:var(--tg-theme-button-color, #6ab7ff);color:var(--tg-theme-button-text-color, #ffffff);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s}.back-btn:hover,.menu-btn:hover{transform:scale(1.05)}.fullscreen-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:40px 20px;gap:20px;overflow:hidden;min-height:0}.large-cover{width:250px;height:250px;border-radius:20px;background:var(--tg-theme-button-color, #6ab7ff);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #0003}.large-cover-placeholder{font-size:80px;color:var(--tg-theme-button-text-color, #ffffff)}.fullscreen-track-info{text-align:center;max-width:300px}.fullscreen-title{font-size:24px;font-weight:700;color:var(--tg-theme-text-color, #ffffff);margin:0 0 8px;line-height:1.2}.fullscreen-artist{font-size:18px;font-weight:400;color:var(--tg-theme-hint-color, #aaaaaa);margin:0 0 16px}.track-stats{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:300px;font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa)}.stats-left{display:flex;gap:16px}.stats-right{display:flex;align-items:center}.like-btn-simple{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:20px;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.like-btn-simple:hover{background:var(--tg-theme-secondary-bg-color, #2a2a2a);transform:scale(1.1)}.like-btn-simple.active{background:var(--tg-theme-link-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.like-btn-simple.active:hover{background:var(--tg-theme-link-color, #2481cc);opacity:.8}.like-btn-simple:disabled{opacity:.6;cursor:not-allowed;transform:none}.fullscreen-progress{width:100%;max-width:350px}.fullscreen-progress-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--tg-theme-hint-color, #aaaaaa);outline:none;cursor:pointer}.fullscreen-progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--tg-theme-link-color, #2481cc);cursor:pointer;box-shadow:0 2px 6px #0000004d}.fullscreen-time{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);font-variant-numeric:tabular-nums}.fullscreen-controls{display:flex;align-items:center;justify-content:center;gap:20px}.fullscreen-control-btn{width:60px;height:60px;border:none;border-radius:30px;background:var(--tg-theme-button-color, #6ab7ff);color:var(--tg-theme-button-text-color, #ffffff);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s;box-shadow:0 4px 12px #00000026}.main-play-btn{width:80px;height:80px;font-size:32px;background:var(--tg-theme-link-color, #2481cc)}.fullscreen-control-btn:hover:not(:disabled){transform:scale(1.05)}.fullscreen-control-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-height: 700px) and (orientation: landscape){.fullscreen-content{gap:15px;padding:20px}.large-cover{width:150px;height:150px}.large-cover-placeholder{font-size:50px}.fullscreen-title{font-size:20px}.fullscreen-artist{font-size:16px}.fullscreen-control-btn{width:50px;height:50px;font-size:20px}.main-play-btn{width:65px;height:65px;font-size:26px}}@media (max-width: 480px){.player-content{padding:10px 12px;min-height:64px;gap:10px}.track-cover{width:40px;height:40px}.cover-placeholder{font-size:16px}.track-title{font-size:13px}.track-artist{font-size:11px}.control-btn{width:40px;height:40px;font-size:14px}.play-pause-btn{font-size:16px;width:44px;height:44px}.previous-btn,.next-btn{width:32px;height:32px;font-size:12px}.close-btn{width:28px;height:28px;font-size:10px}.fullscreen-content{gap:20px;padding:30px 20px}.large-cover{width:200px;height:200px}.large-cover-placeholder{font-size:60px}.fullscreen-title{font-size:20px}.fullscreen-artist{font-size:16px}.fullscreen-control-btn{width:50px;height:50px;font-size:20px}.main-play-btn{width:70px;height:70px;font-size:28px}}.header-actions{position:relative}.fullscreen-menu{position:absolute;top:100%;right:0;background:var(--tg-theme-bg-color, #1a1a1a);border:1px solid var(--tg-theme-hint-color, #aaaaaa);border-radius:12px;box-shadow:0 4px 16px #0000001a;min-width:180px;z-index:1000;margin-top:8px;padding:8px 0}.app-browser .fullscreen-menu{max-width:568px}@media (max-width: 600px){.app-browser .fullscreen-menu{max-width:calc(100% - 32px)}}.fullscreen-menu .menu-item{width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:16px;color:var(--tg-theme-text-color, #ffffff);cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px}.fullscreen-menu .menu-item:hover{background:var(--tg-theme-secondary-bg-color, #2a2a2a)}.fullscreen-menu .menu-item.danger{color:var(--tg-theme-destructive-text-color, #ff3b30)}@media (prefers-color-scheme: dark){.global-player{background:var(--tg-theme-secondary-bg-color, #1a1a1a);border-top-color:var(--tg-theme-hint-color, #4a4a4a)}.track-cover,.large-cover{background:var(--tg-theme-button-color, #3390ec)}}.track-list{display:flex;flex-direction:column;gap:4px}.track-list-loading,.track-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--tg-theme-hint-color, #aaaaaa)}.loading-spinner{width:32px;height:32px;border:3px solid var(--tg-theme-hint-color, #aaaaaa);border-top:3px solid var(--tg-theme-link-color, #2481cc);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.track-list-loading p,.track-list-empty p{font-size:16px;margin:0}.track-item{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;overflow:hidden;position:relative;border:2px solid transparent}.track-item.currently-playing{border-color:var(--tg-theme-link-color, #2481cc)}.track-item.currently-playing.playing{animation:trackPulse 2s ease-in-out infinite}.track-item.currently-playing.paused{animation:none}@keyframes trackPulse{0%,to{border-color:var(--tg-theme-link-color, #2481cc);opacity:1}50%{border-color:var(--tg-theme-link-color, #1565c0);opacity:.8}}.track-main{display:flex;align-items:center;padding:12px 16px;gap:12px;cursor:pointer;position:relative}.track-main:hover{background:var(--tg-theme-secondary-bg-color, #f8f9fa)}.track-index{width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.track-number{font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);font-weight:500}.playing-indicator{font-size:16px;color:var(--tg-theme-link-color, #2481cc);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.track-cover-small{width:40px;height:40px;border-radius:8px;background:var(--tg-theme-button-color, #6ab7ff);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 2px 4px #0000001a}.track-cover-small img{width:100%;height:100%;object-fit:cover}.track-cover-placeholder{font-size:16px;color:var(--tg-theme-button-text-color, #ffffff)}.track-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.track-title{font-size:16px;font-weight:600;color:var(--tg-theme-text-color, #ffffff);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-meta{display:flex;align-items:center;gap:4px;font-size:14px;line-height:1.2;color:var(--tg-theme-hint-color, #aaaaaa)}.track-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-owner{color:var(--tg-theme-link-color, #2481cc);font-weight:500}.track-stats{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;font-size:12px;color:var(--tg-theme-hint-color, #aaaaaa);min-width:50px}.play-count,.like-count{display:flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.track-duration{font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);font-weight:500;flex-shrink:0;font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.track-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}.action-btn{width:32px;height:32px;border:none;border-radius:16px;background:transparent;color:var(--tg-theme-hint-color, #aaaaaa);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,transform .1s;-webkit-user-select:none;user-select:none}.action-btn:hover:not(:disabled){background:var(--tg-theme-secondary-bg-color, #2a2a2a);color:var(--tg-theme-text-color, #ffffff);transform:scale(1.05)}.action-btn:active:not(:disabled){transform:scale(.95)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.like-btn.active{color:#e74c3c}.track-menu{position:absolute;top:100%;right:0;background:var(--tg-theme-bg-color, #ffffff);border:1px solid var(--tg-theme-hint-color, #aaaaaa);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:150px;overflow:hidden}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:none;background:none;color:var(--tg-theme-text-color, #ffffff);font-size:14px;text-align:left;cursor:pointer;transition:background-color .2s}.menu-item:hover{background:var(--tg-theme-secondary-bg-color, #2a2a2a)}.menu-item.danger{color:#e74c3c}.menu-item.danger:hover{background:#e74c3c1a}.app-browser .track-loading-indicator{max-width:600px}@media (max-width: 600px){.app-browser .track-loading-indicator{max-width:100%}}@media (max-width: 480px){.track-main{padding:10px 12px;gap:10px}.track-cover-small{width:36px;height:36px}.track-cover-placeholder{font-size:14px}.track-title{font-size:15px}.track-meta{font-size:13px}.track-stats{font-size:11px;min-width:40px}.track-duration{font-size:13px;min-width:35px}.action-btn{width:28px;height:28px;font-size:14px}.track-index{width:20px}.track-number{font-size:13px}}.track-list.compact .track-main{padding:8px 12px}.track-list.compact .track-cover-small{width:32px;height:32px}.track-list.compact .track-title{font-size:14px}.track-list.compact .track-meta{font-size:12px}.track-item{animation:trackAppear .3s ease-out}@keyframes trackAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-browser .track-list-loading,.app-browser .track-list-empty{max-width:600px;margin:0 auto}@media (max-width: 600px){.app-browser .track-list-loading,.app-browser .track-list-empty{max-width:100%}}@media (prefers-color-scheme: dark){.track-item{background:var(--tg-theme-bg-color, #1a1a1a)}.track-main:hover{background:var(--tg-theme-secondary-bg-color, #2a2a2a)}.track-cover-small{background:var(--tg-theme-button-color, #3390ec)}.action-btn:hover:not(:disabled){background:var(--tg-theme-secondary-bg-color, #2a2a2a)}.track-menu{background:var(--tg-theme-bg-color, #1a1a1a);border-color:var(--tg-theme-hint-color, #4a4a4a)}.menu-item:hover{background:var(--tg-theme-secondary-bg-color, #2a2a2a)}}.app{min-height:100vh;background:var(--tg-theme-bg-color, #1a1a1a);color:var(--tg-theme-text-color, #ffffff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0;display:flex;flex-direction:column}.app-browser{max-width:600px;margin:0 auto;box-shadow:0 0 20px #00000080;border-left:1px solid var(--tg-theme-secondary-bg-color, #2a2a2a);border-right:1px solid var(--tg-theme-secondary-bg-color, #2a2a2a);position:relative}.app-browser .app-header{left:auto;right:auto;width:100%;max-width:600px;margin:0 auto}@media (max-width: 600px){.app-browser{max-width:100%;box-shadow:none;border-left:none;border-right:none}.app-browser .app-header{max-width:100%;left:0;right:0}}.app-header{position:fixed;top:0;left:0;right:0;background:var(--tg-theme-bg-color, #1a1a1a);padding:12px 16px;z-index:90}.app-title{font-family:Comfortaa,cursive;font-size:22px;font-weight:700;color:var(--tg-theme-text-color, #ffffff);margin:0;text-align:center;letter-spacing:.5px;background:linear-gradient(45deg,var(--tg-theme-link-color, #6ab7ff),var(--tg-theme-text-color, #ffffff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.app-content{flex:1;margin-top:60px;margin-bottom:160px;overflow-y:auto}.app-content.player-hidden{margin-bottom:80px}.screen{min-height:100%;padding:16px}.screen-title{font-size:24px;font-weight:600;color:var(--tg-theme-text-color, #ffffff);margin:0 0 20px;text-align:center}.screen-content{display:flex;flex-direction:column;gap:20px}.user-info{display:flex;align-items:center;gap:16px;padding:20px;background:var(--tg-theme-secondary-bg-color, #2a2a2a);border-radius:12px;margin-bottom:8px}.user-avatar{flex-shrink:0}.avatar-image{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--tg-theme-button-color, #6ab7ff);color:var(--tg-theme-button-text-color, #ffffff);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.user-details{flex:1}.user-greeting{font-size:20px;font-weight:600;margin:0;color:var(--tg-theme-text-color, #ffffff)}.user-username{font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);margin:4px 0 0}.new-user-badge{display:inline-block;background:#4caf50;color:#fff;font-size:12px;font-weight:500;padding:2px 6px;border-radius:4px;margin-left:8px}.user-status{font-size:12px;color:var(--tg-theme-link-color, #6ab7ff);margin:4px 0 0;font-weight:500}.status-card{padding:20px;background:var(--tg-theme-secondary-bg-color, #2a2a2a);border-radius:12px;text-align:center}.loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--tg-theme-hint-color, #aaaaaa)}.loading-spinner{width:24px;height:24px;border:2px solid var(--tg-theme-hint-color, #708499);border-top:2px solid var(--tg-theme-link-color, #2481cc);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#e53e3e}.success{color:var(--tg-theme-text-color, #ffffff)}.status-text{font-size:16px;margin:0 0 8px}.server-response{font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);margin:0}.environment-info{text-align:center;padding:16px}.environment-text{font-size:14px;color:var(--tg-theme-hint-color, #aaaaaa);margin:0}@media (max-width: 480px){.container{padding:12px;gap:16px}.user-info,.status-card{padding:16px}.app-title{font-size:24px}.user-greeting{font-size:18px}}
