/* Jemnější ovládání a čitelný kontrast v obou motivech. */
:root{--glass:#ffffffa8}[data-theme=dark]{--glass:#24212eaa}
.site-header,.main-nav,.player-bar{background:var(--glass);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);box-shadow:inset 0 1px #fff3,0 6px 24px #3021450a}
.ui-icon{width:22px;height:22px;flex:none;vertical-align:middle}.nav-link:has(.ui-icon){display:flex;align-items:center;justify-content:center}
.password-field{position:relative;display:block}.account-form .password-field input{width:100%;padding-right:50px}.password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;background:none;border:0;color:var(--muted);cursor:pointer}.password-eye[aria-pressed=true]{color:var(--accent-dark)}
.account-form input,.playlist-rename input,.playlist-create input,.catalog-state,.empty-state{background:var(--surface);color:var(--ink);border-color:var(--border)}
.account-form input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset}
[data-theme=dark] .timed-line:hover,[data-theme=dark] .timed-line:focus-visible{background:var(--surface-soft);color:var(--ink)}
.song-title a{color:inherit;text-decoration:none}.song-title a:hover{text-decoration:underline;text-underline-offset:4px}.playlist-add{display:inline-grid;place-items:center;padding:0;line-height:1;flex:none;font-family:Arial,sans-serif;font-size:24px}
.learning-favorite{display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0}.learning-favorite svg{width:24px;height:24px;aspect-ratio:1;flex:none}.learning-learned{overflow:hidden;gap:6px;min-width:40px;justify-content:center}.learned-label{display:inline-block;max-width:85px;opacity:1;transition:max-width .3s,opacity .2s,transform .3s;white-space:nowrap}.learning-learned[aria-pressed=true] .learned-label{max-width:0;opacity:0;transform:translateX(-16px)}.learning-learned[aria-pressed=true]{gap:0}
.hero-art{overflow:visible;isolation:isolate}.hero-art .art-circle{width:min(84%,340px);height:auto;aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;z-index:0}.rhythm-worm{position:relative;width:76px;height:62px;margin-bottom:22px}.smiling-worm{display:block;background:url('../assets/worm-reactions.webp') no-repeat left center;background-size:200% 100%;width:62px;height:62px}.rhythm-worm>span:not(.smiling-worm){position:absolute;color:var(--accent);font-size:23px;right:-8px;top:-5px}.rhythm-worm>span:last-child{right:0;top:32px;font-size:18px}
.floating-menu{position:absolute;z-index:90;min-width:220px;border:1px solid var(--border);background:var(--glass);color:var(--ink);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:18px;box-shadow:0 12px 45px #21132e2a;padding:12px;display:grid;gap:10px}.floating-menu a,.floating-menu>button{padding:12px;color:var(--ink);text-decoration:none;text-align:left;border-radius:10px}.floating-menu a:hover{background:var(--surface-soft)}.account-menu{position:fixed;right:14px;top:64px}.player-options{position:relative}.player-options .floating-menu{bottom:calc(100% + 14px);right:0;min-width:250px;max-height:65dvh;overflow-y:auto}.player-options-toggle,#player-options-toggle{font-size:26px;width:44px;height:44px}.player-options label{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.8rem;width:auto}.player-options .player-volume{display:flex}.player-options .player-volume input{width:130px}.player-options #player-repeat{font-size:.85rem;width:100%;border-radius:10px;justify-content:flex-start;padding:10px}.player-close{font-size:26px;line-height:1;min-width:40px;min-height:40px}.player-controls{flex-wrap:nowrap}.player-toggle{display:grid;place-items:center}.player-toggle svg{width:24px;height:24px}
.song-page-heading .play-icon{margin-top:14px}.lyrics-bottom-controls{display:none}.song-lyrics-panel.is-fullscreen .lyrics-bottom-controls{display:flex;justify-content:center;padding:14px 0 0}.song-lyrics-panel.is-fullscreen .lyrics-bottom-controls button{min-width:58px;min-height:52px}.song-lyrics-panel.is-fullscreen{z-index:140}
.study-sort{display:flex;align-items:center;gap:12px;margin:20px 0}.study-sort select{max-width:240px}.study-filters .filter-count{display:inline-block;margin-left:7px;font-variant-numeric:tabular-nums}.study-analytics{margin-top:38px;animation:study-arrive .5s ease both}@keyframes study-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.study-analytics .chart-scale,.study-analytics .chart-data{display:none}.daily-column{position:relative;border:0;background:none;padding:0;cursor:pointer;color:var(--ink)}.chart-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface);color:var(--ink);padding:8px 10px;border-radius:9px;border:1px solid var(--border);font-size:12px;white-space:nowrap;z-index:4;pointer-events:none;box-shadow:var(--shadow)}.daily-column:first-child .chart-tooltip{left:0;transform:none}.daily-column:last-child .chart-tooltip{left:auto;right:0;transform:none}.daily-bar{animation:bar-rise .6s ease both;transform-origin:bottom}@keyframes bar-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:760px){.song-body{grid-template-columns:minmax(0,1fr) 54px}.learning-favorite{flex-basis:38px;width:38px;height:38px}.song-overview .song-detail-art{display:none}.song-overview{padding:16px}.song-page-heading{margin-bottom:18px}.song-detail-grid{gap:16px}.song-page-heading h1{font-size:2rem}.song-page-heading .play-icon{margin-top:12px}.player-controls{grid-column:1/-1}.player-options .floating-menu{right:0}.hero-art{overflow:visible}.hero-art .art-circle{width:82%;max-width:260px}.player-options .player-volume{display:flex}.study-sort{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.daily-bar,.study-analytics{animation:none}}

.player-bar{z-index:90}.player-sheet{position:fixed;left:0;right:0;top:0;z-index:80;overflow:auto;overscroll-behavior:contain;padding:48px max(20px,calc((100vw - 1100px)/2)) 20px;background:var(--background);border-radius:24px 24px 0 0;transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 45px #24153022;will-change:transform}.player-expand{position:relative;z-index:2;transition:transform .28s cubic-bezier(.2,.8,.2,1);background:var(--glass);border-radius:22px 22px 0 0;backdrop-filter:blur(24px)}.player-expand.is-expanded span{transform:rotate(180deg)}.player-expand.is-dragging,.player-sheet.is-dragging{transition:none}.sheet-open{overflow:hidden}.sheet-open .player-sheet .song-page{max-width:1100px;margin:auto}.sheet-open .player-sheet .song-page-heading{margin-top:0}.sheet-open.lyrics-fullscreen .player-sheet{transform:none!important;height:100dvh!important;z-index:130;padding:0}.sheet-open.lyrics-fullscreen .player-expand{visibility:hidden}
.playlist-create-panel{margin:0 0 22px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.playlist-create-panel>summary{padding:20px;cursor:pointer;font-weight:650;list-style:none}.playlist-create{display:grid;grid-template-columns:1fr;padding:0 20px 20px;gap:16px;margin:0}.playlist-create>label{display:grid;gap:8px}.playlist-create .setting-switch{display:flex;align-items:center}.playlist-create input[type=checkbox],.playlist-menu input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.playlist-item{border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:12px}.playlist-row{display:flex;align-items:center;gap:12px;padding:15px 18px}.playlist-name{flex:1;min-width:0;overflow-wrap:anywhere;text-align:left;font-size:1rem;font-weight:650;border:0;background:none;color:var(--ink);padding:12px 0;cursor:pointer}.playlist-menu{position:relative}.playlist-menu>summary{list-style:none;display:grid;place-items:center;width:40px;height:44px;cursor:pointer;font-size:26px}.playlist-menu>summary::-webkit-details-marker{display:none}.playlist-menu-content{position:absolute;right:0;top:100%;z-index:15;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:16px;width:min(300px,calc(100vw - 60px));padding:18px;box-shadow:0 12px 40px #20132e22;display:grid;gap:18px}.playlist-menu .playlist-rename{display:grid;gap:8px;margin:0}.playlist-menu label{display:flex;align-items:center;gap:10px;font-size:.85rem}.playlist-editor{padding:0 18px 20px;animation:study-arrive .25s ease}.playlist-tracks{list-style:none;padding:0}.playlist-tracks li{display:flex;gap:7px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.playlist-tracks li>a{flex:1;min-width:0;font-size:.85rem;color:var(--ink)}.drag-handle{touch-action:none;cursor:grab;width:36px;min-height:44px;padding:0;border:0;background:none;color:var(--muted);font-size:24px;flex:none}.playlist-tracks .is-dragged{background:var(--accent-light);border-radius:10px;opacity:.8}.playlist-tracks .icon-button{width:32px;min-width:32px;height:38px;padding:0}.playlist-add-form{display:flex;gap:12px;margin-top:16px}.playlist-add-form select{min-width:0;flex:1}.top-track{position:relative}.top-track:focus-visible{outline:2px solid var(--accent)}.study-analytics .charts-grid{overflow:visible}
@media(max-width:480px){.playlist-row{padding:10px 12px;gap:8px}.playlist-editor{padding:0 12px 14px}.playlist-tracks li{gap:4px}.playlist-tracks .icon-button{min-width:28px;width:28px}.playlist-add-form{flex-direction:column}.playlist-name{font-size:.94rem}}
#playlist-list{display:block;overflow:visible}.playlist-item{width:100%}.playlist-menu{flex:none}.playlist-menu-content{max-height:65dvh;overflow:auto}.playlist-tracks .icon-button{flex:0 0 32px}.drag-handle svg{width:20px;height:26px;fill:currentColor}

[data-theme=dark] .learning-favorite[aria-pressed=true]{background:#412b3f;color:#f38bb4;border-color:#75455f}
