/* /Components/AppDialog.razor.rz.scp.css */
.app-dialog-overlay[b-iayy58s5yq] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.72);
    box-sizing: border-box;
    /* Overlay never scrolls — a scrollbar here is the desktop bug. */
    overflow: hidden;
}

.app-dialog-overlay:focus[b-iayy58s5yq] {
    outline: none;
}

.app-dialog-overlay.variant-splash[b-iayy58s5yq] {
    z-index: 3000;
    background: #050505f2; /* nearly opaque so panel chrome (progress) does not bleed through */
}

.app-dialog-card[b-iayy58s5yq] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: min(92vw, 42rem);
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    /* Viewport-based only — the old min(88vh, 40rem) cap forced a scrollbar on 1080p. */
    max-height: calc(100vh - 1.5rem);
    max-height: calc(100dvh - 1.5rem);
    overflow: hidden;
    padding: 1.5rem 1.75rem 1.25rem;
    border-radius: 1rem;
    border: 1px solid #cccccc44;
    background: #111111ee;
    color: #e8e8e8;
    font-family: 'Roboto Slab', serif;
    box-shadow: 0 12px 40px #000000aa;
    box-sizing: border-box;
}

.app-dialog-card.size-narrow[b-iayy58s5yq] {
    width: min(94vw, 26rem);
}

.app-dialog-card.size-medium[b-iayy58s5yq] {
    width: min(94vw, 30rem);
}

.app-dialog-card.size-wide[b-iayy58s5yq] {
    width: min(94vw, 44rem);
}

/* Fill: child owns inner scroll (song search results, splash). */
.app-dialog-card.fill[b-iayy58s5yq] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.app-dialog-card.variant-splash[b-iayy58s5yq] {
    align-items: center;
    gap: 0.75rem;
    width: min(90vw, 28rem);
    padding: 1.25rem;
    border-radius: 1.25rem;
    background: #0d0d0d;
    box-shadow: 0 16px 48px #000000cc;
    text-align: center;
    isolation: isolate;
}

.app-dialog-body[b-iayy58s5yq] {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

.app-dialog-close[b-iayy58s5yq] {
    position: absolute;
    top: 0.4rem;
    right: 0.6rem;
    z-index: 2;
    border: 0;
    background: transparent;
    color: #cccccc;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
}

.app-dialog-close:hover[b-iayy58s5yq] {
    color: #fff;
}

.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  h2 {
    margin: 0 0 0.35rem;
    padding-right: 1.75rem;
    font-size: 1.35rem;
    font-variant: small-caps;
    color: #fff;
}

.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  .tech-lead,
.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  .about-lead,
.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  .app-dialog-lead {
    margin: 0 0 0.75rem;
    color: #04c1f9;
    font-size: 0.95rem;
}

.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  p {
    margin: 0 0 0.85rem;
    line-height: 1.45;
    font-size: 0.95rem;
}

.app-dialog-card[b-iayy58s5yq]  h3 {
    margin: 0.5rem 0 0.5rem;
    font-size: 1rem;
    color: #f5d76e;
    font-variant: small-caps;
}

.app-dialog-card[b-iayy58s5yq]  .tech-cmds,
.app-dialog-card[b-iayy58s5yq]  .about-cmds {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 1.25rem;
    margin: 0 0 1.1rem;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1.55;
}

.app-dialog-card[b-iayy58s5yq]  .tech-cmds.split,
.app-dialog-card[b-iayy58s5yq]  .about-cmds.split {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.app-dialog-card[b-iayy58s5yq]  .tech-cmds li,
.app-dialog-card[b-iayy58s5yq]  .about-cmds li {
    padding: 0.2rem 0;
    border-bottom: 1px solid #ffffff11;
    overflow-wrap: anywhere;
    min-width: 0;
}

.app-dialog-card[b-iayy58s5yq]  .tech-cmds li.span-all,
.app-dialog-card[b-iayy58s5yq]  .about-cmds li.span-all {
    grid-column: 1 / -1;
}

.app-dialog-card[b-iayy58s5yq]  .tech-cmds code,
.app-dialog-card[b-iayy58s5yq]  .about-cmds code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: #f5d76e;
    background: #ffffff12;
    padding: 0.05rem 0.35rem;
    border-radius: 0.25rem;
    overflow-wrap: anywhere;
}

.app-dialog-card:not(.variant-splash)[b-iayy58s5yq]  .bm-disclaimer {
    margin: 1rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid #cccccc33;
    font-size: 0.75rem;
    line-height: 1.35;
    text-align: center;
    opacity: 0.75;
    color: #cccccc;
}

.app-dialog-card[b-iayy58s5yq]  .app-dialog-split {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: 0 1.5rem;
    min-width: 0;
}

@media (max-width: 600px) {
    .app-dialog-overlay[b-iayy58s5yq] {
        padding: 0.5rem;
        align-items: flex-start;
        padding-top: max(0.5rem, env(safe-area-inset-top, 0px));
        padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
    }

    .app-dialog-card[b-iayy58s5yq] {
        width: 100%;
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
        padding: 1.1rem 0.9rem 0.9rem;
    }

    .app-dialog-card.variant-splash[b-iayy58s5yq] {
        width: 100%;
        padding: 1rem 0.85rem;
    }

    /* Splash has no keyboard — keep it centered instead of top-pinned. */
    .app-dialog-overlay.variant-splash[b-iayy58s5yq] {
        align-items: center;
        justify-content: center;
    }
}

@media (max-height: 700px) {
    .app-dialog-card[b-iayy58s5yq] {
        padding: 1.1rem 1.2rem 1rem;
    }
}
/* /Components/AudioPanel.razor.rz.scp.css */
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: >1%
*/

div[swiper][b-mgdvxo669c] {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}

div[viewbox][b-mgdvxo669c] {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    flex-grow: 1;
    will-change: transform;
    overflow-x: auto;
    scrollbar-width: none;
}

    div[viewbox][b-mgdvxo669c]::-webkit-scrollbar {
        display: none;
    }

    div[viewbox] > div[b-mgdvxo669c] {
        scroll-snap-align: start
    }

#art[b-mgdvxo669c] {
    display: flex;
    flex: auto;
    flex-shrink: 1;
    margin: 1ch -1ch;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    isolation: isolate;
    z-index: 10;
}

    #art > div[b-mgdvxo669c] {
        flex: 1 1 auto;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-user-select: none;
        user-select: none;
        -webkit-touch-callout: none;
        -webkit-user-drag: none;
    }

#data[b-mgdvxo669c] {
    flex: auto;
    display: flex;
    flex-direction: column;
    padding: 1ch;
    position: relative;

}

    #data[b-mgdvxo669c]::after {
        position: absolute;
        height: 100%;
        width: 100%;
        background: #000000aa;
        content: "";
        z-index: -5;
        margin: -1ch;
    }

#chat[b-mgdvxo669c] {
    overflow: hidden;
}

/*audio {
    -ms-grid-row-align: center;
    align-self: center;
    height: 2.5ch;
    flex-shrink: 0;
}*/

h2[b-mgdvxo669c] {
    font-size: 1.4em;
    font-weight: normal;
    text-align: center;
    color: deepskyblue;
}

ul[b-mgdvxo669c] {
    font-family: var(--monospace);
    margin-top: 1ch;
    position: relative;
}

/*ul:first-of-type {
margin-top: 1ch;
}*/

#data li:nth-of-type(2)[b-mgdvxo669c] {
    color: grey;
}

#data li:nth-of-type(3)[b-mgdvxo669c] {
    color: grey;
}

li[b-mgdvxo669c] {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    line-height: 1.5em;
}

    li label:first-child[b-mgdvxo669c] {
        text-align: right;
        white-space: nowrap;
        width: 14ch;
        flex-shrink: 0;
    }

    li div:last-child[b-mgdvxo669c] {
        margin-left: 1ch;
        flex: auto;
        white-space: nowrap;
        max-width: 30ch;
        overflow: hidden;
    }

div[_stats][b-mgdvxo669c] {
    display: flex;
    color: dimgrey;
    justify-content: space-between;
    margin: 1ch -1ch -1ch -1ch;
    padding: 1ch;
    background: linear-gradient(180deg, #00000000, #55555599);
    mix-blend-mode: lighten;
}

    div[_stats] p[b-mgdvxo669c] {
        color: #ccc;
        mix-blend-mode: lighten;
    }

    div[_stats] li label:first-child[b-mgdvxo669c] {
        width: 4ch;
        text-align: center;
    }

    div[_stats] li div[b-mgdvxo669c] {
        margin-left: 0;
    }

div[actions][b-mgdvxo669c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

    div[actions] input[type=button][b-mgdvxo669c] {
        outline: 0;
        border: 0;
        padding: 2ch;
        background-color: #32cd3255;
        min-width: 10ch;
        text-align: center;
        color: #ffffff99;
        border-radius: 5px;
        box-shadow: 0 0 5px 4px #00000066;
    }

    div[actions] input[disabled][b-mgdvxo669c] {
        background-color: grey;
    }

a[b-mgdvxo669c] {
    cursor: pointer;
}

    a:hover[b-mgdvxo669c] {
        text-decoration: underline;
    }

#control[b-mgdvxo669c] {
    all: unset;
    margin-top: 1ch;
    padding: .5ch 0;
    background: #32cd3255;
    cursor: pointer;
    transition: color 1s ease;
    text-align: center;
    font-variant: small-caps;
    font-weight: normal;
    font-size: 1.8em;
}

    #control.is_True[b-mgdvxo669c] {
        background: #84090955;
        border-color: #84090955;
    }

