@charset "UTF-8";

:root {
    color-scheme: dark;
    --funbox_fam_bg: #080e16;
    --funbox_fam_surface: #121d2b;
    --funbox_fam_text: #e7ecf2;
    --funbox_fam_muted: #a2b0bf;
    --funbox_fam_border: #2c3f52;
    --funbox_fam_green: #8acb9b;
    --funbox_fam_blue: #193d69;
    --funbox_fam_radius: 18px;
    --funbox_fam_text_scale: 1;
    --funbox_fam_font: Inter, "Segoe UI", Arial, sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 105px
}

body {
    margin: 0;
    background: var(--funbox_fam_bg);
    color: var(--funbox_fam_text);
    font-family: var(--funbox_fam_font);
    font-size: calc(15px * var(--funbox_fam_text_scale));
    line-height: 1.65;
    -webkit-font-smoothing: antialiased
}

a {
    color: inherit;
    text-decoration: none
}

button {
    font: inherit;
    color: inherit;
    cursor: pointer
}

button:disabled {
    opacity: .4;
    cursor: not-allowed
}

img {
    max-width: 100%;
    display: block
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--funbox_fam_blue);
    outline-offset: 5px
}

::selection {
    background: #285038;
    color: #eff7f0
}

h1,
h2,
h3,
p {
    margin: 0
}

h1,
h2,
h3 {
    line-height: 1.08;
    letter-spacing: -.045em
}

p {
    color: var(--funbox_fam_muted)
}

h2 {
    font-size: clamp(calc(30px * var(--funbox_fam_text_scale)), calc(3.4vw * var(--funbox_fam_text_scale)), calc(44px * var(--funbox_fam_text_scale)));
    font-weight: 750
}

h3 {
    font-size: calc(24px * var(--funbox_fam_text_scale));
    font-weight: 650
}

.funbox_fam_container {
    width: min(1200px, calc(100% - 80px));
    margin-inline: auto
}

.funbox_fam_skip {
    position: fixed;
    top: -80px;
    left: 24px;
    z-index: 100;
    background: #285038;
    padding: 12px 20px;
    color: #eff7f0
}

.funbox_fam_skip:focus {
    top: 10px
}

.funbox_fam_banner_header {
    width: 100%;
    aspect-ratio: 3.73;
    background: #000;
    overflow: hidden;
    border-bottom: 1px solid #2c3f52;
    position: relative
}

.funbox_fam_banner_header>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.funbox_fam_sr_only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.funbox_fam_header {
    height: 92px;
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid #2c3f52;
    background: #0d1723f2;
    backdrop-filter: blur(18px);
    box-shadow: 0 4px 22px #00000026
}

.funbox_fam_navigation {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 32px
}

.funbox_fam_brand {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: calc(19px * var(--funbox_fam_text_scale));
    line-height: 1.02;
    letter-spacing: .045em;
    font-weight: 800;
    flex-shrink: 0;
    color: #d8e2ed
}

.funbox_fam_brand_family {
    display: block;
    font-size: calc(12px * var(--funbox_fam_text_scale));
    font-weight: 500;
    letter-spacing: .36em;
    margin-top: 6px;
    color: #a8b8c9
}

.funbox_fam_navigation_links {
    display: flex;
    gap: 29px;
    align-items: center;
    margin-left: auto;
    color: #a8b8c9;
    font-size: calc(13px * var(--funbox_fam_text_scale));
    font-weight: 500
}

.funbox_fam_navigation_links a {
    transition: color .2s
}

.funbox_fam_navigation_links a:hover,
.funbox_fam_text_link:hover,
.funbox_fam_footer a:hover {
    color: var(--funbox_fam_green)
}

.funbox_fam_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--funbox_fam_blue);
    border: 1px solid transparent;
    border-radius: 8px;
    color: #f4f7fa;
    font-size: calc(14px * var(--funbox_fam_text_scale));
    font-weight: 650;
    min-height: 50px;
    padding: 12px 24px;
    transition: background .2s, transform .2s;
    line-height: 1.5
}

.funbox_fam_button:hover {
    background: #254f7d;
    transform: translateY(-2px)
}

.funbox_fam_button_small {
    font-size: calc(12px * var(--funbox_fam_text_scale));
    min-height: 40px;
    padding: 10px 16px;
    gap: 10px
}

.funbox_fam_dot {
    width: 6px;
    height: 6px;
    display: inline-block;
    background: var(--funbox_fam_green);
    border-radius: 50%;
    flex-shrink: 0
}

.funbox_fam_button .funbox_fam_dot {
    background: #b9e6c4
}

.funbox_fam_menu_button {
    display: none
}

.funbox_fam_eyebrow {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    letter-spacing: .16em;
    font-weight: 700;
    color: var(--funbox_fam_green);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px
}

