.euph-category-layer {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0 18px;
}

.euph-track-card {
  min-height: 260px;
}

.euph-track-card audio {
  width: 100%;
  margin-top: 12px;
}

.euph-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.euph-badge {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(0,0,0,.35);
  font-size: 11px;
}
.euph-module {
    color: #f6fbff;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    min-width: 0;
}

.euph-module *,
.euph-module *:before,
.euph-module *:after {
    box-sizing: border-box;
}

.euph-module-head,
.euph-userbar,
.euph-tabs,
.euph-head-actions,
.euph-track-actions,
.euph-track-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.euph-module-head,
.euph-userbar {
    justify-content: space-between;
}

.euph-kicker {
    display: inline-block;
    color: #72ffd4;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.euph-module h3,
.euph-module h4 {
    margin: 0 0 10px;
    line-height: 1.15;
}

.euph-module h3 {
    font-size: 22px;
}

.euph-module h4 {
    font-size: 15px;
}

.euph-message {
    margin: 12px 0;
    min-height: 22px;
    color: #72ffd4;
    font-weight: 700;
}

.euph-auth {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.euph-form,
.euph-track {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(0,0,0,.25);
    border-radius: 8px;
    padding: 12px;
    min-width: 0;
}

.euph-form {
    display: grid;
    gap: 10px;
}

.euph-form label {
    display: grid;
    gap: 5px;
    color: #c9d6e7;
    font-size: 13px;
}

.euph-form input[type="text"],
.euph-form input[type="email"],
.euph-form input[type="password"],
.euph-form input[type="file"],
.euph-form textarea,
.euph-form select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(2,8,12,.72);
    color: #f6fbff;
    border-radius: 8px;
    padding: 10px;
    font: inherit;
}

.euph-form textarea {
    resize: vertical;
}

.euph-check {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    flex-direction: row;
}

.euph-check input {
    width: auto;
}

.euph-module button,
.euph-module .euph-button {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.07);
    color: #f6fbff;
    border-radius: 8px;
    padding: 9px 11px;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    text-decoration: none;
}

.euph-module button:hover,
.euph-module .euph-button:hover {
    border-color: rgba(65,232,255,.7);
    background: rgba(65,232,255,.12);
}

.euph-primary {
    color: #041111 !important;
    border-color: transparent !important;
    background: linear-gradient(135deg, #72ffd4, #59d7ff) !important;
    font-weight: 800 !important;
}

.euph-storage {
    height: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.35);
    border-radius: 999px;
    margin: 10px 0 12px;
}

.euph-storage span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #72ffd4, #59d7ff, #ff5fcf);
}

.euph-tabs {
    margin: 8px 0 12px;
}

.euph-tabs button.active {
    color: #041111;
    background: #72ffd4;
    border-color: transparent;
    font-weight: 800;
}

.euph-pane {
    display: none;
}

.euph-pane.active {
    display: block;
}

.euph-track {
    display: grid;
    gap: 10px;
    margin-bottom: 10px;
}

.euph-track-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.euph-track-title {
    display: block;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.euph-track-meta {
    color: #b8c8dc;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.euph-track audio {
    width: 100%;
    max-width: 100%;
}

.euph-badge {
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
    border-radius: 999px;
    color: #c9d6e7;
    display: inline-block;
    font-size: 12px;
    padding: 4px 7px;
}

.euph-badge.good {
    border-color: rgba(114,255,212,.45);
    color: #72ffd4;
}

.euph-badge.warn {
    border-color: rgba(255,240,120,.45);
    color: #fff078;
}

.euph-edit {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 6px;
}

.euph-edit label {
    display: grid;
    gap: 4px;
    color: #c9d6e7;
    font-size: 12px;
}

.euph-edit input,
.euph-edit textarea,
.euph-edit select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(2,8,12,.72);
    color: #f6fbff;
    border-radius: 8px;
    padding: 8px;
    font: inherit;
}

.euph-edit .wide {
    grid-column: 1 / -1;
}

.euph-empty {
    border: 1px dashed rgba(255,255,255,.18);
    color: #b8c8dc;
    border-radius: 8px;
    padding: 14px;
    text-align: center;
}

.euphonized-standalone {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 20% 10%, rgba(114,255,212,.18), transparent 32%),
        radial-gradient(circle at 90% 0%, rgba(255,95,207,.16), transparent 30%),
        linear-gradient(135deg, #061015 0%, #100718 56%, #03070b 100%);
}

.euphonized-standalone .euph-page {
    width: min(1120px, calc(100% - 28px));
    margin: 0 auto;
    padding: 22px 0 40px;
}

.euphonized-standalone .euph-shell {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(0,0,0,.28);
    border-radius: 8px;
    padding: clamp(14px, 3vw, 22px);
}