.rate[b-mgdvxo669c] {
    display: flex;
}

    .rate a[b-mgdvxo669c] {
        flex-basis: 50%;
    }

        .rate a:nth-child(1)[b-mgdvxo669c] {
            color: orangered;
        }

        .rate a:nth-child(2)[b-mgdvxo669c] {
            color: greenyellow;
        }

#online.is_True[b-mgdvxo669c] {
    color: lawngreen;
}

#online.is_False[b-mgdvxo669c] {
    color: dimgrey;
}

audio[b-mgdvxo669c]::-webkit-media-controls-panel {
    background: grey;
}

@keyframes move-b-mgdvxo669c {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 82.51px;
    }
}

@keyframes backgroundscroll-b-mgdvxo669c {
    0% {
        background-position-x: 0;
    }

    100% {
        background-position-x: -100vw;
    }
}

/* Flames play in front of the album art; screen blend drops the video's black so the art shows through, and clicks pass to the art. */
#fire[b-mgdvxo669c] {
    position: absolute;
    z-index: 12;
    pointer-events: none;
    mix-blend-mode: screen;
    overflow: hidden;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity ease 0.5s;
    margin: -1ch;
}

    #fire > video[b-mgdvxo669c] {
        --h: 540;
        --w: 960;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        width: 212.23vh; /* 100 * 16 / 9 */
        min-width: 100%;
        min-height: 47.12vw; /* 100 * 9 / 16 */
    }

#UserActions[b-mgdvxo669c] {
    margin: 1ch 0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

    #UserActions button[b-mgdvxo669c] {
        margin: 0;
        border: 0;
        font-size: 50px;
        line-height: 50px;
    }

/* Low-key "mystery signal" link: bottom-left of the art area, faint until hovered.
   Sit above #fire (z 12) so the icon stays visible when flames play; fire is
   pointer-events:none so this remains the click target. */
.mystery-signal-mini[b-mgdvxo669c] {
    position: absolute;
    left: 0.4ch;
    bottom: 0.2ch;
    z-index: 13;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45ch;
    color: #cccccc;
    text-decoration: none;
    opacity: 0.55;
    transition: opacity 0.3s ease;
}

    .mystery-signal-mini .material-icons[b-mgdvxo669c] {
        font-size: 1.25rem;
    }

    .mystery-signal-mini:hover[b-mgdvxo669c],
    .mystery-signal-mini:focus-visible[b-mgdvxo669c] {
        opacity: 0.95;
    }
/* /Components/ChatPanel.razor.rz.scp.css */
section[b-l5q24188oz]  * {
    all: unset;
    box-sizing: border-box;
}

section[b-l5q24188oz] {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: #000000;
    color: #2e7231;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    flex: auto;
    font-size: 1.1em;
}

ul[b-l5q24188oz] {
    display: flex;
    flex-direction: column;
    overflow-wrap: break-word;
    overflow-y: auto;
    flex: auto;
}

    /* width */
    ul[b-l5q24188oz]::-webkit-scrollbar {
        width: 5px;
    }

    /* Track */
    ul[b-l5q24188oz]::-webkit-scrollbar-track {
        background: #00000000;
    }

    /* Handle */
    ul[b-l5q24188oz]::-webkit-scrollbar-thumb {
        border: 1px solid red;
    }

        /* Handle on hover */
        ul[b-l5q24188oz]::-webkit-scrollbar-thumb:hover {
            border: 0;
            background: #fff;
        }

li[b-l5q24188oz] {
    padding: .8ch;
    font-family: 'Roboto Slab';
}

    li span[b-l5q24188oz] {
        color: #04c1f9;
    }

    li:nth-child(odd)[b-l5q24188oz] {
        background: #2e2e2e
    }

div[type="input"][b-l5q24188oz] {
    display: flex;
    flex-direction: row;
    padding: .8ch;
}

.chat-input-wrap[b-l5q24188oz] {
    position: relative;
    flex-grow: 1;
    display: flex;
}

.command-hints[b-l5q24188oz] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1ch;
    pointer-events: none;
    color: rgba(255, 255, 255, 0.55);
    font-family: 'Roboto Slab', sans-serif;
    user-select: none;
}

.command-hint-left[b-l5q24188oz] {
    flex-shrink: 0;
}

.command-hint-right[b-l5q24188oz] {
    flex-shrink: 0;
    text-align: right;
}

input[type="text"][b-l5q24188oz] {
    flex-grow: 1;
    width: 100%;
    background: #ffffff33;
    color: white;
    padding: 1ch;
    transition: background-color 0.15s ease;
}

input[type="text"].command-mode[b-l5q24188oz] {
    background: #f5d76e;
    color: #1a1a1a;
}

.command-ghost[b-l5q24188oz] {
    position: absolute;
    right: 1.2ch;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: rgba(0, 0, 0, 0.35);
    font-style: italic;
    font-family: 'Roboto Slab', sans-serif;
    letter-spacing: 0.04em;
    user-select: none;
}

input[type="submit"][b-l5q24188oz],
button.chat-send[b-l5q24188oz] {
    background-color: #2e7231;
    color: white;
    border-radius: 0 .5ch .5ch 0;
    padding: 1ch;
    cursor: pointer;
}

input[type="button"][b-l5q24188oz] {
    background-color: #5a0000;
    color: #cacaca;
    color: white;
    border-radius: .5ch 0 0 .5ch;
    padding: 1ch;
}

li.system[b-l5q24188oz] {
    color: #a8bbbb
}

li.error[b-l5q24188oz] {
    color: coral
}

li.request[b-l5q24188oz] {
    color: #d0d0b7
}

li.shoutout[b-l5q24188oz] {
    color: pink
}

li.info[b-l5q24188oz] {
    color: darkcyan
}

li.user[b-l5q24188oz] {
    color: #bcd5bd
}

li.help[b-l5q24188oz] {
    background: grey !important;
    color: white;
    font-family: var(--monospace);
}

li.server[b-l5q24188oz] {
    color: #a8bbbb;
}

/* Commands popup button, right of Send */
div.has-cmd input[type="submit"][b-l5q24188oz],
div.has-cmd button.chat-send[b-l5q24188oz] {
    border-radius: 0;
}

.cmd-open[b-l5q24188oz] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.9em;
    margin-left: 2px;
    padding: 0 .4ch;
    background-color: #2e7231;
    color: white;
    border-radius: 0 .5ch .5ch 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.cmd-open:hover[b-l5q24188oz] {
    background-color: #3fa043;
}

.cmd-open .material-icons[b-l5q24188oz] {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 1.4em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
    display: inline-block;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 420px) {
    div.has-cmd .command-hint-right[b-l5q24188oz] {
        display: none;
    }
}
/* /Components/CommandsOverlay.razor.rz.scp.css */
.cmd-card[b-yzh2ue26qn] {
    outline: none;
    min-width: 0;
}

.cmd-lead[b-yzh2ue26qn] {
    color: #04c1f9;
}