.funbox_fam_gradient_text {
    background: linear-gradient(110deg, #9bd4ab 12%, #dae3ed 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.funbox_fam_text_link {
    display: inline-flex;
    align-items: center;
    gap: 17px;
    font-size: calc(12px * var(--funbox_fam_text_scale));
    font-weight: 600;
    transition: color .2s;
    white-space: nowrap;
    color: #d8e2ed
}

.funbox_fam_text_link span {
    font-size: calc(18px * var(--funbox_fam_text_scale));
    font-weight: 400
}

.funbox_fam_equalizer {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 44px
}

.funbox_fam_equalizer i {
    display: block;
    width: 4px;
    border-radius: 3px;
    background: linear-gradient(#9bd5ac, #c3d9dc);
    height: 16px
}

.funbox_fam_equalizer i:nth-child(3n) {
    height: 36px
}

.funbox_fam_equalizer i:nth-child(3n + 1) {
    height: 24px
}

.funbox_fam_equalizer i:nth-child(4n) {
    height: 44px
}

.funbox_fam_genre_strip {
    border-bottom: 1px solid #2c3f52;
    background: #111b29
}

.funbox_fam_genre_strip .funbox_fam_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 22px;
    gap: 22px;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap
}

.funbox_fam_genre_strip span {
    font-size: calc(13px * var(--funbox_fam_text_scale));
    letter-spacing: .13em;
    font-weight: 650;
    color: #a8b8c9
}

.funbox_fam_genre_strip span:first-child {
    font-size: calc(8px * var(--funbox_fam_text_scale));
    letter-spacing: .12em;
    color: #a8b8c9;
    font-weight: 500;
    margin-right: 20px
}

.funbox_fam_genre_strip b {
    font-size: calc(15px * var(--funbox_fam_text_scale));
    color: #8acb9b;
    font-weight: 400
}

.funbox_fam_section {
    padding-top: 88px;
    padding-bottom: 20px;
    scroll-margin-top: 15px
}

.funbox_fam_section_heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 32px
}

.funbox_fam_section_heading .funbox_fam_eyebrow {
    margin-bottom: 14px
}

.funbox_fam_section_heading p:not(.funbox_fam_eyebrow) {
    font-size: calc(13px * var(--funbox_fam_text_scale));
    margin-top: 14px
}

.funbox_fam_live_grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px
}

.funbox_fam_player_card {
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid #2c3f52;
    background: #121d2b;
    box-shadow: 0 8px 30px #00000026
}

.funbox_fam_player_toolbar {
    display: flex;
    justify-content: space-between;
    padding: 15px 19px;
    border-bottom: 1px solid #2c3f52;
    color: #a8b8c9;
    font-size: calc(8px * var(--funbox_fam_text_scale));
    letter-spacing: .12em;
    font-weight: 600
}

.funbox_fam_player_toolbar>span:first-child {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #d8e2ed
}

.funbox_fam_player {
    width: 100%;
    aspect-ratio: 16/9;
    min-height: 300px;
    position: relative;
    background: #0a1522
}

.funbox_fam_player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.funbox_fam_player_placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden
}

.funbox_fam_player_placeholder>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .22;
    filter: blur(1px)
}

.funbox_fam_player_prompt {
    position: absolute;
    text-align: center;
    padding: 26px;
    max-width: 550px;
    color: #f4f7fa
}

.funbox_fam_play_button {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    border: 1px solid #8acb9b88;
    background: #3a975d;
    font-size: calc(24px * var(--funbox_fam_text_scale));
    color: #f4f7fa;
    box-shadow: 0 0 35px #4bc27526;
    margin-bottom: 22px;
    padding-left: 9px
}

.funbox_fam_play_button:hover {
    background: #48a269
}

.funbox_fam_player_prompt h3 {
    font-size: calc(20px * var(--funbox_fam_text_scale));
    line-height: 1.3;
    letter-spacing: -.03em
}

.funbox_fam_player_prompt p {
    font-size: calc(11px * var(--funbox_fam_text_scale));
    line-height: 1.7;
    margin-top: 12px;
    color: #cad5e0
}

.funbox_fam_player_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    font-size: calc(9px * var(--funbox_fam_text_scale));
    color: #a8b8c9;
    padding: 14px 19px
}

.funbox_fam_player_footer a {
    font-size: calc(8px * var(--funbox_fam_text_scale));
    text-decoration: underline;
    text-underline-offset: 3px
}

.funbox_fam_live_aside {
    border: 1px solid #2c3f52;
    border-radius: 14px;
    padding: 30px;
    background: linear-gradient(145deg, #132c26, #111f2e 90%);
    display: flex;
    flex-direction: column
}

.funbox_fam_platform_label {
    font-size: calc(8px * var(--funbox_fam_text_scale));
    letter-spacing: .15em;
    color: #94cba6;
    font-weight: 650
}

.funbox_fam_live_aside h3 {
    font-size: calc(28px * var(--funbox_fam_text_scale));
    line-height: 1.14;
    margin-top: 25px;
    color: #d8e2ed
}

.funbox_fam_live_aside>p {
    font-size: calc(12px * var(--funbox_fam_text_scale));
    margin-top: 18px;
    line-height: 1.8
}

.funbox_fam_button_outline {
    background: transparent;
    border: 1px solid #355e48;
    color: #b4dfbf;
    padding: 11px 14px;
    font-size: calc(12px * var(--funbox_fam_text_scale));
    margin-top: 25px;
    min-height: 44px;
    gap: 10px
}

.funbox_fam_button_outline:hover {
    background: #1c3b2e
}

.funbox_fam_live_aside p.funbox_fam_small_note {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    line-height: 1.7;
    color: #a8b8c9;
    margin-top: 12px
}

.funbox_fam_aside_bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 26px;
    font-size: calc(8px * var(--funbox_fam_text_scale));
    letter-spacing: .14em;
    color: #a8b8c9
}

