:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #0f1419);--hint: var(--tg-theme-hint-color, #8a949e);--link: var(--tg-theme-link-color, #2481cc);--button: var(--tg-theme-button-color, #2481cc);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f1f3f5);--section-bg: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #ffffff));--destructive: var(--tg-theme-destructive-text-color, #e0453a);--success: #34c759;--warning: #f5a524;--accent-soft: rgba(36, 129, 204, .14);--destructive-soft: rgba(224, 69, 58, .14);--success-soft: rgba(52, 199, 89, .16);--border: rgba(128, 138, 148, .28);--divider: rgba(128, 138, 148, .18);--overlay: rgba(9, 12, 16, .55);--ripple: rgba(128, 138, 148, .16);--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--radius-pill: 999px;--gap: 12px;--gap-sm: 8px;--gap-lg: 18px;--tap: 44px;--tabbar-height: 58px;--player-height: 76px;--header-height: 52px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--bottom-inset: calc(var(--tabbar-height) + var(--player-height) + var(--safe-bottom));--shadow-sm: 0 1px 2px rgba(9, 12, 16, .06), 0 1px 1px rgba(9, 12, 16, .04);--shadow-md: 0 4px 16px rgba(9, 12, 16, .12);--shadow-lg: 0 12px 32px rgba(9, 12, 16, .22);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--transition: .16s cubic-bezier(.32, .72, 0, 1);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f5f7fa);--hint: var(--tg-theme-hint-color, #7d8b99);--link: var(--tg-theme-link-color, #62aeef);--button: var(--tg-theme-button-color, #4f9ee0);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #0e1621);--section-bg: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #17212b));--destructive: var(--tg-theme-destructive-text-color, #ff6b60);--accent-soft: rgba(79, 158, 224, .2);--destructive-soft: rgba(255, 107, 96, .18);--success-soft: rgba(52, 199, 89, .2);--border: rgba(150, 162, 174, .26);--divider: rgba(150, 162, 174, .16);--overlay: rgba(0, 0, 0, .66);--ripple: rgba(180, 195, 210, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f5f7fa);--hint: var(--tg-theme-hint-color, #7d8b99);--link: var(--tg-theme-link-color, #62aeef);--button: var(--tg-theme-button-color, #4f9ee0);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #0e1621);--section-bg: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #17212b));--destructive: var(--tg-theme-destructive-text-color, #ff6b60);--accent-soft: rgba(79, 158, 224, .2);--destructive-soft: rgba(255, 107, 96, .18);--success-soft: rgba(52, 199, 89, .2);--border: rgba(150, 162, 174, .26);--divider: rgba(150, 162, 174, .16);--overlay: rgba(0, 0, 0, .66);--ripple: rgba(180, 195, 210, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%}body{margin:0;min-height:100%;font-family:var(--font);font-size:15px;line-height:1.4;color:var(--text);background:var(--bg);overflow-x:hidden;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}#root{min-height:100%}h1,h2,h3,h4,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video{display:block;max-width:100%}a{color:var(--link);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}input[type=text],input[type=search],input[type=number],input[type=url],input[type=tel],textarea,select,.input{width:100%;min-height:var(--tap);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--secondary-bg);color:var(--text);font-size:16px;transition:border-color var(--transition),background var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}textarea{min-height:84px;resize:vertical;line-height:1.45}input::placeholder,textarea::placeholder{color:var(--hint)}input:focus,textarea:focus,select:focus,.input:focus{outline:none;border-color:var(--button)}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--button);cursor:pointer}input[type=range]{accent-color:var(--button)}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text)}.header,.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--gap-sm);min-height:calc(var(--header-height) + var(--safe-top));padding:var(--safe-top) calc(var(--gap) + var(--safe-right)) 0 calc(var(--gap) + var(--safe-left));background:var(--section-bg);border-bottom:1px solid var(--divider);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.header__title,.app-header__title{flex:1 1 auto;min-width:0;margin:0;font-size:17px;font-weight:600;line-height:var(--header-height);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__back{flex:none;align-self:center;display:grid;place-items:center;width:var(--tap);height:var(--tap);margin-left:-10px;border-radius:50%;color:var(--link);font-size:22px;line-height:1;transition:background var(--transition),transform var(--transition)}.app-header__back:active{transform:scale(.92);background:var(--ripple)}.header .btn,.header .btn-icon,.app-header .btn,.app-header .btn-icon{align-self:center}.main,.app-main{flex:1 1 auto;width:100%;min-width:0;padding-bottom:calc(var(--bottom-inset) + var(--gap))}.app:not(:has(.player)) .main,.app:not(:has(.player)) .app-main{padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--gap))}.page{display:flex;flex-direction:column;gap:var(--gap-lg);padding:var(--gap) calc(var(--gap) + var(--safe-right)) var(--gap) calc(var(--gap) + var(--safe-left));animation:mb-fade-in .18s ease-out both}@keyframes mb-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.card{display:flex;flex-direction:column;gap:var(--gap-sm);padding:var(--gap);border:1px solid var(--divider);border-radius:var(--radius);background:var(--secondary-bg);box-shadow:var(--shadow-sm)}.card__title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.section{display:flex;flex-direction:column;gap:var(--gap-sm);min-width:0}.section__header,.section-scroller__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-sm);min-width:0}.section__title,.section-scroller__title{min-width:0;margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section__more,.section-scroller__more{flex:none;display:inline-flex;align-items:center;min-height:32px;padding:0 4px;color:var(--link);font-size:14px;font-weight:500;white-space:nowrap;transition:opacity var(--transition)}.section__more:active,.section-scroller__more:active{opacity:.6}.section-scroller,.section-scroller__list{display:flex;gap:var(--gap-sm);margin:0 calc(-1 * var(--gap));padding:2px var(--gap) 6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:var(--gap);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}.section-scroller::-webkit-scrollbar,.section-scroller__list::-webkit-scrollbar{display:none}.section-scroller>*,.section-scroller__list>*{flex:none;scroll-snap-align:start}.section-scroller:has(>.section-scroller__list),.section-scroller:has(>.section-scroller__head){display:flex;flex-direction:column;gap:var(--gap-sm);margin:0;padding:0;overflow:visible;scroll-snap-type:none}@supports not selector(:has(*)){.section-scroller{display:block;margin:0;padding:0;overflow:visible}.section-scroller>.track-card{display:inline-flex;margin:0 var(--gap-sm) var(--gap-sm) 0;vertical-align:top}}.section-scroller__empty{margin:0;padding:2px 0 4px;color:var(--hint);font-size:14px}.track-card{position:relative;display:flex;flex-direction:column;gap:2px;width:146px;padding:var(--gap-sm);border:1px solid var(--divider);border-radius:var(--radius);background:var(--secondary-bg);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.track-card:active{transform:scale(.97);background:var(--ripple)}.track-card--active{border-color:var(--button);background:var(--accent-soft)}.track-card__cover{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1 / 1;margin-bottom:6px;border-radius:var(--radius-sm);background:var(--ripple);color:var(--hint);font-size:30px;overflow:hidden}.track-card__cover-img,.track-card__cover img{width:100%;height:100%;object-fit:cover}.track-card__cover-icon{line-height:1}.track-card__title{font-size:14px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.track-card__artist{font-size:12px;color:var(--hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-card__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;font-size:12px;color:var(--hint)}.track-card__plays{min-height:18px;padding:0 6px;font-size:11px;line-height:18px}.track-card__duration{font-variant-numeric:tabular-nums}.track-card__badge{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:2px;min-height:20px;padding:0 7px;border-radius:var(--radius-pill);background:var(--overlay);color:#fff;font-size:11px;font-weight:600;line-height:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.list{display:flex;flex-direction:column;gap:2px;min-width:0}.list-item{display:flex;align-items:center;gap:var(--gap-sm);width:100%;min-height:var(--tap);padding:10px var(--gap-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;transition:background var(--transition),transform var(--transition)}.list-item:active{background:var(--ripple);transform:scale(.995)}.list-item__title{flex:1 1 auto;min-width:0;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__meta{flex:none;color:var(--hint);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.list-item__icon{flex:none;display:grid;place-items:center;width:26px;font-size:18px;line-height:1}.list-item--action{color:var(--link);font-weight:500}.list-item--form{flex-direction:column;align-items:stretch;gap:var(--gap-sm);padding:var(--gap-sm);border-radius:var(--radius-sm);background:var(--secondary-bg)}.list-item--form:active{background:var(--secondary-bg);transform:none}.track-row{position:relative;display:flex;align-items:center;gap:var(--gap-sm);width:100%;min-height:56px;padding:8px var(--gap-sm);border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--transition)}.track-row+.track-row{box-shadow:inset 0 1px 0 var(--divider)}.track-row:active{background:var(--ripple)}.track-row.track-row--active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--button)}.track-row--active .track-row__title{color:var(--link)}.track-row__index{flex:none;width:22px;color:var(--hint);font-size:13px;font-variant-numeric:tabular-nums;text-align:center}.track-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.track-row__title{font-size:15px;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row__artist{font-size:13px;color:var(--hint);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row__meta{flex:none;display:flex;align-items:center;gap:6px;color:var(--hint);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.track-row__duration{font-variant-numeric:tabular-nums}.track-row__plays{min-height:18px;padding:0 6px;font-size:11px;line-height:18px}.track-row__actions{flex:none;display:flex;align-items:center;gap:2px}.track-row__actions .btn-icon{width:38px;height:var(--tap);font-size:17px}.track-row__fav{color:var(--hint)}.track-row.track-row--selected{background:var(--secondary-bg);box-shadow:inset 0 0 0 1px var(--button)}.track-row__drag,.drag-handle{flex:none;display:grid;place-items:center;width:34px;min-height:var(--tap);color:var(--hint);font-size:17px;line-height:1;border-radius:var(--radius-sm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color var(--transition),background var(--transition)}.track-row__drag:active,.drag-handle:active{cursor:grabbing;color:var(--text);background:var(--ripple)}.sortable-item{position:relative;border-radius:var(--radius-sm);background:var(--bg);transition:box-shadow var(--transition),opacity var(--transition);-webkit-user-select:none;user-select:none}.sortable-item--dragging{z-index:5;opacity:.95;background:var(--secondary-bg);box-shadow:var(--shadow-lg)}.sortable-item--dragging .track-row{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--secondary-bg);color:var(--text);font-size:15px;font-weight:500;white-space:nowrap;text-align:center;transition:transform var(--transition),background var(--transition),opacity var(--transition),border-color var(--transition)}.btn:active{transform:scale(.97)}.btn--primary{border-color:transparent;background:var(--button);color:var(--button-text);font-weight:600;box-shadow:var(--shadow-sm)}.btn--ghost{border-color:transparent;background:transparent;color:var(--link)}.btn--ghost:active{background:var(--ripple)}.btn--danger{border-color:transparent;background:var(--destructive-soft);color:var(--destructive);font-weight:600}.btn--primary.btn--danger{background:var(--destructive);color:#fff}.btn--block,.btn.is-block{width:100%}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text);font-size:18px;line-height:1;transition:transform var(--transition),background var(--transition),color var(--transition)}.btn-icon:active{transform:scale(.92);background:var(--ripple)}.btn-icon.is-active,.btn-icon[aria-pressed=true]{color:var(--link)}.chip-row{display:flex;gap:var(--gap-sm);margin:0 calc(-1 * var(--gap));padding:2px var(--gap);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-row>*{flex:none;scroll-snap-align:start}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--secondary-bg);color:var(--text);font-size:14px;white-space:nowrap;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition)}.chip:active{transform:scale(.96)}.chip.is-active,.chip[aria-selected=true]{border-color:transparent;background:var(--button);color:var(--button-text)}.badge{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:0 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--link);font-size:12px;font-weight:600;line-height:20px;white-space:nowrap}.muted{color:var(--hint);font-size:13px}.error{display:flex;align-items:flex-start;gap:var(--gap-sm);padding:10px var(--gap);border-radius:var(--radius-sm);background:var(--destructive-soft);color:var(--destructive);font-size:14px;word-break:break-word}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-sm);padding:32px var(--gap);color:var(--hint);font-size:14px}.loader__spinner{display:block;width:26px;height:26px;border:2.5px solid var(--divider);border-top-color:var(--button);border-radius:50%;animation:mb-spin .7s linear infinite}.loader:not(:has(.loader__spinner)):before{content:"";display:block;width:26px;height:26px;border:2.5px solid var(--divider);border-top-color:var(--button);border-radius:50%;animation:mb-spin .7s linear infinite}.loader__label{color:var(--hint);font-size:14px}@keyframes mb-spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px var(--gap-lg);text-align:center}.empty__icon{font-size:42px;line-height:1.1}.empty__title{margin:0;font-size:17px;font-weight:600}.empty__desc,.empty__description{max-width:320px;margin:0;color:var(--hint);font-size:14px;line-height:1.45}.empty__action,.empty .btn{margin-top:var(--gap-sm)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:mb-fade .18s ease-out both}@keyframes mb-fade{0%{opacity:0}to{opacity:1}}.modal__window,.modal>.modal__body{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:520px;max-height:min(86vh,86dvh);padding:0 0 var(--safe-bottom);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);box-shadow:var(--shadow-lg);overflow:hidden;animation:mb-slide-up .22s cubic-bezier(.32,.72,0,1) both}@keyframes mb-slide-up{0%{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}.modal__header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);min-height:52px;padding:var(--gap-sm) var(--gap-sm) var(--gap-sm) var(--gap);border-bottom:1px solid var(--divider);font-size:16px;font-weight:600}.modal__title{min-width:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal__close{flex:none;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;color:var(--hint);font-size:18px;line-height:1;transition:background var(--transition),color var(--transition)}.modal__close:active{color:var(--text);background:var(--ripple)}.modal__body,.modal__content{flex:1 1 auto;min-height:0;padding:var(--gap);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal__message{margin:0;font-size:15px;line-height:1.45}.modal__error{margin:0 0 var(--gap-sm);padding:10px var(--gap);border-radius:var(--radius-sm);background:var(--destructive-soft);color:var(--destructive);font-size:14px}.modal__footer{flex:none;display:flex;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap) var(--gap);border-top:1px solid var(--divider)}.modal__footer>.btn,.modal__actions>.btn{flex:1 1 0}.modal__actions{display:flex;gap:var(--gap-sm);width:100%}.searchbar{position:relative;display:flex;align-items:center;width:100%}.searchbar__icon{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--hint);font-size:15px;line-height:1;pointer-events:none}.searchbar__input{width:100%;min-height:var(--tap);padding:10px 48px 10px 38px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--secondary-bg);color:var(--text);font-size:16px;transition:border-color var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}.searchbar:not(:has(.searchbar__icon)) .searchbar__input{padding-left:14px}.searchbar__input::-webkit-search-cancel-button{display:none}.searchbar__input:focus{outline:none;border-color:var(--button)}.searchbar__clear{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;background:transparent;color:var(--hint);font-size:16px;line-height:1;transition:color var(--transition),background var(--transition)}.searchbar__clear:active{color:var(--text);background:var(--ripple)}.player{position:fixed;right:0;bottom:calc(var(--tabbar-height) + var(--safe-bottom));left:0;z-index:35;display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--gap-sm);min-height:var(--player-height);padding:8px calc(var(--gap) + var(--safe-right)) 8px calc(var(--gap) + var(--safe-left));background:var(--section-bg);border-top:1px solid var(--divider);box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.player__row,.player__bottom{flex:1 1 100%;display:flex;align-items:center;gap:var(--gap-sm);min-width:0}.player__bottom .player__progress{flex:1 1 auto}.player__cover{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--secondary-bg);color:var(--hint);font-size:20px;overflow:hidden}.player__cover img,.player__cover-img{width:100%;height:100%;object-fit:cover}.player__cover-icon{line-height:1}.player__info{flex:1 1 40%;min-width:0;display:flex;flex-direction:column;gap:1px}.player__title{font-size:14px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__artist{font-size:12px;color:var(--hint);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__controls{flex:none;display:flex;align-items:center;gap:0}.player__controls .btn-icon,.player__btn{width:40px;height:var(--tap);font-size:17px}.player__btn--main{width:var(--tap);font-size:21px;color:var(--link)}.player__btn--close{color:var(--hint);font-size:15px}.player__progress{position:relative;width:100%;height:4px;min-width:80px;border-radius:var(--radius-pill);background:var(--divider);cursor:pointer;touch-action:none}.player>.player__progress{flex:1 1 120px;order:2}.player>.player__time{order:2}.player__bar,.player__progress-fill{position:absolute;top:0;left:0;height:100%;max-width:100%;border-radius:inherit;background:var(--button);transition:width .12s linear}.player__progress:after{content:"";position:absolute;top:-10px;right:0;bottom:-10px;left:0}.player__time{flex:none;color:var(--hint);font-size:11px;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:stretch;min-height:var(--tabbar-height);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--section-bg);border-top:1px solid var(--divider);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.tabbar__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:var(--tabbar-height);padding:4px 2px;color:var(--hint);font-size:11px;text-decoration:none;transition:color var(--transition),transform var(--transition)}.tabbar__item:active{transform:scale(.94)}.tabbar__item--active,.tabbar__item.active,.tabbar__item[aria-current=page]{color:var(--link)}.tabbar__icon{font-size:20px;line-height:1.1}.tabbar__label{max-width:100%;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-container{position:fixed;right:0;bottom:calc(var(--bottom-inset) + var(--gap-sm));left:0;z-index:80;display:flex;flex-direction:column;align-items:center;gap:var(--gap-sm);padding:0 var(--gap);pointer-events:none}body:not(:has(.player)) .toast-container{bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--gap-sm))}.toast{display:flex;align-items:center;gap:var(--gap-sm);width:100%;max-width:460px;padding:11px 14px;border-radius:var(--radius);background:var(--secondary-bg);color:var(--text);font-size:14px;line-height:1.35;box-shadow:var(--shadow-lg);border:1px solid var(--divider);pointer-events:auto;word-break:break-word;animation:mb-toast-in .22s cubic-bezier(.32,.72,0,1) both}@keyframes mb-toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.toast__icon{flex:none;font-size:16px;line-height:1.2}.toast__text{flex:1 1 auto;min-width:0}.toast--info{border-color:var(--divider)}.toast--error{border-color:transparent;background:var(--destructive-soft);color:var(--destructive)}.toast--success{border-color:transparent;background:var(--success-soft);color:var(--success)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--gap-sm)}.stat-tile{display:flex;flex-direction:column;gap:2px;min-height:72px;padding:var(--gap-sm) var(--gap);border:1px solid var(--divider);border-radius:var(--radius);background:var(--secondary-bg);color:inherit;text-align:left;box-shadow:var(--shadow-sm);transition:transform var(--transition),background var(--transition)}.stat-tile:active{transform:scale(.98);background:var(--ripple)}.stat-tile__value{font-size:22px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-tile__label{color:var(--hint);font-size:12px;line-height:1.3}.row{display:flex;align-items:center;gap:var(--gap-sm);min-width:0}.row--between{justify-content:space-between}.spacer{flex:1 1 auto}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:500;color:var(--hint)}.field__hint{font-size:12px;color:var(--hint);line-height:1.35}.text-ellipsis{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.page__header{display:flex;flex-direction:column;gap:4px;min-width:0}.page__title{margin:0;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.02em}.page__subtitle{margin:0;color:var(--hint);font-size:13px;line-height:1.4}.page__actions{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}.page__actions>.btn{flex:1 1 auto}.page__form{display:flex;gap:var(--gap-sm)}.form-row{display:flex;align-items:center;gap:var(--gap-sm)}.form-row>.input,.form-row>input,.form-row>.searchbar{flex:1 1 auto;min-width:0}.form-row>.btn{flex:none}.page-section{display:flex;flex-direction:column;gap:var(--gap-sm);min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);min-width:0}.section-title{display:flex;align-items:center;gap:6px;min-width:0;margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis}.section-count{flex:none;min-height:18px;padding:0 6px;font-size:11px;line-height:18px}.section-more{flex:none;display:inline-flex;align-items:center;min-height:32px;padding:0 4px;color:var(--link);font-size:14px;font-weight:500;white-space:nowrap}.section-more.muted{color:var(--hint);font-weight:400}.track-list,.tracks{display:flex;flex-direction:column;gap:2px;min-width:0}.list-footer{padding:var(--gap-sm) 0 2px;text-align:center;font-size:13px}.list-item--row{gap:2px;padding:0;background:transparent}.list-item--row:active{transform:none;background:transparent}.list-item__main{flex:1 1 auto;display:flex;align-items:center;gap:var(--gap-sm);min-width:0;min-height:var(--tap);padding:10px var(--gap-sm);border-radius:var(--radius-sm);color:inherit;text-align:left;transition:background var(--transition)}.list-item__main:active{background:var(--ripple)}.list-item__actions{flex:none;display:flex;align-items:center;gap:2px}.list-item__check{flex:none}.btn--icon{width:var(--tap);min-width:var(--tap);padding:0;border-color:transparent;background:transparent;font-size:17px}.btn--icon:active{background:var(--ripple)}.btn--wide{width:100%}.checkbox{display:flex;align-items:center;gap:var(--gap-sm);min-height:var(--tap);cursor:pointer}.checkbox__label{font-size:15px;line-height:1.35}.modal__hint{margin:6px 0 0;color:var(--hint);font-size:13px;line-height:1.4}.chips{display:flex;flex-wrap:wrap;gap:var(--gap-sm);min-width:0}.artist-card{gap:6px}.card__meta{margin:0;color:var(--hint);font-size:13px;line-height:1.4}.card__actions{display:flex;flex-wrap:wrap;gap:var(--gap-sm);margin-top:4px}.card__actions>.btn{flex:1 1 auto}.search-album{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-grid--summary{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.stat-tile__icon{font-size:18px;line-height:1.1}@media (min-width: 700px){.main{max-width:760px;margin:0 auto}.header,.player{padding-right:max(calc(var(--gap) + var(--safe-right)),calc((100vw - 760px)/2));padding-left:max(calc(var(--gap) + var(--safe-left)),calc((100vw - 760px)/2))}.tabbar{padding-right:max(var(--safe-right),calc((100vw - 760px)/2));padding-left:max(var(--safe-left),calc((100vw - 760px)/2))}.modal{align-items:center;padding:var(--gap)}.modal__window{border-radius:var(--radius-lg);max-height:min(80vh,80dvh)}.track-card{width:168px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (hover: hover) and (pointer: fine){.track-row:hover,.list-item:hover,.btn-icon:hover,.btn--ghost:hover{background:var(--ripple)}.btn:hover,.chip:hover,.stat-tile:hover,.track-card:hover{filter:brightness(1.04)}.section__more:hover{text-decoration:underline}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.tree{display:flex;flex-direction:column;gap:2px;min-width:0}.tree__node{display:flex;align-items:center;gap:2px;width:100%;min-width:0;min-height:var(--tap);padding-left:calc(var(--depth, 0) * 18px);border-radius:var(--radius-sm);background:transparent;transition:background var(--transition)}.tree__node+.tree__node{box-shadow:inset 0 1px 0 var(--divider)}.tree__node.tree__node--active,.tree__node[aria-current=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--button)}.tree__depth{flex:none;align-self:stretch;width:18px;border-left:1px solid var(--divider)}.tree__toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:var(--tap);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--hint);font-size:13px;line-height:1;transition:background var(--transition),color var(--transition)}.tree__toggle:active{background:var(--ripple)}.tree__toggle[aria-expanded=true],.tree__toggle.is-open{color:var(--text)}.tree__toggle>*{transition:transform var(--transition)}.tree__toggle[aria-expanded=true]>*,.tree__toggle.is-open>*{transform:rotate(90deg)}.tree__toggle:disabled{opacity:0;cursor:default}.tree__label{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:12px var(--gap-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font-size:15px;font-weight:500;line-height:20px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition)}.tree__label:active{background:var(--ripple)}.tree__label .badge,.tree__label .muted{margin-left:6px;vertical-align:middle}.breadcrumbs{display:flex;align-items:center;min-width:0;min-height:var(--tap);margin:0 calc(-1 * var(--gap-sm));padding:0 var(--gap-sm);overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.breadcrumbs::-webkit-scrollbar{display:none}.breadcrumbs__item{flex:none;display:inline-block;max-width:62vw;padding:0 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--link);font-size:14px;line-height:var(--tap);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;transition:background var(--transition),color var(--transition)}.breadcrumbs__item:active{background:var(--ripple)}.breadcrumbs__item+.breadcrumbs__item:before{content:"›";margin-right:8px;color:var(--hint);font-weight:400}.breadcrumbs__item--current,.breadcrumbs__item[aria-current=page],.breadcrumbs__item:last-child{color:var(--text);font-weight:600}.chip--selected{border-color:transparent;background:var(--button);color:var(--button-text)}.chip__remove{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:-6px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:inherit;font-size:14px;line-height:1;opacity:.75;transition:background var(--transition),opacity var(--transition)}.chip__remove:after{content:"";position:absolute;top:-9px;right:-4px;bottom:-9px;left:-4px}.chip__remove:active{background:var(--ripple);opacity:1}.chip--selected .chip__remove:active{background:#ffffff3d}.chip:has(.chip__remove){min-height:40px;padding-right:12px}.chip-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-sm);width:100%;min-height:var(--tap);padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--secondary-bg);transition:border-color var(--transition)}.chip-input:focus-within{border-color:var(--link)}.chip-input input[type=text],.chip-input input[type=search],.chip-input .input{flex:1 1 140px;width:auto;min-width:120px;min-height:32px;padding:0 2px;border:0;border-radius:0;background:transparent}.chip-input input[type=text]:focus,.chip-input input[type=search]:focus,.chip-input .input:focus{border:0;background:transparent;outline:none}.note-item{display:flex;align-items:flex-start;gap:var(--gap-sm);width:100%;min-width:0;min-height:48px;padding:6px var(--gap-sm);border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;transition:opacity var(--transition)}.note-item+.note-item{box-shadow:inset 0 1px 0 var(--divider)}.note-item__checkbox{position:relative;flex:none;width:24px;height:24px;margin:8px 0 0;padding:0;accent-color:var(--button);cursor:pointer}button.note-item__checkbox{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:8px;background:transparent;color:var(--button-text);font-size:13px;line-height:1;transition:background var(--transition),border-color var(--transition)}button.note-item__checkbox[aria-checked=true],button.note-item__checkbox.is-checked{border-color:transparent;background:var(--button)}button.note-item__checkbox:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.note-item__text{flex:1 1 auto;min-width:0;padding:6px 2px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font-size:15px;line-height:1.45;text-align:left;word-break:break-word;overflow-wrap:anywhere;transition:background var(--transition),color var(--transition)}button.note-item__text{align-self:stretch;min-height:40px}button.note-item__text:active{background:var(--ripple)}.note-item--done{opacity:.8}.note-item--done .note-item__text{color:var(--hint);text-decoration:line-through;text-decoration-thickness:1px}.note-progress{display:flex;align-items:center;gap:var(--gap-sm);width:100%;min-width:0}.note-progress__bar{position:relative;flex:1 1 auto;min-width:40px;height:6px;border-radius:var(--radius-pill);background:var(--divider);overflow:hidden}.note-progress__fill{display:block;width:0;height:100%;border-radius:inherit;background:var(--link);transition:width var(--transition)}.note-progress--complete .note-progress__fill{background:var(--success)}.note-progress__label{flex:none;color:var(--hint);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.reco-tabs{display:flex;gap:var(--gap-sm);min-width:0}.reco-tabs>*{flex:1 1 0;min-width:0;justify-content:center}.reco-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:var(--gap);border:1px solid var(--divider);border-radius:var(--radius);background:var(--secondary-bg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),transform var(--transition)}.page>.reco-card+.reco-card{margin-top:var(--gap-sm)}.reco-card__name{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.3;word-break:break-word}.reco-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0;color:var(--hint);font-size:13px;font-variant-numeric:tabular-nums}.reco-card__reason{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;max-width:100%;margin-top:2px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--link);font-size:12px;font-weight:500;line-height:1.35;word-break:break-word}.reco-note{display:flex;gap:var(--gap-sm);padding:10px var(--gap);border-radius:var(--radius-sm);background:var(--secondary-bg);box-shadow:inset 3px 0 0 var(--button);color:var(--hint);font-size:13px;line-height:1.45}.file-row{display:flex;align-items:center;gap:var(--gap-sm);width:100%;min-width:0;min-height:56px;padding:8px var(--gap-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;transition:background var(--transition)}.file-row+.file-row{box-shadow:inset 0 1px 0 var(--divider)}.file-row:active{background:var(--ripple)}.file-row__icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--secondary-bg);font-size:20px;line-height:1}.file-row>div:not([class]){flex:1 1 auto;min-width:0}.file-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;color:var(--hint);font-size:12px;font-variant-numeric:tabular-nums}.file-type-badge{flex:none;display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--hint);font-size:11px;font-weight:600;letter-spacing:.03em;line-height:16px;text-transform:uppercase;white-space:nowrap}.file-type-badge--accent{border-color:transparent;background:var(--accent-soft);color:var(--link)}.segmented{display:flex;gap:2px;min-height:var(--tap);padding:3px;border:1px solid var(--divider);border-radius:var(--radius-pill);background:var(--secondary-bg);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.segmented::-webkit-scrollbar{display:none}.segmented__item{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:0 12px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition),color var(--transition)}.segmented__item:active{background:var(--ripple)}.segmented__item--active,.segmented__item.is-active,.segmented__item[aria-selected=true],.segmented__item[aria-pressed=true]{background:var(--button);color:var(--button-text);font-weight:600;box-shadow:var(--shadow-sm)}.segmented__item--active:active,.segmented__item.is-active:active,.segmented__item[aria-selected=true]:active,.segmented__item[aria-pressed=true]:active{background:var(--button)}.inline-edit{display:flex;align-items:center;gap:6px;flex:1 1 auto;width:100%;min-width:0}.inline-edit__input{flex:1 1 auto;width:auto;min-width:0;min-height:38px;padding:6px 10px;border:1px solid var(--link);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:16px}.inline-edit__input:focus{border-color:var(--link);background:var(--bg);outline:none}.inline-edit .btn-icon,.inline-edit .btn--icon{flex:none}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-sm);margin-top:4px;min-width:0}.card-actions>.btn{flex:1 1 auto}.card-actions>.btn-icon,.card-actions>.btn--icon{flex:none}@media (hover: hover) and (pointer: fine){.tree__label:hover,.tree__toggle:hover,.breadcrumbs__item:hover,.file-row:hover,.chip__remove:hover,button.note-item__text:hover{background:var(--ripple)}.segmented__item:hover:not(.segmented__item--active):not(.is-active):not([aria-selected=true]):not([aria-pressed=true]){background:var(--ripple)}.reco-card:hover{border-color:var(--border)}}