.cmd-grid[b-yzh2ue26qn] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.cmd-btn[b-yzh2ue26qn] {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    aspect-ratio: 1 / 1;
    min-width: 0;
    min-height: 0;
    padding: 0.4rem;
    border: 1px solid #ffffff14;
    border-bottom: 3px solid #2e7231;
    border-radius: 0.6rem;
    background: #ffffff08;
    color: #e8e8e8;
    font-family: 'Roboto Slab', serif;
    font-size: 0.82rem;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.cmd-btn .material-icons[b-yzh2ue26qn] {
    font-size: 1.8rem;
    color: #6fd673;
}

.cmd-btn:hover[b-yzh2ue26qn],
.cmd-btn:focus-visible[b-yzh2ue26qn] {
    background: #2e723133;
    border-color: #2e7231;
    outline: none;
}

.cmd-btn:active[b-yzh2ue26qn] {
    background: #2e723166;
}

.sfx-grid[b-yzh2ue26qn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
    gap: 0.45rem;
    margin-top: 0.5rem;
    min-width: 0;
    /* AppDialog body owns scroll — a nested 55vh scroller caused a desktop scrollbar. */
}

.sfx-btn[b-yzh2ue26qn] {
    padding: 0.55rem 0.4rem;
    border: 1px solid #ffffff14;
    border-bottom: 3px solid #2e7231;
    border-radius: 0.5rem;
    background: #ffffff08;
    color: #e8e8e8;
    font-family: 'Roboto Slab', serif;
    font-size: 0.8rem;
    text-align: center;
    overflow-wrap: anywhere;
    min-width: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.sfx-btn:hover[b-yzh2ue26qn],
.sfx-btn:focus-visible[b-yzh2ue26qn] {
    background: #2e723133;
    border-color: #2e7231;
    outline: none;
}

.sfx-btn:active[b-yzh2ue26qn] {
    background: #2e723166;
}

.cmd-form[b-yzh2ue26qn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.cmd-input[b-yzh2ue26qn] {
    flex: 1 1 12rem;
    min-width: 0;
    box-sizing: border-box;
    padding: 0.65rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid #2e7231;
    background: #000000aa;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 16px; /* >=16px keeps iOS Safari from zooming */
    outline: none;
}

.cmd-input:focus[b-yzh2ue26qn] {
    border-color: #3fa043;
    box-shadow: 0 0 0 2px #2e723155;
}

.cmd-go[b-yzh2ue26qn] {
    flex: 1 1 auto;
    padding: 0.6rem 1.1rem;
    border: 0;
    border-radius: 0.5rem;
    background: #2e7231;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 0.95rem;
    cursor: pointer;
}

.cmd-go:disabled[b-yzh2ue26qn] {
    opacity: 0.45;
    cursor: default;
}

.cmd-back[b-yzh2ue26qn] {
    margin-top: 0.75rem;
    padding: 0.3rem 0;
    border: 0;
    background: transparent;
    color: #6fd673;
    font-family: 'Roboto Slab', serif;
    font-size: 0.85rem;
    cursor: pointer;
}

@media (max-width: 700px) {
    .cmd-grid[b-yzh2ue26qn] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cmd-btn[b-yzh2ue26qn] {
        aspect-ratio: auto;
        min-height: 4.5rem;
        padding: 0.65rem 0.4rem;
    }

    .sfx-grid[b-yzh2ue26qn] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfx-btn[b-yzh2ue26qn] {
        min-height: 2.75rem;
        font-size: 0.85rem;
        padding: 0.65rem 0.45rem;
    }
}

@media (max-width: 360px) {
    .cmd-grid[b-yzh2ue26qn] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/ControlButtons.razor.rz.scp.css */
.material-icons[b-dtyxc5auzk] {
    font-size: unset;
}

ul[b-dtyxc5auzk] {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-around;
    height: 3em;
    background: #33333390;
    border-top: 1px solid #333;
}

li[b-dtyxc5auzk] {
    list-style: none;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5em;
    cursor: pointer;
}

    li:first-child[b-dtyxc5auzk] {
        border-radius: 0 15px 0 0;
    }

    li:last-child[b-dtyxc5auzk] {
        border-radius: 15px 0 0 0;
    }

    li:nth-child(n+2):nth-child(-n+3)[b-dtyxc5auzk] {
        border-right: 1px solid #333;
    }

    li[control][b-dtyxc5auzk] {
        background: green;
    }

        li[control][playing][b-dtyxc5auzk] {
            background: red;
        }

        li[control][parked][b-dtyxc5auzk] {
            background: #6b5a3a; /* playa dust: parked, tap for the off-air screen */
        }

    li[chat][b-dtyxc5auzk] {
        background: green;
    }

    li[voteup][b-dtyxc5auzk] {
        color: green;
    }

    li[votedown][b-dtyxc5auzk] {
        color: orange;
    }

    li[veto][b-dtyxc5auzk] {
        color: red;
    }

    li:not([enabled])[b-dtyxc5auzk] {
        color: #8a8a8a;
        opacity: 0.72;
    }

@media only screen and (max-width: 700px) {
    ul[b-dtyxc5auzk] {
        height: 4em;
    }

    li[b-dtyxc5auzk] {
        font-size: 3.5em;
    }
}
/* /Components/DustStorm.razor.rz.scp.css */
/* Desktop Chat button: playa sand storm. Visual only, no text, never clickable.
   Timing: ~1.8s fade-in, hold, ~2.4s fade-out = 10s (DustStorm.DurationMs / FadeOutMs). */
.dust-storm[b-qm8lklogo4] {
    position: fixed;
    inset: 0;
    z-index: 100000;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    animation: ds-fade-b-qm8lklogo4 10s ease-in-out forwards;
}

    .dust-storm > i[b-qm8lklogo4] {
        position: absolute;
        display: block;
        top: -25%;
        left: -50%;
        width: 200%;
        height: 150%;
        pointer-events: none;
        will-change: transform;
    }

    /* Light haze underneath so it still reads as a storm (less fog than before). */
    .dust-storm .ds-haze[b-qm8lklogo4] {
        background:
            radial-gradient(ellipse at 30% 45%, rgba(226,200,156,.78), rgba(205,172,124,.70) 45%, rgba(176,140,96,.62) 80%),
            linear-gradient(100deg, rgba(214,186,140,.75), rgba(236,214,176,.72), rgba(198,164,118,.75));
        filter: blur(20px);
        animation: ds-drift-b-qm8lklogo4 10s linear forwards;
    }

    .dust-storm .ds-clouds[b-qm8lklogo4] {
        background:
            radial-gradient(circle at 15% 30%, rgba(245,228,196,.7) 0, rgba(245,228,196,0) 22%),
            radial-gradient(circle at 45% 70%, rgba(186,150,104,.6) 0, rgba(186,150,104,0) 26%),
            radial-gradient(circle at 70% 25%, rgba(232,206,164,.65) 0, rgba(232,206,164,0) 20%),
            radial-gradient(circle at 88% 65%, rgba(200,166,120,.55) 0, rgba(200,166,120,0) 24%);
        background-size: 50% 60%;
        filter: blur(26px);
        opacity: .6;
        animation: ds-swirl-b-qm8lklogo4 10s ease-in-out forwards;
    }

    .dust-storm .ds-streaks[b-qm8lklogo4] {
        background: repeating-linear-gradient(97deg, rgba(250,236,206,0) 0, rgba(250,236,206,0) 38px, rgba(250,236,206,.22) 44px, rgba(250,236,206,0) 52px, rgba(250,236,206,0) 130px);
        filter: blur(3px);
        animation: ds-blow-b-qm8lklogo4 10s linear forwards;
    }

    /* Sand grit: feTurbulence noise thresholded into sharp grains; no blur.
       Different tile scales and speeds give mixed grain sizes and depth. */
    .dust-storm .ds-fine[b-qm8lklogo4] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.58 0 0 0 0 0.45 0 0 0 0 0.3 0 0 0 9 -4.75'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        background-size: 200px 200px;
        opacity: .75;
        animation: ds-sand-far-b-qm8lklogo4 10s linear forwards;
    }

    .dust-storm .ds-dark[b-qm8lklogo4] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='1' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.2 0 0 0 0 0.11 0 0 0 12 -7.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        background-size: 420px 420px;
        opacity: .85;
        animation: ds-sand-mid-b-qm8lklogo4 10s linear forwards;
    }

    .dust-storm .ds-glint[b-qm8lklogo4] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='1' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.96 0 0 0 0 0.84 0 0 0 14 -9.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        background-size: 240px 240px;
        opacity: 1;
        animation: ds-sand-mid2-b-qm8lklogo4 10s linear forwards;
    }

    .dust-storm .ds-near[b-qm8lklogo4] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='1' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.48 0 0 0 0 0.36 0 0 0 0 0.22 0 0 0 12 -7.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        background-size: 760px 760px;
        opacity: .9;
        animation: ds-sand-near-b-qm8lklogo4 10s linear forwards;
    }