.funbox_fam_aside_bottom>span:last-child {
    font-size: calc(35px * var(--funbox_fam_text_scale));
    color: #8acb9b;
    line-height: 1
}

.funbox_fam_schedule_section {
    padding-bottom: 58px;
    margin-top: 56px;
    background: #0f1926;
    border-block: 1px solid #2c3f52
}

.funbox_fam_schedule_toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 37px;
    margin-bottom: 22px;
    gap: 20px
}

.funbox_fam_week_controls {
    display: flex;
    align-items: center;
    gap: 12px
}

.funbox_fam_icon_button {
    width: 32px;
    height: 32px;
    border: 1px solid #2c3f52;
    border-radius: 7px;
    background: #121d2b;
    font-size: calc(17px * var(--funbox_fam_text_scale));
    color: #d8e2ed
}

.funbox_fam_icon_button:hover {
    border-color: var(--funbox_fam_green)
}

#funbox_fam_week_label {
    font-size: calc(13px * var(--funbox_fam_text_scale));
    min-width: 185px;
    text-align: center;
    font-weight: 600;
    color: #d8e2ed
}

.funbox_fam_today_button {
    border: 1px solid #2c3f52;
    background: #121d2b;
    padding: 5px 12px;
    border-radius: 6px;
    color: #a8b8c9;
    font-size: calc(10px * var(--funbox_fam_text_scale));
    margin-left: 8px
}

.funbox_fam_timezone {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    color: #a8b8c9
}

.funbox_fam_timezone>span {
    font-size: calc(14px * var(--funbox_fam_text_scale));
    margin-left: 7px
}

.funbox_fam_schedule_days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    margin-bottom: 25px
}

.funbox_fam_day {
    border: 1px solid #2c3f52;
    background: #121d2b;
    border-radius: 10px;
    padding: 13px 9px 11px;
    position: relative;
    text-align: center;
    transition: border-color .2s, background .2s;
    color: #d8e2ed
}

.funbox_fam_day:hover {
    border-color: #355e48
}

.funbox_fam_day[aria-pressed="true"] {
    background: #193d69;
    border-color: #193d69;
    color: #f4f7fa
}

.funbox_fam_day[aria-pressed="true"] .funbox_fam_day_name {
    color: #d9e7f2
}

.funbox_fam_day_name {
    display: block;
    color: #a8b8c9;
    font-size: calc(10px * var(--funbox_fam_text_scale))
}

.funbox_fam_day_number {
    font-size: calc(21px * var(--funbox_fam_text_scale));
    font-weight: 650;
    display: block;
    margin-top: 2px;
    line-height: 1.4
}

.funbox_fam_day_marker {
    height: 5px;
    width: 5px;
    border-radius: 50%;
    background: #596b7d;
    display: block;
    margin: 7px auto 0
}

.funbox_fam_day_marker.funbox_fam_has_events {
    background: #37965a
}

.funbox_fam_day[aria-pressed="true"] .funbox_fam_has_events {
    background: #bceac6
}

.funbox_fam_day_today:after {
    content: "Heute";
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    background: #234a34;
    color: #b8e1c3;
    padding: 1px 6px;
    border: 1px solid #355e48;
    border-radius: 4px;
    font-size: calc(7px * var(--funbox_fam_text_scale));
    font-weight: 650;
    white-space: nowrap
}

.funbox_fam_event {
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 25px 26px;
    border: 1px solid #2c3f52;
    border-left: 3px solid var(--funbox_fam_green);
    border-radius: 11px;
    background: #121d2b;
    margin-bottom: 12px;
    box-shadow: 0 4px 20px #00000026
}

.funbox_fam_event_time {
    font-size: calc(23px * var(--funbox_fam_text_scale));
    font-weight: 600;
    letter-spacing: -.04em;
    min-width: 115px;
    color: #d8e2ed
}

.funbox_fam_event_time small {
    display: block;
    font-size: calc(10px * var(--funbox_fam_text_scale));
    letter-spacing: 0;
    color: #a8b8c9;
    margin-top: 2px;
    font-weight: 400
}

.funbox_fam_event h3 {
    font-size: calc(18px * var(--funbox_fam_text_scale));
    line-height: 1.35;
    letter-spacing: -.02em
}

.funbox_fam_event p {
    font-size: calc(11px * var(--funbox_fam_text_scale));
    margin-top: 6px
}

.funbox_fam_event_tag {
    margin-left: auto;
    background: #1c382b;
    color: #a8dcb7;
    border: 1px solid #355e48;
    border-radius: 5px;
    padding: 4px 9px;
    font-size: calc(8px * var(--funbox_fam_text_scale));
    letter-spacing: .1em
}

.funbox_fam_event a {
    width: 33px;
    height: 33px;
    background: #193047;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: calc(19px * var(--funbox_fam_text_scale));
    color: #d8e2ed
}

.funbox_fam_empty_state {
    padding: 32px 25px;
    text-align: center;
    background: #121d2bb3;
    border: 1px dashed #2c3f52;
    border-radius: 10px;
    color: #a8b8c9;
    font-size: calc(13px * var(--funbox_fam_text_scale));
    line-height: 1.8;
    width: 100%
}

