:root{--tg-bg: #0f141a;--tg-card: #18212b;--tg-card-2: #1e2935;--tg-text: #ffffff;--tg-muted: #97a9bd;--tg-accent: #2aabee;--tg-border: rgba(255, 255, 255, .08);--shadow: 0 12px 30px rgba(0, 0, 0, .24)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top,rgba(42,171,238,.18),transparent 32%),var(--tg-bg);color:var(--tg-text)}button,input{font:inherit}button{cursor:pointer;border:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding-bottom:146px}.app-main{width:100%;max-width:820px;margin:0 auto}.page{padding:16px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-header--stacked{align-items:flex-start}.eyebrow{color:var(--tg-muted);font-size:12px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.page-title{margin:0;font-size:32px;line-height:1.05}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{margin:20px 0 12px;font-size:20px}.section-caption{color:var(--tg-muted);font-size:13px}.hero-card,.auth-card,.artist-card,.release-tile,.search-row,.track-row,.empty-state,.artist-hero,.album-hero,.app-topbar{border:1px solid var(--tg-border);background:linear-gradient(180deg,#ffffff08,#ffffff04),var(--tg-card);box-shadow:var(--shadow)}.hero-card{display:flex;justify-content:space-between;gap:16px;border-radius:28px;padding:20px;margin:16px}.hero-card__content{max-width:520px}.hero-text,.auth-text{color:var(--tg-muted);line-height:1.45}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.hero-tag,.pill-button{border-radius:999px;padding:8px 12px;background:#ffffff0f;color:var(--tg-text)}.hero-tag--accent{background:#2aabee2e;color:var(--tg-accent)}.primary-button,.secondary-button,.icon-button,.topbar-tab{border-radius:16px;padding:12px 14px;transition:.2s ease}.primary-button{background:var(--tg-accent);color:#fff;font-weight:700}.secondary-button,.icon-button,.topbar-tab{background:#2aabee1f;border:1px solid rgba(42,171,238,.18);color:var(--tg-accent)}.secondary-button--back{margin-bottom:14px}.search-box{margin:0 16px 16px}.search-input{width:100%;border:1px solid var(--tg-border);background:#ffffff0a;color:var(--tg-text);border-radius:18px;padding:14px 16px;outline:none}.artist-grid,.release-grid,.search-results,.search-list,.track-list{display:grid;gap:12px}.artist-grid,.release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artist-card{border-radius:24px;padding:12px;text-align:left}.artist-card--grid{display:block}.artist-cover{width:56px;height:56px;border-radius:16px;object-fit:cover}.artist-cover--large{width:100%;height:164px;border-radius:20px;margin-bottom:12px}.artist-cover--placeholder,.release-cover--placeholder{display:flex;align-items:center;justify-content:center;background:#2aabee1f;color:var(--tg-accent);font-weight:700}.artist-name{font-size:16px;font-weight:700}.artist-subtitle,.release-subtitle,.track-subtitle,.search-row__subtitle,.player-subtitle,.player-time,.error-text{color:var(--tg-muted);font-size:13px}.release-tile{display:block;border-radius:24px;padding:12px;text-align:left}.release-cover--tile{width:100%;height:180px;border-radius:20px;object-fit:cover;margin-bottom:12px}.release-title{font-size:17px;font-weight:700}.track-row,.search-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:20px;padding:14px;text-align:left}.track-row{color:var(--tg-text);background:#ffffff05}.track-number{width:24px;flex-shrink:0;color:var(--tg-muted)}.track-title-wrap,.search-row__content{flex:1;min-width:0}.track-title,.search-row__title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row__actions,.search-row__actions{display:flex;align-items:center;gap:8px}.track-duration,.search-row__duration{color:var(--tg-muted);font-size:13px;white-space:nowrap}.favorite-button{width:42px;height:42px;border-radius:50%;background:#ffffff0f;color:var(--tg-text)}.favorite-button--compact{width:36px;height:36px}.favorite-button--active{color:#ff6d9c}.empty-state{padding:18px;border-radius:20px;color:var(--tg-muted)}.player-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#0d1218f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--tg-border);padding:12px 16px calc(14px + env(safe-area-inset-bottom))}.player-top,.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-main-info{flex:1;min-width:0}.player-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-progress{width:100%;margin:10px 0}.icon-button--play{min-width:54px}.player-bottom{justify-content:flex-start}.player-time{margin-left:auto}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(100%,460px);border-radius:28px;padding:22px}.auth-form{display:grid;gap:12px;margin-top:16px}.app-topbar{position:sticky;top:0;z-index:10;margin:12px 16px 0;padding:8px;border-radius:22px;display:flex;gap:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-tab{flex:1}.topbar-tab--active{background:var(--tg-accent);color:#fff}.artist-hero,.album-hero{display:flex;gap:16px;border-radius:28px;padding:16px;margin-bottom:20px}.artist-hero__cover,.album-hero__cover{width:120px;height:120px;border-radius:22px;object-fit:cover}.track-list--spaced{gap:10px}.text-link{color:var(--tg-accent);cursor:pointer}.favorites-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}@media(max-width:767px){.hero-card{display:block}.artist-grid,.release-grid{grid-template-columns:1fr 1fr}.page-title{font-size:28px}}@media(max-width:520px){.artist-grid,.release-grid{grid-template-columns:1fr}.artist-hero,.album-hero{align-items:center}.artist-hero__cover,.album-hero__cover{width:96px;height:96px}}.auth-status-box{margin-top:16px;padding:16px;border-radius:18px;border:1px solid var(--tg-border);background:#ffffff0d;color:var(--tg-text)}.auth-help-text{margin-top:14px;color:var(--tg-muted);line-height:1.45;font-size:14px}