@keyframes ds-fade-b-qm8lklogo4 {
    0% { opacity: 0; }
    18% { opacity: 1; }
    76% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes ds-drift-b-qm8lklogo4 {
    from { transform: translateX(10%); }
    to { transform: translateX(-10%); }
}

@keyframes ds-swirl-b-qm8lklogo4 {
    from { transform: translateX(22%) rotate(0deg) scale(1.1); }
    to { transform: translateX(-22%) rotate(-14deg) scale(1.35); }
}

@keyframes ds-blow-b-qm8lklogo4 {
    from { transform: translateX(25%) translateY(-3%); }
    to { transform: translateX(-25%) translateY(3%); }
}

/* Max +-25% so the 200%-wide layers always cover the screen. */
@keyframes ds-sand-far-b-qm8lklogo4 {
    0% { transform: translate3d(14%, 0, 0); }
    25% { transform: translate3d(7%, -.6%, 0); }
    50% { transform: translate3d(0, .5%, 0); }
    75% { transform: translate3d(-7%, -.4%, 0); }
    100% { transform: translate3d(-14%, .6%, 0); }
}

@keyframes ds-sand-mid-b-qm8lklogo4 {
    0% { transform: translate3d(20%, 0, 0); }
    20% { transform: translate3d(12%, 1%, 0); }
    40% { transform: translate3d(4%, -.8%, 0); }
    60% { transform: translate3d(-4%, .9%, 0); }
    80% { transform: translate3d(-12%, -1%, 0); }
    100% { transform: translate3d(-20%, .4%, 0); }
}

@keyframes ds-sand-mid2-b-qm8lklogo4 {
    0% { transform: translate3d(22%, .5%, 0); }
    20% { transform: translate3d(13%, -1%, 0); }
    40% { transform: translate3d(4.5%, .7%, 0); }
    60% { transform: translate3d(-4.5%, -.9%, 0); }
    80% { transform: translate3d(-13%, 1%, 0); }
    100% { transform: translate3d(-22%, -.5%, 0); }
}

@keyframes ds-sand-near-b-qm8lklogo4 {
    0% { transform: translate3d(25%, 0, 0); }
    15% { transform: translate3d(17.5%, -1.6%, 0); }
    30% { transform: translate3d(10%, 1.2%, 0); }
    45% { transform: translate3d(2.5%, -1.4%, 0); }
    60% { transform: translate3d(-5%, 1.5%, 0); }
    75% { transform: translate3d(-12.5%, -1.2%, 0); }
    90% { transform: translate3d(-20%, 1.3%, 0); }
    100% { transform: translate3d(-25%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .dust-storm > i[b-qm8lklogo4] { animation: none; }
}
/* /Components/MeOverlay.razor.rz.scp.css */
.me-lead[b-ij8qu3qofm] {
    color: #04c1f9;
}

.me-lead strong[b-ij8qu3qofm] {
    color: #fff;
}

.me-stats[b-ij8qu3qofm] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.3rem 0.9rem;
    margin: 0.4rem 0 1rem;
    font-size: 0.9rem;
}

.me-stats dt[b-ij8qu3qofm] {
    color: #04c1f9;
}

.me-stats dd[b-ij8qu3qofm] {
    margin: 0;
    color: #fff;
    overflow-wrap: anywhere;
    min-width: 0;
}

.me-form[b-ij8qu3qofm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: 0.6rem;
}

.me-form label[b-ij8qu3qofm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.85rem;
    color: #cccccc;
    min-width: 0;
}

.me-form label:last-child[b-ij8qu3qofm] {
    grid-column: 1 / -1;
}

.me-input[b-ij8qu3qofm] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #2e7231;
    background: #000000aa;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 16px; /* >=16px keeps iOS Safari from zooming */
    outline: none;
}

.me-input:focus[b-ij8qu3qofm] {
    border-color: #3fa043;
    box-shadow: 0 0 0 2px #2e723155;
}

select.me-input option[b-ij8qu3qofm] {
    background: #111111;
    color: #fff;
}

.me-actions[b-ij8qu3qofm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.me-status[b-ij8qu3qofm] {
    font-size: 0.85rem;
    color: #cccccc;
}

.me-ok[b-ij8qu3qofm] {
    color: #6fd673;
}

.me-error[b-ij8qu3qofm] {
    color: #ff7b7b;
}

.me-save[b-ij8qu3qofm] {
    flex: 0 0 auto;
    padding: 0.5rem 1.4rem;
    border: 1px solid #3fa043;
    border-radius: 0.45rem;
    background: #2e7231;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 0.95rem;
    cursor: pointer;
}

.me-save:disabled[b-ij8qu3qofm] {
    cursor: default;
    opacity: 0.45;
}
/* /Components/OffAirOverlay.razor.rz.scp.css */
/* Off-air ("parked") screen. Card chrome comes from AppDialog; this is the content. */
.offair[b-fihbtvi70l] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
}

.offair-icon[b-fihbtvi70l] {
    align-self: center;
    font-size: 2.6rem;
    color: #f5d76e;
    opacity: 0.85;
    margin-bottom: 0.25rem;
    animation: offair-glow-b-fihbtvi70l 6s ease-in-out infinite;
}

.offair h2[b-fihbtvi70l] {
    text-align: center;
    padding-right: 0 !important;
}

.offair[b-fihbtvi70l]  .app-dialog-lead,
.offair .app-dialog-lead[b-fihbtvi70l] {
    text-align: center;
}

.offair-flavor[b-fihbtvi70l] {
    text-align: center;
    font-style: italic;
    color: #d8c9a8;
}

.offair-lists[b-fihbtvi70l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: 0 1.5rem;
    min-width: 0;
}

.offair-col[b-fihbtvi70l] {
    min-width: 0;
}

.offair-songs[b-fihbtvi70l],
.offair-top[b-fihbtvi70l] {
    list-style: none;
    margin: 0 0 0.9rem;
    padding: 0;
    font-size: 0.88rem;
    line-height: 1.4;
}

    .offair-songs li[b-fihbtvi70l],
    .offair-top li[b-fihbtvi70l] {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.2rem 0;
        border-bottom: 1px solid #ffffff11;
        min-width: 0;
    }

.offair-song[b-fihbtvi70l],
.offair-name[b-fihbtvi70l] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.offair-when[b-fihbtvi70l],
.offair-score[b-fihbtvi70l] {
    flex-shrink: 0;
    color: #9aa;
    font-size: 0.8rem;
}

.offair-score[b-fihbtvi70l] {
    color: #f5d76e;
}

.offair-peerage[b-fihbtvi70l] {
    color: #04c1f9;
    font-variant: small-caps;
    margin-right: 0.3em;
}

.offair-actions[b-fihbtvi70l] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.6rem 1.25rem;
    margin-top: 0.4rem;
}

.offair-stay[b-fihbtvi70l] {
    border: 1px solid #f5d76e88;
    background: #f5d76e22;
    color: #f5d76e;
    border-radius: 2rem;
    padding: 0.45rem 1.2rem;
    font-family: inherit;
    font-size: 0.95rem;
    cursor: pointer;
}

    .offair-stay:hover[b-fihbtvi70l] {
        background: #f5d76e33;
    }

.mystery-signal[b-fihbtvi70l] {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    color: #9aa;
    font-size: 0.8rem;
    text-decoration: none;
    opacity: 0.8;
}

    .mystery-signal .material-icons[b-fihbtvi70l] {
        font-size: 1rem;
    }

    .mystery-signal:hover[b-fihbtvi70l] {
        color: #ddd;
        opacity: 1;
    }

.offair-note[b-fihbtvi70l] {
    margin: 0.75rem 0 0 !important;
    text-align: center;
    font-size: 0.75rem !important;
    color: #888;
}

@keyframes offair-glow-b-fihbtvi70l {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .offair-icon[b-fihbtvi70l] {
        animation: none;
    }
}
/* /Components/PlayaMapOverlay.razor.rz.scp.css */
/* Playa map: SVG markers on the square treasure-map art (transparent outside
   the parchment). Phones can tap to zoom onto the city (Blazor class toggle + CSS, no JS). */

/* Title kept for screen readers (the dialog's aria-labelledby), not shown. */
.pm-sr-only[b-pb4z1srfzn] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.pm-frame[b-pb4z1srfzn] {
    position: relative;
    width: min(100%, 64vh);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    overflow: hidden;
}

.pm-svg[b-pb4z1srfzn] {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 6px 14px #000000aa);
    transform-origin: 50% 63%;
    transition: transform 0.35s ease;
}

/* Trail: faint dashes where the car has been */
.pm-trail[b-pb4z1srfzn] {
    fill: none;
    stroke: #8a3b12;
    stroke-width: 9;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 2 16;
    opacity: 0.75;
}

.pm-trail-dot[b-pb4z1srfzn] {
    fill: #8a3b12;
}

/* AntiDysentery wagon (photo icon) with a pulsing glow */
.pm-car[b-pb4z1srfzn] {
    cursor: help;
}