.euphonized-standalone .euph-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    color: #f6fbff;
}

.euphonized-standalone .euph-top a {
    color: #72ffd4;
    text-decoration: none;
}

.euph-module[data-auth-state="logged-in"] [data-beard-auth],
#euphonized-app[data-auth-state="logged-in"] [data-beard-auth] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.euph-module[data-auth-state="logged-out"] [data-beard-workspace],
#euphonized-app[data-auth-state="logged-out"] [data-beard-workspace] {
    display: none !important;
}

.euph-module,
.euph-track,
.euph-track-main,
.euph-edit {
    width: 100%;
    max-width: 100%;
}

.euph-pane [data-beard-list] {
    display: grid;
    gap: 14px;
}

.euph-track {
    overflow: hidden;
    padding: clamp(12px, 2vw, 18px);
}

.euph-track-title {
    font-size: clamp(16px, 2vw, 22px);
    line-height: 1.15;
    word-break: normal;
    overflow-wrap: anywhere;
}

.euph-safe-player {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,.045);
}

.euph-safe-player button {
    min-width: 112px;
}

.euph-safe-player span {
    color: #b8c8dc;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.euph-safe-player audio {
    display: none !important;
}

.euph-track-actions,
.euph-track-badges {
    min-width: 0;
}

.euph-track-actions > *,
.euph-track-badges > * {
    max-width: 100%;
}
@media (max-width: 760px) {
    .euph-auth,
    .euph-edit {
        grid-template-columns: 1fr;
    }

    .euph-module-head,
    .euph-userbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .euph-module button,
    .euph-module .euph-button {
        max-width: 100%;
        white-space: normal;
    }
}
/* ==========================================================
           PiKey Solid grid/player hotfix v13
           Fixes: squeezed hero player, vertical text, fixed-player overlap.
           Keep this block near the END of the <style> tag so it wins.
        ========================================================== */
        .hero {
            grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
            align-items: stretch;
        }
        .hero > *,
        .player-card,
        .hero-card,
        .meta-board,
        .meta-tile,
        .controls,
        .volume {
            min-width: 0;
        }
        .player-card {
            display: flex;
            flex-direction: column;
            isolation: isolate;
        }
        .player-card > .cover-zone {
            flex: 0 0 auto;
            min-height: clamp(220px, 25vw, 310px);
        }
        .player-card > .player-content {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr);
            align-items: stretch;
            justify-content: stretch;
            gap: 16px;
            padding: 20px;
            width: 100%;
        }
        .player-card .eyebrow,
        .player-card .now-title,
        .player-card .now-sub,
        .player-card .meta-tile strong,
        .player-card .meta-tile span,
        .player-card #currentSongText,
        .player-card #nextSongText,
        .player-card #trackTitle,
        .player-card #trackArtist {
            max-width: 100%;
            min-width: 0;
            white-space: normal !important;
            overflow-wrap: anywhere;
            word-break: normal;
            writing-mode: horizontal-tb !important;
        }
        .player-card .meta-board {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }
        .player-card .visualizer-wrap,
        .player-card #pb-visualizer {
            width: 100%;
            min-width: 0;
        }
        .player-card .controls {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 10px;
            flex-wrap: wrap;
        }
        .player-card .round-btn {
            flex: 0 0 auto;
        }
        .player-card .volume {
            flex: 1 1 190px;
        }
        .player-bar .player-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 12px 14px;
        }

        /* The page has two fixed players: the restored bottom bar and the mini DSP.
           This docks the mini DSP above the bottom bar instead of letting them fight. */
        body {
            padding-bottom: 118px;
        }
        .mini-player-family {
            bottom: 108px;
            z-index: 170;
            max-height: calc(100vh - 128px);
        }
        .mini-player-family.open .mini-player-body {
            max-height: calc(100vh - 190px);
            overflow: auto;
        }
        #player-bar {
            z-index: 150;
        }

        @media (max-width: 1120px) {
            .hero {
                grid-template-columns: 1fr;
            }
            .player-card > .cover-zone {
                min-height: 240px;
            }
        }
        @media (max-width: 720px) {
            .player-card .meta-board {
                grid-template-columns: 1fr;
            }
            .player-card .controls {
                justify-content: center;
            }
            .player-card .volume {
                flex-basis: 100%;
            }
        }
        @media (max-width: 860px) {
            body {
                padding-bottom: 166px;
            }
            .mini-player-family {
                right: 7px;
                bottom: 112px;
                width: calc(100vw - 14px);
            }
        }

        /* Optional clean mode: uncomment these three lines if you want ONLY the mini DSP.
        #player-bar { display: none !important; }
        body { padding-bottom: 0; }
        .mini-player-family { bottom: 16px; }
        */