.funbox_fam_empty_state strong {
    display: block;
    color: #d8e2ed;
    font-size: calc(15px * var(--funbox_fam_text_scale));
    font-weight: 600;
    margin-bottom: 6px
}

.funbox_fam_empty_state a {
    color: #9fdbb0;
    text-decoration: underline;
    text-underline-offset: 3px
}

.funbox_fam_schedule_footer {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    font-size: calc(9px * var(--funbox_fam_text_scale));
    color: #a8b8c9
}

.funbox_fam_schedule_footer button {
    border: 0;
    background: transparent;
    font-size: calc(10px * var(--funbox_fam_text_scale));
    color: #a8b8c9;
    white-space: nowrap
}

.funbox_fam_schedule_footer button span {
    font-size: calc(14px * var(--funbox_fam_text_scale));
    margin-left: 9px
}

.funbox_fam_about_grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 110px;
    padding-block: 100px 54px
}

.funbox_fam_about_grid h2 {
    font-size: clamp(calc(38px * var(--funbox_fam_text_scale)), calc(4.3vw * var(--funbox_fam_text_scale)), calc(56px * var(--funbox_fam_text_scale)));
    line-height: 1.1
}

.funbox_fam_about_intro {
    font-size: calc(14px * var(--funbox_fam_text_scale));
    margin-top: 25px;
    color: #a8b8c9
}

.funbox_fam_about_copy p {
    font-size: calc(13px * var(--funbox_fam_text_scale));
    line-height: 1.9;
    margin-bottom: 18px
}

.funbox_fam_about_copy p:first-child {
    font-size: calc(16px * var(--funbox_fam_text_scale));
    color: #d5dee8
}

.funbox_fam_values {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: calc(10px * var(--funbox_fam_text_scale));
    margin-top: 28px;
    color: #a8b8c9
}

.funbox_fam_values b {
    color: var(--funbox_fam_green);
    font-size: calc(17px * var(--funbox_fam_text_scale));
    vertical-align: middle;
    margin-right: 6px;
    font-weight: 400
}

.funbox_fam_tracks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.funbox_fam_tracks>.funbox_fam_empty_state {
    grid-column: 1/-1
}

.funbox_fam_track {
    background: #121d2b;
    border: 1px solid #2c3f52;
    border-radius: 13px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 25px #00000026
}