.pm-car image[b-pb4z1srfzn],
.pm-luna image[b-pb4z1srfzn] {
    filter: drop-shadow(0 4px 6px #000000aa);
}

.pm-car-glow[b-pb4z1srfzn] {
    fill: #ff8c1a55;
    stroke: #ff6a00;
    stroke-width: 5;
    transform-box: fill-box;
    transform-origin: center;
    animation: pm-pulse-b-pb4z1srfzn 2.4s ease-in-out infinite;
}

/* Luna: a glittery sparkle pony (playa girl) on a pin over her camp */
.pm-luna[b-pb4z1srfzn] {
    cursor: help;
}

.pm-luna-stem[b-pb4z1srfzn] {
    stroke: #04c1f9;
    stroke-width: 6;
}

.pm-luna-foot[b-pb4z1srfzn] {
    fill: #04c1f9;
    stroke: #1b0d05;
    stroke-width: 3;
}

.pm-luna-halo[b-pb4z1srfzn] {
    fill: #04c1f933;
    stroke: #04c1f9aa;
    stroke-width: 4;
    transform-box: fill-box;
    transform-origin: center;
    animation: pm-shimmer-b-pb4z1srfzn 3.2s ease-in-out infinite;
}

@keyframes pm-pulse-b-pb4z1srfzn {
    0%, 100% { transform: scale(0.75); opacity: 0.55; }
    50% { transform: scale(1.1); opacity: 1; }
}

@keyframes pm-shimmer-b-pb4z1srfzn {
    0%, 100% { opacity: 0.55; transform: scale(0.94); }
    50% { opacity: 1; transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
    .pm-car-glow[b-pb4z1srfzn], .pm-luna-halo[b-pb4z1srfzn] { animation: none; }
    .pm-svg[b-pb4z1srfzn] { transition: none; }
}

.pm-legend[b-pb4z1srfzn] {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.92rem;
    line-height: 1.35;
}

.pm-legend li[b-pb4z1srfzn] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.pm-key[b-pb4z1srfzn] {
    flex: 0 0 auto;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    transform: translateY(0.1rem);
}

.pm-legend-car .pm-key[b-pb4z1srfzn] {
    background: #ff6a00;
    box-shadow: 0 0 6px #ff8c1a;
}

.pm-legend-luna .pm-key[b-pb4z1srfzn] {
    background: #04c1f9;
    box-shadow: 0 0 6px #04c1f9;
}

.pm-legend b[b-pb4z1srfzn] {
    color: #ffd28a;
    font-weight: 600;
}

.pm-note[b-pb4z1srfzn] {
    margin: 0.5rem 0 0;
    color: #04c1f9;
    font-size: 0.85rem;
}

/* Phones: whole chart first; a tap zooms 2.75x onto the wagon (or the city
   before it checks in), another tap zooms back out. --pm-ox/--pm-oy come from
   PlayaMapOverlay.ZoomVars; markers live in the same SVG so they stay aligned. */
@media only screen and (max-width: 700px) {
    .pm-frame[b-pb4z1srfzn] {
        width: 100%;
        cursor: zoom-in;
    }

    .pm-svg[b-pb4z1srfzn] {
        transform-origin: 0 0;
    }

    .pm-frame.zoomed[b-pb4z1srfzn] {
        cursor: zoom-out;
    }

    .pm-frame.zoomed .pm-svg[b-pb4z1srfzn] {
        transform: scale(2.75) translate(calc(var(--pm-ox, 0.32) * -100%), calc(var(--pm-oy, 0.42) * -100%));
    }
}
/* /Components/RadioStreamController.razor.rz.scp.css */
section[b-hl9irseiz6] {
    display: flex;
    flex-direction: column;
    background: #000000aa;
    flex-shrink: 0; /* keep the action bar at its content height */
}

.song-progress[b-hl9irseiz6] {
    height: 4px;
    margin: 0;
    padding: 0;
    background: #222;
    border-radius: 0 0 2px 2px;
    overflow: hidden;
    flex-shrink: 0;
}

.song-progress-fill[b-hl9irseiz6] {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #5ec8ff, #a8e0ff);
    transition: width 5s linear;
    border-radius: 0 2px 2px 0;
}

/* While splash is up, do not show the track under the dimmed panel */
body:has(.splash-overlay) .song-progress[b-hl9irseiz6] {
    opacity: 0;
}
/* /Components/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-s64ij4lwkq],
.components-reconnect-repeated-attempt-visible[b-s64ij4lwkq],
.components-reconnect-failed-visible[b-s64ij4lwkq],
.components-pause-visible[b-s64ij4lwkq],
.components-resume-failed-visible[b-s64ij4lwkq] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-retrying[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-failed[b-s64ij4lwkq],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-s64ij4lwkq] {
    display: block;
}

#components-reconnect-modal[b-s64ij4lwkq] {
    background: #000000AA;
    color: white;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 45vh 1em 0;
    border: 0;
    opacity: 0;
    text-align: center;
    font-size: 3em;
}

#components-reconnect-modal[open][b-s64ij4lwkq] {
    opacity: 0.8;
}

#components-reconnect-modal[b-s64ij4lwkq]::backdrop {
    background-color: #000000AA;
}

.components-reconnect-container[b-s64ij4lwkq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4em;
}

#components-reconnect-modal p[b-s64ij4lwkq] {
    margin: 0;
}

#components-reconnect-modal button[b-s64ij4lwkq],
#components-reconnect-modal a[b-s64ij4lwkq] {
    color: white;
    background: transparent;
    border: 0;
    font: inherit;
    margin-top: 0.4em;
    cursor: pointer;
    text-decoration: underline;
}

#components-reconnect-modal button:hover[b-s64ij4lwkq],
#components-reconnect-modal a:hover[b-s64ij4lwkq] {
    color: #fff;
}
/* /Components/SlotMachineOverlay.razor.rz.scp.css */
/* Moop-O-Matic: pure CSS motion (no script, no sound). */

.slot-lead[b-ph5dz6sklo] {
    margin: 0 0 0.9rem;
    color: #04c1f9;
    font-size: 0.92rem;
}

.slot-machine[b-ph5dz6sklo] {
    --reel-w: clamp(4.1rem, 19vw, 5.6rem);
    --reel-h: calc(var(--reel-w) * 1.22);
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    margin: 0 auto 0.75rem;
    max-width: 100%;
}

.slot-cabinet[b-ph5dz6sklo] {
    position: relative;
    flex: 0 1 auto;
    min-width: 0;
    padding: 0.7rem 0.75rem 0.65rem;
    border-radius: 1.1rem 1.1rem 0.8rem 0.8rem;
    background:
        radial-gradient(120% 60% at 50% 0%, #ffb34733 0%, transparent 60%),
        linear-gradient(180deg, #8a3b12 0%, #5c2209 55%, #3d1606 100%);
    border: 2px solid #d9902f;
    box-shadow:
        inset 0 2px 0 #ffd28a66,
        inset 0 -6px 14px #00000066,
        0 8px 22px #000000aa;
}

.slot-machine.is-win .slot-cabinet[b-ph5dz6sklo] {
    animation: cabinet-glow-b-ph5dz6sklo 1.1s ease-in-out 3;
}

@keyframes cabinet-glow-b-ph5dz6sklo {
    0%, 100% { box-shadow: inset 0 2px 0 #ffd28a66, inset 0 -6px 14px #00000066, 0 8px 22px #000000aa; }
    50% { box-shadow: inset 0 2px 0 #ffe7b0, inset 0 -6px 14px #00000066, 0 0 34px 8px #ff8c1acc; }
}

/* Marquee bulbs chase around the top. */
.slot-marquee[b-ph5dz6sklo] {
    display: flex;
    justify-content: space-between;
    padding: 0 0.35rem 0.5rem;
}

.bulb[b-ph5dz6sklo] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #ffcf6e;
    box-shadow: 0 0 6px #ffb02e;
    animation: bulb-chase-b-ph5dz6sklo 1.4s linear infinite;
    animation-delay: calc(var(--i) * 0.2s);
}

.slot-machine.is-parked .bulb[b-ph5dz6sklo] {
    animation: none;
    background: #5a4a33;
    box-shadow: none;
}

.slot-machine.is-win .bulb[b-ph5dz6sklo] {
    animation-duration: 0.45s;
}

@keyframes bulb-chase-b-ph5dz6sklo {
    0%, 60%, 100% { opacity: 0.35; }
    20% { opacity: 1; }
}

/* Reel window */
.slot-window[b-ph5dz6sklo] {
    position: relative;
    display: flex;
    gap: 0.4rem;
    padding: 0.45rem;
    border-radius: 0.6rem;
    background: #1b0d05;
    box-shadow: inset 0 0 0 2px #00000099, inset 0 4px 10px #000000cc;
}

.slot-reel[b-ph5dz6sklo] {
    position: relative;
    width: var(--reel-w);
    height: var(--reel-h);
    overflow: hidden;
    border-radius: 0.4rem;
    background: linear-gradient(180deg, #c9b79a 0%, #fbf3e3 22%, #fffaf0 50%, #fbf3e3 78%, #c9b79a 100%);
    box-shadow: inset 0 6px 8px -4px #00000088, inset 0 -6px 8px -4px #00000088;
}

.reel-cell[b-ph5dz6sklo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: var(--reel-h);
}

.reel-strip[b-ph5dz6sklo] {
    display: flex;
    flex-direction: column;
    animation: reel-spin-b-ph5dz6sklo 0.42s linear infinite;
    animation-duration: calc(0.36s + var(--r) * 0.05s);
    filter: blur(1.4px);
    will-change: transform;
}

@keyframes reel-spin-b-ph5dz6sklo {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

.reel-cell.land[b-ph5dz6sklo] {
    animation: reel-land-b-ph5dz6sklo 0.42s cubic-bezier(.2, 1.6, .4, 1) both;
}

@keyframes reel-land-b-ph5dz6sklo {
    0% { transform: translateY(-38%); filter: blur(1.4px); }
    100% { transform: translateY(0); filter: none; }
}

.sym[b-ph5dz6sklo] {
    display: block;
    line-height: 1;
}

.sym-emoji[b-ph5dz6sklo] {
    font-size: calc(var(--reel-w) * 0.62);
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

.sym-man[b-ph5dz6sklo],
.sym-disco[b-ph5dz6sklo] {
    width: calc(var(--reel-w) * 0.7);
    height: calc(var(--reel-w) * 0.7);
}

.sym-man[b-ph5dz6sklo] {
    filter: drop-shadow(0 0 2px #7a3a00);
}

.slot-payline[b-ph5dz6sklo] {
    position: absolute;
    left: 0.15rem;
    right: 0.15rem;
    top: 50%;
    height: 2px;
    background: #ff3b2f99;
    box-shadow: 0 0 6px #ff3b2f;
    pointer-events: none;
}

.slot-machine.is-win .slot-payline[b-ph5dz6sklo] {
    background: #ffd36b;
    box-shadow: 0 0 10px 2px #ffb02e;
}

/* Win: flames lick up over the reels. */
.slot-flames[b-ph5dz6sklo] {
    position: absolute;
    inset: auto 0 0 0;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0.6rem;
}

.flame[b-ph5dz6sklo] {
    position: absolute;
    bottom: -30%;
    left: calc(var(--f) * 11% + 1%);
    width: 14%;
    height: 70%;
    border-radius: 50% 50% 35% 35% / 65% 65% 35% 35%;
    background: radial-gradient(ellipse at 50% 80%, #fff6c2 0%, #ffd34d 25%, #ff8c1a 55%, #ff3b0066 75%, transparent 80%);
    mix-blend-mode: screen;
    opacity: 0;
    animation: flame-rise-b-ph5dz6sklo 1.1s ease-out 3;
    animation-delay: calc(var(--f) * 0.07s);
}

@keyframes flame-rise-b-ph5dz6sklo {
    0% { transform: translateY(30%) scaleY(0.5); opacity: 0; }
    30% { opacity: 0.95; }
    100% { transform: translateY(-85%) scaleY(1.15); opacity: 0; }
}

/* Moop readout */
.slot-readout[b-ph5dz6sklo] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
    margin-top: 0.55rem;
    padding: 0.3rem 0.65rem;
    border-radius: 0.4rem;
    background: #0b0603;
    box-shadow: inset 0 0 0 1px #d9902f55;
    font-family: 'Courier New', monospace;
}

.readout-label[b-ph5dz6sklo] {
    color: #d9902f;
    font-size: 0.78rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.readout-value[b-ph5dz6sklo] {
    color: #ffcf6e;
    font-size: 1.25rem;
    font-weight: bold;
    text-shadow: 0 0 6px #ff9a2e99;
}

.readout-value.bump[b-ph5dz6sklo] {
    animation: moop-bump-b-ph5dz6sklo 0.5s ease-out;
}

@keyframes moop-bump-b-ph5dz6sklo {
    0% { transform: scale(1.35); color: #fff; }
    100% { transform: scale(1); }
}

/* Parked: whole machine dims under a dust sign. */
.slot-machine.is-parked .slot-window[b-ph5dz6sklo],
.slot-machine.is-parked .slot-readout[b-ph5dz6sklo] {
    filter: grayscale(0.85) brightness(0.55);
}

.slot-parked[b-ph5dz6sklo] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: inherit;
    background: #6b5a3a55;
    color: #f3e2c0;
    font-size: 1.1rem;
    font-variant: small-caps;
    text-shadow: 0 2px 4px #000;
}

.slot-parked .material-icons[b-ph5dz6sklo] {
    font-family: 'Material Icons';
    font-size: 2rem;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}

/* The handle: a mount on the cabinet's right side, a chrome arm and a red knob.
   Pulled = the arm flips down through the pivot, then springs back. */
.slot-lever[b-ph5dz6sklo] {
    position: relative;
    flex: 0 0 auto;
    width: 3.4rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.slot-lever:disabled[b-ph5dz6sklo] {
    cursor: not-allowed;
}

.slot-lever:focus-visible[b-ph5dz6sklo] {
    outline: 2px dashed #ffcf6e;
    outline-offset: 2px;
    border-radius: 0.5rem;
}

.lever-mount[b-ph5dz6sklo] {
    position: absolute;
    left: -2px;
    top: 50%;
    width: 1.15rem;
    height: 2.6rem;
    transform: translateY(-50%);
    border-radius: 0 0.5rem 0.5rem 0;
    background: linear-gradient(90deg, #3d1606, #8a3b12 60%, #5c2209);
    border: 2px solid #d9902f;
    border-left: 0;
}

.lever-arm[b-ph5dz6sklo] {
    position: absolute;
    left: 1.3rem;
    bottom: 50%;
    width: 0.5rem;
    height: 31%;
    transform-origin: 50% 100%;
    border-radius: 0.25rem;
    background: linear-gradient(90deg, #7d7d7d, #f4f4f4 45%, #9a9a9a);
    box-shadow: 1px 0 3px #000a;
    transition: transform 0.5s cubic-bezier(.3, 1.5, .5, 1);
}

.lever-knob[b-ph5dz6sklo] {
    position: absolute;
    top: -1.35rem;
    left: 50%;
    width: 1.6rem;
    height: 1.6rem;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffb3a8 0%, #ff3b2f 35%, #a30d05 100%);
    box-shadow: 0 2px 6px #000c, inset 0 -2px 4px #0006;
}

.slot-lever:not(:disabled):hover .lever-arm[b-ph5dz6sklo] {
    transform: rotate(-6deg);
}

.slot-lever.down .lever-arm[b-ph5dz6sklo],
.slot-lever:not(:disabled):active .lever-arm[b-ph5dz6sklo] {
    transform: scaleY(-1);
    transition: transform 0.18s ease-in;
}

.slot-lever:disabled .lever-knob[b-ph5dz6sklo] {
    background: radial-gradient(circle at 35% 30%, #d6d6d6 0%, #8a8a8a 40%, #4a4a4a 100%);
}

.lever-tag[b-ph5dz6sklo] {
    position: absolute;
    left: 1.05rem;
    bottom: 0.15rem;
    color: #d9902f;
    font-size: 0.62rem;
    font-weight: bold;
    letter-spacing: 0.12em;
}

.slot-lever:disabled .lever-tag[b-ph5dz6sklo] {
    color: #6b6b6b;
}

/* Result line */
.slot-message[b-ph5dz6sklo] {
    min-height: 2.6em;
    margin: 0 0 0.6rem;
    text-align: center;
    font-size: 0.98rem;
    color: #cccccc;
}

.slot-message.muted[b-ph5dz6sklo] { color: #9fb7c0; }
.slot-message.warn[b-ph5dz6sklo] { color: #ffcf6e; }
.slot-message.error[b-ph5dz6sklo] { color: #ff7a6b; }
.slot-message.lose[b-ph5dz6sklo] { color: #d8c8b0; }

.slot-message.win[b-ph5dz6sklo] {
    color: #ffd36b;
    font-size: 1.35rem;
    font-weight: bold;
    text-shadow: 0 0 10px #ff8c1a;
    animation: win-pop-b-ph5dz6sklo 0.6s cubic-bezier(.2, 1.6, .4, 1);
}

@keyframes win-pop-b-ph5dz6sklo {
    0% { transform: scale(0.6); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* Bet picker */
.slot-bet[b-ph5dz6sklo] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem 0.5rem;
}

.slot-bet.locked[b-ph5dz6sklo] {
    opacity: 0.6;
}

.bet-label[b-ph5dz6sklo] {
    color: #04c1f9;
    font-size: 0.9rem;
    font-variant: small-caps;
}

.bet-value[b-ph5dz6sklo] {
    min-width: 2.6ch;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
}

.bet-step[b-ph5dz6sklo] {
    width: 2rem;
    height: 2rem;
    border: 1px solid #cccccc55;
    border-radius: 50%;
    background: #222;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
}

.bet-chips[b-ph5dz6sklo] {
    display: flex;
    gap: 0.4rem;
}

.bet-chip[b-ph5dz6sklo] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 3px dashed #ffffffcc;
    background: #2e7231;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 2px 4px #000a;
    transition: transform 0.12s ease;
}

.bet-chip.chip-1[b-ph5dz6sklo] { background: #3a6ea5; }
.bet-chip.chip-5[b-ph5dz6sklo] { background: #b23a2e; }
.bet-chip.chip-10[b-ph5dz6sklo] { background: #2e7231; }
.bet-chip.chip-25[b-ph5dz6sklo] { background: #6b3fa0; }

.bet-chip.on[b-ph5dz6sklo] {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #ffcf6e, 0 4px 8px #000c;
}

.bet-step:disabled[b-ph5dz6sklo],
.bet-chip:disabled[b-ph5dz6sklo] {
    cursor: not-allowed;
    opacity: 0.55;
}

.bet-chip:not(:disabled):hover[b-ph5dz6sklo],
.bet-step:not(:disabled):hover[b-ph5dz6sklo] {
    filter: brightness(1.2);
}

@media only screen and (max-width: 420px) {
    .slot-lead[b-ph5dz6sklo] {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
    }

    .slot-cabinet[b-ph5dz6sklo] {
        padding: 0.55rem 0.5rem 0.5rem;
    }

    .slot-window[b-ph5dz6sklo] {
        gap: 0.3rem;
        padding: 0.35rem;
    }

    .slot-lever[b-ph5dz6sklo] {
        width: 2.9rem;
    }

    .bet-chip[b-ph5dz6sklo] {
        width: 2.3rem;
        height: 2.3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reel-strip[b-ph5dz6sklo] { animation-duration: 1.2s; filter: none; }
    .bulb[b-ph5dz6sklo], .flame[b-ph5dz6sklo], .slot-machine.is-win .slot-cabinet[b-ph5dz6sklo] { animation: none; }
}
/* /Components/SongSearchOverlay.razor.rz.scp.css */
h2[b-zp7r78u2xa] {
    flex-shrink: 0;
}

.search-moop[b-zp7r78u2xa] {
    margin: 0 0 0.6rem;
    color: #04c1f9;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.search-moop strong[b-zp7r78u2xa] {
    color: #fff;
}

.search-warn[b-zp7r78u2xa] {
    margin: 0 0 0.5rem;
    color: #f5d76e;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.search-input[b-zp7r78u2xa] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid #2e7231;
    background: #000000aa;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 16px; /* >=16px keeps iOS Safari from zooming */
    outline: none;
    flex-shrink: 0;
}

.search-input:focus[b-zp7r78u2xa] {
    border-color: #3fa043;
    box-shadow: 0 0 0 2px #2e723155;
}

.search-status[b-zp7r78u2xa] {
    min-height: 1.3rem;
    margin: 0.5rem 0 0.35rem;
    font-size: 0.85rem;
    color: #cccccc;
    flex-shrink: 0;
}

.search-ok[b-zp7r78u2xa] {
    color: #6fd673;
}

.search-error[b-zp7r78u2xa] {
    color: #ff7b7b;
}

.search-results[b-zp7r78u2xa] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    min-height: 0;
}

.search-results li[b-zp7r78u2xa] {
    margin: 0;
    padding: 0;
}

.search-row[b-zp7r78u2xa] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    margin: 0 0 0.3rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid #ffffff14;
    border-left: 3px solid #2e7231;
    border-radius: 0.45rem;
    background: #ffffff08;
    color: #e8e8e8;
    font-family: 'Roboto Slab', serif;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.search-row:hover:not(:disabled)[b-zp7r78u2xa],
.search-row:focus-visible[b-zp7r78u2xa] {
    background: #2e723133;
    border-color: #2e7231;
    outline: none;
}

.search-row.picked[b-zp7r78u2xa] {
    background: #2e723166;
    border-color: #3fa043;
}

.search-row:disabled[b-zp7r78u2xa] {
    cursor: default;
    opacity: 0.45;
}

.search-row.picked:disabled[b-zp7r78u2xa] {
    opacity: 1;
}

.search-main[b-zp7r78u2xa] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 12rem;
}

.search-title[b-zp7r78u2xa] {
    color: #fff;
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}

.search-artist[b-zp7r78u2xa] {
    color: #04c1f9;
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}

.search-folder[b-zp7r78u2xa] {
    color: #999999;
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}

.search-length[b-zp7r78u2xa] {
    flex: 0 0 auto;
    color: #cccccc;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.search-more[b-zp7r78u2xa] {
    margin: 0.5rem auto 0;
    padding: 0.45rem 1.1rem;
    border: 1px solid #2e7231;
    border-radius: 0.45rem;
    background: transparent;
    color: #6fd673;
    font-family: 'Roboto Slab', serif;
    font-size: 0.85rem;
    cursor: pointer;
    flex-shrink: 0;
}

.search-more:hover:not(:disabled)[b-zp7r78u2xa] {
    background: #2e723133;
}

@media (min-width: 701px) {
    .search-title[b-zp7r78u2xa],
    .search-artist[b-zp7r78u2xa],
    .search-folder[b-zp7r78u2xa] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
/* /Components/SplashOverlay.razor.rz.scp.css */
.splash-logo[b-x0bd6mknlt] {
    width: min(86vw, 26rem);
    height: auto;
    max-height: min(36vh, 14rem);
    object-fit: contain;
    border-radius: 0.75rem;
    flex-shrink: 1;
}

h1[b-x0bd6mknlt] {
    margin: 0;
    font-family: 'Rye', Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: normal;
    color: #fff;
    text-shadow: 0 0 12px #04c1f966;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

.bm-disclaimer[b-x0bd6mknlt] {
    margin: 0.15rem 0 0.35rem;
    font-family: 'Rye', Arial, sans-serif;
    font-size: 0.72rem;
    line-height: 1.4;
    opacity: 0.75;
    color: #cccccc;
    flex-shrink: 0;
}

/* Big clickable word — no box */
.splash-ok[b-x0bd6mknlt] {
    margin-top: 0.35rem;
    border: 0;
    background: transparent;
    padding: 0.5rem 0.75rem;
    min-height: 44px;
    color: #7dcea0;
    font-family: 'Rye', Arial, sans-serif;
    font-size: 2rem;
    letter-spacing: 0.06em;
    cursor: pointer;
    flex-shrink: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 2;
    text-shadow: 0 0 18px #2e723188;
}

.splash-ok:hover[b-x0bd6mknlt],
.splash-ok:active[b-x0bd6mknlt] {
    color: #b8f0c8;
    text-shadow: 0 0 22px #3a8f3ecc;
}

/* Discreet adults-only badge, tucked in the card's bottom-right corner. */
.splash-adult[b-x0bd6mknlt] {
    position: absolute;
    right: 0.7rem;
    bottom: 0.6rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    opacity: 0.5;
    color: #cccccc;
    line-height: 1;
    user-select: none;
    -webkit-user-select: none;
    transition: opacity 0.2s ease;
}

.splash-adult:hover[b-x0bd6mknlt] {
    opacity: 0.85;
}

.adult-18[b-x0bd6mknlt] {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
}

.adult-18 circle[b-x0bd6mknlt] {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.adult-18 text[b-x0bd6mknlt] {
    fill: currentColor;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.adult-nsfw[b-x0bd6mknlt] {
    padding: 0.18rem 0.32rem;
    border: 1px solid currentColor;
    border-radius: 0.3rem;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

@media only screen and (max-height: 700px) {
    .splash-logo[b-x0bd6mknlt] {
        max-height: min(28vh, 10rem);
    }

    .splash-ok[b-x0bd6mknlt] {
        font-size: 1.75rem;
    }
}
/* /Components/StatsPanel.razor.rz.scp.css */
section[stats][b-qcotze0235] {
    position: relative;
    isolation: isolate;
    line-height: 2.25; /* ~50% taller than prior ~1.5 feel */
    overflow: hidden; /* clip marquee / spectrum to the bar */
    flex-shrink: 0; /* do not collapse under the stage or action bar */
}

.stats-spectrum[b-qcotze0235] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    opacity: 0.5;
}

.material-icons[b-qcotze0235] {
    font-size: 1.8em;
}

[stats] ul[b-qcotze0235] {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-around;
    position: relative;
}

[stats] li[b-qcotze0235] {
    display: flex;
    flex-direction: row;
    padding: .25em 0;
    position: relative;
    z-index: 1;
    color: #b0b0b0;
}

    [stats] li span:nth-child(2)[b-qcotze0235] {
        font-family: monospace;
        color: white;
        align-self: start;
    }

li[notice][b-qcotze0235] {
    overflow: hidden;
    color: yellow;
    font-family: var(--serif);
    margin: 0;
    padding: 0;
    flex: 1;
    justify-content: center;
}

[stats] ul[b-qcotze0235]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #33333390;
    z-index: -1;
    overflow: hidden;
    animation: move 2s linear infinite;
    /*
    background-image: linear-gradient(119deg, #00000033 25%, #66666633 25%, #66666633 50%, #00000033 50%, #00000033 75%, #66666633 75%, #66666633 100%);
    background-size: 45.73px 82.51px;
    */
}

.online[b-qcotze0235], .playing[b-qcotze0235] {
    color: lawngreen;
}

.stopped[b-qcotze0235] {
    color: red;
}

.unlocked[b-qcotze0235] {
    color: yellow;
}
/* /Components/UserProfilePanel.razor.rz.scp.css */
[type="UserProfile"][b-j5z9f0sbv0]  form {
    display: flex;
    flex-direction: column;
}

img[b-j5z9f0sbv0] {
    border-radius: 30%;
    height: 10em;
    width: 10em;
}

[profile][b-j5z9f0sbv0]
{
    display: flex;
    align-items: center;
    gap: 1em
}

[debug][b-j5z9f0sbv0] {
    max-width: 100vw;
}
/* /Components/WelcomeOverlay.razor.rz.scp.css */
.welcome-lead[b-xvobbm9wwp] {
    color: #04c1f9;
}

.welcome-input[b-xvobbm9wwp] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.65rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid #2e7231;
    background: #000000aa;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 16px; /* >=16px keeps iOS Safari from zooming */
    outline: none;
}

.welcome-input:focus[b-xvobbm9wwp] {
    border-color: #3fa043;
    box-shadow: 0 0 0 2px #2e723155;
}

.welcome-error[b-xvobbm9wwp] {
    min-height: 1.3rem;
    margin: 0.35rem 0 0.5rem;
    color: #ff7b7b;
    font-size: 0.85rem;
}

.welcome-actions[b-xvobbm9wwp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.welcome-go[b-xvobbm9wwp] {
    padding: 0.5rem 1.6rem;
    border: 1px solid #3fa043;
    border-radius: 0.45rem;
    background: #2e7231;
    color: #fff;
    font-family: 'Roboto Slab', serif;
    font-size: 0.95rem;
    cursor: pointer;
}

.welcome-go:disabled[b-xvobbm9wwp] {
    cursor: default;
    opacity: 0.45;
}

.welcome-alt[b-xvobbm9wwp] {
    border: 0;
    background: transparent;
    color: #cccccc;
    font-family: 'Roboto Slab', serif;
    font-size: 0.9rem;
    text-decoration: underline;
    cursor: pointer;
}
/* /Pages/ApiHistory.razor.rz.scp.css */
section[b-dg7ftzroip] {
    min-height: 100%;
}

table[b-dg7ftzroip] {
    margin-top: 2ch;
    border-spacing: 1ch;
    font-size: .8em;
    border-collapse: collapse;
    min-width: 95vw;
}

th[b-dg7ftzroip], td[b-dg7ftzroip] {
    font-family: var(--monospace);
}

thead[b-dg7ftzroip] {
    background-color: grey;
    color: black;
    font-weight: bold;
}

    thead td[b-dg7ftzroip] {
        text-align: center;
    }

td[b-dg7ftzroip] {
    border: 1px solid #336366;
    padding: .5ch;
}

tr:nth-child(even)[b-dg7ftzroip] {
    background: #fff2;
}
/* /Pages/Layouts/MainLayout.razor.rz.scp.css */
#AudioPanel[b-awpsz9a4wm] {
    all: unset;
    display: flex;
    flex-direction: column;
    min-height: 44ch;
    height: min(80vh, 75ch);
    width: min(92vw, 96ch);
    border-radius: 35px;
    border: 3px solid #cccccc11;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    max-height: min(80vh, 75ch);
}

.stage[b-awpsz9a4wm] {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.stage-art[b-awpsz9a4wm],
.stage-chat[b-awpsz9a4wm] {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.stage-chat[b-awpsz9a4wm] {
    border-left: 1px solid #cccccc22;
}

/* Keep status + transport visible — stage scrolls/shrinks, chrome does not.
   ::deep is required: StatsPanel / RadioStreamController are child components,
   so unscoped selectors never match after Blazor CSS isolation. */
[b-awpsz9a4wm] section[stats],
[b-awpsz9a4wm] section[type="RadioStreamController"] {
    flex-shrink: 0;
}


@media only screen and (max-width: 700px) {
    #AudioPanel[b-awpsz9a4wm] {
        height: 100vh;
        width: 100vw;
        border: 0;
        border-radius: 0;
        max-height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }

    .stage-chat[b-awpsz9a4wm] {
        border-left: 0;
    }

    /* Phone: one column at a time based on route class.
       Do not display:none the stage-chat wrapper — ChatPanel renders dialogs
       as siblings of the chat <section>, and display:none would hide them. */
    #AudioPanel.route-home .stage-chat[b-awpsz9a4wm] {
        flex: 0 0 0;
        width: 0;
        min-width: 0;
        border: 0;
        overflow: visible;
    }

    #AudioPanel.route-home .stage-chat > section[b-awpsz9a4wm] {
        display: none;
    }

    #AudioPanel.route-chat .stage-art[b-awpsz9a4wm] {
        display: none;
    }
}

h1[b-awpsz9a4wm] {
    font-variant: small-caps;
    color: transparent;
    background-image: var(--giggle);
    background-repeat: repeat-x;
    background-size: 100vw;
    animation: backgroundscroll-b-awpsz9a4wm 10s linear infinite;
    -webkit-background-clip: text;
    font-size: 1.5em;
    text-align: center;
    position: relative;
    padding: .5ch 0;
    text-shadow: -2px -2px 6px #00000066;
    /* Never let the column flex squeeze the title: with overflow:hidden (desktop)
       its min-height drops to 0 and a long chat would shrink it out of view. */
    flex-shrink: 0;
}

    h1[b-awpsz9a4wm]:before {
        content: '';
        background: #000000cc;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: -1;
    }

#video[b-awpsz9a4wm] {
    position: absolute;
    z-index: -10;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

    #video > video[b-awpsz9a4wm] {
        --h: 458;
        --w: 972;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        width: 212.23vh; /* 100 * 16 / 9 */
        min-width: 100%;
        min-height: 47.12vw; /* 100 * 9 / 16 */
    }

@keyframes backgroundscroll-b-awpsz9a4wm {
    0% {
        background-position-x: 0;
    }

    100% {
        background-position-x: -100vw;
    }
}
/* Long subtitle only when the panel is wide enough for nowrap at >= 1.5em. */
@media only screen and (max-width: 1099px) {
    .title-long[b-awpsz9a4wm] {
        display: none;
    }
}

@media only screen and (min-width: 701px) {
    h1[b-awpsz9a4wm] {
        font-size: clamp(1.5em, 2.15vw, 1.9em);
        white-space: nowrap;
        overflow: hidden;
        padding-left: 0.75ch;
        padding-right: 0.75ch;
    }
}

/* Prank close "X": fixed top-right, under every real dialog (AppDialog is z 2000, splash 3000)
   and hidden outright while one is open so it is never mistaken for their close button.
   Sits in the title band, away from the status bar / spectrum at the bottom of the panel. */
.prank-x[b-awpsz9a4wm] {
    position: fixed;
    top: max(0.5rem, env(safe-area-inset-top, 0px));
    right: max(0.5rem, env(safe-area-inset-right, 0px));
    z-index: 1500;
    width: 1.9rem;
    height: 1.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #cccccc44;
    background: #111111cc;
    color: #cccccc;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.3rem;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 2px 8px #00000088;
    opacity: 0.8;
}

    .prank-x:hover[b-awpsz9a4wm],
    .prank-x:focus-visible[b-awpsz9a4wm] {
        color: #fff;
        opacity: 1;
    }

body:has(.app-dialog-overlay) .prank-x[b-awpsz9a4wm],
body:has(.dust-storm) .prank-x[b-awpsz9a4wm] {
    display: none;
}

@media only screen and (max-width: 700px) {
    .prank-x[b-awpsz9a4wm] {
        width: 1.7rem;
        height: 1.7rem;
        font-size: 1.15rem;
        top: max(0.35rem, env(safe-area-inset-top, 0px));
        right: max(0.35rem, env(safe-area-inset-right, 0px));
    }
}
/* /Pages/PlayHistory.razor.rz.scp.css */
section[b-ly7x6tsp4a] {
    min-height: 100%;
}

table[b-ly7x6tsp4a] {
    margin-top: 2ch;
    border-spacing: 1ch;
    font-size: .8em;
    border-collapse: collapse;
    min-width: 95vw;
}

th[b-ly7x6tsp4a], td[b-ly7x6tsp4a] {
    font-family: var(--monospace);
}

thead[b-ly7x6tsp4a] {
    background-color: grey;
    color: black;
    font-weight: bold;
}

    thead td[b-ly7x6tsp4a] {
        text-align: center;
    }

td[b-ly7x6tsp4a] {
    border: 1px solid #336366;
    padding: .5ch;
}

tr:nth-child(even)[b-ly7x6tsp4a] {
    background: #fff2;
}
/* /Pages/Users.razor.rz.scp.css */
section[b-ne25rnka7i] {
    min-height: 100%;
    font-family: var(--monospace);
}

span[playing="Playing"][b-ne25rnka7i] {
    color: limegreen
}

span[location][b-ne25rnka7i] {
    font-size: 9px
}

div[user][b-ne25rnka7i] {
    padding: 10px;
    margin-bottom: .25em;
    border-bottom: 1px dotted gray;
    font-size: 11px
}

h2[b-ne25rnka7i] {
    padding: 10px;
    background: darkslategrey;
    font-size: 14px;
}

div[user]:nth-child(even)[b-ne25rnka7i] {
    background: #ffffff10
}