.funbox_fam_track_art {
    height: 155px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 21px;
    background: linear-gradient(140deg, #28543e, #193d69 85%)
}

.funbox_fam_track:nth-child(2) .funbox_fam_track_art {
    background: linear-gradient(145deg, #1d466f, #182e4a)
}

.funbox_fam_track:nth-child(3) .funbox_fam_track_art {
    background: linear-gradient(145deg, #35574e, #214236)
}

.funbox_fam_track_art:before {
    content: "";
    position: absolute;
    inset: -60px -20px;
    background: repeating-radial-gradient(circle at 75% 80%, transparent 0px, transparent 17px, #d8eade15 18px, #d8eade15 19px);
    transform: rotate(-25deg)
}

.funbox_fam_track_art span {
    position: relative;
    font-size: calc(11px * var(--funbox_fam_text_scale));
    font-weight: 600;
    letter-spacing: .2em;
    color: #d8e9e3
}

.funbox_fam_track_art .funbox_fam_equalizer {
    position: absolute;
    right: 24px;
    bottom: 25px;
    transform: scale(.8);
    transform-origin: right bottom
}

.funbox_fam_track_body {
    padding: 23px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.funbox_fam_track_meta {
    display: flex;
    justify-content: space-between;
    color: #98cba9;
    font-size: calc(9px * var(--funbox_fam_text_scale));
    gap: 10px
}

.funbox_fam_track h3 {
    font-size: calc(17px * var(--funbox_fam_text_scale));
    letter-spacing: -.02em;
    line-height: 1.4;
    margin-top: 14px;
    margin-bottom: 14px;
    overflow-wrap: anywhere
}

.funbox_fam_track_author {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    color: #a8b8c9;
    margin-top: auto
}

.funbox_fam_track_actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px
}

.funbox_fam_track_actions button {
    border: 1px solid #355e48;
    background: #173326;
    color: #b5dfbf;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: calc(10px * var(--funbox_fam_text_scale))
}

.funbox_fam_track_actions button:hover {
    background: #224633
}

.funbox_fam_track_actions a {
    font-size: calc(9px * var(--funbox_fam_text_scale));
    color: #a8b8c9
}

.funbox_fam_track_player iframe {
    display: block;
    width: 100%;
    height: 150px;
    border: 0;
    color-scheme: normal;
    background-color: var(--funbox_fam_surface)
}

.funbox_fam_track_player {
    background: var(--funbox_fam_surface)
}

.funbox_fam_track_actions button:disabled {
    opacity: 1;
    color: #dbe9df;
    background: #20432f;
    border-color: #497b59;
    cursor: default
}

.funbox_fam_archive_note {
    font-size: calc(9px * var(--funbox_fam_text_scale));
    margin-top: 18px;
    color: #a8b8c9
}

.funbox_fam_join_card {
    padding: 52px 55px;
    border: 1px solid #355e48;
    border-radius: 18px;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 80px;
    background: radial-gradient(ellipse at 0 0, #18362c99, transparent 70%), linear-gradient(110deg, #13291f, #122337);
    position: relative;
    overflow: hidden
}

.funbox_fam_join_card h2 {
    font-size: calc(46px * var(--funbox_fam_text_scale));
    line-height: 1.1;
    color: #d8e2ed
}

.funbox_fam_join_card>div>p:not(.funbox_fam_eyebrow) {
    font-size: calc(13px * var(--funbox_fam_text_scale));
    line-height: 1.8;
    margin-top: 19px;
    color: #acc4b6
}

.funbox_fam_join_card .funbox_fam_button {
    margin-top: 28px;
    font-size: calc(12px * var(--funbox_fam_text_scale))
}

.funbox_fam_roles {
    padding-top: 15px
}

.funbox_fam_roles h3 {
    font-size: calc(15px * var(--funbox_fam_text_scale));
    letter-spacing: 0;
    font-weight: 600;
    color: #d4e1db
}

.funbox_fam_roles ul {
    list-style: none;
    padding: 0;
    margin: 18px 0 20px
}

.funbox_fam_roles li {
    border-bottom: 1px solid #355e48;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    font-size: calc(14px * var(--funbox_fam_text_scale));
    color: #c9d9d0
}

.funbox_fam_roles li>span:last-child {
    font-size: calc(18px * var(--funbox_fam_text_scale));
    color: #9bcaac
}

.funbox_fam_roles li small {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    color: #acc4b6;
    margin-left: 4px
}

.funbox_fam_join_card .funbox_fam_roles p {
    font-size: calc(10px * var(--funbox_fam_text_scale));
    line-height: 1.8;
    color: #acc4b6;
    max-width: 330px
}

.funbox_fam_contact {
    text-align: center;
    padding-top: 101px;
    padding-bottom: 93px
}

.funbox_fam_contact .funbox_fam_eyebrow {
    justify-content: center;
    margin-bottom: 16px
}

.funbox_fam_contact h2 {
    font-size: calc(23px * var(--funbox_fam_text_scale));
    letter-spacing: -.025em
}

.funbox_fam_contact>a {
    display: inline-flex;
    gap: 30px;
    align-items: center;
    font-size: clamp(calc(23px * var(--funbox_fam_text_scale)), calc(3.6vw * var(--funbox_fam_text_scale)), calc(46px * var(--funbox_fam_text_scale)));
    letter-spacing: -.035em;
    color: #d8e2ed;
    margin-top: 20px;
    border-bottom: 1px solid #2c3f52;
    padding-bottom: 5px
}

.funbox_fam_contact>a>span {
    font-size: calc(33px * var(--funbox_fam_text_scale))
}

.funbox_fam_contact p:last-child {
    font-size: calc(11px * var(--funbox_fam_text_scale));
    margin-top: 16px
}

.funbox_fam_footer {
    border-top: 1px solid #2c3f52;
    background: #0b1521
}

.funbox_fam_footer_top {
    display: flex;
    align-items: center;
    gap: 26px;
    padding-block: 33px
}

.funbox_fam_footer_top .funbox_fam_brand {
    font-size: calc(16px * var(--funbox_fam_text_scale))
}

.funbox_fam_footer_top .funbox_fam_brand_family {
    font-size: calc(9px * var(--funbox_fam_text_scale))
}

.funbox_fam_footer_top p {
    font-size: calc(11px * var(--funbox_fam_text_scale))
}

.funbox_fam_footer_top>div {
    display: flex;
    margin-left: auto;
    gap: 25px;
    font-size: calc(11px * var(--funbox_fam_text_scale));
    color: #a8b8c9
}

.funbox_fam_footer_bottom {
    border-top: 1px solid #2c3f52;
    padding-block: 20px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #a8b8c9;
    font-size: calc(9px * var(--funbox_fam_text_scale))
}

.funbox_fam_footer_bottom>div {
    display: flex;
    gap: 22px;
    align-items: center
}

.funbox_fam_footer_bottom button {
    background: transparent;
    border: 0;
    padding: 0;
    color: inherit;
    font-size: inherit
}

.funbox_fam_legal {
    min-height: 65vh;
    padding-block: 70px 100px;
    max-width: 800px
}

.funbox_fam_legal h1 {
    font-size: calc(44px * var(--funbox_fam_text_scale));
    margin-bottom: 30px
}

.funbox_fam_legal h2 {
    font-size: calc(22px * var(--funbox_fam_text_scale));
    letter-spacing: -.025em;
    margin-block: 32px 16px
}

.funbox_fam_legal p {
    margin-bottom: 16px;
    line-height: 1.9;
    font-size: calc(14px * var(--funbox_fam_text_scale))
}

.funbox_fam_legal a {
    color: #9fdbb0;
    text-decoration: underline;
    text-underline-offset: 3px
}

.funbox_fam_draft {
    border: 1px solid #655a3b;
    border-radius: 10px;
    padding: 20px;
    background: #322c1d;
    color: #e1cd9e !important
}

.funbox_fam_player_mobile {
    padding: 35px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    position: absolute;
    inset: 0;
    gap: 18px;
    color: #f4f7fa
}

.funbox_fam_player_mobile p {
    font-size: calc(12px * var(--funbox_fam_text_scale));
    color: #c9d5df
}

.funbox_fam_player_mobile h3 {
    font-size: calc(22px * var(--funbox_fam_text_scale))
}

@media(min-width:1500px) {
    .funbox_fam_container {
        width: min(1320px, calc(100% - 120px))
    }
}

@media(max-width:1100px) {
    .funbox_fam_container {
        width: calc(100% - 56px)
    }

    .funbox_fam_navigation {
        gap: 24px
    }

    .funbox_fam_navigation_links {
        gap: 20px
    }

    .funbox_fam_header_cta {
        font-size: calc(11px * var(--funbox_fam_text_scale));
        padding: 9px 12px
    }

    .funbox_fam_live_grid {
        grid-template-columns: minmax(0, 1fr) 285px
    }

    .funbox_fam_live_aside {
        padding: 24px
    }

    .funbox_fam_about_grid {
        gap: 60px
    }

    .funbox_fam_join_card {
        padding: 40px;
        gap: 50px
    }

    .funbox_fam_tracks {
        gap: 15px
    }
}

@media(max-width:860px) {
    .funbox_fam_header {
        height: 78px
    }

    .funbox_fam_navigation_links {
        gap: 16px;
        font-size: calc(11px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_header_cta {
        display: none
    }

    .funbox_fam_live_grid {
        grid-template-columns: minmax(0, 1fr)
    }

    .funbox_fam_live_aside {
        display: grid;
        grid-template-columns: 1fr 1.3fr;
        column-gap: 25px
    }

    .funbox_fam_live_aside h3 {
        grid-column: 1;
        grid-row: 2/4;
        margin-top: 14px;
        font-size: calc(26px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_live_aside>p {
        grid-column: 2;
        grid-row: 1/3;
        margin-top: 0
    }

    .funbox_fam_live_aside .funbox_fam_button {
        grid-column: 2;
        margin-top: 15px;
        justify-self: start
    }

    .funbox_fam_live_aside p.funbox_fam_small_note {
        grid-column: 2;
        grid-row: auto
    }

    .funbox_fam_aside_bottom {
        display: none
    }

    .funbox_fam_about_grid {
        gap: 40px;
        grid-template-columns: 1fr 1.2fr
    }

    .funbox_fam_values {
        gap: 14px
    }

    .funbox_fam_join_card {
        gap: 35px;
        padding: 35px
    }

    .funbox_fam_join_card h2 {
        font-size: calc(39px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_tracks {
        grid-template-columns: minmax(0, 1fr)
    }

    .funbox_fam_track {
        display: grid;
        grid-template-columns: 170px minmax(0, 1fr)
    }

    .funbox_fam_track_art {
        height: auto;
        min-height: 160px
    }

    .funbox_fam_track_body {
        padding: 21px
    }

    .funbox_fam_track h3 {
        margin-block: 10px;
        font-size: calc(17px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_track_actions {
        margin-top: 15px
    }

    .funbox_fam_track_player {
        grid-column: 1/-1
    }

    .funbox_fam_footer_top p {
        display: none
    }

    .funbox_fam_footer_bottom {
        flex-wrap: wrap
    }

    .funbox_fam_footer_bottom>div {
        gap: 15px
    }
}

@media(max-width:640px) {
    html {
        scroll-padding-top: 80px
    }

    .funbox_fam_container {
        width: calc(100% - 36px)
    }

    .funbox_fam_header {
        height: 70px
    }

    .funbox_fam_brand {
        font-size: calc(16px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_brand img {
        width: 35px;
        height: 35px
    }

    .funbox_fam_brand_family {
        font-size: calc(10px * var(--funbox_fam_text_scale));
        margin-top: 5px
    }

    .funbox_fam_navigation {
        justify-content: space-between
    }

    .funbox_fam_menu_button {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        border: 1px solid #2c3f52;
        background: #111f2e;
        border-radius: 7px;
        width: 40px;
        height: 36px
    }

    .funbox_fam_menu_button span {
        height: 1px;
        width: 18px;
        background: #d8e2ed
    }

    .funbox_fam_navigation_links {
        display: none;
        position: absolute;
        top: 69px;
        left: 0;
        right: 0;
        background: #121d2b;
        padding: 25px;
        border-bottom: 1px solid #2c3f52;
        font-size: calc(15px * var(--funbox_fam_text_scale));
        flex-direction: column;
        align-items: flex-start;
        gap: 22px
    }

    .funbox_fam_navigation_links.funbox_fam_open {
        display: flex
    }

    .funbox_fam_eyebrow {
        font-size: calc(8px * var(--funbox_fam_text_scale));
        margin-bottom: 19px
    }

    .funbox_fam_genre_strip .funbox_fam_container {
        padding-block: 17px;
        gap: 23px
    }

    .funbox_fam_genre_strip span {
        font-size: calc(11px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_genre_strip span:first-child {
        font-size: calc(7px * var(--funbox_fam_text_scale));
        margin-right: 3px
    }

    .funbox_fam_section {
        padding-top: 57px;
        padding-bottom: 10px
    }

    .funbox_fam_section_heading {
        display: block;
        margin-bottom: 24px
    }

    .funbox_fam_section_heading h2 {
        font-size: calc(30px * var(--funbox_fam_text_scale));
        line-height: 1.16
    }

    .funbox_fam_section_heading .funbox_fam_text_link {
        margin-top: 17px
    }

    .funbox_fam_section_heading p:not(.funbox_fam_eyebrow) {
        font-size: calc(12px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_player {
        min-height: 300px
    }

    .funbox_fam_player_toolbar {
        font-size: calc(7px * var(--funbox_fam_text_scale));
        padding: 13px
    }

    .funbox_fam_player_footer {
        font-size: calc(8px * var(--funbox_fam_text_scale));
        padding: 12px
    }

    .funbox_fam_player_footer a {
        font-size: calc(7px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_player_prompt {
        padding: 25px 19px
    }

    .funbox_fam_player_prompt h3 {
        font-size: calc(18px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_live_aside {
        padding: 24px;
        display: flex
    }

    .funbox_fam_live_aside h3 {
        font-size: calc(27px * var(--funbox_fam_text_scale));
        margin-top: 18px
    }

    .funbox_fam_live_aside>p {
        font-size: calc(13px * var(--funbox_fam_text_scale));
        margin-top: 17px
    }

    .funbox_fam_live_aside .funbox_fam_button {
        align-self: flex-start;
        margin-top: 22px
    }

    .funbox_fam_live_aside p.funbox_fam_small_note {
        max-width: 280px;
        font-size: calc(10px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_schedule_section {
        margin-top: 40px;
        padding-bottom: 35px
    }

    .funbox_fam_schedule_toolbar {
        margin-top: 25px;
        display: block
    }

    .funbox_fam_week_controls {
        gap: 8px;
        justify-content: space-between
    }

    #funbox_fam_week_label {
        font-size: calc(12px * var(--funbox_fam_text_scale));
        min-width: 0;
        flex: 1
    }

    .funbox_fam_today_button {
        margin-left: 0;
        font-size: calc(9px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_timezone {
        display: block;
        margin-top: 15px;
        font-size: calc(9px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_schedule_days {
        gap: 5px;
        margin-top: 26px;
        margin-bottom: 19px
    }

    .funbox_fam_day {
        padding: 10px 3px 8px;
        border-radius: 7px
    }

    .funbox_fam_day_name {
        font-size: calc(9px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_day_number {
        font-size: calc(17px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_day_marker {
        width: 4px;
        height: 4px
    }

    .funbox_fam_event {
        padding: 19px 16px;
        gap: 17px;
        flex-wrap: wrap
    }

    .funbox_fam_event_time {
        font-size: calc(20px * var(--funbox_fam_text_scale));
        min-width: 88px
    }

    .funbox_fam_event h3 {
        font-size: calc(15px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_event>div:nth-child(2) {
        flex: 1;
        min-width: 140px
    }

    .funbox_fam_event_tag {
        margin-left: 105px
    }

    .funbox_fam_event a {
        margin-left: auto
    }

    .funbox_fam_schedule_footer {
        font-size: calc(8px * var(--funbox_fam_text_scale));
        align-items: flex-start
    }

    .funbox_fam_schedule_footer button {
        font-size: calc(9px * var(--funbox_fam_text_scale));
        padding: 0
    }

    .funbox_fam_empty_state {
        padding: 26px 18px;
        font-size: calc(12px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_about_grid {
        display: block;
        padding-block: 60px 16px
    }

    .funbox_fam_about_grid h2 {
        font-size: calc(44px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_about_intro {
        font-size: calc(13px * var(--funbox_fam_text_scale));
        margin-top: 19px
    }

    .funbox_fam_about_copy {
        margin-top: 29px
    }

    .funbox_fam_about_copy p {
        font-size: calc(13px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_about_copy p:first-child {
        font-size: calc(15px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_values {
        gap: 17px;
        font-size: calc(9px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_tracks {
        gap: 15px
    }

    .funbox_fam_track {
        grid-template-columns: 95px minmax(0, 1fr)
    }

    .funbox_fam_track_art {
        padding: 13px;
        min-height: 190px
    }

    .funbox_fam_track_art span {
        font-size: calc(9px * var(--funbox_fam_text_scale));
        letter-spacing: .1em
    }

    .funbox_fam_track_art .funbox_fam_equalizer {
        display: none
    }

    .funbox_fam_track_body {
        padding: 17px
    }

    .funbox_fam_track h3 {
        font-size: calc(14px * var(--funbox_fam_text_scale));
        margin-block: 11px
    }

    .funbox_fam_track_meta {
        font-size: calc(8px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_track_actions button {
        font-size: calc(9px * var(--funbox_fam_text_scale));
        padding: 8px 10px
    }

    .funbox_fam_track_actions a {
        font-size: calc(8px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_archive_note {
        font-size: calc(9px * var(--funbox_fam_text_scale));
        line-height: 1.9
    }

    .funbox_fam_join_card {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 29px 25px
    }

    .funbox_fam_join_card h2 {
        font-size: calc(39px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_join_card>div>p:not(.funbox_fam_eyebrow) {
        font-size: calc(12px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_join_card p br {
        display: none
    }

    .funbox_fam_roles {
        padding-top: 7px
    }

    .funbox_fam_roles li {
        font-size: calc(13px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_contact {
        padding-block: 60px
    }

    .funbox_fam_contact h2 {
        font-size: calc(19px * var(--funbox_fam_text_scale));
        line-height: 1.4;
        max-width: 260px;
        margin: auto
    }

    .funbox_fam_contact>a {
        font-size: clamp(calc(19px * var(--funbox_fam_text_scale)), calc(5.9vw * var(--funbox_fam_text_scale)), calc(30px * var(--funbox_fam_text_scale)));
        gap: 13px
    }

    .funbox_fam_contact>a>span {
        font-size: calc(23px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_contact p:last-child {
        font-size: calc(10px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_footer_top {
        padding-block: 27px;
        gap: 20px
    }

    .funbox_fam_footer_top>div {
        gap: 17px;
        font-size: calc(10px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_footer_bottom {
        flex-direction: column;
        gap: 15px;
        font-size: calc(8px * var(--funbox_fam_text_scale));
        align-items: flex-start
    }

    .funbox_fam_footer_bottom>div {
        gap: 14px;
        flex-wrap: wrap
    }

    .funbox_fam_legal {
        padding-block: 40px 65px
    }

    .funbox_fam_legal h1 {
        font-size: calc(36px * var(--funbox_fam_text_scale))
    }

    .funbox_fam_legal p {
        font-size: calc(13px * var(--funbox_fam_text_scale))
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition: none !important
    }
}

.funbox_fam_text_controls {
    display: flex;
    align-items: center;
    border: 1px solid #2c3f52;
    border-radius: 7px;
    background: #111f2e;
    padding: 2px;
    flex-shrink: 0;
    gap: 2px
}

.funbox_fam_text_controls button {
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #d8e2ed;
    font: 600 12px/1.5 var(--funbox_fam_font);
    padding: 4px;
    min-width: 28px;
    min-height: 28px;
    white-space: nowrap
}

.funbox_fam_text_controls button:nth-child(2) {
    font-size: 11px;
    min-width: 38px
}

.funbox_fam_text_controls button:hover:enabled {
    background: #243a52
}

.funbox_fam_text_controls button:disabled {
    opacity: .35
}

.funbox_fam_navigation {
    gap: 22px
}

.funbox_fam_brand {
    max-width: 190px
}

.funbox_fam_navigation_links {
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 20px;
    row-gap: 3px
}

.funbox_fam_header_cta {
    white-space: nowrap
}

.funbox_fam_navigation_links a {
    white-space: nowrap
}

.funbox_fam_day_name {
    font-size: calc(11px * var(--funbox_fam_text_scale))
}

.funbox_fam_timezone {
    font-size: calc(11px * var(--funbox_fam_text_scale))
}

.funbox_fam_event_tag {
    letter-spacing: .05em
}

.funbox_fam_section_heading {
    flex-wrap: wrap
}

.funbox_fam_track_meta {
    flex-wrap: wrap
}

.funbox_fam_track_actions {
    flex-wrap: wrap
}

.funbox_fam_footer_bottom {
    flex-wrap: wrap
}

.funbox_fam_values {
    row-gap: 14px
}

@media(max-width:1100px) {
    .funbox_fam_navigation {
        gap: 15px
    }

    .funbox_fam_header_cta {
        display: none
    }

    .funbox_fam_navigation_links {
        column-gap: 15px
    }
}

@media(max-width:640px) {
    .funbox_fam_navigation {
        gap: 10px
    }

    .funbox_fam_brand {
        order: 0
    }

    .funbox_fam_text_controls {
        order: 1;
        margin-left: auto;
        gap: 0;
        padding: 1px
    }

    .funbox_fam_text_controls button {
        min-width: 24px;
        padding: 3px;
        font-size: 11px
    }

    .funbox_fam_text_controls button:nth-child(2) {
        min-width: 35px;
        font-size: 10px
    }

    .funbox_fam_menu_button {
        order: 2;
        flex-shrink: 0
    }

    .funbox_fam_navigation_links {
        order: 3;
        align-items: flex-start
    }

    .funbox_fam_event_time {
        min-width: 85px
    }

    .funbox_fam_event>div:nth-child(2) {
        min-width: 120px
    }

    .funbox_fam_event_tag {
        margin-left: 0
    }

    .funbox_fam_contact>a {
        flex-wrap: wrap;
        justify-content: center;
        overflow-wrap: anywhere
    }

    .funbox_fam_legal .funbox_fam_navigation {
        flex-wrap: wrap
    }

    .funbox_fam_week_controls {
        flex-wrap: wrap
    }

    .funbox_fam_day {
        min-width: 0
    }
}

@media(max-width:640px) {
}

@media(max-width:360px) {
    .funbox_fam_navigation {
        gap: 6px
    }

    .funbox_fam_brand {
        gap: 8px
    }

    .funbox_fam_brand img {
        width: 28px;
        height: 28px
    }

    .funbox_fam_brand_family {
        letter-spacing: .27em
    }

    .funbox_fam_menu_button {
        width: 36px
    }
}
/* The banner and navigation are shared with the homepage. */
.funbox_fam_banner_header>a { display: block; width: 100%; height: 100%; }
.funbox_fam_banner_header>a>img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.funbox_fam_legal { overflow-wrap: anywhere; }
.funbox_fam_legal h3 { font-size: calc(18px * var(--funbox_fam_text_scale)); letter-spacing: -.02em; margin-block: 25px 14px; }
.funbox_fam_legal strong { color: #d4dde8; }
a:focus-visible, button:focus-visible { outline-color: var(--funbox_fam_green); }
